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

Узлы и компоненты

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

  • компоненты принимают участие в исполнении системы; узлы - это сущности, которые исполняют компоненты;

  • компоненты представляют физическую упаковку логических элементов; узлы представляют средства физического развертывания компонентов.

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

компонентами и узлами. В самом деле, компонент - это материализация множества других логических элементов, таких как классы и кооперации, а узел - место, на ко­тором развернут компонент. Класс может быть реализован одним или несколькими Компонентами, а компонент, в свою очередь, развернут в одном или нескольких узлax. Как показано на рис. 26.3, отношение между узлом и компонентом, который на нем развернут, может быть явно изображено с помощью отношения зависимости (см. главы 5 и 10). Как правило, вам не придется визуализировать такие отношения. Лучше хранить их как часть спецификации узла. Множество объектов или компонентов, приписанных к узлу как группа, назы­вается элементом распределения (Distribution unit).

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

Организация узлов

Узлы можно организовывать, группируя их в пакеты (см. главу 12), точно так же, как это делается с классами и компонентами.

Можно организовывать узлы, специфицируя отношения>(см. главы 5 и 10) за­висимости, обобщения и ассоциации (включая агрегирование), существующие между ними.

Соединения

Самый распространенный вид отношения между узлами - это ассоциация. В данном контексте ассоциация представляет физическое соединение узлов, напри­мер линию Ethernet, последовательный канал или разделяемую шину (см. рис. 26.4). Ассоциации можно использовать даже для моделирования непрямых соединений типа спутниковой линии связи между двумя удаленными процессорами.

Поскольку узлы аналогичны классам, в нашем распоряжении находится весь аппарат ассоциаций. Иными словами, можно использовать роли, кратности и огра­ничения. Как показано на рис. 26.4, следует применять стереотипы, если необхо­димо моделировать разные виды соединений - к примеру, чтобы отличить соеди­нение 10-Т Ethernet от соединения по последовательному каналу RS-232.

Типичные приемы моделирования Процессоры и устройства

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

Поскольку все механизмы расширения UML (см. главу 6) применимы и к уз­лам, то для описания новых видов узлов, представляющих конкретные процессо­ры и устройства, часто используются стереотипы. Процессор (Processor) - это узел, способный обрабатывать данные, то есть исполнять компонент. Устройство (Device) - это узел, не способный обрабатывать данные (по крайней мере, на вы­бранном уровне абстракции) и в общем случае используемый для представления чего-либо связанного с реальным миром.

Моделирование процессоров и устройств осуществляется так:

1. Идентифицируйте вычислительные элементы представления системы с точ­ки зрения развертывания и смоделируйте каждый из них как узел.

2. Если эти элементы представляют процессоры и устройства общего вида, то припишите им соответствующие стандартные стереотипы. Если же это

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

Например, на рис. 26.5 изображена предыдущая диаграмма, на которой каждо­му узлу приписан стереотип. Сервер - это узел со стереотипом процессора обще­го вида; киоск и консоль - узлы со стереотипами специализированных процес­соров, а RAID-массив - узел со стереотипом специализированного устройства.

Примечание Узлы - это те строительные блоки UML, которым стереотипы при­писываются чаще всего. Когда в ходе проектирования программной системы вы моделируете ее с точки зрения развертывания, очень

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

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