Что такое архитектура?
Три интересных понятия
Архитектурное представление модели реализации
Модель реализации является прямым отображением моделей развертывания
и проектирования. Каждая сервисная подсистема модели проектирования обычно
превращается в один компонент для каждого типа узла, на который она устанавливается.
Но так бывает не всегда. Иногда один и тот же компонент (например,
компонент управления буфером) создан и выполняется на нескольких узлах. Некоторые
языки обеспечивают создание компонентов — контейнеров, например
JavaBeans. В противном случае классы организуются в файлы программ, которые
содержат выбранные наборы компонентов.
В подразделе «Создание модели реализации из проектной модели» главы 3 мы
упомянули, что сервисную иолсистему Менеджер получения можно рассматривать
как два компонента, Получение на сервере и Получение на клиенте. Компонент Получение
на сервере мог бы реализовывать класс Получение, а компонент Получение
на клиенте — класс Передача получения. В нашем простом примере эти компоненты
реализовывали бы по одному классу каждый. В реальной системе в каждой сервисной
подсистеме было бы епде по несколько классов, так что компонент реализо-
вывал бы несколько классов.
Это то, что определяет архитектор в описании архитектуры. Описание архрттекту-
ры позволяет архитектору управлять разработкой системы с позиции «технаря».
Архитектура программ концентрируется как на существенных структурных элементах
системы ~ подсистемах, классах, компонентах и узлах, так и на кооперации
этих элементов посредством интерфейсов.
Варианты использования побуждают архитектуру быть такой, чтобы система
обеспечивала желаемые назначение и функциональные возможности при разумной
производительности. Архитектура должна быть всеобъемлющей, но достаточно
гибкой для добавления новых функций, и поддерживать повторное использование
существующего программного обеспечения.
Архитектура разрабатывается итеративно в течение фазы проектирования, в ходе
определения требований, анализа, проектирования, реализации и тестирования.
Для построения базового уровня архитектуры, или «скелета» системы, используются
существенные для архитектуры варианты использования и некоторые другие
данные. В эти другие данные входят требования к системному программному
обеспечению, программному обеспечению среднего уровня, использование унаследованных
систем, нефункциональные требования и т. д.