Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Архитектурные образцы и стили





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

4* набором типов элементов (например, репозитария данных или компонента, вычисляющего математическую функцию);

♦ топологической схемой элементов, обозначающей взаимосвязь между ними;

♦ набором семантических ограничений (например, фильтры в составе стиля «каналы и фильтры» — это преобразователи данных; они постепенно преобразуют входящие потоки в выходящие, но при этом не располагают контролем над восходящими и нисходящими потоками элементов);

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

Совсем недавно Мэри Шоу (Магу Shaw) и Дэвид Гарлан (David Garlan) попытались классифицировать набор архитектурных образцов, которые тогда назывались архитектурными стилями, или идиомами. Усилиями сообщества программных инженеров на основе результатов их исследований были сформулированы архитектурные образцы — по аналогии с образцами проектирования и образцами кодирования.

В своей работе [Shaw 96] Мэри Шоу выдвинула гипотезу о существовании высокоуровневых абстракций сложных систем, которые на тот момент не изучались и не классифицировались, — впрочем, аналогичная ситуация в тот момент складывалась во многих других инженерных дисциплинах.

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

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

вторичный стиль независимых элементов. У самих событийных систем два вторичных образца: неявный и явный вызов.

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

Заключение

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

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

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

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

Дополнительная литература

Подробный анализ проблем безопасности содержится в работе [Ramachandran 02]; сведения о связи между практичностью и программно-архитектурными образцами есть в издании [Bass 01а], а о методиках обеспечения готовности в распределенных системах — в исследовании [Jalote 94]. [McGregor 01] — добротный источник информации о контролепригодности.

Двухтомный справочник по архитектурным образцам — [Buschmann 96] и [Schmidt 00] — содержит данные по образцам MVC и РАС (том 1) и программной архитектуре, ориентированной на образцы (том 2).

Дискуссии по поводу симплекс-архитектуры обеспечения готовности ведутся по адресу http://www.sei.cmu.edu/sirnplex/.

В работе [Bachmann 02] применение тактик рассматривается как основа для анализа модифицируемости и производительности; [Chretienne 95] содержит данные о концепциях теории планирования; в работе [Briand 99] предлагается обзор метрик сцепления.

Существует документация по различным образцам: «Модель-представление- контроллер» [Gamma 95], «Представление-абстракция-управление» [Buschmann 96], «Seeheim» [Plaff 85] и «Arch/Slinky» [UIMS 92].

Дискуссионные вопросы

1. Возьмем популярный веб-сайт — например, Amazon или eBay. Какие тактики имеет смысл рассмотреть при выборе архитектурных образцов и стратегий, реализующих требования к производительности, которые вы должны были перечислить в ответе на вопрос 3 в главе 4?

2. Какие компромиссные решения относительно других атрибутов качества (безопасности, готовности и модифицируемости), вероятнее всего, придется принять, если обратиться к тактикам, выбранным при ответе на предыдущий вопрос?

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

 

 







Дата добавления: 2015-04-16; просмотров: 666. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Вопрос 1. Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации Коллективные средства защиты: вентиляция, освещение, защита от шума и вибрации К коллективным средствам защиты относятся: вентиляция, отопление, освещение, защита от шума и вибрации...

Задержки и неисправности пистолета Макарова 1.Что может произойти при стрельбе из пистолета, если загрязнятся пазы на рамке...

Вопрос. Отличие деятельности человека от поведения животных главные отличия деятельности человека от активности животных сводятся к следующему: 1...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

Правила наложения мягкой бинтовой повязки 1. Во время наложения повязки больному (раненому) следует придать удобное положение: он должен удобно сидеть или лежать...

Studopedia.info - Студопедия - 2014-2024 год . (0.01 сек.) русская версия | украинская версия