Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПИАПС / knigaVAPO_v2.doc
Скачиваний:
385
Добавлен:
17.04.2018
Размер:
35.96 Mб
Скачать

4.2. Примеры систем видов

В архитектурной практике находят применение и другие системы видов, содержащие виды, отличающиеся от представленных выше. Одной из таких систем, связанной со специфическим взглядом на качество ПО является система видов, предложенная в монографии Е.Wood [13].

Система видов включает:

Информационный вид. Фиксирует историю, преобразования, управление и распределение информации. Используются подходящие модели, отражающие статику и потоки данных. Цель анализа – ответить на существенные вопросы о содержании данных, структуре, принадлежности, умолчаниях, ссылках и перемещениях.

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

Разработка. Раскрывает архитектуру, которая поддерживает процесс разработки ПО. Указывает на определенные аспекты разработки, требующие включения в процесс разработки специалистов определенной квалификации (например, для тестирование, сопровождения).

Размещение. Описывает среду, в рамках которой система будет развернута, с учетом зависимостей системы от «реального времени» среды. Вид включает аппаратуру не только системы, но и ее среды (например, сетевое окружение).

Операционный. Раскрывает как система инсталлируется, функционирует (используется), администрируется и поддерживается. В построении вида целесооб-разно использовать уровень задач.

Системы видов, получившая название SPAMMED [2], базируется на следующей системе видов:

    • Вид с позиции системы требований (Requirements over View).

    • Вид с позиций сервисов (Service View).

    • Вид с позиций инфраструктуры ПО (Software Infrastructure View).

    • Вид процессов (Process View).

    • Вид предметной области ПО (Business Domain View).

    • Вид размещения (Deployment View).

    • Вид среды разработки (Development Environment View).

    • Вид с позиций коммерческой и компьютерной безопасности (COMMSEC & COMPUSEC View).

    • Вид с позиций сохранности (Safety View).

Языки описания архитектуры

Языки описания архитектуры (ADLS) используются для описания архитектуры программного обеспечения. Различными организациями было разработано несколько различных ADLS, в том числе AADL (стандарт SAE), Wright (разработан в университете Carnegie Mellon), Acme (разработан в университете Carnegie Mellon), xADL (разработан в UCI), Darwin (разработан в Imperial College в Лондоне), DAOP-ADL (разработан в Университете Малаги), а также ByADL (Университет L’Aquila, Италия). Общими элементами для всех этих языков являются понятия компонента, коннектора и конфигурации.

Глава 5. Проектирование с учетом будущих изменений.

Одним из принципиальных подходов к архитектурным представлениям ПО является ориентация на паттерны (patterns) или шаблоны, что в архитектурах ПО привело к направлению «Patten-Oriented Software Architecture». Когда же на «patterns» производится акцент, то имеют в виду направление, основы которого заложены в работе Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес (эти авторы в сообществе программистов известны как «банда четырех» - «Gang of Four», в дальнейшем будем использовать сокращение GoF) [14].

Совершенно очевидно, что любые системы необходимо проектировать с учетом их дальнейшего развития. Если этого не сделать, то есть вероятность, что в будущем ПО придется полностью переписывать. А это может быть очень дорого и наверняка очень неприятно как заказчикам, так и исполнителям.

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

Сущность этого направления заключается в следующем понимании паттерна (шаблона): паттерн проектирования – это способ представления в общем виде как условия проектной задачи, так и правильных подходов к ее решению.

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

В современной практике программирования термин паттерн или шаблон применяется всюду. Иногда корректно, иногда не очень. Что же такое на самом деле паттерны проектирования?

Соседние файлы в папке ПИАПС