Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Моделирование бизнес-процессов с применением нотации BPMN. Учебно-методическое пособие
.pdf
Действия выполняются не произвольно, независимо друг от друга, а в
определенной последовательности. Порядок выполнения действий определяется Потоком операций, который обозначается прямой стрелкой между действи-
ями. A→B означает, что действие В может начаться только после завершения
действия А, т.е. после завершения действия А Поток операций сигнализирует
действию В, что оно готово к выполнению.
1.2.1. Типы задач
Каждая Задача (простое Действие) имеет тип, определяющий вид дей-
ствия, которое будет выполнено. Тип задачи имеет свой маркер, который указы-
вается в верхнем левом углу прямоугольника.
Существуют 7 маркеров задач. Наиболее часто используемыми являются:
– Задачи отправки/получения сообщения, обозначающие Отправку
партнеру или Получение от партнера Сообщения.
– Пользовательская задача представляет собой задачу, в которой
человек выступает в роли исполнителя и выполняет задачу при содействии
других людей или программного обеспечения.
– Ручное выполнение представляет собой задачу, выполнение которой
подразумевает действие человека и исключает использование
автоматизированных механизмов или приложений.
– Задача-сервис, т.е. задача выполняется автоматически с помощью
программного обеспечения.
– Задача-сценарий выполняется механизмом исполнения бизнес-
процесса по сценарию, созданному разработчиком модели бизнес-процесса.
Рис. 5. Обозначение типов задач на модели
11

1.2.2. Маркеры типов действий
Действие является базовым графическим элементом нотации и допускает
несколько способов исполнения. Для указания способа исполнения действия используются специальные маркеры, которые добавляют определенную семантику
действию. Маркеры типов действий могут добавляться, как к элементарному
действию – задаче, так и к подпроцессу.
BPMN различает 3 вида маркеров задачи: Маркер цикла (Loop Marker),
Многоэкземплярный маркер (Multiple Instance Marker), Маркер компенсации
(Compensation Marker). Задача может содержать от одного до двух вышеназван-
ных маркеров.
Все существующие маркеры должны быть сгруппированы и располагаться
в центре нижней части графического элемента задачи (рисунок 6).
Рис. 6. Маркеры действий
1.3. Логические операторы (шлюзы)
Другой элемент нотации, часто используемый в описании процессов – это
Логический оператор или Шлюз. Шлюзы представляют собой точки принятия
решений в процессе. С помощью логических операторов организуется ветвление
и синхронизация потоков управления в модели процесса. Фактически Шлюз –
это совокупность входов и выходов. Термин шлюз подразумевает пропускное
устройство, которое либо позволяет осуществлять переход через шлюз, либо нет.
Графически Шлюз представляется ромбом, используемым во многих нота-
циях схем бизнес-процессов для изображения ветвления с определенным знаком
внутри, который специфицирует его поведение.
12

1.3.1. Оператор исключающего ИЛИ
Оператор исключающего ИЛИ (data-based exclusive XOR) управляемый
данными (эксклюзивный шлюз) представляет собой точку ветвления, в которой
может быть выбран лишь один из предложенных маршрутов. Выбор маршрута
основывается на условных выражениях, хранимых в исходящем Потоке управ-
ления. Условие можно представить себе в виде вопроса, который появляется в
какой-то точке процесса и предполагает несколько вариантов ответов. Каждый
из предлагаемых ответов связан с определённым направлением потока операций.
XOR обозначается пустым ромбом или ромбом со знаком Х (рисунок 7).
Рис. 7. Оператор исключающего ИЛИ (XOR)
Шлюз XOR может быть использован, как узел расхождения (split) или узел
слияния (join) потока операций в рамках процесса.
Шлюз XOR split используется в том случае, когда из ряда альтернатив
только одно действие может быть выполнено. Выходные стрелки такого шлюза
могут быть дополнены условиями выбора одной из альтернатив (рисунок 8). При
этом должен существовать порядок выбора условий. Обычно используют ветвь
Default flow «по умолчанию» для определения ветви по которой пойдет процесс,
если все условия окажутся ложными.
Рис. 8. Оператор исключающего ИЛИ (XOR) с условиями
13

Предположим существует следующий порядок проверки условий: Усло-
вие 1, Условие 3, Условие 2, по умолчанию. Предположим Условие 1 при выполнении процесса явилось ложным, а Условие 3 истинным. В этом случае после
выполнения Задачи 1 будет выполняться Задача 4, а Задача 2, Задача 3 и Задачи 5
будут игнорироваться.
Шлюз XOR join используется для слияния альтернативных путей.
Сценарий 3. «Процесс выполнения заказа на изделие». Процесс начинается
при получении компанией детального заказа на определенное изделие. Этот заказ проверяется на наличие заказанного изделия на складе. Если изделие доступно на складе, то оно получается со склада. В случае его отсутствия на
складе необходимо получить требуемые материалы и изготовить изделие (ри-
сунок 9).
Рис. 9. Применение шлюза XOR split и XOR join
1.3.2. Оператор И
Оператор И (Parallel Gateway AND) это параллельный шлюз, который
используется для создания независимых маршрутов, т.е. разделяет один поток
операций на несколько параллельных, при этом параллельные маршруты созда-
ются без необходимости проверки каких-либо условий. Все исходящие ветви ак-
тивируются одновременно. Графически шлюз изображается в виде ромба, содер-
жащего внутренний маркер, выполненный в виде знака «+» (рисунок 10).
Рис. 10. Оператор И (AND)
14

Шлюз AND может быть использован как узел расхождения (split) или как
узел слияния (join) потока управления в рамках процесса. Если оператор используется, как узел расхождения (parallel split), то все исходящие линии потока
управления могут быть активированы. Т.е. возможно независимое, параллельное
выполнение ветвей процесса. Причем выполнение параллельных ветвей может
осуществляться в произвольном порядке.
AND join – закрывающий шлюз – используется для синхронизации входя-
щих линий потока управления, он ожидает завершения выполнения всех входящих ветвей. Только в случае завершения всех входящих в шлюз ветвей оператор
активирует выходной поток.
Сценарий 3 (продолжение). … изделие должно быть изготовлено. Впо-
следствии заказанное изделие упаковывается и отправляется заказчику. В это
же время заказчику высылается счет, и затем от заказчика поступает оплата
счета за изделие. После успешной доставки товара и получения оплаты выпол-
ненный заказ архивируется».
Рис. 11. Применение шлюза И (AND)
Оператор AND ждет завершения выполнения задач «Отгрузка товара» и
«Получение оплаты» и только после их завершения начинает выполнение задачи
«Архивация заказа» (рисунок 11).
1.3.3. Оператор неисключающего ИЛИ
Неисключающие шлюзы используются для разделения потока операций на
несколько альтернативных и/или параллельных маршрутов. Оператор неисклю-
чающего ИЛИ (Inclusive Gateway OR) может быть использован как узел расхождения (split) или как узел слияния (join) потока управления в рамках процесса.
Графически шлюз изображается в виде ромба, содержащего внутренний маркер,
выполненный в виде круга (рисунок 12).
15

Рис. 12. Оператор неисключающего ИЛИ (OR)
Если оператор используется, как узел расхождения OR split, то любое непустое подмножество исходящих линий потока управления может быть активировано в зависимости от условий. Каждое истинное условие формирует выходной поток операций. Обычно используют ветвь Default flow «по умолчанию» для
определения ветви, по которой пойдет процесс, если все условия окажутся ложными.
Закрывающий оператор OR join используется для синхронизации всех вхо-
дящих ветвей, которые были инициированы.
Сценарий 3 (продолжение) … В зависимости от заказанного изделия для
его изготовления могут быть использованы материалы либо от поставщика 1
либо от поставщика 2. Однако, в некоторых случаях для изготовления изделия
могут потребоваться материалы от обоих поставщиков.
Рис. 13. Применение шлюза неисключающего ИЛИ (OR)
В данном примере, в случае если процесс идет по альтернативной ветви
«Изделия на складе нет», то может выполниться либо первая ветвь шлюза OR,
либо 2, либо и первая и вторая. Соединяющий шлюз OR join будет ожидать завершения всех начатых ветвей процесса (рисунок 13).
16

1.3.4. Оператор исключающего ИЛИ,
основанный на событиях
BPMN специфицирует особый шлюз – оператор исключающего ИЛИ ос-
нованный на событиях (событийный), в котором направления альтернативных
маршрутов зависят не от определения значений выражений, использующих данные процесса, как при использовании исключающего и неисключающего шлюзов, управляемых данными, а от внешнего окружения процесса, которое выража-
ется в происходящих событиях. Такой шлюз отображается ромбом со включенным в него изображением события (рисунок 14).
Рис. 14. Оператор исключающего ИЛИ, событийный
Шлюз, основанный на событиях, должен содержать два или более исходящих потоков операции, которые не должны содержать условных выражений.
Элементы, являющиеся целью направленных от шлюза исходящих потоков операций, являются частью конфигурации событийного шлюза. В конфигурацию
шлюза могут входить промежуточные события или задачи Получение в любых
комбинациях. Чтобы избежать «зависания» процесса в случае, если ни одно из
событий, входящих в конфигурацию шлюза не произойдет, рекомендуется ис-
пользовать таймер в одной из параллельных выходных ветвей (рисунок 15).
А B
Рис. 15. Пример событийного оператора, использующего
промежуточные события (A) и задачи Получение
17

Для данного шлюза верны следующие типы промежуточных событий:
Сообщение
Таймер
Условие
Сигнал.
С каждым возможным выходным маршрутом связано некоторое обрабатывающее событие, которое определяет какой из альтернативных маршрутов будет
выбран в данном случае. Когда запускается первое событие, входящее в состав
конфигурации событийного шлюза, то выполняется отходящий от данного события маршрут, при этом все другие маршруты игнорируются. Конфигурация такого шлюза аналогична состязанию, в котором побеждает событие, запущенное
раньше остальных.
Оператор исключающего ИЛИ событийный имеет один вход и требуемое
число выходных ветвей, т.е. может использоваться только, как расщепляющий
(split) шлюз.
Семантика объединяющего событийного оператора стандартом не определена, поэтому, при необходимости объединения потоков, следует использовать
шлюз исключающего ИЛИ (XOR) (рисунок 16).
Рис. 16. Пример использования оператора исключающего
ИЛИ, событийного и XOR join
1.3.5. Неконтролируемый поток операций
Действия могут иметь несколько входных и выходных стрелок Потока
операций. При отсутствии логических операторов раздвоение и слияние стрелок
потока операций называется «Неконтролируемым потоком операций» (рису-
нок 17). Неконтролируемый поток операций может привести к конфликтным ситуациям, т.к. расщепление потока имеет семантику AND, а слияние потоков –
XOR. Каждое Действие должно иметь одну входящую и одну выходящую
18

стрелку Потока операций. Предпочтительнее использовать шлюзы для расщеп-
ления и слияния Потока операций.
Рис. 17. Неконтролируемый поток операций
1.4. События (дополнительная информация)
1.4.1. Промежуточные события
Кроме Стартового и Конечного события, в описании бизнес-процессов используются Промежуточные события. Промежуточное событие влияет на ход
процесса, однако, не может являться началом или завершением процесса и само
по себе не является полноценным действием. Промежуточное событие на зани-
мает времени, но процесс может ожидать его наступления. Примерами Проме-
жуточных событий являются: ожидание определённого времени, события,
письма, ошибка, произошедшая во время выполнения действия.
Промежуточное событие может соединяться с другими узлами процесса с
помощью входящий и выходящих линий потока управления.
Промежуточное событие изображается в виде круга со свободным центром. Для отличия от Стартового и Конечного типов Событий, изображение
круга Промежуточное событие выполнено двойной тонкой линией (рисунок 18).
Рис. 18. Промежуточное событие
ВPMN выделяет несколько типов промежуточных Событий: Сообщение,
Таймер, Эскалация, Ошибка и т.д.
19

– обычное Промежуточное событие.
– маркер часов показывает, что используется Промежуточное собы-
тие -таймер. Ход процесса при этом останавливается на определённое время.
Позволяет моделировать моменты времени, периоды и задержки.
– маркер конверта определяет Промежуточное событие типа «Со-
общение», которое используется для отправки сообщения другому участнику
Процесса. Данный вид Промежуточного события может стать инициатором
Стартового события-сообщения другого процесса.
Промежуточное событие-таймер используется для того, чтобы приоста-
новить ход процесса до определенного времени либо задать определённую цикличность выполнения действия (например, планирование и информирование о
совещании каждую неделю в понедельник в 9.00 час.).
Сценарий 3 (продолжение). …Если заказ на изделие пришел в пятницу или
в выходные, то проверка наличия товара на складе откладывается до 7:00 по-
недельника, т.к. склад обновляется каждое воскресенье (рисунок 19).
Рис. 19. Промежуточное событие-таймер
1.4.2. Граничные события
Граничное событие происходит на границе Действия. Граничное событие
может происходить только в период выполнения Действия, на границе которого
оно находится. Существуют два типа граничных событий: прерывающие, кото-
рые прерывают выполнение действия и непрерывающие.
– прерывающее граничное событие, например, Ошибка. Прерываю-
щие граничные события обозначаются двойной сплошной окружностью.
20
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
