Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Архитектурные структуры и представления




Архитектура помогает в процессе обучения

Архитектура предполагает возможность разработки на основе шаблонов

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

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

Невропатологи, гематологи и дерматологи представляют структуру человеческо­го тела по-разному. Офтальмологи, кардиологи и ортопеды специализируются на подсистемах. Кинезиологи и психиатры занимаются различными аспектами поведения организма в целом. Все эти представления фиксируются по-разному и обладают разными свойствами, однако, по сути, они связаны — все вместе они описывают архитектуру тела.

Та же ситуация с программным обеспечением. Современные программные системы настолько сложны, что разбирать их в комплексе крайне сложно. При­ходится концентрировать внимание на одной или нескольких структурах про­граммной системы. Для того чтобы рассуждать об архитектуре осмысленно, мы должны определиться с тем, какая структура или какие структуры в данный мо­мент являются предметом обсуждения, — о каком представлении (view) архитек­туры мы говорим.

Рассматривая представление архитектуры, мы будем употреблять связанные между собой понятия структуры (structure) и представления (view). Представ­ление — это отображение ряда связанных архитектурных элементов в том виде, в котором ими оперируют заинтересованные в системе лица. В нем фиксируется отображения совокупности элементов и установленных между ними связей. Струк­тура же — это собственно ряд элементов, существующих в рамках программного или аппаратного обеспечения. В частности, модульная структура представляет собой набор модулей системы с указанием их организации. Модульное представ­ление есть отображение этой структуры, документированное и применяемое теми или иными заинтересованными лицами. Несмотря на то что эти термины иногда используются как синонимы, мы намерены придерживаться приведенных опре­делений.

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

Модульные структуры. Элементами таких структур являются модули — блоки реализации. Модули предполагают рассмотрение системы с точки зрения кода. Им как отдельным областям выделяются определенные функци­ональные обязанности. Особого внимания тому, как конечное программное обеспечение заявит себя в период прогона, в данном случае не уделяется. Модульные структуры позволяют отвечать на такие вопросы, как: «Какие основные функциональные обязанности несет данный модуль? К каким программным элементам он может обращаться? Какое программное обес­печение он фактически использует? Между какими модулями установле­ны отношения обобщения или специализации (например, наследования)?»

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

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

Эти три структуры соответствуют трем универсальным типам решений, при­нимаемым в ходе архитектурного проектирования:

♦ Каким образом следует структурировать совокупность блоков кода (моду­лей) системы?

♦ Каким образом следует структурировать совокупность элементов системы, обладающих поведением (компоненты) и демонстрирующих взаимодей­ствие (соединители) в период прогона?

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

 




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


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


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



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




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