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

  • выбор структурных элементов и интерфейсов, образующих систему;
  • поведение системы, определяемое взаимодействием этих элементов;
  • объединение структурных и поведенческих элементов в более крупные подсистемы;
  • стиль организации системы.

Архитектурный стиль характеризует семейство систем с помощью структурной модели. В архитектурный стиль входят:

  • словарь типов компонентов;
  • набор ограничений, определяющий их объединение;
  • одна или несколько семантических моделей, позволяющих определить свойства системы по свойствам ее частей.

Характеристики удачного архитектурного решения:

  • гибкость;
  • простота;
  • реализуемость;
  • четкое разграничение проблем;
  • сбалансированное распределение ответственности;
  • сбалансированность экономических и технологических ограничений.