Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Построение моделей бизнес-процессов

..pdf
Скачиваний:
22
Добавлен:
12.11.2023
Размер:
22 Mб
Скачать

По степени влияния на процесс стартовые события подпроцессов (событийных) и промежуточные события на границе могут быть непрерывающими и прерывающими. На изображении непрерывающего события контуры круга – штриховые линии (см. рис. 35), а у прерывающего сплошные. Наступление непрерывающего события во время выполнения действия приводит к появлению дополнительного потока, идущего от граничного события к последующему действию (на рис. 35 – к действию 3) и при этом продолжается выполнение действия, к которому прикреплено событие (на рис. 35 это действие 1). Если наступает прерывающее событие, что означает возникновение нестандартной ситуации, то выполнение действия с прикрепленным событием прекращается и поток пойдет только от прикрепленного события к обработчику нестандартной ситуации. Наступление прикрепленного события в момент, когда действие неактивно, не оказываетникакого влияния напроцесс.

По типу триггера различаются 13 типов событий, каждому типу соответствует свой маркер в светлом или затемненном виде в центре круга.

Все возможные варианты событий в нотации BPMN с кратким описанием приведены в табл. 3.

Простое (неопределенное) событие является нетипизированным, то есть не имеет определенного триггера. В качестве промежуточного оно используется для фиксации результата предшествующего ему действия, например «проверка выполнена», «заявка одобрена» и т.п. (см. рис. 35).

События сообщение и сигнал показывают отправку или получение сообщения (сигнала), являясь началом или концом потока сообщений между процессами (пулами). Отличие между ними в том, что сообщение передается одному известному адресату (передача по схеме «точка – точка»), а сигнал передается (публикуется) без указания адресата и воспринимается теми получателями, которые настроены на его прием (по имени сигнала). Таким образом, события-сигналы позволяют реализовать широковещательную рассылку сообщений.

51

Таблица 3

Все события нотации BPMN

52

Событие таймер позволяет отразить управление процессом по времени. В качестве стартового оно создает экземпляр процесса в назначенное время или циклически, или по расписанию. Например, «каждый понедельник в 9-00», «после 3 дней ожидания оплаты снять заказ». Как промежуточное событие таймер применяется для задания допустимого времени ожидания выполнения действия или задержки исполнения до указанного момента. Настройка выполняется соответствующими атрибутамиэлемента «событие».

Событие эскалация моделирует переход на более высокий уровень принятия решения. Например, если сотрудник не может ответить на поступивший вопрос, то его рассмотрение переходит к начальнику. Это событие не может быть стартовым для процесса, но может быть таковым для подпроцесса, а также возможно его прикрепление к границе действия в качестве прерывающего или непрерывающего. Во втором случае одну часть вопроса решает сотрудник, а другую начальник.

Конечное событие эскалация служит для указания того, что должна быть запущена эскалация. Это не влияет на ход других действующих маршрутов, их выполнение продолжается. На эскалацию может отреагировать соответствующее промежуточное событие эскалация, соединенное с границей ближайшего родительского действия.

Событие условие не может быть генерирующим, но во всех остальных ипостасях оно применимо. Это событие позволяет моделировать ситуации, когда для запуска экземпляра процесса или выполнения (прерывания) действия необходимо, чтобы определенное условие стало истинным. Например, процесс пополнения склада запускается, если уровень запаса становится ниже критического. Или другой пример: при медикаментозном лечении больного его состояние ухудшилось настолько, что его следует перевести на процедуру вентиляции легких. Таким образом, события-условия позволяют интегрировать бизнес-правила в бизнес-процесс.

53

Событие ссылка используется только в паре при отображении разрыва линии потока операций. Разрыв позволяет избежать пересечений потоков на диаграмме. Не рекомендуется делать разрывы на нескольких потоках.

Событие компенсация используют в процессах, в которых возможна отмена выполненных операций из-за возникшей ошибки на текущей или последующей операции. Генерирующее событие компенсация вырабатывает оповещение, которое воспринимает обрабатывающее событие компенсация, прикрепленное к границе действия либо являющееся стартовым подпроцесса. Обрабатывающее событие компенсация вызывает обработчик, который возвращает данные успешно завершенного действия в исходное состояние (происходит откат данных) либо запускает подпроцесс, выполняющий компенсацию. Компенсация нескольких последовательных действий, завершенных успешно, проводится в порядке, обратном потоку операций.

Событие отмена прерывает выполнение всех активных действий и компенсирует все успешно выполненные действия подпроцесса. В основном оно применяется в специальном подпроцессе транзакция для указания необходимости его отмены (см. раздел Подпроцессы). Конечное событие отмена действует в паре с промежуточным событием отмена, прикрепленным к границе подпроцесса.

Событие ошибка является критичным, его наступление прекращает выполнение действия в месте его запуска, а основной поток направляется дальше от этого события. Обработка ошибки зависит от ее типа. Действие может иметь более одного граничного события ошибка.

Событие прекращение (останов) может быть только конечным. Наступление этого события приводит к немедленной остановке исполнения всех потоков управления экземпляра процесса (остановки процесса). При этом будут остановлены все параллельные ветви, даже имеющие свои конечные события, вложенные подпроцессы, циклические и множественные действия. На-

54

ступление события останов означает, что на некотором шаге процесса установлена бесполезность его продолжения.

Составное событие реагирует или генерирует при наступлении одного из включенных в него событий. Параллельное составное реагирует при наступлении всех включенных в него событий (не обязательно одновременно). Составные события практически не используются, их не поддерживает большинство инструментальных средств.

5.2.6. Действия

Действие (активность) в BPMN отображает деятельность, выполняемую внутри бизнес-процесса и имеющую временную протяженность. Действие может быть как элементарным, так и неэлементарным (составным). На диаграмме действие изображается прямоугольником с закругленными углами. Название действия должно обязательно включать глагол в неопределенной форме (отвечает на вопрос «Что делать?») и объект (существительное). Например: проверить кредитную историю клиента, оформить заказ, согласовать решение и т.п.

Нотация определяет три вида действий: Задачу, Подпроцесс

и Вызов (рис. 36).

Рис. 36. Виды действий в BPMN

Задача (task) представляет собой элементарное действие,

включенное в состав процесса. Это неделимое действие, как правило, выполняемое одним исполнителем (сервисом) на одном рабочем месте.

Подпроцесс есть составное действие, содержащее логически связанные потоками операций элементы потока. Он может изо-

55

бражаться как в свернутом виде (без деталей), на что указывает маркер + в квадратике (см. рис. 36), так и в развернутом виде (со всеми деталями). Обычно в родительском процессе принято показывать подпроцесс свернутым, а если его нужно развернуть, то его приводят отдельно от родительского.

Вызов позволяет включать в состав диаграммы повторно ис-

пользуемые задачи (Global Tasks) и процессы (Global Processes),

являющиеся глобальными (выполняемые вне процесса). Это действие вызывает глобальную задачу (процесс), передает ей управление и данные из родительского процесса, а после выполнения считывает из нее данные и передает управление обратно в родительский процесс. На диаграмме вызов изображается прямоугольником с границами, выполненными жирной линией (см. рис. 36).

Задачи составляют основу процесса (подпроцесса), без задач нет процесса. По присущему им характерному поведению BPMN выделяет семь типов задач, различающихся на изображении маркером в верхнем левом углу (рис. 37).

Рис. 37. Типы задач BPMN

Приведем краткое описание каждого типа задач:

• Задача, тип которой не указан, называется Абстрактная Задача (она не имеет маркера). Применяется, когда достаточно показать некоторое действие без конкретизации типа его поведе-

56

ния (неопределенное действие). В последующем ее тип может быть уточнен.

Сервисная задача представляет собой задачу, предназначенную для оказания услуги, которая может являться как веб-сервисом (Web service), так и автоматическим приложением (маркер – зубчатые колесики), выполняется без участия человека. Активный Участник, чей сервис используется, показывается с помощью соедине-

ния Сервисной задачи иУчастника потокамисообщений.

Задача Отправка сообщений представляет действие, обеспечивающее отправление сообщения внешнему Участнику (получателю), имеющему отношение к данному бизнес-процессу (маркер – темный конвертик). Задача считается выполненной в случае, если сообщение было отправлено хотя бы один раз. На диаграмме Участник, которому отправляется сообщение, соединяется с задачей потокомсообщений.

Задача Получение сообщений представляет собой действие, суть которого заключается в получении Сообщения от внешнего Участника, имеющего отношение к данному бизнеспроцессу. Задача считается выполненной в случае, если сообщение было получено хотя бы один раз (рис. 38).

Рис. 38. Задачи отправки и получения сообщений

Задачи отправки и получения сообщений обеспечивают межпроцессное взаимодействие (на рис. 38 задачи А и В входят в разные процессы).

Следует заметить, что задачи отправки и получения сообщений по поведению идентичны одноименным событиям, но задачи отличаются тем, что позволяют прикреплять к своей границе события, а также указывать специальным маркером на многоэкземплярность действия.

57

Задача получения сообщений может использоваться для запуска процесса (получение сообщения вызывает самозапуск процесса). В этом случае задача не может

иметь входящих потоков операций и от Рис. 39. Задачаполучения нее должен начинаться поток операций сообщений, запускающая процесса. Изображение элемента такой

процесс

задачи показано на рис. 39.

Пользовательская задача представляет собой действия, типичные для технологического процесса, где человек выступает

вроли исполнителя при содействии других людей или программного обеспечения (маркер задачи – верхняя часть фигуры человека). Применение Пользовательской задачи подразумевает её визуализацию через пользовательские интерфейсы (клиентские формы, портлеты и т.д.). Методы визуализации определяются в атрибутах Задачи.

Пользовательская задача выполняется и управляется в ходе процесса. Она может быть выполнена с применением различных технологий, включая веб-сервис, использование спецификации

WS-HumanTask и др.

Задача Ручное выполнение подразумевает действия человека без использования каких-либо автоматизированных механизмов исполнения или приложений (маркер задачи – кисть руки). Примерами такого типа Задач могут служить установка и настройка приставки к телевизору у клиента, наладка оборудования на территории заказчика и т.п. В отличие от Пользовательской Задачи, эта Задача не выполняется и не управляется в ходе процесса, то есть ее начало и завершение не отслеживаются механизмом выполнения бизнес-процесса.

Задача Бизнес-правило играет роль инструмента, используемого в процессе для предоставления входных данных механизму бизнес-правил и получения вычисленных выходных данных, которые может выдать механизм бизнес-правил (маркер задачи – таблица). Для отправления данных о процессе в механизм бизнес-правил

58

и получения измененных данных обратно, используется атрибут InputOutputSpecification. Для задания технологии, которая будет использоваться для реализации задачи Бизнес-правило, предназначен атрибут Implementation. Само бизнес-правило не моделируется в BPMN, а описывается в произвольном формате: таблицей, формулами, программным кодом и т.д. Пример бизнес-правил: оценка уровня риска при рассмотрении заявки на автостраховку в зависимостиот возраста, стажавождения имаркиавтомобиля.

Задача Сценарий выполняется механизмом исполнения бизнес-процесса (маркер – изогнутая лента). Сценарий создают на языке, который может интерпретироваться механизмом исполнения, выбор языка зависит от используемой платформы управления процессом (BPMS). В нужный момент, когда поток достигает Задачи, запускается сценарий. Задача считается выполненной, если был завершен запущенный сценарий.

Пример использования рассмотренных элементов нотации приведен на рис. 40.

В этом примере собственно процесс выбора субподрядчика показан в пуле, однако он мог быть представлен и без пула. Три других процесса показаны как черные ящики. Основной процесс запускается при получении сообщения о готовности проекта, а заканчивается сообщением о выбранном субподрядчике, которое отправляется процессу «Заключение договоров».

Задачи могут выполняться разными способами. Для указания способа исполнения используются специальные маркеры задач: цикла, многоэкземплярности и компенсации. Задача может иметь до двух разных маркеров. Они изображаются в середине нижней части прямоугольника (рис. 41).

Циклическое поведение означает повторение действия до выполнения определенного условия. Каждый экземпляр циклического действия имеет атрибуты, значения которых используются в выражениях (условиях). Условия могут проверяться как в начале цикла, так и в конце, что устанавливается соответствующими атрибутами, также задается максимальное число итераций.

59

60

Рис. 40. Процесс выбора субподрядчика

60

Соседние файлы в папке книги