Нотация BPMN (Business Process Model and Notation - модель бизнес-процессов и нотация) используется для описания процессов нижнего уровня. Диаграмма процесса в нотации BPMN представляет собой алгоритм выполнения процесса. На диаграмме могут быть определены события, исполнители, материальные и документальные потоки, сопровождающие выполнение процесса. Каждый процесс может быть декомпозирован на более низкие уровни. Декомпозиция может производиться в нотациях BPMN или EPC. При декомпозиции процесса BPMN, расположенного на диаграмме SADT, стрелки с диаграммы SADT на диаграмму BPMN не переносятся.
В нотации BPMN выделяют пять основных категорий элементов:
Перечисленные элементы помещаются на диаграмму в виде различных фигур перетаскиванием из справочника, либо при помощи кнопок палитры элементов окна диаграммы. Часть кнопок имеют закрашенный треугольник на иконке – у таких кнопок есть выпадающий список для выбора типа фигуры (см. Рис.1)
Описание назначения элементов, используемых в нотации BPMN приведено в Таблице 1.
Название | Кнопка | Графический символ | Описание |
---|---|---|---|
Процесс (Задача, Подпроцесс) | | Блок представляет собой процесс - действие или набор действий, выполняемых над исходным объектом (документом, ТМЦ и прочим) с целью получения заданного результата. Внутри блока помещается наименование процесса. Временная последовательность выполнения процессов задается расположением процессов на диаграмме слева направо (сверху вниз на вертикальной диаграмме процесса BPMN). Процессы BPMN подразделяются на задачи и подпроцессы. Задача - это простое действие (или операция), которое не имеет дальнейшей декомпозиции в рамках рассматриваемого процесса. Задачи подразделяются на типы, каждый из которых (за исключением абстрактной задачи) обозначается своим маркером в левом верхнем углу блока задачи: - Абстрактная задача (задача с неопределенным типом); - Пользовательская задача (задача, которую выполняет человек при содействии других людей или программного обеспечения); - Сервисная задача (задача, предназначенная для оказания услуги, которая может являться как web-сервисом, так и автоматизированным приложением); - Отправка сообщений (задача, суть которой заключается в отправлении сообщения внешнему участнику за пределы рассматриваемого процесса); - Получение сообщений (задача, суть которой заключается в получении сообщения от внешнего участника, находящегося за пределами рассматриваемого процесса); - Ручное выполнение (задача, выполнение которой подразумевает действия человека и исключает использование каких-либо автоматизированных механизмов исполнения или приложений); - Бизнес-правило (задача, суть которой заключается в выполнении бизнес-правила); - Задача-сценарий (задача, суть которой заключается в выполнении некоторого сценария (или скрипта) - некоторой автоматической операции). По умолчанию создается Задача с типом "Абстрактная задача". На Рис.2 изображена задача с типом "Отправка сообщений".
Подпроцесс - это декомпозированный процесс, включенный в состав рассматриваемого процесса, который описан более подробно на своей диаграмме. На диаграмме подпроцесс обозначается блоком со знаком "плюс" в центре нижней части фигуры. Подпроцессы подразделяются на типы:
Для процессов BPMN (и для задач, и для подпроцессов) предусмотрено обозначение циклического выполнения. Для процесса BPMN можно задать следующие типы циклов: |
|
Событие | | | Событие - состояние, которое является существенным для целей управления бизнесом и оказывает влияние или контролирует дальнейшее развитие одного или более бизнес-процессов. Внутри блока помещается наименование события. При выполнении процесса могут происходить различные события, оказывающие влияние на ход процесса: старт процесса, его завершение, смена статуса документа, получение сообщения и многое другое. Но событие – элемент необязательный, поэтому на диаграмме процесса в нотации BPMN его может и не быть. Если же события возникают при выполнении процесса, то они разделяются на 2 категории: возникающие из-за какой-то причины и инициирующие какой-то результат. И причина возникновения события, и результат, который инициирует событие, называются триггером. События, обрабатывающие триггер, который привел к их возникновению, называются обработчиками. События, которые инициируют триггер (или некий результат), называются инициаторами. По типу триггера события делятся на следующие типы: Неопределенное (без триггера), Сообщение, Таймер, Условие, Сигнал, Множественное, Параллельное множественное, Эскалация, Ошибка, Ссылка, Компенсация, Завершение. Триггер обозначается специальным маркером внутри события. События-обработчики - это все стартовые и некоторые промежуточные события. Если встречается событие-обработчик, то процесс ожидает наступления этого события, т.е. ожидает появления причины возникновения этого события. На диаграмме триггер внутри события, являющегося обработчиком, показывается незакрашенным. События-инициаторы – это некоторые промежуточные события (включая промежуточное событие с типом "Неопределенное") и все конечные события. Если встречается событие-инициатор, то процесс просто выполняется дальше и ничего не ожидает. На диаграмме триггер внутри события, являющегося инициатором, показывается закрашенным. На Рис.4 изображены различные типы событий: - Событие 1 - стартовое событие с типом триггера "Сообщение"; - Событие 2 - промежуточное событие (обработчик) с типом триггера "Таймер"; - Событие 3 - промежуточное событие (инициатор) с типом триггера "Сигнал"; - Событие 4 - конечное событие с типом триггера "Сообщение".
Промежуточные события (обработчики) могут присоединяться к границе процесса. Такие события называются граничными. Граничное событие изображает событие, возникающее при выполнении процесса, к границе которого это событие присоединено. Причем граничное событие может прервать выполнение процесса - граничное прерывающее, и не прерывать - граничное непрерывающее. Граничное непрерывающее событие изображается пунктирными линиями. На Рис.6 изображено использование граничного непрерывающего события. Если при выполнении Процесса 1 возникнет Событие 2, то выполнение Процесса 1 продолжится. На текущей диаграмме дальнейшее выполнение процесса будет происходить по потоку, исходящему от граничного события, т.е. начнется выполнение Процесса 3. А также после выполнения Процесса 1 начнет выполняться Процесс 2 Подробнее об особенностях работы с событиями на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье События. |
Параллельный шлюз | | Параллельный шлюз (AND, "И") используется для обозначения слияния/ветвления потоков управления в рамках процесса. На Рис.7 параллельный шлюз используется для ветвления потоков управления или создания параллельных веток выполнения процесса: после выполнения Процесса 1 запустится выполнение и Процесса 2, и Процесса 3.
На Рис.8 параллельный шлюз используется для слияния потоков управления или синхронизации параллельных веток выполнения процесса. Выполнение Процесса 3 запустится только тогда, когда выполнится и Процесс 1, и Процесс 2. Подробнее об особенностях работы со шлюзами на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Шлюзы. |
|
Эксклюзивный шлюз | | Эксклюзивный шлюз (XOR, "Исключающее ИЛИ") используется для ветвления потока управления на несколько альтернативных потоков, когда выполнение процесса зависит от выполнения некоторого условия. Элемент "Эксклюзивный шлюз" может содержать внутренний маркер, выполненный в виде "X", но это не является обязательным. По умолчанию эксклюзивный шлюз добавляется на диаграмму с маркером. Управление отображением маркера в эксклюзивном шлюзе осуществляется с помощью параметра "Параметры диаграммы BPMN" в Настройках для всех пользователей Business Studio (пункт Главного меню Главное меню → Главная → Настройки для всех пользователей). Для шлюза можно указывать наименование. Условия на диаграмме задаются при помощи условных потоков управления, исходящих из шлюза. При использовании эксклюзивного шлюза можно продолжить выполнение процесса только по одному из возможных условных потоков управления. Среди потоков управления, исходящих из эксклюзивного шлюза, допускается использование потока управления по умолчанию: если ни одно из условий не выполняется, дальнейшее выполнение процесса продолжится по потоку управления по умолчанию. На Рис.9 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одному потоку, исходящему из шлюза: - если Условие 1 верно, то выполнится только Процесс 3; - если Условие 2 верно, то выполнится только Процесс 4; - если ни Условие 1, ни Условие 2 не верны, то выполнится только Процесс 2.
Эксклюзивный шлюз может использоваться и для слияния потоков управления. В данном случае шлюз просто пропускает через себя все потоки управления без синхронизации. На Рис.10 Процесс 3 будет выполнен дважды: после выполнения Процесса 1 и после выполнения Процесса 2. Подробнее об особенностях работы со шлюзами на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Шлюзы. |
|
Неэксклюзивный шлюз | | Неэксклюзивный шлюз (OR, "ИЛИ") используется для ветвления потока управления на несколько потоков, когда выполнение процесса зависит от выполнения условий. При этом каждое из указанных условий является независимым, и дальнейшее выполнение процесса может продолжиться сразу по нескольким потокам управления, если условия будут выполнены. Для шлюза можно указывать наименование. Условия на диаграмме задаются при помощи условных потоков управления, исходящих из шлюза. Среди потоков управления, исходящих из неэксклюзивного шлюза, допускается использование потока управления по умолчанию: если ни одно из условий не выполняется, дальнейшее выполнение процесса продолжится по потоку управления по умолчанию. На Рис.11 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться по любому потоку, исходящему из шлюза, если условие, заданное на этом потоке, выполняется: - если Условие 1 верно, то выполнится Процесс 3; - если Условие 2 верно, то выполнится Процесс 4; - если ни Условие 1, ни Условия 2 не верны, то выполнится только Процесс 2.
Показать ветвление потоков управления подобно неэксклюзивному шлюзу можно при помощи условных потоков управления (Рис.20).
Подробнее об особенностях использования неэксклюзивного шлюза для слияния потоков управления при имитационном моделировании см. в методике Имитационное моделирование деятельности в статье Ветвление и слияние типа "ИЛИ" в нотации BPMN. |
|
Комплексный шлюз | | Комплексный шлюз используется для ветвления потока управления на несколько потоков, когда выполнение процесса зависит от выполнения условий. По своему действию комплексный шлюз аналогичен неэксклюзивному шлюзу. Для шлюза можно указывать наименование. На Рис.13 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться по любому потоку, исходящему из шлюза, если условие, заданное на этом потоке, выполняется: - если Условие 1 верно, то выполнится Процесс 2; - если Условие 2 верно, то выполнится Процесс 3; - если Условие 3 верно, то выполнится Процесс 4.
Подробнее об особенностях использования комплексного шлюза для слияния потоков управления при имитационном моделировании см. в методике Имитационное моделирование деятельности в статье Ветвление и слияние типа "ИЛИ" в нотации BPMN. |
|
Эксклюзивный шлюз по событиям | | Эксклюзивный шлюз по событиям (XOR, "Исключающее ИЛИ") используется для ветвления потока управления на несколько альтернативных потоков, когда дальнейшее выполнение процесса зависит от возникновения некоторого события-обработчика, следующего после шлюза. Отдельно взятое событие, обычно с типами "Получение сообщения" или "Таймер", определяет выбор только одного маршрута, по которому будет проходить дальнейшее выполнение процесса: событие, идущее после шлюза и возникшее первым, определяет дальнейший ход выполнения процесса. На Рис.14 после выполнения Процесса 1 дальнейшее выполнение процесса может продолжиться только по одной ветке, исходящей из шлюза: - если первым возникло Событие 1, то выполнится только Процесс 2; - если первым возникло Событие 2, то выполнится только Процесс 3.
Существует 2 типа шлюзов по событиям, которые могут быть использованы в начале процесса:
При использовании параллельного шлюза по событиям (для запуска процесса) выполнение процесса запускается по всем возникшим событиям, идущим после шлюза. Подробнее об особенностях работы со шлюзами на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Шлюзы. |
|
Поток управления | | Стрелка используется для связи элементов потока BPMN (событий, процессов, шлюзов). Поток управления отображает ход выполнения процесса. При необходимости поток может быть именованным. Стандартный поток управления является неконтролируемым, т.е. на поток не воздействуют никакие условия, и поток не проходит через шлюзы. Простейшими примерами неконтролируемого потока управления могут служить отдельно взятый поток управления, связывающий два процесса (Рис.17), или потоки управления, сходящиеся в процессе (Рис.18) или расходящийся от него (Рис.19).
|
|
Условный поток управления | | Стрелка используется для отображения потока управления и используется тогда, когда необходимо показать, что по рассматриваемому потоку будет происходить дальнейшее выполнение процесса только в том случае, если выполнится условие, указанное в названии потока. В случае, если условный поток управления является исходящим от процесса, то у основания линии изображается небольшой ромбик (Рис.20). Если же условный поток управления является исходящим от шлюза, то никакого ромбика у основания линии не будет (см. Рис.9). Подробнее об особенностях работы с потоками управления на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Создание связей. |
|
Поток управления по умолчанию | | Стрелка используется для отображения потока управления и используется тогда, когда необходимо показать, что по рассматриваемому потоку будет происходить дальнейшее выполнение процесса только в том случае, если не выполнилось ни одно из условий, заданных на условных потоках управления, исходящих из процесса или эксклюзивного/неэксклюзивного шлюза. Для изображения таких потоков управления используется диагональная черточка, располагающиеся у основания линии. При необходимости поток управления по умолчанию может быть именованным (см. Рис.20). Подробнее об особенностях работы с потоками управления на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Создание связей. | |
Поток сообщений | | Стрелка используется для отображения межпроцессного взаимодействия - для связи элементов потока со свернутыми пулами. При необходимости поток может быть именованным. Поток сообщений не отображает ход выполнения процесса, а показывает передачу сообщений или объектов из одного процесса в другой процесс или внешнюю ссылку. На Рис.21 представлено 4 примера использования потоков сообщений: - поток сообщений представляет механизм запуска процесса: Поток сообщений 1 выходит из внешнего процесса (или внешней ссылки) и входит в стартовое Событие 1. В качестве события может выступать и промежуточное событие-обработчик, но в этом случае поток сообщений будет инициировать лишь возникновение события, а не запуск процесса; - поток сообщений используется для передачи сообщений или объектов из внешнего процесса (или внешней ссылки) в один из процессов рассматриваемого процесса: Поток сообщений 2 выходит из Процесса 2 и входит в Задачу 1; - поток сообщений используется для передачи сообщений или объектов из одного процесса рассматриваемого процесса во внешний процесс (или внешнюю ссылку): Поток сообщений 3 выходит из Задачи 2 и входит во внешний процесс (или внешнюю ссылку); - передача сообщения (или объекта) во внешний процесс (или внешнюю ссылку) инициируется конечным событием: Поток сообщений 4 выходит из конечного События 2 и входит во внешний процесс (или внешнюю ссылку). В качестве события может выступать и промежуточное событие-инициатор. Подробнее об особенностях работы с потоками сообщений на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Создание связей. |
|
Ассоциация | | Стрелка используется для отображения связи объектов данных и баз данных с процессами. Связь может быть направленной и ненаправленной в зависимости от соединяемых элементов и типа связи. На Рис.22 Объект данных передается из Процесса 1 в Процесс 3. При этом при помощи ассоциаций устанавливается 2 связи: связь процесса с объектом данных и связь объекта данных с процессом. При наведении связи между двумя элементами предлагается выбрать тип связи. Если объект данных передается между двумя последовательно соединенными процессами, то можно использовать одну ассоциацию, которая строится в направлении от объекта данных к потоку управления, связывающему два процесса (Рис.23). После добавления ассоциации последовательно будет предложено выбрать типы связи: тип связи процесса с объектом данных и тип связи объекта данных с процессом. Подобно ассоциации, связанной с потоком управления, объекты данных можно присоединять ассоциацией к потокам сообщений. При этом также будет создано две связи: связь процесса с объектом данных и связь объекта данных с процессом. Выбрать тип соответствующей связи также будет предложено последовательно (Рис.24).
Возможные типы связей, которые могут быть выбраны при установлении связей двух элементов при помощи ассоциации приведены ниже в Табл.2 - Табл.6 в статье Типы связей между элементами диаграммы BPMN. Подробнее об особенностях работы с ассоциациями на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Создание связей. |
|
Пул | Пул предназначен для отображения потока рассматриваемого процесса. Содержимое пула - это и есть тот процесс, диаграмма которого рассматривается. На диаграмме развернутый пул может быть только один. | ||
Дорожка | Дорожка предназначена для отображения исполнителей задач и подпроцессов процесса BPMN (организационных единиц или объектов деятельности). Внутри блока помещается наименование исполнителя. Подробнее об особенностях работы с дорожками на диаграмме процесса в нотации BPMN см. в Руководство пользователя в статье Работа с дорожками. |
||
Свернутый пул | | Элемент, обозначающий внешний (по отношению к текущей диаграмме) процесс или внешнюю ссылку. Внутри блока помещается наименование внешнего процесса или внешней ссылки. Свернутый пул используется для указания взаимосвязей процесса: - обозначает процесс или внешнюю ссылку, откуда поступил или куда передается поток сообщений; - обозначает предыдущий или следующий процесс по отношению к диаграмме рассматриваемого процесса. На Рис.26 показано, что сдаточная документация поступает в процесс "Организация итогового собрания по проекту" из процесса "Внесение сдаточной документации в папку проекта".
На Рис.27 показано, что после окончания Процесса 1 Событие 2 инициирует отправку сообщения в Процесс 2.
На диаграмме Процесса 2 (Рис.28) показано, что поток сообщений, поступающий из Процесса 1, инициирует Событие 2, запускающее выполнение Процесса 2. |
|
Документы | Используется для отображения на диаграмме документов, сопровождающих выполнение процесса. Рядом с блоком размещается наименование документа. В качестве объекта данных может использоваться объект справочников: Бумажный документ, Электронный документ. |
||
Программные продукты | Используется для отображения на диаграмме программных продуктов, сопровождающих выполнение процесса. Рядом с блоком размещается наименование продукта. | ||
Базы данных | Используется для отображения на диаграмме базы данных, сопровождающей выполнение процесса. Рядом с элементом размещается наименование базы данных. | ||
ТМЦ | Используется для отображения на диаграмме товарно-материальных ценностей, сопровождающих выполнение процесса. Рядом с элементом размещается наименование ТМЦ. | ||
Прочее | Используется для отображения на диаграмме объектов справочника Прочее, сопровождающих выполнение процесса. Рядом с элементом размещается наименование объекта. | ||
Сноска | | Выносной элемент, предназначенный для нанесения текстовых комментариев. Элемент может быть использован на диаграммах процессов в любых нотациях. |
Пример диаграммы процесса в нотации BPMN приведен на Рис.29:
Типы связей, которые могут быть наведены между элементами на диаграмме BPMN, перечислены в таблицах (Табл. 2 - Табл. 8). При необходимости перечень типов связей может быть изменен.
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
База данных | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса в базу данных вносятся изменения. | |
имеет на выходе | Связь используется, если необходимо отобразить, что база данных передается из одного процесса в другой. | ||
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса создается новая база данных. | ||
Документ | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса в документ вносятся изменения. | |
имеет на выходе | Связь используется, если необходимо отобразить, что документ передается из одного процесса в другой. | ||
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса создается новый документ. | ||
Информация | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется информация. | |
имеет на выходе | Связь используется, если необходимо отобразить, что информация передается из одного процесса в другой. | ||
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса появляется информация. | ||
ТМЦ | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется ТМЦ. | |
имеет на выходе | Связь используется, если необходимо отобразить, что ТМЦ передается из одного процесса в другой. | ||
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса формируется ТМЦ. | ||
Программный продукт | изменяет | Связь используется, если необходимо отобразить, что в рамках выполнения процесса изменяется Информационная система, ее модуль или функция. | |
имеет на выходе | Связь используется, если необходимо отобразить, что Информационная система, ее модуль или функция передается из одного процесса в другой. | ||
создает на выходе | Связь используется, если необходимо отобразить, что в результате выполнения процесса создается Информационная система, ее модуль или функция. |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | поддерживает | Связь используется, если необходимо отобразить, что процесс выполняется с использованием информационной системы, ее модуля или функции. | |
выполняет | Связь используется, если необходимо отобразить, что процесс выполняется непосредственно информационной системой, ее модулем или функцией. |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | предоставляет входные данные для | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием документа. |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | выполняет | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется непосредственно базой данных. |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | используется | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием информации. | |
является входом для | Связь используется, если необходимо отобразить, что информация, поступившая на вход процесса, в результате выполнения процесса преобразуется в другую информацию, документ или объект. |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | используется | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется с использованием ТМЦ. | |
является входом для | Связь используется, если необходимо отобразить, что ТМЦ, поступившие на вход процесса, в результате выполнения процесса преобразуются из одного состояния в другое. | ||
выполняет | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется непосредственно ТМЦ. |
Элемент, с которым устанавливается связь | Тип связи | Назначение связи | Пример использования связи |
---|---|---|---|
Процесс | выполняет | Связь используется, если необходимо отобразить, что выполнение процесса осуществляется объектом справочника «Прочее». |
Подробнее о формировании модели бизнес-процессов см. в Руководство пользователя в главе Создание модели деятельности организации.