Источник
BPMN (Wikipedia)
Обзор стандарта BPMN, базовых элементов нотации и BPMN 2.0.2.
Спецификация
OMG: BPMN 2.0.2
Официальные материалы стандарта от Object Management Group.
BPMN (Business Process Model and Notation) — графический язык моделирования бизнес-процессов. Он нужен, чтобы на одной диаграмме одинаково понятно разговаривали бизнес и инженерные команды, а процесс можно было проанализировать и автоматизировать.
4 группы элементов BPMN
Сердце процесса
Flow Objects
События, активности и шлюзы определяют поведение процесса и его логику.
Связи
Connecting Objects
Sequence Flow, Message Flow и Association показывают порядок, обмен и привязку артефактов.
Границы ответственности
Swimlanes
Pool и Lane разделяют участников и зоны ответственности внутри процесса.
Контекст
Artifacts
Data Object, Group и Annotation добавляют данные и пояснения без изменения потока.
Базовая семантика процесса
Events
Что-то произошло: старт, промежуточные триггеры, завершение. Важны catching/throwing semantics.
Activities
Что-то выполняется: task, subprocess, call activity. Базовый атом бизнес-работы.
Gateways
Управление ветвлением и синхронизацией: выбор пути, параллельность, ожидание события.
Примеры BPMN диаграмм
Визуальные примеры в том же паттерне, что и в UML-главе: карточки выбора + активная схема.
Happy Path
Базовый поток: старт, задачи, ветвление и успешное завершение.
Связанная нотация
UML
Сравни подходы: BPMN для процессов и UML для структуры/поведения системы.
Паттерны шлюзов (gateways)
Exclusive (XOR)
Выбирается ровно один путь на основе условия.
Inclusive (OR)
Выбирается один или несколько путей, если выполняются условия.
Parallel (AND)
Запускает несколько веток одновременно без условий.
Event-based
Выбор ветки определяется событием, которое наступит первым.
Практический workflow моделирования
Шаги BPMN workflow
6 этапов от границ процесса до финальной валидацииОпределите границы процесса
Сформулируйте start/end и уровень детализации диаграммы.
Разметьте участников
Добавьте pools/lanes, чтобы сразу показать ownership и handoff между ролями.
Соберите happy path
Сначала постройте основной путь без исключений, затем ветвления и альтернативы.
Добавьте сообщения и данные
Покажите message flow между pools и ключевые data objects, которые влияют на решения.
Уточните исключения
Смоделируйте таймауты, ошибки, компенсации и fallback-сценарии.
Проверьте читаемость
Уберите лишние пересечения и убедитесь, что диаграмма читается слева направо.
Определите границы процесса
Сформулируйте start/end и уровень детализации диаграммы.
Разметьте участников
Добавьте pools/lanes, чтобы сразу показать ownership и handoff между ролями.
Соберите happy path
Сначала постройте основной путь без исключений, затем ветвления и альтернативы.
Добавьте сообщения и данные
Покажите message flow между pools и ключевые data objects, которые влияют на решения.
Уточните исключения
Смоделируйте таймауты, ошибки, компенсации и fallback-сценарии.
Проверьте читаемость
Уберите лишние пересечения и убедитесь, что диаграмма читается слева направо.
Частые ошибки
Смешение orchestration и collaboration
В одной диаграмме одновременно детально описывается внутренний процесс и межорганизационный обмен.
Message Flow внутри одного pool
Message Flow должен отражать обмен между участниками (обычно между разными pools), а не внутри одного.
Слишком много gateway подряд
Перегруженный control flow ломает читаемость. Лучше выносить сложные блоки в subprocess.
Отсутствие событий завершения
Без явных end events сложно понять, где процесс завершен успешно, а где аварийно.
