Возможности паттерн-технологии
Важным средством формализации процесса проектирования ИС является понятие проектного паттерна (design pattern). Впервые теорию разработки и применения паттернов применяли в архитектуре и градостроительстве
Основная идея разработки и использования паттернов :«…любой паттерн описывает задачу и принцип ее решения таким образом, чтобы это решение можно потом использовать много раз, ничего не изобретая заново».
Описание паттерна в символьной форме:
PName => {Domain, Problem, Solution, Result} где:
PName - уникальное содержательное имя паттерна;
Domain - предметная область, в которой рассматривается применение данного паттерна;
Problem - проблемная задача (или класс задач), для решения которой разработан данный паттерн;
Solution - описание проектного решения, которое содержит представление не какой-то одной конкретной реализации, а некий шаблон, который может быть реализован различными технологиями и, что очень важно, может быть повторно использован;
Result - описание ожидаемых результатов применения данного паттерна.
Формы представления паттернов (UML-диграммы):
· диаграммы классов (class diagrams) - они отображают структуру классов основных объектов, входящих в данный паттерн и статический характер связей между ними;
· диаграммы взаимодействия (sequence diagrams) - на них отображается последовательности сообщений (запросов и откликов), которыми обмениваются объекты в процессе их взаимодействия;
· диаграммы размещения (deployment diagrams) - они отражают архитектурные особенности предлагаемого программного решения.
Особенности паттернов:
· одни и те же проектные паттерны могут присутствовать в различных проектных решениях
· понятие проектного паттерна является более инвариантным к предметной области проектирования, чем понятие ЭСА
Схема построения паттернов
Назначение ЭСА
Системная архитектура – это устойчивая совокупность структурных, функциональных и др. элементов, обеспечивающих ИС следующими свойствами:
· функциональность (подсистемы и задачи),
· заданная производительность системы,
· надежность функционирования,
· защищенность / безопасность эксплуатации системы,
· возможность ее эффективного сопровождения и развития.
Отличие понятия «системная архитектура» (СА) от понятия «структура системы»:
Если структура системы описывает только статические аспекты ее построения, то СА определяет также и динамику функционирования соответствующей ИС, а также задает интерфейсы ее взаимодействия с окружающей средой.
В процессе проектирования СА используются такие подходы как:
· разработка и применение эталонных системных архитектур
· паттерны технологии проектирования.
Эталонная системная архитектура (ЭСА) - это абстракция, под которой понимают некоторую базовую модель системной архитектуры для определенного класса ИС, полученную в результате анализа различных вариантов архитектур уже спроектированных систем и синтеза их обобщенного варианта. ЭСА представляет собой некоторый «идеальный» стандарт СА для определенного класса систем, в котором интегрированы положительные свойства отдельных вариантов их проектирования.
Модель системной архитектуры:
(P1) “Проекция Логической Структуры” представляет собой описание внутренней структуры в виде ее основных 4 объектов (сущностей) и их связей, тем самым фиксируя базовую функциональность разрабатываемой системы.
(P2) “Проекция Системных Процессов” определяет множество процессов обработки данных в системе, а также интерфейсы ее взаимодействия с другими (внешними) системами и компонентами, тем самым определяя такие системные свойства как производительность и масштабируемость.
(P3) “Проекция Среды (процессов) Разработки" описывает структуру всех основных процессов проектирования (или реинжиниринга) системы.
(P4) “Проекция Аппаратной Платформы” фиксирует проектные решения, которые обеспечивают аппаратную, коммуникационную и топологическую привязку разработанной программной архитектуры к определенной операционной и аппаратной платформам.
(P5) “Проекция сценариев применения” это содержательный перечень основных вариантов использования разрабатываемой системы. Оно должно фиксировать и согласовывать все требования, которые предъявляются к разрабатываемой системе в каждой из проекций (P1)-(P4).