Нотация UML (SD)
UML (Unified Modeling Language) – унифицированный язык моделирования системных и бизнес-процессов.
SD (Sequence Diagram) – диаграмма последовательностей. Визуализирует взаимодействие между объектами в системе, показывает порядок сообщений, которыми объекты обмениваются во времени, и их жизненный цикл.
Диаграмма последовательностей состоит из следующих элементов:
объекты (зеленое);
линии жизни (красное);
сообщения (синее).

Объекты
Сущности, которые взаимодействуют друг с другом. Основные типы объектов:
actor – пользователь или «клиент»;
participant – сервер, компонент системы;
database – база данных;
queue – топик или очередь.

Линии жизни
Отображают течение времени, а также активность или исполнение определенных функций объекта. Представляют из себя вертикальную линию с блоком активности.
Сообщения
Показывают обмен информацией между объектами. Например, клик пользователя по кнопке, но чаще это запрос или ответ, вызов хранимой процедуры или отправка сообщения. Сообщения отображаются в виде стрелок. Вид стрелки определяет тип сообщения:

Инструменты для работы с UML SD
графический редактор draw.io;
песочница plantUML;
плагины в инструментах JetBrains или VSCode.
Синтаксис PlantUNL
Определяем объекты
Описываем сообщения
Основные типы стрелок:
Визуализация:

Группируем сообщения
Группировка Alt используется с оператором else для того, чтобы показать альтернативные кейсы взаимодействия. Например, объект отправляет запрос, а второй объект, в зависимости от полученных данных, выполняет разные действия.
Визуализация:

Группировка Opt используется для того, чтобы выделить сообщение в опциональный кейс. Например, объект отправляет запрос, а второй объект, в зависимости от полученных данных, может выполнить дополнительное действие.
Визуализация:

Группировка Par используется с оператором else для того, чтобы выделить сообщения, которые выполняются параллельно. Например, объект отправляет запрос, а второй объект параллельно выполнит внутренние вычисления и вернёт ответ первому объекту.
Визуализация:

Группировка Loop используется для того, чтобы выделить сообщения, которые выполняются несколько раз. Например, объект отправляет запрос, а второй объект выполнит внутренние действия несколько раз в зависимости от отправленных данных.
Визуализация:

Группировка Group используется для того, чтобы скомпоновать сообщения по смыслу. Например, на диаграмме может быть много взаимодействий и для того, чтобы было меньше путаницы можно подписать группы сообщений.
Визуализация:

Можно группировать сами объекты. Часто используется для описания взаимодействия нескольких систем с микросервисами.
Визуализация:

Полезные возможности PlantUML
Изменить цвет стрелок
Визуализация:

Изменить цвет текста
Визуализация:

Добавить подсказку
Визуализация:

Поставить разделительную черту
Визуализация:

Пример разработки SD в PlantUML

Last updated