Это старая версия документа.


Нотация BPMN

Нотация BPMN (Business Process Model and Notation - модель бизнес-процессов и нотация) используется для описания процессов нижнего уровня. Диаграмма процесса в нотации BPMN представляет собой алгоритм выполнения процесса. На диаграмме могут быть определены события, исполнители, материальные и документальные потоки, сопровождающие выполнение процесса. Каждый процесс может быть декомпозирован на более низкие уровни. Декомпозиция может производиться в нотациях BPMN или EPC. При декомпозиции процесса BPMN, расположенного на диаграмме SADT, стрелки с диаграммы SADT на диаграмму BPMN не переносятся.

В нотации BPMN выделяют пять основных категорий элементов:

  • элементы потока (события, процессы и шлюзы);
  • данные (объекты данных и базы данных);
  • соединяющие элементы (потоки управления, потоки сообщений и ассоциации);
  • зоны ответственности (пулы и дорожки);
  • артефакты (сноски).
Название Графический символ Описание
Процесс (Задача, Подпроцесс)
Блок представляет собой процесс - действие или набор действий, выполняемых над исходным объектом (документом, ТМЦ и прочим) с целью получения заданного результата.
Внутри блока помещается наименование процесса.
Временная последовательность выполнения процессов задается расположением процессов на диаграмме слева направо (сверху вниз на вертикальной диаграмме процесса BPMN).
Процессы BPMN подразделяются на задачи и подпроцессы.
Задача - это простое действие (или операция), которое не имеет дальнейшей декомпозиции в рамках рассматриваемого процесса. Задачи подразделяются на типы, каждый из которых (за исключением абстрактной задачи) обозначается своим маркером в левом верхнем углу блока задачи:
- Абстрактная задача;
- Пользовательская задача;
- Сервисная задача;
- Отправка сообщений;
- Получение сообщений;
- Ручное выполнение;
- Бизнес-правило;
- Задача-сценарий.
По умолчанию создается Задача с типом "Абстрактная".
На Рис.1 изображена задача с типом "Отправка сообщений".
Invalid Link
Рисунок 1. Задача

\\Подпроцесс - это декомпозированный процесс, включенный в состав рассматриваемого процесса, который описан более подробно на своей диаграмме. На диаграмме подпроцесс обозначается блоком со знаком "плюс" в центре нижней части фигуры. Подпроцессы подразделяются на типы:
- Подпроцесс;
- Событийный подпроцесс;
- Транзакция;
- Ad-Hoc процесс.
По умолчанию создается подпроцесс с типом "Подпроцесс".
На Рис.2 изображен событийный подпроцесс.

Invalid Link
Рисунок 2. Подпроцесс
Событие

Событие - состояние, которое является существенным для целей управления бизнесом и оказывает влияние или контролирует дальнейшее развитие одного или более бизнес-процессов.
Внутри блока помещается наименование события.
При выполнении процесса могут происходить различные события, оказывающие влияние на ход процесса: старт процесса, его завершение, смена статуса документа, получение сообщения и многое другое. Но событие – элемент необязательный, поэтому на диаграмме процесса в нотации BPMN его может и не быть.
Если же события возникают при выполнении процесса, то они разделяются на 2 категории:
- обработчики – все стартовые и некоторые промежуточные. Если встречается событие-обработчик, то процесс ожидает наступления этого события. На диаграмме триггер внутри события показывается незакрашенным;
- инициаторы – промежуточное событие с типом "Неопределенное" и все конечные события. Если встречается событие-инициатор, то процесс просто выполняется дальше и ничего не ожидает. На диаграмме триггер внутри события показывается закрашенным.
Параллельный шлюз Параллельный шлюз (AND, "И") используется для обозначения слияния/ветвления потоков управления в рамках процесса.
На Рис.3 параллельный шлюз используется для ветвления потоков управления или создания паралелльных веток выполнения процесса: после выполнения Процесса 1 запустится выполнение и Процесса 2, и Процесса 3.
Invalid Link
Рисунок 3

На Рис.4 параллельный шлюз используется для слияния потоков управления или синхронизации параллельных веток выполнения процесса. Выполнение Процесса 3 запустится только тогда, когда выполнится и Процесс 1, и Процесс 2.

Invalid Link
Рисунок 4
Эксклюзивный шлюз Эксклюзивный шлюз (XOR, "Исключающее ИЛИ") используется для ветвления потока управления на несколько альтернативных потоков, когда выполнение процесса зависит от выполнения некоторого условия.
Элемент "Эксклюзивный шлюз" может содержать внутренний маркер, выполненный в виде "X", но это не является обязательным. По умолчанию эксклюзивный шлюз добавляется на диаграмму с маркером. Для шлюза можно указывать наименование.
Условия на диаграмме задаются при помощи условных потоков управления, исходящих из шлюза. При использовании эксклюзивного шлюза можно продолжить выполнение процесса только по одному из возможных условных потоков управления. Среди потоков управления, исходящих из эксклюзивного шлюза, допускается использование потока управления по умолчанию: если ни одно из условий не выполняется, дальнейшее выполнение процесса продолжится по потоку управления по умолчанию.
На Рис.5 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одному потоку, исходящему из шлюза:
- если Условие 1 верно, то выполнится только Процесс 3;
- если Условие 2 верно, то выполнится только Процесс 4;
- если ни Условие 1, ни Условия 2 не верны, то выполнится только Процесс 2.
Invalid Link
Рисунок 5

Эксклюзивный шлюз может использоваться и для слияния потоков управления. В данном случае шлюз просто пропускает через себя все потоки управления без синхронизации. На Рис.6 Процесс 3 будет выполнен дважды: после выполнения Процесса 1 и после выполнения Процесса 2.

Invalid Link
Рисунок 6
Неэксклюзивный шлюз Неэксклюзивный шлюз (OR, "ИЛИ") используется для ветвления потока управления на несколько потоков, когда выполнение процесса зависит от выполнения условий. При этом каждое из указанных условий является независимым, и дальнейшее выполнение процесса может продолжиться сразу по нескольким потокам управления, если условия будут выполнены.
Для шлюза можно указывать наименование.
Условия на диаграмме задаются при помощи условных потоков управления, исходящих из шлюза. Среди потоков управления, исходящих из неэксклюзивного шлюза, допускается использование потока управления по умолчанию: если ни одно из условий не выполняется, дальнейшее выполнение процесса продолжится по потоку управления по умолчанию. На Рис.7 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться по любому потоку, исходящему из шлюза, если условие, заданное на этом потоке, выполняется:
- если Условие 1 верно, то выполнится Процесс 3;
- если Условие 2 верно, то выполнится Процесс 4;
- если ни Условие 1, ни Условия 2 не верны, то выполнится только Процесс 2.
Invalid Link
Рисунок 7

Показать ветвление потоков управления подобно неэксклюзивному шлюзу можно при помощи условных потоков управления (Рис.16).
Неэксклюзивный шлюз может использоваться для слияния потоков управления. В данном случае шлюз может использоваться для синхронизации. На Рис.8 Процесс 3 будет выполнен только тогда, когда выполнится и Процесс 1, и Процесс 2.

Invalid Link
Рисунок 8
Комплексный шлюз Комплексный шлюз используется для ветвления потока управления на несколько потоков, когда выполнение процесса зависит от выполнения условий. По своему действию комплексный шлюз аналогичен неэксклюзивному шлюзу.
Для шлюза можно указывать наименование.
На Рис.9 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться по любому потоку, исходящему из шлюза, если условие, заданное на этом потоке, выполняется:
- если Условие 1 верно, то выполнится Процесс 2;
- если Условие 2 верно, то выполнится Процесс 3;
- если Условие 3 верно, то выполнится Процесс 4.
Invalid Link
Рисунок 9
Эксклюзивный шлюз по событиям Эксклюзивный шлюз по событиям (XOR, "Исключающее ИЛИ") используется для ветвления потока управления на несколько альтернативных потоков, когда дальнейшее выполнение процесса зависит от возникновения некоторого события-обработчика, следующего после шлюза. Отдельно взятое событие, обычно с типами "Получение сообщения" или "Таймер", определяет выбор только одного маршрута, по которому будет проходить дальнейшее выполнение процесса: событие, идущее после шлюза и возникшее первым, определяет дальнейший ход выполнения процесса. На Рис.10 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одной ветке, исходящей из шлюза:
- если первым возникло Событие 1, то выполнится только Процесс 2;
- если первым возникло Событие 2, то выполнится только Процесс 3.
Invalid Link
Рисунок 10

Существует 2 типа шлюзов по событиям, которые могут быть использованы в начале процесса:
- эксклюзивный шлюз по событиям (для запуска процесса) (Рис.11);
- параллельный шлюз по событиям (для запуска процесса) (Рис.12).
В случае, когда шлюз по событиям используется для запуска процесса, у него не должно быть входящих связей.
Эксклюзивный шлюз по событиям (для запуска процесса) аналогичен обычному эксклюзивному шлюзу по событиям: событие, идущее после шлюза и возникшее первым, определяет дальнейший ход выполнения процесса.
На Рис.11 выполнение процесса начнется с возникновения одного из событий, идущих после шлюза:
- если первым возникнет Событие 1, то дальнейшее выполнение процесса будет осуществляться только по потоку управления, исходящему из этого события, т.е. выполнится Процесс 1;
- если первым возникнет Событие 2, то дальнейшее выполнение процесса будет осуществляться только по потоку управления, исходящему из этого события, т.е. выполнится Процесс 2.

Invalid Link
Рисунок 11

При использовании параллельного шлюза по событиям (для запуска процесса) выполнение процесса запускается по всем возникшим событиям, идущим после шлюза.
На Рис.12 Процесс 1 и Процесс 2 будут выполнены, если возникнут события, идущие перед этими процессами.

Invalid Link
Рисунок 12
Поток управления Стрелка используется для связи элементов потока BPMN (событий, процессов, шлюзов). Поток управления отображает ход выполнения процесса. При необходимости поток может быть именованным.
Стандартный поток управления является неконтролируемым, т.е. на поток не воздействуют никакие условия, и поток не проходит через шлюзы. Простейшими примерами неконтролируемого потока управления могут служить отдельно взятый поток управления, связывающий два процесса (Рис.13), или потоки управления, сходящиеся в процессе (Рис.14) или расходящийся от него (Рис.15).
Invalid Link
Рисунок 13


Invalid Link
Рисунок 14


Invalid Link
Рисунок 15
Условный поток управления Стрелка используется для отображения потока управления и используется тогда, когда необходимо показать, что по рассматриваемому потоку будет происходить дальнейшее выполнение процесса только в том случае, если выполнится условие, указанное в названии потока. В случае, если условный поток управления является исходящим от процесса, то у основания линии изображается небольшой ромбик (Рис.16). Если же условный поток управления является исходящим от шлюза, то никакого ромбика у основания линии не будет (см. Рис.5).
Invalid Link
Рисунок 16
Поток управления по умолчанию Стрелка используется для отображения потока управления и используется тогда, когда необходимо показать, что по рассматриваемому потоку будет происходить дальнейшее выполнение процесса только в том случае, если не выполнилось ни одно из условий, заданных на условных потоках управления, исходящих из процесса или эксклюзивного/неэксклюзивного шлюза. Для изображения таких потоков управления используется диагональная черточка, располагающиеся у основания линии. При необходимости поток управления по умолчанию может быть именованным (см. Рис.16).
Поток сообщений Стрелка используется для отображения межпроцессного взаимодействия - для связи элементов потока со свернутыми пулами. При необходимости поток может быть именованным.
Поток сообщений не отображает ход выполнения процесса, а показывает передачу сообщений или объектов из одного процесса в другой процесс или внешнюю ссылку. На Рис.17 представлено 4 примера использования потоков сообщений:
- поток сообщений представляет механизм запуска процесса: Поток сообщений 1 выходит из внешнего процесса (или внешней ссылки) и входит в стартовое Событие 1. В качестве события может выступать и промежуточное событие-обработчик, но в этом случае поток сообщений будет инициировать лишь возникновение события, а не запуск процесса;
- поток сообщений используется для передачи сообщений или объектов из внешнего процесса (или внешней ссылки) в один из процессов рассматриваемого процесса: Поток сообщений 2 выходит из Процесса 2 и входит в Задачу 1;
- поток сообщений используется для передачи сообщений или объектов из одного процесса рассматриваемого процесса во внешний процесс (или внешнюю ссылку): Поток сообщений 3 выходит из Задачи 2 и входит во внешний процесс (или внешнюю ссылку);
- передача сообщения (или объекта) во внешний процесс (или внешнюю ссылку) инициируется конечным событием: Поток сообщений 4 выходит из конечного События 2 и входит во внешний процесс (или внешнюю ссылку). В качестве события может выступать и промежуточное событие-инициатор.
Invalid Link
Рисунок 17
Ассоциация
Стрелка используется для отображения связи объектов данных и баз данных с процессами. Связь может быть направленной и ненаправленной в зависимости от соединяемых элементов и типа связи.
На Рис.18 Объект данных передается из Процесса 1 в Процесс 2. При этом при помощи ассоциаций устанавливается 2 связи: связь процесса с объектом данных и связь объекта данных с процессом. При наведении связи между двумя элементами предлагается выбрать тип связи.
Invalid Link
Рисунок 18


Если объект данных передается между двумя последовательно соединенными процессами, то можно использовать одну ассоциацию, которая строится в направлении от объекта данных к потоку управления, связывающему два процесса (Рис.19). После добавления ассоциации последовательно будет предложено выбрать типы связи: тип связи процесса с объектом данных и тип связи объекта данных с процессом.

Invalid Link
Рисунок 19


Подобно ассоциации, связанной с потоком управления, объекты данных можно присоединять ассоциацией к потокам сообщений. При этом также будет создано две связи: связь процесса с объектом данных и связь объекта данных с процессом. Выбрать тип соответствующей связи также будет предлагаться последовательно.

Invalid Link
Рисунок 20

Возможные типы связей, которые могут быть выбраны при установлении связей двух элементов при помощи ассоциации приведены ниже в Табл.2 - Табл.6 в статье Типы связей между элементами диаграммы BPMN.

Пул Пул предназначен для отображения потока рассматриваемого процесса. Содержимое пула - это и есть тот процесс, диаграмма которого рассматривается. На диаграмме развернутый пул может быть только один.
Дорожка Дорожка предназначена для отображения организационных единиц (должности, подразделения, роли, внешнего субъекта) - исполнителей задач и подпроцессов процесса BPMN. Внутри блока помещается наименование организационной единицы.
Свернутый пул Элемент, обозначающий внешний (по отношению к текущей диаграмме) процесс или внешнюю ссылку. Внутри блока помещается наименование внешнего процесса или внешней ссылки.
Свернутый пул используется для указания взаимосвязей процесса:
- обозначает процесс или внешнюю ссылку, откуда поступил или куда передается поток сообщений;
- обозначает предыдущий или следующий процесс по отношению к диаграмме рассматриваемого процесса.
На Рис.21 показано, что сдаточная документация поступает в процесс "Организация итогового собрания по проекту" из процесса "Внесение сдаточной документации в папку проекта".
Invalid Link
Рисунок 21

На Рис.22 показано, что после окончания Процесса 1 Событие 1 инициирует отправку сообщения в Процесс 2.

Invalid Link
Рисунок 22. Диаграмма Процесса 1

На диаграмме Процесса 2 (Рис.23) показано, что поток сообщений, поступающий из Процесса 1, инициирует Событие 1, запускающее выполнение Процесса 2.\\

Invalid Link
Рисунок 23. Диаграмма Процесса 2
Объект данных Используется для отображения на диаграмме объектов деятельности, сопровождающих выполнение процесса. Рядом с блоком размещается наименование объекта данных.
В качестве объекта данных может использоваться объект любого из следующих справочников: Бумажный документ, Электронный документ, ТМЦ, Информация, Программные продукты, Термины, Прочее.
База данных Используется для отображения на диаграмме базы данных, сопровождающей выполнение процесса. Рядом с элементом размещается наименование объекта данных.
Набор объектов Используется для отображения на диаграмме наборов объектов, сопровождающих выполнение процесса. Рядом с элементом размещается наименование набора объектов.
Сноска Выносной элемент, предназначенный для нанесения текстовых комментариев.
Элемент может быть использован на диаграммах процессов в любых нотациях.
Таблица 1. Используемые графические символы

Типы связей между элементами диаграммы BPMN

Типы связей, которые могут быть наведены между элементами на диаграмме BPMN, перечислены в таблицах (Табл. 2 - Табл. 6). При необходимости перечень типов связей может быть изменен.

Элемент, с которым
устанавливается связь
Тип связи Назначение связи Пример использования связи
База данных изменяет Связь используется, если необходимо отобразить, что в рамках выполнения процесса в базу данных вносятся изменения.
имеет на выходе Связь используется, если необходимо отобразить, что база данных передается из одного процесса в другой.
создает на выходе Связь используется, если необходимо отобразить, что в результате выполнения процесса создается новая база данных.
Документ изменяет Связь используется, если необходимо отобразить, что в рамках выполнения процесса в документ вносятся изменения.
имеет на выходе Связь используется, если необходимо отобразить, что документ передается из одного процесса в другой.
создает на выходе Связь используется, если необходимо отобразить, что в результате выполнения процесса создается новый документ.
Информация изменяет Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется информация.
имеет на выходе Связь используется, если необходимо отобразить, что информация передается из одного процесса в другой.
создает на выходе Связь используется, если необходимо отобразить, что в результате выполнения процесса появляется информация.
ТМЦ изменяет Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется ТМЦ.
имеет на выходе Связь используется, если необходимо отобразить, что ТМЦ передается из одного процесса в другой.
создает на выходе Связь используется, если необходимо отобразить, что в результате выполнения процесса формируется ТМЦ.
Программный продукт изменяет Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется Информационная система, ее модуль или функция.
имеет на выходе Связь используется, если необходимо отобразить, что Информационная система, ее модуль или функция передается из одного процесса в другой.
создает на выходе Связь используется, если необходимо отобразить, что в результате выполнения процесса создается Информационная система, ее модуль или функция.
Таблица 2. Типы связей Процесса с Объектами деятельности
Элемент, с которым
устанавливается связь
Тип связи Назначение связи Пример использования связи
Процесс поддерживает Связь используется, если необходимо отобразить, что процесс выполняется с использованием информационной системы, ее модуля или функции.
Таблица 3. Типы связей Программного продукта
Элемент, с которым
устанавливается связь
Тип связи Назначение связи Пример использования связи
Процесс предоставляет входные данные для Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием документа.
Таблица 4. Типы связей Документа
Элемент, с которым
устанавливается связь
Тип связи Назначение связи Пример использования связи
Процесс используется Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием информации.
является входом для Связь используется, если необходимо отобразить, что информация, поступившая на вход процесса, в результате выполнения процесса преобразуется в другую информацию, документ или объект.
Таблица 5. Типы связей Информации
Элемент, с которым
устанавливается связь
Тип связи Назначение связи Пример использования связи
Процесс используется Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием ТМЦ.
является входом для Связь используется, если необходимо отобразить, что ТМЦ, поступившие на вход процесса, в результате выполнения процесса преобразуются из одного состояния в другое.
Таблица 6. Типы связей ТМЦ

Правила моделирования процессов в нотации BPMN

1. Диаграмма процесса BPMN должна начинаться как минимум одним стартовым событием и завершаться как минимум одним конечным событием.

2. Рекомендуемое количество процессов на диаграмме - не более 20. Если количество процессов диаграммы значительно превышает 20, то существует вероятность, что неправильно выделены процессы на верхнем уровне и необходимо произвести корректировку модели.

Пример диаграммы процесса в нотации BPMN приведен на Рис.24:

Invalid Link
Рисунок 24. Пример диаграммы процесса в нотации BPMN

Подробнее о формировании модели бизнес-процессов см. в Руководство пользователя, главе Создание модели деятельности организации.

Driven by DokuWiki