Архитектура программной системы (software architecture)
Архитектура программной системы - совокупность существенных проектных решений, определяющих организацию программной системы, её структурные элементы, связи, интерфейсы, ограничения и взаимодействие элементов. На английском языке используется термин software architecture.
Что означает термин
Архитектура описывает не отдельный программный модуль, а общую организацию системы и принципы, по которым её части соединяются и взаимодействуют. К существенным решениям относятся выбор компонентов, определение их свойств и интерфейсов, допустимых связей, ограничений и архитектурного стиля.
Описание только набора компонентов не отражает архитектуру полностью: учитываются также отношения между элементами, правила взаимодействия и обоснование выбранной организации системы.
Как устроено
Для описания архитектуры используются структуры, включающие программные элементы, отношения между ними и свойства элементов и отношений. Архитектурные решения определяют состав компонентов, соединения между ними, интерфейсы и способы обмена данными.
Архитектурный стиль задаёт общий способ организации элементов, их интерфейсов и взаимодействия, а также правила объединения компонентов в более крупные структуры. Одним из вариантов является монолитная архитектура, при которой функциональность системы организована в едином программном блоке.
Где применяется
Архитектура применяется при проектировании и описании программных систем. Она может определять разделение системы на клиентскую часть, серверную часть и средства обмена данными между ними, организацию продукта в виде единого программного блока, а также интерфейсы и правила взаимодействия компонентов.
Архитектурные решения используются для согласования организации системы с потребностями заинтересованных сторон. Ошибочные решения могут привести к несоответствию системы этим потребностям или к прекращению проекта.
База знаний организована при поддержке делового сообщества. Спираль?!

