Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выбор значимых представлений




Представления

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

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

С понятием представления, которое можно вкратце определить как способ фиксации структуры, связан основной принцип документирования программной архитектуры:

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

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

♦ выбор значимых представлений;

♦ документирование представления;

♦ документирование сведений, относящихся к нескольким представлениям.

Как вы помните, в главе 2 рассматривался ряд структур и представлений. Какие представления следует считать значимыми? Для ответа на этот вопрос необходимо знать заинтересованных лиц и предпочтительные для них способы пользования документацией — лишь располагая этими сведениями, вы сможете составить удобный для них пакет документации. Любой вариант применения архитектуры — как средства постановки задач конструкторов, основы для изучения системы, восстановления ее свойств или планирования проекта — можно свести к отдельному заинтересованному лицу, предполагающему задействовать документацию архитектуры соответствующим образом. Не менее серьезное влияние на выбор представлений для дальнейшего документирования оказывают наиценнейшие для большинства заинтересованных в разработке системы лиц атрибуты качества. К примеру, многоуровневое представление (layered view) сообщает сведения о переносимости системы. По представлению размещения (deployment view) можно судить о производительности и надежности системы. И так далее. За отражение этих атрибутов качества в документации ратуют аналитики (а быть может, и сам архитектор), в задачу которых входит проверка архитектуры на предмет ее им соответствия.

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

Таблица 9.2. Заинтересованные лица и виды архитектурной документации, представляющиеся для них наиболее полезными1

Заинтересованное лицо Модульные представления Представления «компонент и соединитель» Представления распределения  
 
 
Декомпозиции Вариантов использования Классов Многоуровневое Разные Размещения Реализации  
Руководитель проекта s s   s   d    
Участник группы разработчиков d d d d d s s  
Тестировщики и сборщики   d d   s s s  
Специалисты по сопровождению d d d d d s s  
Разработчик приложений в рамках линейки продуктов   d s o s s s  

 

Таблица 9.2 (продолжение)

Заинтересованное лицо Модульные представления Представления «компонент и соединитель» Представления распределения  
 
 
Декомпозиции Вариантов использования Классов Многоуровневое Разные Размещения Реализации  
Заказчик         s о    
Конечный пользователь         s s    
Аналитик d d S d s d    
Специалист по инфраструктуре s s   s   s d  
Новое заинтересованное лицо x x x x x x x  
Архитектор и его преемники d d d d d d s  

1 Приводится по изданию [CJements 03] (адаптированная версия)

Условные обозначения: d — подробная информация, s — отдельные детали, о — обзор, х — любая информация.

В табл. 9.2 приводится репрезентативная совокупность заинтересованных лиц, а также те представления, которые они, как правило, находят для себя полезными. Исходя из данных этой таблицы удобно делать выводы для конкретных случаев. Какие представления из тех, что подходят для заинтересованных в данной системе лиц, можно составить? Часть представлений, описанных в главе 2, отражены в табл. 9.2. В главе 2 представления разделены на три группы: модульные, распределения и «компонент и соединитель» (component-and-connector, С&С). Следовательно, архитекторы должны отвечать на три вопроса о любом проектируемом ими программном обеспечении:

1. Какова его структура как набора блоков реализации?

2. Какова его структура как набора элементов с заданным поведением и взаимодействием периода прогона?

3. Каковы его отношения с непрограммными структурами среды?

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

1. Составьте список возможных представлений. Начните с составления для своего проекта таблицы заинтересованных лиц/представлений, отталкиваясь при этом от содержания табл. 9.2. Скорее всего, список заинтересованных лиц будет отличаться от отраженного в нашей таблице; в любом случае, вы должны учесть их всех. В столбцах выразите применимые к вашей системе представления. Некоторые из них (например, модульное представление и представление вариантов использования) носят универсальный характер; иные (многоуровневое представление, а также большинство представлений из группы «компонент и соединитель» — в частности, клиент-серверное представление и представление совместно используемых данных) подходят только для соответствующим образом спроектированных систем. Разобравшись с содержанием строк и столбцов, заполните все ячейки, отразив в них степень детализации сведений о каждом представлении, необходимую тем или иным заинтересованным лицам: здесь возможны произвольная детализация, обзор, средняя или высокая детализация.

2. Комбинируйте представления. Скорее всего, количество представлений, отраженных в составленном по результатам первого этапа списке, окажется недопустимым. Для того чтобы сократить список, найдите в таблице представления, требующие не более чем обзорной детализации или служащие ограниченному числу заинтересованных лиц. Проверьте, нельзя ли удовлетворить их запросы другим, более универсальным представлением. Затем найдите представления, которые можно комбинировать — выразить в одном сводном представлении информацию из нескольких исходных представлений. В небольших по масштабу проектах информативное содержание представления реализации, как правило, адекватно отражается в представлении декомпозиции на модули. Последнее, в свою очередь, хорошо сочетается с представлениями вариантов использования и многоуровневым представлением. Наконец, представление размещения можно скомбинировать с любым представителем группы «компонент и соединитель», отражающим распределение компонентов между аппаратными элементами, — например, с представлением процессов.

3. Расставляйте приоритеты. Представления, оставшиеся после выполнения второго этапа, должны соответствовать потребностям сообщества заинтересованных лиц. Теперь необходимо решить, какие из этих представлений имеют первостепенное значение. Конкретное решение зависит от деталей проекта; впрочем, вы в любом случае должны помнить, что полностью завершать работу над одним представлением, прежде чем приступать к следующему, совершенно не обязательно. Информация, детализированная на уровне обзора, представляет некоторую ценность, так что наши предпочтения — на стороне метода разработки материала «в ширину». Кроме того, интересы одних заинтересованных лиц в ряде случаев ставятся выше интересов других. Не забывайте о том, что руководитель проекта и менеджмент компаний-партнеров часто требуют внимания и предоставления той или иной информации.




Поделиться с друзьями:


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


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.