Диаграмма деятельности в UML¶
Диаграмма деятельности — один из видов диаграмм унифицированного языка моделирования (UML), предназначенный для графического представления динамики процесса: последовательности действий, условий их выполнения, параллельных ветвей и потоков управления. Она относится к поведенческим диаграммам и описывает логику workflow, алгоритма или бизнес-процесса в виде направленного графа, где узлы соответствуют действиям, а рёбра — переходам между ними.
¶Назначение и место в UML
Диаграмма деятельности применяется для моделирования как вычислительных алгоритмов, так и организационных процессов. В отличие от диаграммы последовательности, акцентирующей обмен сообщениями между объектами во времени, диаграмма деятельности сосредоточена на потоке работ и условиях ветвления. В UML 2.x её семантика основана на формализме сетей Петри, что позволяет описывать параллелизм и синхронизацию.
Основные задачи, решаемые с помощью таких диаграмм:
- описание бизнес-процессов и регламентов;
- проектирование алгоритмов и логики программных систем;
- моделирование сценариев использования на уровне шагов;
- документирование технологических и производственных цепочек.
¶Основные элементы
¶Узлы действий и управления
| Элемент | Обозначение | Назначение |
|---|---|---|
| Действие (activity/action) | Прямоугольник со скруглёнными углами | Отдельный шаг процесса |
| Начальный узел | Закрашенный кружок | Точка старта потока |
| Конечный узел | Кружок с обводкой | Завершение процесса |
| Узел решения | Ромб | Ветвление по условию |
| Узел слияния | Ромб | Объединение альтернативных ветвей |
| Узел разветвления (fork) | Жирная черта | Запуск параллельных потоков |
| Узел соединения (join) | Жирная черта | Синхронизация параллельных потоков |
¶Дорожки и регионы
Для распределения ответственности между исполнителями используются «плавательные дорожки» (swimlanes) — вертикальные или горизонтальные полосы, каждая из которых закреплена за конкретной ролью, подразделением или системой. Это позволяет наглядно показать, кто выполняет каждый шаг.
¶Виды и вариации
Различают несколько форм представления:
- Базовая диаграмма деятельности — простой поток действий с ветвлениями.
- Диаграмма с дорожками — с распределением по исполнителям.
- Диаграмма с сигналами — с отправкой и приёмом событий (time- и signal-события).
- Диаграмма с регионами расширения — для описания итераций и параллельных областей.
В нотации BPMN, родственной UML, аналогичную роль играют диаграммы бизнес-процессов, однако UML-диаграмма деятельности ближе к программной инженерии.
¶Пример построения
Рассмотрим процесс обработки заявки:
- Начальный узел.
- Действие «Принять заявку».
- Узел решения: «Данные полные?».
- Если нет — действие «Запросить уточнения» и возврат к проверке.
- Если да — узел разветвления на два параллельных потока: «Проверить платёжеспособность» и «Зарезервировать товар».
- Узел соединения, синхронизирующий оба потока.
- Действие «Подтвердить заказ».
- Конечный узел.
Такая схема наглядно отражает и условия, и параллелизм.
¶Применение
Диаграммы деятельности востребованы в анализе и проектировании информационных систем, при реинжиниринге бизнес-процессов, в системах менеджмента качества. В российской практике они используются при описании технологических регламентов, в проектах по цифровизации государственных услуг и в технической документации программных продуктов. Инструменты построения включают как специализированные CASE-средства, так и универсальные редакторы диаграмм.
¶Отличия от смежных нотаций
По сравнению с блок-схемами алгоритмов диаграмма деятельности обладает более строгой формальной семантикой и поддержкой параллелизма. По сравнению с диаграммой состояний она описывает поток работ, а не реакцию объекта на события. Это делает её удобной для описания процессов, где важны последовательность и синхронизация шагов, а не жизненный цикл отдельной сущности.
¶Ограничения
К недостаткам относят сложность чтения больших диаграмм, отсутствие встроенных средств оценки времени и стоимости шагов, а также необходимость дисциплины при именовании действий. Чрезмерная детализация снижает наглядность, поэтому на практике применяют декомпозицию на несколько уровней.
Источники: спецификация OMG UML 2.x, учебные пособия по объектно-ориентированному анализу и проектированию, материалы по нотациям моделирования бизнес-процессов.