Нотация описания процессов BPMN
BPMN (The Business Process Modeling Notation) – нотация моделирования бизнес-процессов, разработанный Business Process Management Institute (BPMI). Это относительно молодая нотация – выпуск первой версии состоялся в 2004 г. Версия 2.0 была выпущена в 2010-2011 г.
Данная статья не претендует на полное изложение методик моделирования BPMN, и предназначена только для общего ознакомления с данной методикой.
Модель в нотации BPMN состоит из BPD-диаграмм (Business Process Diagram).
Модель BPMN можно строить в двух вариантах:
- Простая графическая нотация (Simple Notation)
- Комплексная нотация (Powerful Notation)
Данная нотация поддерживается многими западными продуктами: Oracle BPM Suite, SAP Netweaver BPM и пр.
По сравнению с eEPC ARIS нотация BPMN дает более точное описание процесса, но она гораздо более сложна для восприятия, и для работы с этой моделью требуется определенная подготовка. Однако концептуально эта нотация близка к eEPC. Основные отличия:
- Более строгая формализация объектов. Например, видов событий насчитывается около 30.
- Более развитая система правил графической записи процессов.
- “Дорожечная схема”. Вместо исполнителя, который указывается для каждой функции, функции располагаются на дорожках. Каждая дорожка соответствует зоне ответственности отдельного подразделения или сотрудника. За счет этого схема получается более наглядной с точки зрения последовательности работы исполнителей, однако это приводит к существенно большей площади, занимаемой такими диаграммами.
В BPMN выделяются 4 группы объектов:
- Объекты потока управления (Flow Objects): события, действия и логические операторы
- Соединяющие объекты (Connecting Objects): поток управления, поток сообщений и ассоциации
- Роли или зоны ответственности (Swimlanes): пулы и дорожки
- Артефакты (Artifacts): данные, группы и текстовые аннотации.
Диаграммы BPMN могут быть трансформированы в исполняемые модели на языке BPEL.
Объекты потока управления
Все виды событий сведены в следующей таблице:
- Простые события (plain events) это нетипизированные события, использующиеся, чаще всего, для того, чтобы показать начало или окончание процесса.
- События-сообщения (message events) показывают получение и отправку сообщений в ходе выполнения процесса.
- События-таймеры (timer events) моделируют события, регулярно происходящие во времени. Также позволяют моделировать моменты времени, периоды и таймауты.
- События-ошибки (error events) позволяют смоделировать генерацию и обработку ошибок в процессе. Ошибки могут иметь различные типы.
- События-отмены (cancel events) инициируют или реагируют на отмену транзакции.
- События-компенсации (compensation events) инициируют компенсацию или выполняют действия по компенсации.
- События-условия (conditional events) позволяют интегрировать бизнес правила в процесс.
- События-сигналы (signal events) рассылают и принимают сигналы между несколькими процессами. Один сигнал может обрабатываться несколькими получателями. Таким образом, события-сигналы позволяют реализовать широковещательную рассылку сообщений.
- Составные события (multiple events) моделирует генерацию и моделирование одного события из множества.
- События-ссылки (link events) используются как межстраничные соединения. Пара соответствующих ссылок эквивалентна потоку управления.
- События-остановы (terminate events) приводят к немедленному завершению всего бизнес процесса (во всей диаграмме).
Примеры использования шлюзов:
Соединяющие элементы
В BPMN предусмотрены следующие соединяющие элементы:
Зоны ответственности
Зоны ответственности позволяют разбить диаграмму на “дорожки”. В каждой дорожке располагаются действия, выполняемые одним исполнителем:
Зоны ответственности могут быть иерархическими:
Артефакты
Артефакты – это объекты с данными, которые передаются между функциями, либо пояснения к объектам:
Особенности BPMN
Проиллюстрируем некоторые возможности BPMN, которые показывают большую сложность и точность описания процессов. Это тонкости, которые на диаграммах eEPC ARIS описать затруднительно.
Граничные прерывающие события позволяют указать, что если при выполнении процесса “Процесс 1” возникнет событие “Событие 2”, то выполнение процесса “Процесс 1” прервется и на текущей диаграмме дальнейшее выполнение процесса будет происходить по потоку, исходящему от граничного события, то есть начнется выполнение процесса “Процесс 3”.
Граничные непрерывающие события. Если при выполнении процесса “Процесс 1” возникнет событие “Событие 2”, то выполнение процесса “Процесс 1” продолжится. Но также начнется выполнение процесса 3. Процесс 2 будет выполняться после завершения Процесса 1.
Использование неэксклюзивного шлюза. После выполнения процесса “Процесс 1” дальнейшее выполнение процесса может продолжиться по любому потоку, исходящему из шлюза, если условие, заданное на этом потоке, выполняется:
- если условие “Условие 1” верно, то выполнится “Процесс 3”;
- если условие “Условие 2” верно, то выполнится процесс “Процесс 4”;
- если ни условие “Условие 1”, ни условие “Условие 2” не верны, то выполнится только процесс “Процесс 2”.
Эксклюзивный шлюз по событиям (XOR, “Исключающее ИЛИ”) используется для ветвления потока управления на несколько альтернативных потоков, когда дальнейшее выполнение процесса зависит от возникновения некоторого события-обработчика, следующего после шлюза.
После выполнения процесса “Процесс 1” дальнейшее выполнение процесса может продолжиться только по одной ветке, исходящей из шлюза:
- если первым возникло событие “Событие 1”, то выполнится только процесс “Процесс 2”;
- если первым возникло событие “Событие 2”, то выполнится только процесс “Процесс 3”.
Пример BPM-диаграммы