7 урок: Проверка BPMN-схем на корректность
7 урок: Проверка BPMN-схем на корректность
Настало время научиться проверять, что схема, которую мы составили, не содержит логических ошибок. Для этого в BPMN-науке используется воображаемая игра — Token game.
Видеоверсия
Идея
Token games — это игра с жетонами, или “токенами”. Такая же, как любая настольная игра. Только вместо поля настольной игры используется поле вашего процесса.
Токены появляются на стартовых событиях, по одной штуке на событие. Количество токенов не меняется на действиях, но может меняться на развилках. Хотя бы один токен должен дойти до завершающего события, чтобы процесс считался завершённым.
По итогам прохождения процесса все токены должны исчезнуть.
Развилка ИЛИ
На вход приезжает токен — на выход идёт всегда один токен, по одному из путей.
ИЛИ не увеличивает количество токенов. Эта развилка отрабатывает сразу же, как только приехал токен.
Развилка И
Эта развилка хитрая:
- Развилка выпускает столько токенов, сколько исходящих потоков указано.
- Развилка срабатывает не мгновенно, а только тогда, когда на неё приходит столько токенов, сколько указано на входном шлюзе.
Пример проверки схем через token game
Развилка №2 никогда не пропустит процесс дальше, т.к. ждёт 3 токена на вход (потому что 3 входящих потока), но ИЛИ развилка между Task 2 и Task 3 запустит токен только по одному из потоков.
Исправляется тем, что мы добавляем исключающий шлюз, который “соберёт” токены, перед тем, как их вставить в шлюз №2.
Проверка больших схем
Для валидации больших схем одной внимательности не хватит — нужно использовать специализированные средства, например, проверку качества в stormbpmn.com.