Аутсорсинговый центр

Неземной
аутсорсинг

Архитектура программной системы (software architecture)

Архитектура программной системы - совокупность существенных проектных решений, определяющих организацию программной системы, её структурные элементы, связи, интерфейсы, ограничения и взаимодействие элементов. На английском языке используется термин software architecture.

Что означает термин

Архитектура описывает не отдельный программный модуль, а общую организацию системы и принципы, по которым её части соединяются и взаимодействуют. К существенным решениям относятся выбор компонентов, определение их свойств и интерфейсов, допустимых связей, ограничений и архитектурного стиля.

Описание только набора компонентов не отражает архитектуру полностью: учитываются также отношения между элементами, правила взаимодействия и обоснование выбранной организации системы.

Как устроено

Для описания архитектуры используются структуры, включающие программные элементы, отношения между ними и свойства элементов и отношений. Архитектурные решения определяют состав компонентов, соединения между ними, интерфейсы и способы обмена данными.

Архитектурный стиль задаёт общий способ организации элементов, их интерфейсов и взаимодействия, а также правила объединения компонентов в более крупные структуры. Одним из вариантов является монолитная архитектура, при которой функциональность системы организована в едином программном блоке.

Где применяется

Архитектура применяется при проектировании и описании программных систем. Она может определять разделение системы на клиентскую часть, серверную часть и средства обмена данными между ними, организацию продукта в виде единого программного блока, а также интерфейсы и правила взаимодействия компонентов.

Архитектурные решения используются для согласования организации системы с потребностями заинтересованных сторон. Ошибочные решения могут привести к несоответствию системы этим потребностям или к прекращению проекта.

Возврат к списку

База знаний организована при поддержке делового сообщества. Спираль?!