Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Архитектура и проектирование программных систем

Архитектурные образцы, эталонные модели и эталонные варианты архитектуры

Как отмечает Л. Басс, между простейшими «набросками» архитектур и комплексными архитектурами, укомплектованными всей необходимой информацией о системах, существуют многочисленные переходные этапы. Каждый из этих этапов представляет собой результат принятия ряда архитектурных решений, совокупность архитектурных альтернатив. Некоторые из них сами по себе имеют определенную ценность. В [9] отмечается три промежуточных этапа.

1. Архитектурный образец (шаблон) - это описание типов элементов и отношений и изложение ряда ограничений на их использование. Образец имеет смысл рассматривать как совокупность ограничений, накладываемых на архитектуру, или, конкретнее, на типы элементов и образцы их взаимодействия. На основе этих ограничений складывается ряд (или семейство) соответствующих им вариантов архитектуры. Например, одним из общеупотребительных архитектурных образцов является «клиент - сервер». Клиент и сервер - это два типа элементов.

Их взаимодействие описывается посредством протокола, при помощи которого сервер взаимодействует со всеми своими клиентами. Образцу «клиент - сервер» соответствует бесчисленное множество вариантов архитектуры, в чем-то отличных друг от друга. Несмотря на то что архитектурный образец не является архитектурой, он содержит весьма полезный образ системы: он накладывает на архитектуру, а следовательно, систему полезные ограничения.

В монографии [11] отмечается следующее. Образцы помогают при визуализации, специфицировании, конструировании и документировании артефактов программной системы. Можно заниматься прямым проектированием системы, выбрав подходящий набор образцов и применяя их к абстракциям, специфичным для данной предметной области. На практике интерес представляют два вида образцов: образцы проектирования и каркасы. В иМЬ есть средства для моделирования и тех, и других. Отличие каркаса от образца проектирования заключается в том, что каркас - это архитектурный образец, предлагающий расширяемый шаблон для приложений в некоторой конкретной области.

У образцов есть очень полезный аспект: они демонстрируют известные атрибуты качества. Именно поэтому архитекторы выбирают образцы, исходя из определенных соображений, и во многих случаях выбор архитектурного образца является первым существенным решением архитектора. Заметим, что синонимом термина «архитектурный образец» является термин «архитектурный стиль».

  • 2. Эталонная модель - это разделение между отдельными блоками функциональных возможностей и потоков данных. По сути, эталонной моделью является стандартная декомпозиция известной проблемы на части, которые, взаимодействуя, способны ее разрешить. Поскольку эталонные модели имеют происхождение в опыте, их наличие характерно только для сформировавшихся предметных областей. Например, если разработчик может назвать стандартные элементы компилятора и объяснить, как эти элементы решают свою общую задачу, значит, он знаком с эталонной моделью этого приложения.
  • 3. Эталонная архитектура - это эталонная модель, отображенная на программные элементы, которые сообща реализуют функциональность, определенную в эталонной модели, и потоки данных между ними. В то время как эталонная модель обеспечивает разделение функций, эталонная архитектура отображает эти функции на декомпозицию системы. Соответствие может быть как однозначным, так и неоднозначным. В программном элементе может быть реализована как отдельная часть функции, так и несколько функций сразу.

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

 
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ   След >
 

Популярные страницы