Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ПО на практике.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
62.71 Mб
Скачать

19.3. Архитектура в рамках жизненного цикла

Согласно нашим утверждениям, архитектура является основным артефактом жиз­ненного цикла. В то же время жизненный цикл системы отнюдь не исчерпывается разработкой архитектуры. Мы считаем, что в контексте взаимодействии архитек­туры и жизненного цикла серьезного методического изучения требуют следующие вопросы.

  • Применение инструментальных средств для документирования. В главе 9 мы говорили об архитектурной документации, однако вопросов ее состав­ления не касались. В идеале, знания об архитектуре системы должны быть встроены в некий инструмент, при помощи которого документация будет генерироваться автоматически или полуавтоматически. Для инструменталь­ного составления документации требуется наличие у применяемого ин­струмента знаний об архитектурных конструкциях — мало того, в нем дол­жен быть заложен метод перехода от одного представления к другому. Последняя задача, в свою очередь, подразумевает существование метода специфицирования соответствия между представлениями.

Обеспечение соответствия между представлениями невозможно без реше­ния ряда задач. Во-первых, представления должны быть непротиворечи­выми — иначе говоря, изменение в одном представлении должно автома­тически переходить в другие представления. Во-вторых, необходимо со­блюдать индивидуальные и общие для всех представлений ограничения.

К примеру, у нас должна быть возможность ограничивать процесс тремя потоками (это ограничение распространяется на отдельное представление) и привязывать определенные модули к одному процессу (ограничение, ох­ватывающее несколько представлений).

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

  • Переход от архитектуры к коду. В случае применения нескольких пред­ставлений системы — будь то проектные модели, архитектура или код — их необходимо поддерживать в согласованном состоянии. Обновляемое пред­ставление остается корректным, остальные же, если их не согласовывать, со временем теряют всякую ценность. Если в определенной инструмен­тальной среде жесткое сцепление между архитектурой и кодом отсутству­ет, появляются две дополнительные задачи. Первая заключается в перехо­де от архитектурной спецификации к коду — rio той лишь причине, что этап архитектурного проектирования предшествует этапу кодирования. Вторая задача состоит в том, чтобы обеспечить отражение в архитектуре процесса развития системы, — как правило, именно код, а не архитектура, выступает в качестве обновляемого представления.