Это приложение представляет собой краткий справочник UML-диаграмм, используемых в этой книге. Универсальный язык моделирования (Unified Modeling Language - UML) предлагает графические обозначения, используемые для проектирования, визуализации, моделирования и документирования артефактов системы программного обеспечения. Этот язык является стандартом «де-факто» для моделирования объектно-ориентированных систем. В нем используются символы и обозначения для представления артефактов системы ПО с различных точек зрения. И хотя в книге используются и другие обозначения, это приложение позволит читателю быстро ознакомиться с основными элементами и символами языка UML, которые могут понадобиться ему при составлении Документации на разрабатываемые системы ПО.
Диаграммы классов и объектов
Диаграммы классов и объектов — самые распространенные диаграммы, используемые в моделировании объектно-ориентированных систем. Диаграммы классов используются для представления классов любого типа, в том числе шаблонных и интерфейсных классов. Эти диаграммы могут содержать члены класса (атрибуты и операции). В диаграммах классов и объектов отображаются типы данных, значения переменных и типы значений, возвращаемых функциями. В диаграммах объектов можно отобразить имя объекта. В диаграммах обоих типов можно указать количество классов или объектов, используемых в системе, а также отношения между классами и объектами.
#img_93.png Рис.А.1. Различные способы представления класса или объекта. Для классов можно отобразить атрибуты, операции и их область видимости. При обозначении активных классов или объектов используется более жирная линия |
#img_94.png Рис. A.3. Способы представления связанных и несвязанных шаблонов или параметризованных классов |
#img_95.png Рис. A.2. Различные способы представления множества классов или объектов. Множество экземпляров можно отобразить графически или с помощью обозначения множественности |
Диаграммы взаимодейс
т
вия
Диаграммы взаимодействия предназначены для отображения взаимодействия между объекта м и. Такие диагра мм ы состоят из м ножества объектов, отношений и сооб щ ений, которы м и об м ениваются объекты. Диагра мм ы взаи м одействия включают диагра мм ы сотрудничества, последовательностей и видов деятельности.
Диаграммы сотрудничества
Диаграммы сотрудничества используются для отображения объектов, работающих вместе с целью выполнения некоторой общей работы. Под сотрудничеством в системе понимается временная кооперация множества объектов. Диаграммы этого типа могут отображать организацию или структуру сотрудничества. Это подразумевает отображение всех объектов данного множества, связей между ними, а также отправляемых и получаемых ими сообщений.
Диаграммы последовательностей
Диаграммы последовательностей предназначены для отображения временного упорядочения сообщений, отправляемых и получаемых объектами в системе.
#img_96.png Рис. A.5. Способы представления единичного и множественного наследования. Существует два стиля, которые можно использовать при участии нескольких классов в отношении: объединенный и разъединенный. При использовании объединенного стиля несколько классов привязываются к единому символу наследования, который указывает на целевой класс. При использовании разъединенного стиля каждый класс имеет собственный символ наследования |
A.2.3. Диаграммы видов деятельности
Диаграммы видов деятельности отображают передачу управления от одного вида деятельности другому. Под деятельностью подразумеваются действия, выполняемые объектами. Действия включают обработку операций ввода-вывода, создание или разрушение объектов либо выполнение вычислений. Диаграммы видов деятельности подобны блок-схемам.
#img_98.png Рис. A.6. Примеры различных отношений, которые можно отобразить на диаграммах классов. Для отображения количества экземпляров, участвующих в отношениях, можно использовать обозначение множественности |
#img_99.png Рис.А.7. Диаграмма сотрудничества, отображающая организацию сотрудничества в системе и структурные отношения объектов в этом сотрудничестве |
Рис.А.8. Диаграмма последовательностей используется для отображения временного упорядочения сообщений, передаваемых между объектами. Активные объекты размещаются в верхней части диаграммы (по оси x). Сообщения, передаваемые между объектами, располагаются по оси у. На диаграмме можно отображать синхронные и асинхронные сообщения. Временное упорядочение сообщений демонстрируется путем чтения сообщений сверху вниз вдоль оси у
#img_101.png Рис. A.9. Диаграммы видов деятельности отображают действия объектов с точки зрения передачи управления от одного объекта другому. Диаграмма этого типа с помощью полосы синхронизации позволяет отобразить разветвление программы на несколько потоков управления (параллельность) и их слияние. Чтобы было понятно, какой объект выполняет соответствующее действие, здесь используется принцип «плавательных дорожек». Эти «плавательные дорожки» могут пересекаться переходами. «Плавательные дорожки» также могут пересекаться полосами синхронизации, что означает, что несколько потоков управления, распределенные по различным объектам, выполняют действия параллельно |
A.3. Диаграммы состояний
Диаграмма состояний используется для отображения последовательности изменения состояния объектов. Состояние — это условие, при котором объект занимает ту или иную позицию на своей «линии жизни». Объект за время своего существования может многократно изменять свое состояние. Объекты переходят в новое состояние, если создаются определенные условия, выполняется некоторое действие или происходит соответствующее событие.
#img_102.png Рис.А.10. Диаграммы состояний отображают состояния объектов и их переходы из одного состояния в другое за время их существования. Диаграмма этого вида содержит начальное и конечное состояние объекта. Состояние может включать несколько стадий (частей). Оно может также быть представлено совокупностью других состояний или даже других диаграмм состояний. Подсостояния, которые существуют параллельно в рамках одного объекта, называются параллельными подсостояниями |
A.4. Диаграммы пакетов
Диаграммы пакетов используются для организации элементов системы по группам
#img_103.png Рис.А.11. Диаграммы пакетов могут служить для отображения организации элементов системы. При этом можно использовать стереотипы «система» или «подсистема». Если пакет содержит другие элементы, во вкладке (расположенной слева) можно указать имя пакета |