Модель бизнес-процесса — это описание последовательности работ и действий в организации, направленных на достижение поставленной цели.
BPMN (Business Process Model and Notation) — это нотация для моделирования бизнес-процессов. Её ключевая особенность — в возможности разделить зону ответственности и наглядно показать, в какой момент действие переходит от одного участника процесса к другому.
Элементы нотации
1. Пул (pool) и дорожки (swimlane)
Моделирование в нотации BPMN начинается с определения участников процесса. Все участники процесса объединяются в пул (pool — «бассейн») и распределяются по своим дорожкам (swimlane — «плавательная дорожка»).
Название пула соответствует наименованию организации или группы участников процесса (например пользователи мобильного приложения), а название дорожки совпадает с ролью или названием участника процесса. Этот элемент нотации соответствует элементу «роль» в модели процесса.
Пул является контейнером для процесса, который происходит в организации. Этот процесс может быть детализирован, и в этом случае все элементы процесса располагаются на диаграмме (пул “белый ящик”).
Так же элементы процесса могут быть скрыты на диаграмме, если детализация не требуется. Такой пул называется свёрнутым или пул “чёрный ящик”.
Например, если рассматривается взаимодействие организации и мобильного приложения, и детализировать процессы в приложении не требуется, пул «Мобильное приложение» можно свернуть.
2. Задачи (task) и подпроцессы (sub-process)
Когда участники процесса определены, можно сформулировать действия, которые они должны выполнять.
Для обозначения элемента процесса «действие» в нотации BPMN используется несколько символов. Каждый из них отражает особенности выполнения конкретного действия:
- Чтобы обозначить простое действие или задачу, используется прямоугольник.
- Если нужно обозначить набор действий (а это уже подпроцесс), снизу на прямоугольнике изображают квадрат с плюсом.
Маркер подпроцесса используется только тогда, когда есть описание его модели. То есть этот элемент одновременно является и ссылкой на другую модель.
- Для обозначения цикличного (повторяющегося) действия используется маркер круговой стрелки.
Цикличной задачей может быть совершение звонков в службу поддержки. Одно и то же действие будет повторяться до тех пор, пока не придёт ответ.
Пример цикличного подпроцесса — оформление нескольких образов одного и того же договора.
При этом важно помнить, что маркер подпроцесса используется только в том случае, если есть отдельная модель этого подпроцесса.
Если одно и то же действие выполняется несколько раз, но данные и условия при этом меняются, речь идёт уже не о цикличном действии, а об экземплярах действия.
Экземпляры действий могут быть:
Последовательными — выполняются один за другим.
Пример последовательных экземпляров подпроцесса — покупка авиабилетов на рейс для нескольких членов семьи. Чтобы купить каждый билет, нужно выполнить один и тот же набор действий с разными условиями (ввести в систему данные паспорта, выбрать место, оформить страховку и прочее).
Параллельными — выполняются одновременно.
Параллельные экземпляры подпроцесса — это одновременная покупка авиабилетов разными покупателями.
Понять разницу между цикличными действиями и экземплярами действий можно, вспомнив экземпляры сущностей в моделях данных:
Создать в базе данных два разных товара = выполнить два экземпляра одного и того же действия. В итоге получатся два разных экземпляра сущности «Товар».
Создать в базе данных два абсолютно одинаковых товара = выполнить цикличное действие. В итоге получатся два одинаковых экземпляра сущности «Товар».
3. События (events)
События могут запускать процессы (стартовое событие) и завершать их (конечное). То, что не относится ни к той, ни к другой группе, называется промежуточными событиями. У каждой из трёх групп свои обозначения:
Стартовое событие обозначается кругом:
Конечное событие обозначается кругом с утолщённой границей:
Промежуточное событие обозначается кругом с двойной границей:
Некоторые типовые события (встречаются почти во всех процессах) имеют свои собственные обозначения: