Урок 2 : События и шлюзы в BPMN
Второй Урок практического курса BPMN посвящён рассмотрению следующих графических элементов спецификации BPMN и их использованию при описании бизнес-процессов: События и Шлюзы (исключающие, неисключающие и параллельные).
Расширим ранее приведённый пример процесса (Урок 1) с дополнительными действиями.
Рис. 2. Процесс «Обработка заказа»
Кроме Стартового и Конечного события, в описании бизнес-процессов используются Промежуточные события. Промежуточное событие влияет на ход процесса, однако, не может являться началом или завершением процесса и само по себе не является полноценным действием. Примерами Промежуточных события являются: ожидание определённого времени, события, письма.
Промежуточное событие изображается в виде круга со свободным центром. Для отличия от Стартового и Конечного типов Событий, изображение круга Промежуточное событие выполнено двойной тонкой линией.
Рис.2.1. Промежуточное событие
ВPMN выделяет несколько типов каждого События: Сообщение, Таймер, Эскалация и другие — их достаточно большое количество. Полный перечень можно посмотреть в нотации BPMN (русский перевод) раздел 10.4. «Событие». Для определения типа События используются различные маркеры, позволяющие отличить данный тип События от другого.
Маркер — это специальный значок, рисуемый в центре круга События. Он влияет на характер работы События.
— простое Стартовое событие.
— Стартовое событие -таймер позволяет запустить процесс по таймеру в определённый момент времени (пример с совещанием в 9.00час.), т.е. меняется характер запуска бизнес-процесса.
— Стартовое событие-сообщение показывает, что от участника поступает Сообщение, которое инициирует запуск Процесса (например, от клиента приходит оплата товара, приходит сообщение об оплате и запускается процесс выдачи товара).
— простое Конечное событие. Данный тип Конечного события не подразумевает какой-то определенный результат.
— Конечное событие-сообщение служит для указания того, что Участник отправил Сообщение в момент завершения Процесса.
— обычное Промежуточное событие.
— маркер часов показывает, что используется событие-таймер. В ход процесса при этом останавливается на определённое время.
— маркер конверта определяет Промежуточное событие типа «Сообщение», которое используется для отправки сообщения другому участнику Процесса. Данный вид Промежуточного события может стать инициатором Стартового события-сообщения другого процесса.
Наиболее часто для описания бизнес-процессов применяют Промежуточное событие-таймер, которое позволяет моделировать моменты времени, периоды и таймауты. Промежуточное событие данного типа графически изображается с аналоговыми часами внутри круга.
Промежуточное событие-таймер используется для того, чтобы приостановить ход процесса до определенного времени либо задать определённую цикличность выполнения действия (например, планирование и информирование о совещании каждую неделю в понедельник в 9.00 час.).
Примечание: в приведённом примере процесса используется промежуточное событие-таймер с целью приостановить ход процесса пока не придёт заказанный с фабрики товар. т.е. пока заказанный товар не придёт на склад магазина, формировать заявку и рассматривать вопрос о добавлении подарка не начнут. Таймер (Промежуточное событие-таймер) позволяет обозначить на диаграмме процесса это ожидание.
Второй пример использования промежуточного события-таймер в рамках процесса - ожидание момента, когда заказанный товар придёт клиенту; после чего с ним необходимо связаться, что бы выяснить удовлетворённость клиента работой интернет-магазина либо попросить оставить отзыв на сайте компании-продавца (обратная связь).
Подробно с каждым типом событий можно ознакомиться в нотации BPMN (русский перевод) раздел 10.4. «Событие».
Ещё один элемент BPMN, используемый в рамках предыдущего Урока1 – Шлюз (Условия), так же имеет несколько вариаций. В первом примере (Урок 1) был использован Исключающий Шлюз «ИЛИ» (Эксклюзивный). Исключающие Шлюзы включаются в состав бизнес-процесса для разделения Потока операций на несколько альтернативных маршрутов. Для процесса с исключающим типом Шлюза может быть выбран лишь один из предложенных маршрутов (поэтому определяется как Шлюз «ИЛИ»).
Рис. 2.2. Исключающий Шлюз
Графический элемент Исключающий Шлюз не имеет внутренних маркеров.
Условие можно представить себе в виде вопроса, который появляется в какой-то точке процесса и предполагает несколько вариантов ответов. Каждый из предлагаемых ответов связан с определённым направлением потока операций.
Примечание: в процессе-примере Исключительный Шлюз используется два раза: первый Шлюз определяется вопросом «Покупают велосипед или арендуют?» и в зависимости от ответа процесс протекает либо в одном направлении «Оформить заявка на покупку» либо в другом – «Оформить заявку на аренду»; второй Шлюз определяется вопросом «Есть ли заказанный товар на складе?», по результатам которого товар либо бронируют на складе, либо, в случае отсутствия на складе, делают заказ на фабрику-производитель. Обе задачи выполняться одновременно не будут.
Второй тип Шлюза, так же часто используемый в описании процессов – Параллельный Шлюз «И». Данный тип Шлюза используется для создания параллельных маршрутов и их синхронизации (объединения).
Рис. 2.3. Параллельный Шлюз
Графический элемент Параллельный Шлюз содержит внутренний маркер, выполненный в виде знака «+», что позволяет отличить данный тип Шлюза от других.
С помощью Параллельного Шлюза параллельные маршруты создаются без необходимости проверки каких-либо условий. При разветвлении все исходящие потоки (маршруты) активизируются одновременно. Закрывающий Шлюз используется для синхронизации, т.е. он ожидает завершения выполнения всех входящих ветвей (маршрутов) и только затем активирует выходной поток.
Примечание: В рассматриваемом примере (Рис.2) Параллельный Шлюз разъединяет процесс на два параллельных маршрута с операциями «Заказать товар на фабрике» и «Информировать клиента», которые выполняются одновременно, не исключая друг друга: сотрудник может связаться с фабрикой и заказать нужный велосипед, и предупредить клиента о задержке по выдаче товара. Второй - закрывающий Параллельный Шлюз - используется для синхронизации потока операций, т.е. обязательно ожидается завершение обоих действий.
Ещё один, но менее распространённый тип Шлюза – Неисключающий (Неэксклюзивный) Шлюз «И/ИЛИ». Неисключающие Шлюзы используются для разделения потока операций на несколько альтернативных и параллельных маршрутов.
Для данного экземпляра процесса может быть выбран лишь один из предложенных маршрутов – или параллельный (т.е. оба маршрута выполняются параллельно) или альтернативный (т.е. процесс пойдёт только по одному, соответствующему условиям, маршруту).
Рис.2.4.Неисключающий Шлюз
Графический элемент Неисключающий Шлюз содержит внутренний маркер, выполненный в виде круга, что позволяет отличить данный тип Шлюза от других.
Примечание: В процессе-примере (Рис.2) описаны несколько возможных маршрутов потока операций, разделённые Неисключающим Шлюзом:
Два возможных альтернативных маршрута:
1. При условии, что сумма заказанного товара (велосипеда) больше 20 000 руб., то к заказу добавляется подарок. При этом дополнительного товара заказано не было. Маршрут идёт только в одном направлении.
2. Если сумма товара меньше 20 000руб., и в заказе доптовара нет, то подарок не добавляется. Маршрут также идёт только в одном направлении.
Два возможных параллельных маршрута:
1. Если велосипед заказан на сумму больше 20 000руб., и дополнительно заказаны товары на сумму от 5 000руб., то клиент получит два подарка. Ход процесса идёт параллельно по двум маршрутам.
2. Если сумма велосипеда меньше 20 000руб., но дополнительные товары превышают 5000 руб., то клиент получает подарок. Также процесс проходит по двум направлениям параллельно. Закрывающий Неисключающий Шлюз, также как и Параллельный Шлюз, синхронизирует потоки операций.
В нотации BPMN описывается несколько типов Шлюзов, однако здесь мы привели три наиболее распространённые при описании бизнес-процессов элементы Условия. С остальными типами Шлюзов можно ознакомиться в разделе 10.5 нотации BPMN.
Поделиться:
Комментарии