Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uml Book (Rus).doc
Скачиваний:
15
Добавлен:
11.08.2019
Размер:
58.74 Mб
Скачать

Распределение компонентов

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

Моделирование распределения компонентов состоит из следующих шагов:

1. Припишите каждый значимый компонент системы к определенному узлу.

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

3. Изобразите распределение компонентов по узлам одним из трех способов:

- не делайте размещение видимым, но оставьте его на заднем плане модели, то есть в спецификации узла;

- соедините каждый узел с компонентами, которые на нем развернуты, от­ношением зависимости;

- перечислите компоненты, развернутые на узле, в дополнительном разделе.

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

анонимны, а у остальных двух экземпляров есть имена (с для Консоли и s для Сервера). Для каждого процессора на рисунке отведен дополнительный раздел, по­казывающий, какие компоненты на нем развернуты. Объект Сервер также изобра­жен со своими атрибутами (processorSpeed - скоростьПроцессора и memory - память), причем их значения видимы.

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

Советы

Хорошо структурированный узел обладает следующими свойствами:

  • представляет четкую абстракцию некоей сущности из словаря аппаратных средств области решения;

  • декомпозирован только до уровня, необходимого для того, чтобы донести ваши идеи до читателя;

  • раскрывает только те атрибуты и операции, которые относятся к моделируе­мой области;

  • явно показывает, какие компоненты на нем развернуты;

  • связан с другими узлами способом, отражающим топологию реальной системы.

Изображая узел в UML, руководствуйтесь следующими принципами:

  • определите для своего проекта или организации в целом набор стереотипов с подходящими пиктограммами, которые несут очевидную для читателя смысловую нагрузку;

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

Глава 27. Кооперации

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]