Глава 3. Авиационная система А-7Е: конкретный пример применения архитектурных структур
Авиационная система А-7Е: конкретный пример применения архитектурных структур Структура объектно-ориентированной программы в период прогона во многих случаях существенно отличается от структуры ее кода. Структура кода фиксируется в период компиляции; она состоит из классов, отношения наследования которых неизменны. Структура программы периода прогона, напротив, представляет собой быстро изменяющуюся сеть из взаимодействующих объектов. Получается, что две эти структуры в значительной степени независимы друг от друга. Разобраться в одной, отталкиваясь от свойств другой, вряд ли проще, чем осознать динамический характер живых экосистем исходя из жесткой классификации растений и животных, и наоборот. Э. Гамма, Р. Хелмс, К. Джонсон, Дж. Buccudec [Gamma 95] На материале главы 2 мы доказали, что программная архитектура описывает отдельные элементы системы и взаимосвязи между ними. Мы обратили внимание на то, что элементы систем неоднородны и для составления комплексного представления об архитектуре любой системы бывает полезно, и даже необходимо, привлекать разные архитектурные структуры. Каждая такая структура ориентирована на отдельный аспект архитектуры. В настоящей главе мы намерены разобрать конкретный пример архитектуры, созданной путем конструирования и специфицирования трех архитектурных структур: декомпозиции модулей (module decomposition), вариантов использования (uses) и процессов (process). Мы покажем, как эти структуры дополняют друг Друга, как в конечном итоге формируется полная картина функционирования системы и как проявляется влияние структур на отдельные атрибуты качества системы. Параметры трех структур приводятся в табл. 3.1.
|