Открыть сервис

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

Диаграмма деятельности — один из видов диаграмм унифицированного языка моделирования (UML), предназначенный для графического представления динамики процесса: последовательности действий, условий их выполнения, параллельных ветвей и потоков управления. Она относится к поведенческим диаграммам и описывает логику workflow, алгоритма или бизнес-процесса в виде направленного графа, где узлы соответствуют действиям, а рёбра — переходам между ними.

Назначение и место в UML

Диаграмма деятельности применяется для моделирования как вычислительных алгоритмов, так и организационных процессов. В отличие от диаграммы последовательности, акцентирующей обмен сообщениями между объектами во времени, диаграмма деятельности сосредоточена на потоке работ и условиях ветвления. В UML 2.x её семантика основана на формализме сетей Петри, что позволяет описывать параллелизм и синхронизацию.

Основные задачи, решаемые с помощью таких диаграмм:

  • описание бизнес-процессов и регламентов;
  • проектирование алгоритмов и логики программных систем;
  • моделирование сценариев использования на уровне шагов;
  • документирование технологических и производственных цепочек.

Основные элементы

Узлы действий и управления

ЭлементОбозначениеНазначение
Действие (activity/action)Прямоугольник со скруглёнными угламиОтдельный шаг процесса
Начальный узелЗакрашенный кружокТочка старта потока
Конечный узелКружок с обводкойЗавершение процесса
Узел решенияРомбВетвление по условию
Узел слиянияРомбОбъединение альтернативных ветвей
Узел разветвления (fork)Жирная чертаЗапуск параллельных потоков
Узел соединения (join)Жирная чертаСинхронизация параллельных потоков

Дорожки и регионы

Для распределения ответственности между исполнителями используются «плавательные дорожки» (swimlanes) — вертикальные или горизонтальные полосы, каждая из которых закреплена за конкретной ролью, подразделением или системой. Это позволяет наглядно показать, кто выполняет каждый шаг.

Виды и вариации

Различают несколько форм представления:

  • Базовая диаграмма деятельности — простой поток действий с ветвлениями.
  • Диаграмма с дорожками — с распределением по исполнителям.
  • Диаграмма с сигналами — с отправкой и приёмом событий (time- и signal-события).
  • Диаграмма с регионами расширения — для описания итераций и параллельных областей.

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

Пример построения

Рассмотрим процесс обработки заявки:

  1. Начальный узел.
  2. Действие «Принять заявку».
  3. Узел решения: «Данные полные?».
  4. Если нет — действие «Запросить уточнения» и возврат к проверке.
  5. Если да — узел разветвления на два параллельных потока: «Проверить платёжеспособность» и «Зарезервировать товар».
  6. Узел соединения, синхронизирующий оба потока.
  7. Действие «Подтвердить заказ».
  8. Конечный узел.

Такая схема наглядно отражает и условия, и параллелизм.

Применение

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

Отличия от смежных нотаций

По сравнению с блок-схемами алгоритмов диаграмма деятельности обладает более строгой формальной семантикой и поддержкой параллелизма. По сравнению с диаграммой состояний она описывает поток работ, а не реакцию объекта на события. Это делает её удобной для описания процессов, где важны последовательность и синхронизация шагов, а не жизненный цикл отдельной сущности.

Ограничения

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

Источники: спецификация OMG UML 2.x, учебные пособия по объектно-ориентированному анализу и проектированию, материалы по нотациям моделирования бизнес-процессов.