Перейти к содержимому

Диаграмма деятельности

Диаграмму строят по уже выделенному процессу или сценарию. Сначала формулируют начало и результат потока, затем добавляют действия, решения и участников. Если на схеме появляются контроллеры, HTTP-вызовы и таблицы базы данных, скорее всего, она смешивает процессный и технический уровни.

Действие показывается прямоугольником со скруглёнными углами. Поток управления соединяет действия и показывает, в каком порядке может передаваться выполнение.

Действие

Узел со значком в виде трезубца (rake) обозначает вызов другой деятельности. Он полезен при декомпозиции: на верхнем уровне остаётся крупный этап «Проверить заявку», а отдельная диаграмма раскрывает его внутренние действия.

Вызов деятельности

Начальный узел создаёт поток выполнения. Конечный узел деятельности завершает всю деятельность, включая другие параллельные ветви. Конечный узел потока останавливает только пришедшую в него ветвь.

Решение (decision) выбирает один из допустимых путей. Условия записывают на исходящих рёбрах в квадратных скобках: [интервал свободен], [мест нет]. Слияние (merge) объединяет альтернативные пути после решения.

Решение с условиями

Условия должны опираться на бизнес-правила или состояние объектов. Для детерминированного сценария они должны быть взаимоисключающими либо одна ветвь должна быть явно отмечена как else.

Развилка (fork) запускает несколько ветвей, а соединение (join) ждёт завершения всех нужных ветвей. Это не тот же механизм, что решение: развилка означает параллельное выполнение, а решение — выбор одного пути.

Развилка потоков

Соединение потоков

Если длинное ребро мешает чтению, его можно разорвать парой коннекторов с одним именем. Коннектор не меняет семантику потока и не является дополнительным действием.

Дорожки (activity partitions) группируют узлы деятельности по общему признаку: участнику, роли, подсистеме или другому выбранному основанию. Участник или роль — частый способ показать предполагаемого исполнителя, но сама дорожка не назначает ответственность и не превращает диаграмму в организационную схему.

Дорожки

Если результат действия важен для понимания процесса, покажите его объектным потоком: например, заявка создаётся, передаётся на проверку и становится согласованной. Детальная нотация объектов, контактов и хранилищ разобрана в расширенной нотации диаграммы деятельности.

  • у процесса есть понятный результат или условие завершения;
  • действие названо как шаг работы, а не как экран интерфейса;
  • решение не используется для параллельности, а развилка — для выбора;
  • дорожки используют единое основание группировки;
  • условия, объекты и статусы согласованы с правилами и предметной моделью.

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