Студопедия

КАТЕГОРИИ:


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

Распределение




Компонент и соединитель

Среди структур данного вида выделяются следующие.

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

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

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

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

Среди структур распределения выделяются следующие.

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

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

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

Общая схема программных структур приводится в табл. 2.1. В ней рассматри­вается значения элементов, отношения, характерные для каждой из структур, и варианты их практического применения.

Таблица 2.1. Архитектурные структуры системы

Программная структура Отношения Варианты практического применения
Декомпозиция «Является подмодулем...»; «пользуется скрытой информацией совместно с...» Распределение ресурсов, структурирование и планиро­вание проекта; информаци­онная закрытость, инкапсуляция; управление конфигурациями

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

Программная структура Отношения Варианты практического применения  
 
Варианты использования «Требует наличия...» Конструирование подмножеств; инженерные расширения  
Многоуровневая «Требует наличия...», «обращается к услугам...», «обобщает...» Инкрементная разработка; реализация систем на основе переносимости «виртуальных машин»  
Классы «Является экземпляром...», «использует метод доступа из...» В объектно-ориентированных системах проектирования, производящих на основе универсального шаблона быстрые, почти идентичные реализации  
Клиент-сервер «Обменивается данными с.», «зависит от...» Распределенное функционирование; разделение задач; анализ производительности; выравнивание нагрузки  
Процесс «Исполняется параллельно с...», «может исполняться параллельно с...», «исключает», «предшествует» и т. д. Анализ сроков; анализ производительности  
Параллелизм «Исполняется в одном логическом потоке» Выявление местоположений, в которых потоки могут разветвляться, объединяться, создаваться и уничтожаться  
Совместно используемые данные «Производит данные», «потребляет данные» Производительность; целостность данных, модифицируемость  
Размещение Распределение, миграция Анализ производительности, готовности и защиты  
Реализация «Хранится в...» Управление конфигурация­ми, интеграция, тестирование  
Распределение функций «Назначается...» Управление проектом, оптимальное использование интеллектуальных ресурсов, управление общностью  

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




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


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


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



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




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