Архитектура — набор основополагающих проектных решений относительно организации программной системы. К ним относятся:
- выбор структурных элементов и интерфейсов, образующих систему;
- поведение системы, определяемое взаимодействием этих элементов;
- объединение структурных и поведенческих элементов в более крупные подсистемы;
- стиль организации системы.
Архитектурный стиль характеризует семейство систем с помощью структурной модели. В архитектурный стиль входят:
- словарь типов компонентов;
- набор ограничений, определяющий их объединение;
- одна или несколько семантических моделей, позволяющих определить свойства системы по свойствам ее частей.
Характеристики удачного архитектурного решения:
- гибкость;
- простота;
- реализуемость;
- четкое разграничение проблем;
- сбалансированное распределение ответственности;
- сбалансированность экономических и технологических ограничений.