Использование шлюзов
Использование шлюзов в BPMN
Автор: Олег Борознов, 12.02.2018
На этой диаграмме бизнес-процесса изображена последовательность действий, которые должен выполнить продавец оборудования, прежде чем заказанные товары будут отправлены клиенту:
Параллельный шлюз BPMN
Стартовое событие «Товар заказан» означает, что действия по продаже товара уже были выполнены. Параллельный шлюз после стартового события показывает, что далее параллельно выполняются два действия. Иными словами, поток управления разветвляется и запускает одновременно две разные задачи. Пока секретарь выбирает способ доставки товара (критерии выбора мы не определяем, это решается внутри подпроцесса), работник склада уже может упаковать товар.
Также на диаграмме использован второй параллельный шлюз BPMN – в самом конце процесса, перед задачей «Переместить товар в зону отгрузки». Этот шлюз, наоборот, объединяет потоки управления. Он ожидает завершения всех действий перед тем как выполнить последнюю задачу «Переместить товар в зону отгрузки». Такая логика работы «закрывающего» параллельного шлюза BPMN называется «синхронизация потоков управления», она позволяет дождаться выполнения всех предыдущих задач прежде чем начать выполнение следующей задачи.
Эксклюзивный шлюз BPMN
Задача секретаря «Выбрать способ доставки», за которой следует эксклюзивный шлюз «Способ доставки», является хорошим примером для разъяснения использования этого шлюза. Шлюз не выбирает решение, будет это отправка простой почтой, либо курьерской службой. Данное решение принимается ранее. Шлюз работает только как маршрутизатор, который срабатывает в зависимости от результата предыдущей задачи и выбирает альтернативный путь. Задача (действие) представляет собой фактическую единицу работы, тогда как шлюз только маршрутизирует потоки информации.
Этот шлюз называется «Эксклюзивным», потому что процесс может пойти только по одной из двух ветвей. Доставка будет осуществляться обычной почтой, либо курьерской службой:
- Если выбрана доставка курьерской службой, то секретарь запрашивает цены на услуги отправки, затем подписывает договор и готовит документы на отправку товара.
- Если выбрано обычное почтовое отправление, то секретарь проверяет необходимость дополнительной страховки товара. Если требуется страховка, то логист выбирает страховку. В любом случае секретарь должен заполнить почтовый бланк на отправление.
Неэксклюзивный шлюз BPMN
В нашем примере используется два неэксклюзивных шлюза BPMN. Первый – после задачи «Проверить необходимость дополнительной страховки» и второй – после задач «Выбрать страховку» и «Заполнить бланк отправления». Первый неэксклюзивный шлюз BPMN выполняет ветвление потока управления и называется «открывающим». При этом одна образующаяся ветка процесса выполняется всегда, а ветка «Требуется страховка» выполняется только если требуется дополнительная страховка. Второй неэксклюзивный шлюз BPMN выполняет слияние двух потоков управления и называется «закрывающим». Он будет ждать завершения задач по всем потокам, которые были запущены «открывающим» шлюзом. В нашем случае может быть два варианта:
- Если страховка не требуется, то «закрывающий» шлюз будет ожидать завершения только одной задачи: «Заполнить бланк отправления», поскольку эта задача должна выполняться всегда.
- Если требуется страховка, то «закрывающий» шлюз будет ожидать завершения двух задач: «Заполнить бланк отправления» и «Выбрать страховку».
Такая логика работы пары неэксклюзивных шлюзов BPMN – «открывающего» и «закрывающего» - называется «динамическая синхронизация потоков управления».
Практический совет: Обращайте внимание на пулы.
Обратите внимание, что в нашем примере использован только один пул – «Розничный продавец оборудования» и разные дорожки для сотрудников, участвующих в процессе. Это говорит нам об отсутствии автоматического назначения задач сотрудникам в ходе выполнения процесса, однако, предполагается, что они общаются друг с другом каким-то образом. Благодаря этому общению обеспечивается логика и последовательность выполнения всех шагов.
Если бы у нас был процесс, управляющий этим процессом, то он назначал бы задачи сотрудникам автоматически и, следовательно, взял бы на себя ответственность за коммуникации в процессе. Однако, если у нас нет такого процесса управления, но мы хотим продемонстрировать потоки сообщений (сигналов, данных) между участниками, то нужно будет создать отдельную диаграмму взаимодействия, описанную в примере «Взаимодействие процессов».
Хотите быстро освоить BPMN?
Пройдите обучение в нашем учебном центре! |