Диаграммы параллельной кооперации.



Диаграммы параллельной кооперации

В нотации UML активный объект или задача изображается прямоугольником с жирной границей. Активный объект имеет собственный поток управления и исполняется параллельно с другими объектами. Этим он отличается от пассивного объекта, не имеющего своего потока управления.

Пассивный объект исполняется только тогда, когда другой объект (активный или пассивный) вызовет одну из его операций. Будем называть активный объект задачей, а пассивный – просто объектом.

Задачи отмечаются на диаграммах параллельной кооперации, которые позволяют наглядно представить параллелизм в системе. На такой диаграмме задача показывается в виде прямоугольника с жирной границей, а пассивный объект – в виде прямоугольника с тонкой границей (рис. 10, здесь представлена также нотация для множества объектов, возникающих при порождении нескольких объектов одного класса).

Обмен сообщениями на диаграммах параллельной кооперации.

Интерфейс для обмена сообщениями на диаграмме параллельной кооперации может быть слабо связанным (loosely coupled) или сильно связанным (tightly coupled). В последнем случае производитель посылает сообщение потребителю и ожидает немедленного подтверждения. Сильно связанный обмен бывает двух видов: сильно связанный обмен сообщениями с ответом и сильно связанный обмен сообщениями без ответа.

Нотация UML для нескольких видов обмена сообщениями представлена на рис. 11. На рис. 12 изображен вариант диаграммы кооперации с активными объектами (параллельными задачами или процессами), а также разные типы передачи информации между ними.

 

Диаграммы развертывания

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

Узлом, как правило, является компьютер, при этом максимальное число экземпляров узла может быть ограничено (см. рис. 10). Для физического соединения имеется стереотип, задающий тип соединения, например «локальная сеть» или «глобальная сеть». На рис. 13 показаны узлы двух типов: банкомат (каждый такой клиент занимает ровно один узел), соединенный с банковским сервером, который также размещен в одном узле. В кубе, представляющем узел, могут также изображаться объекты, находящиеся в этом узле. Во втором примере, где несколько клиентов и серверов соединены локальной сетью, сама сеть также присутствует в виде узла. Подобная нотация применяется в тех случаях, когда в сети есть более двух узлов компьютеров.

Механизмы расширения UML.

Механизмы расширения UML

В UML имеется три механизма расширения языка:

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

На рис. 1 два вида зависимостей между прецедентами отмечены стереотипами «include» и «extend». На рис. 9 представлены стереотипы «система» и «подсистема» для обозначения разных видов пакетов. На рис. 10 стереотипы помогают отличить активные объекты от пассивных: активному объекту соответствует стереотип «задача», а пассивному – «объект». На рис. 11 с помощью стереотипов задаются разные виды сообщений;

– помеченные значения. Помеченное значение расширяет свойства строительного блока UML, сообщая тем самым новую информацию. Оно заключается в фигурные скобки {метка = значение}. Друг от друга помеченные значения отделяются запятыми. Например, класс на рис. 14 имеет два помеченных значения (номер версии и автор): {версия = 1.0, автор = Gill};

 

– ограничения. Ограничение задает условие, которое должно выполняться. В UML ограничение семантически расширяет элемент, добавляя новые правила или изменяя существующие. Например, в классе Счет на рис.6.14 есть ограничение на атрибут баланс, состоящее в том, что баланс не должен быть отрицательным {баланс ≥ 0}. Помимо этого, в состав UML входит объектный язык ограничений Object Constraint Language.


Дата добавления: 2018-08-06; просмотров: 473; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!