Опубликован: 04.12.2007 | Уровень: специалист | Доступ: платный | ВУЗ: Санкт-Петербургский государственный университет
Лекция 9:

Визуальное моделирование бизнес-процессов

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >

Действия (activities)

Процесс состоит из цепочки действий. Действия бывают следующих видов:

  • задача - рис. 9.4, а и б ;
  • свернутый подпроцесс - рис. 9.4, в и г ;
  • развернутый подпроцесс - рис. 9.4, д.
Виды действий

Рис. 9.4. Виды действий

Задача (task) - это атомарное действие процесса, неделимое на более элементарные части. На диаграмме задача изображается, как показано на рис. 9.4, a. На рис. 9.4, б приводится три вида задач, которые могут быть заданы в BPMN - циклическая задача, множественная задача и откат.

Циклическая задача (loop) - это задача, которая выполняется в цикле. В параметрах этой задачи можно указать, какой цикл имеется в виду - с пред- или постусловием, определить это условие и указать некоторые дополнительные свойства цикла.

Множественная задача (multiple instance) - это циклическая задача, которая выполняет в цикле целый набор однотипных задач. Текстовыми параметрами можно задать условие цикла, количество однотипных задач, а также порядок их выполнения (последовательный или параллельный).

Откат (compensation) - задача, которая вызывается в случае отмены другой задачи, например, клиент отказался от забронированного отеля - тогда система должна освободить соответствующую бронь; пример приводится на рис. 9.5.

Пример задачи с откатом

Рис. 9.5. Пример задачи с откатом

Кроме того, у задачи есть атрибут, который может иметь одно из следующих значений:

  • Service – задача является сторонним программным сервисом, вызываемым WE (это значение имеют по умолчанию все задачи); например, вызывается Web-сервис, вычисляющий погоду, курс валюты или еще что-нибудь;
  • Receive – задача является ожиданием внешнего для данного бизнес-процесса события, часто является началом бизнес-процесса;
  • Send – задача является посылкой сообщения во внешний для данного бизнес-процесса контекст;
  • User – задача выполняется человеком или группой, при этом используется некоторая сторонняя IT-технология или сервис; в параметрах можно задать как исполнителей так и используемую ими ПО;
  • Script – задача является скриптом, который WE выполняет полностью автоматически;
  • Manual – задача, которая выполняется без помощи WE или друго IT- технологии или сервиса, например, посредством личного общения менеджера с заказчиком;
  • Reference – задача является ссылкой на другую задачу;
  • None – значение данного атрибута не задано.

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

Еще одним типом действия является подпроцесс (subprocess). Он позволяет разбить сложные процессы на более мелкие. Подпроцессы бывают свернутые (collapsed subprocesses) - см. рис. 9.4, в и г - и развернутые (expanded subprocesses) - см. рис. 9.4, д. Так же как и задачи, подпроцессы могут быть циклическими, множественными и с откатом, но кроме того, могут иметь еще маркер произвольный (ad hoc) - см. рис. 9.4, г. Он означает, что задачи и другие подпроцессы, входящие в состав данного, исполняются в произвольном порядке.

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

Развернутый подпроцесс позволяет задать на диаграмме второй этаж (а, возможно, третий и т. д. - все зависит от того, насколько модель "глубока"). Это означает, что прямо на родительской диаграмме один или несколько процессов детализированы, как показано на рис. 9.6.

Пример развернутого подпроцесса

Рис. 9.6. Пример развернутого подпроцесса

Связи (connecting objects)

На рис. 9.7 показаны связи разного вида, существующие в BPMN:

  • поток исполнения (sequence flow) - рис. 9.7, а; это самый распространенный вид связи, с его помощью обозначается порядок выполнения действий процесса;
  • поток сообщений (message flow) - рис. 9.7, б; с помощью этой связи определяются сообщения, которыми обмениваются действия; многие сущности бизнес-процесса могут обмениваться сообщениями - конструкции pools друг с другом, задачи, подпроцессы и т. д.; сообщения являются способом общения между собой параллельно работающих сущностей, поэтому сущности могут обмениваться сообщениями, лишь находясь в разных pools ;
  • ассоциации (association) - это способ отобразить различные вспомогательные связи в модели бизнес-процессов; на рис. 9.7, в представлена ассоциация отката; на рис. 9.7, г показана ассоциация исключения; другие виды ассоциаций представлены на рис. 9.1, рис. 9.2: с их помощью данные (dasta objects) соединяются с задачами и связями, а комментарии - с произвольными элементами диаграммы.
Виды связей

Рис. 9.7. Виды связей

Участники (swimlanes) бизнес-процесса

Таких участников в BPMN бывает два вида. Первый вид - участник бизнес-процесса (pool). Это бизнес-сущность (например, компания), участвующая в бизнес-процессе, или некоторая бизнес-роль - покупатель, продавец, дилер и т. д. В одном бизнес-процессе может быть много компаний, но часть из них может быть представлена бизнес-ролями. Это означает, что в этом общем бизнес-процессе не существенны детали их индивидуальных, внутренних бизнес-процессов, а важна только стандартная реакция, определяемая теми ролями, которые они играют. Одну и ту же роль могут играть разные компании, выполняющие лишь определенные правила взаимодействия. Как бизнес-роль (покупатель, продавец некоторой биржи), так и уникальная компания (например Центробанк РФ) являются в BPMN участниками бизнес-процесса. Пример показан на рис. 9.8, а.

Участники бизнес-процесса

Рис. 9.8. Участники бизнес-процесса

На этом рисунке представлены два участника бизнес-процесса - Client и Service Provider. В каждом из них определен свой бизнес-процесс. Эти участники взаимодействуют друг с другом, обмениваясь сообщениями. Отмечу, что эти сообщения можно было "протащить" до отдельных задач, но можно оставить и так: здесь мы не будем вдаваться в детали семантики сообщений.

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

На рис. 9.8, б показан пример внутренних участников. Так, в компании под названием Service Provider из примера на рис. 9.8, а имеется два отдела - отдел продаж (Sale Department) и производственный отдел (Manufacturing Department). Бизнес-процесс этой компании на рис. 9.8, б распределен по этим двум участникам.

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

< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Ольга Зырянова
Ольга Зырянова

Здравствуйте, не могу найти ссылку на скачивание курса  «Визуальное моделирование: теория и практика»

 

Номер платежа 6400454020565

Анна Митюрёва
Анна Митюрёва

http://www.intuit.ru/studies/courses/1041/218/info

С мобильного приложения доступ есть, а через сайт не отображается. Печально =(

Ярославй Грива
Ярославй Грива
Россия, г. Санкт-Петербург
Игорь Лука
Игорь Лука
Молдова, Республика, Кишинев