Возможности паттерн-технологии

Важным средством формализации процесса проектирования ИС является понятие проектного паттерна (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).