- •6. Обзор нотации uml
- •6.1. Диаграммы uml
- •6.2. Диаграммы прецедентов
- •6.3. Нотация uml для классов и объектов
- •6.4. Диаграммы классов
- •6.5. Диаграммы взаимодействия
- •6.6. Диаграммы состояний
- •6.7. Пакеты
- •6.8. Диаграммы параллельной кооперации
- •6.9. Диаграммы развертывания
- •6.10. Механизмы расширения uml
6.7. Пакеты
В UML пакетом называется группа элементов модели, используемая, например, для представления системы или подсистемы. Такая группа изображается пиктограммой папки – большим прямоугольником, над которым находится прямоугольник поменьше (рис. 6.9). Пакеты бывают вложенными; между ними могут существовать отношения зависимости и обобщения/специализации. Пакеты способны содержать классы, объекты или прецеденты.
Рис. 6.9. Нотация UMLдля пакетов
6.8. Диаграммы параллельной кооперации
В нотации UML активный объект или задача изображается прямоугольником с жирной границей. Активный объект имеет собственный поток управления и исполняется параллельно с другими объектами. Этим он отличается от пассивного объекта, не имеющего своего потока управления.
Пассивный объект исполняется только тогда, когда другой объект (активный или пассивный) вызовет одну из его операций. Будем называть активный объект задачей, а пассивный – просто объектом. Задачи отмечаются на диаграммах параллельной кооперации, которые позволяют наглядно представить параллелизм в системе [17]. На такой диаграмме задача показывается в виде прямоугольника с жирной границей, а пассивный объект – в виде прямоугольника с тонкой границей (рис. 6.10, здесь представлена также нотация для множества объектов, возникающих при порождении нескольких объектов одного класса).
Рис. 6.10. Нотация UMLдля активных и пассивных объектов
6.8.1. Обмен сообщениями на диаграммах параллельной кооперации. Интерфейс для обмена сообщениями на диаграмме параллельной кооперации может быть слабо связанным (loosely coupled) или сильно связанным (tightly coupled). В последнем случае производитель посылает сообщение потребителю и ожидает немедленного подтверждения. Сильно связанный обмен бывает двух видов: сильно связанный обмен сообщениями с ответом и сильно связанный обмен сообщениями без ответа.
Нотация UML для нескольких видов обмена сообщениями представлена на рис. 6.11. На рис.6.12 изображен вариант диаграммы кооперации с активными объектами (параллельными задачами или процессами), а также разные типы передачи информации между ними.
6.9. Диаграммы развертывания
На диаграмме развертывания очерчивается физическая конфигурация системы, то есть физические узлы и соединения между ними (например, связывающая их сеть). Узел представляется в виде куба, а соединение – в виде линии, ведущей от одного куба к другому. По сути, диаграмма развертывания – не что иное, как диаграмма классов с акцентом на узлах системы [16].
Узлом, как правило, является компьютер, при этом максимальное число экземпляров узла может быть ограничено (см. раздел 6.10). Для физического соединения имеется стереотип, задающий тип соединения, например «локальная сеть» или «глобальная сеть». На рис. 6.13 показаны узлы двух типов: банкомат (каждый такой клиент занимает ровно один узел), соединенный с банковским сервером, который также размещен в одном узле. В кубе, представляющем узел, могут также изображаться объекты, находящиеся в этом узле. Во втором примере, где несколько клиентов и серверов соединены локальной сетью, сама сеть также присутствует в виде узла. Подобная нотация применяется в тех случаях, когда в сети есть более двух узлов-компьютеров.
Рис. 6.11. Нотация UMLдля сообщений
Рис. 6.12. Нотация UMLдля. параллельной диаграммы кооперации
Рис. 6.13. Нотация UML для диаграммы развертывания