Читать книгу Моделирование бизнес-процессов в нотации BPMN в Business Studio 5. Практическое руководство - Владимир Репин - Страница 5
1. Базовые элементы нотации
BPMN
1.2. Базовые элементы нотации BPMN
ОглавлениеРассмотрим базовые элементы нотации BPMN. На рис. 2 показана схема процесса, созданная в нотации BPMN в Business Studio 5. Слева видна панель, на которой можно выбирать объекты для вставки на схему процесса: стрелки, задачи, события и шлюзы. Ниже (по вертикали) представлены ссылки на справочники, которые содержат объекты, часто используемые при моделировании.
Обратите внимание на кнопку «Автоматическое связывание элементов» в верхнем меню. Рекомендую ее включать – это сильно ускоряет процесс моделирования за счет того, что при вставке один объект помещается сверху другого до появления перекрестия. После этого объекты автоматически выравниваются по горизонтали и связываются между собой стрелкой. Это удобно.
На рис. 2 использован красный шрифт для сносок. Сноски – это объекты, которые можно использовать для представления рабочей информации на схеме процесса, например, для обсуждения. В готовой модели в Business Studio сносок быть не должно, так как их невозможно вывести в отчет (регламент). Всю значимую информацию рекомендуется заносить в атрибуты объектов модели. Например, текстовое описание процесса можно заносить в атрибут «Описание». Посмотреть атрибуты объектов в Business Studio вы можете, выделив задачу, нажав правую кнопку мышки и выбрав внизу «Свойства объекта».
В нотации BPMN схема процесса представляет собой пул, разделенный для лучшего восприятия информации на несколько дорожек. В Business Studio эти дорожки создаются с использованием объектов справочника «Оргединицы»: должностей и ролей. Выбор должности или роли определяется целями создания модели и используемым подходом к созданию архитектуры в целом. Довольно часто оказывается удобным использовать роли, только нужно грамотно их именовать.
В Business Studio любой процесс в нотации BPMN должен обязательно начинаться, как минимум, с одного стартового события (Start event)1. На рис. 2 показано стартовое событие неопределенного типа. Процесс должен завершаться одним или несколькими событиями (End event). Как стартовых, так и завершающих событий у процесса может быть несколько. Но есть определенные правила, которых нужно придерживаться при их создании. Мы рассмотрим их ниже.
На схеме представлено шесть задач (операций). Термины «Задача» и «Операция» я буду использовать в книге в качестве синонимов. При именовании задач в нотации BPMN рекомендуется придерживаться правил, представленных в таблице 1. Почему это важно? Дело в том, что нечеткие, расплывчатые, некорректные названия препятствуют адекватной интерпретации схемы процесса ее читателями: руководителями, экспертами, исполнителями.
Таблица 1. Требования к формулировкам
На рис. 2 задачи связаны между собой стрелками типа «Sequence Flow» (последовательность потока). Они показывают, что одна задача запускается на выполнение сразу после завершения предыдущей задачи. Sequence Flow – это ключевая, с точки зрения построения исполняемой модели, стрелка в нотации BPMN. Именно по этим стрелкам «перемещаются» по схеме процесса токены.
На рис. 3 показаны два возможных визуальных представления шлюза «Исключающее ИЛИ».
Рис. 3. Возможные визуальные представления шлюза
«Исключающее ИЛИ».
Нотация BPMN допускает оба представления. Для того чтобы шлюз отображался без маркера, нужно убрать галочку, пройдя следующий путь в Business Studio: «Главная/Настройки для всех пользователей/Модели/Параметры диаграммы BPMN/Показывать маркер эксклюзивного шлюза». Лично я предпочитаю шлюз «ИЛИ» с косым крестом внутри.
Рис. 4 поясняет, как работает шлюз «Исключающее ИЛИ» («Эксклюзивный»). Слева показано ветвление потоков. Шлюз «Исключающее ИЛИ» пропускает процесс только по одной ветке из нескольких (минимум – две, максимум – не ограничено). Поток работы пойдет либо по стрелке с «Условием 1», либо с «Условием 2». Третья ветка не именована, но на ней показана небольшая косая черта – это так называемый «Поток по умолчанию» (Default Flow). В нотации BPMN это означает следующее. Если не выполнено ни одно из специфицированных условий на других стрелках после шлюза, то поток работы пойдет по стрелке Default Flow. Другими словами, этот поток можно назвать в терминах программирования – Else («Иначе»).
Рис. 4. Шлюз «Исключающее ИЛИ» («Эксклюзивный»).
Далее на рис. 4 показано слияние потоков при помощи шлюза «Исключающее ИЛИ»: любой из трех потоков далее будет продолжен как один.
Кстати, шлюзы можно сравнить с трамвайными стрелками, а движение токенов – с движением трамваев разных маршрутов по рельсам.
Далее на рис. 4 показан вариант, когда два потока сходятся и сразу расходятся на одном шлюзе «ИЛИ». В нотации BPMN это недопустимо. Необходимо использовать вариант с двумя шлюзами (показан на рис. 4 справа): сначала на объединение, а потом на ветвление потоков.
На рис. 5 показана схема с двумя вариантами моделирования возвратов. Вверху рис. 5 представлен вариант, допустимый нотацией BPMN. Многие так и делают. Но проблема в том, что при проектировании большой схемы можно допустить логическую ошибку. Например, там, где должно быть «И», есть риск не указать нужный шлюз, а просто присоединить стрелку к задаче. Но это уже будет не ситуация запуска по «И», а именно по «ИЛИ». Поэтому я рекомендую использовать вариант с «возвратным» шлюзом, то есть шлюзом «Исключающее ИЛИ» на слияние потоков. При таком стиле моделирования вероятность допустить логическую ошибку существенно ниже.
Рис. 5. Возвраты с использованием шлюза
«Исключающее ИЛИ».
На рис. 6 показан вариант, когда две стрелки выходят из одной задачи без какого-либо шлюза. Такой вариант допускается нотацией BPMN и интерпретируется, как логическое «И» (о нем поговорим немного ниже). Однако использовать такой подход при моделировании в Business Studio категорически не рекомендуется. Некоторые пользователи подписывают стрелки и считают, что получили ситуацию с «ИЛИ». Это тоже неверно. В BPMN – это «И», даже если подписать стрелки.
Рис. 6. Условные переходы.
Справа на рис. 6 показаны стрелки с небольшими ромбиками. Это так называемые условные переходы. В нотации BPMN, как это ни странно, существуют две альтернативные возможности показать ветвление процесса.
Первый способ – это использование классических шлюзов «ИЛИ» («И/ИЛИ»).
Второй – использование условных переходов (стрелок с ромбиками). Категорически не рекомендую применять оба указанных способа одновременно на одной диаграмме (даже более того – в архитектурной модели в целом), так как это будет путать пользователей.
На рис. 7 показан шлюз «Неисключающее ИЛИ» («Неэксклюзивный»). Работает он следующим образом. После шлюза может быть выбран любой переход или любая их комбинация (от «0» до всех вместе). Однако в нотации BPMN рекомендуется проектировать модель так, чтобы хотя бы один переход всегда мог быть выполнен. В противном случае (при отсутствии потока по умолчанию) возможна ситуация, когда процесс «зависнет» (ошибка исполнения в BPMS).
Обратите внимание на следующую рекомендацию при использовании парных шлюзов на схеме процесса. Варианты ветвления, определенные для шлюза «Неисключающее ИЛИ», «запоминаются» процессом и должны использоваться при слиянии потоков на втором шлюзе «Неисключающее ИЛИ» парном первому (см. пример на рис. 7 – условия маршрутизации описаны текстом под шлюзами).
Рис. 7. Шлюз «Неисключающее ИЛИ»
(«Неэксклюзивный»).
Если на схеме процесса используется несколько пар «Неэксклюзивных» шлюзов, то желательно подписывать соответствующие пары для того, чтобы было наглядно видно, какая сходящаяся развилка соответствует расходящейся.
На рис. 2 показано, что шлюзы «ИЛИ» для ветвления потоков именованы. При моделировании в Business Studio это делать желательно, чтобы модель была наглядной и понятной участникам проекта оптимизации процесса и, в последующем, исполнителям регламента, сформированного на основе схемы процесса. Также рекомендуется указывать названия стрелок после такого шлюза. Текст на стрелках нужно формулировать кратко, но понятно. Недопустимо в названиях стрелок детально и длинно прописывать все нюансы маршрутизации. Это делается в Business Studio другими средствами, которые мы рассмотрим ниже. Для шлюза «ИЛИ» на объединение потоков название не указывается.
На рис. 8 показан шлюз «И». Слева показано ветвление потоков. Шлюз «И» работает следующим образом. После него будет одновременно запущено столько потоков (токенов), сколько показано исходящих стрелок. То есть после шлюза «И» будет выполняться несколько потоков работы одновременно.
Рис. 8. Шлюз «И».
Шлюз «И» также используется для слияния (объединения) потоков, как показано на рис. 8 справа. Пока все токены, бегущие по стрелкам, не соберутся на шлюзе «И», этот шлюз не сработает и процесс дальше не пойдет.
На рис. 9 показаны различные допустимые варианты использования шлюза «И».
Вариант 1 – шлюз «И» разветвляет процесс на два потока, которые заканчиваются различными End-ами.
Вариант 2 – показано параллельное выполнение двух потоков, которые потом сходятся на шлюзе «И», а процесс продолжается.
Варианты 3 и 4 отличаются одним шлюзом «И», но логически совершенно эквивалентны друг другу.
Рис. 9. Варианты применения шлюза «И».
Теперь вы понимаете, что на рис.2 задачи 4 и 5 выполняются исполнителями одновременно. Например, это может быть совместное обсуждение какого-то рабочего вопроса на совещании.
1
Нотация BPMN допускает создание схем процессов без стартовых и завершающих событий. Но если на схеме показано стартовое событие, то обязательно должно быть завершающее и наоборот. На практике, стартовые и завершающие события всегда показывают на схеме процесса.