Санкт-Петербургский государственный университет
Опубликован: 04.12.2007 | Доступ: свободный | Студентов: 2773 / 349 | Оценка: 4.30 / 3.65 | Длительность: 16:28:00
ISBN: 978-5-94774-823-9
Лекция 9:

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

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

Порты (gateways)

Этот вид конструкций позволяет управлять потоком выполнения процесса - ветвить его (в логическом смысле и в смысле распараллеливания) и соединять. Таким образом, почти каждый вид порта может быть использован в двух вариантах - как разветвитель и как соединитель. Общий список портов BPMN показан на рис. 9.9.

Порты

Рис. 9.9. Порты

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

На рис. 9.9, б показан оператор распараллеливания и соединения потоков управления. Как следует из этого рисунка, он может быть изображен с ромбиком и без.

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

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

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

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

На диаграммах BPMN событие изображается, как показано на рис. 9.10, а. Внизу, сразу под символом события, указывается его имя или источник. События бывают трех типов:

  • начальное (start) - событие, с которого начинается процесс или подпроцесс;
  • промежуточное (intermidiate), которое случается в "середине" процесса;
  • конечное (end), наступление которого означает завершение процесса или подпроцесса.
События

Рис. 9.10. События

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

  • прием/посылка сообщения (message);
  • истечение определенного промежутка времени (timer);
  • исключение (error) - происшествие исключительного события, например, ошибки при обработке данных;
  • отмена (cancel) - отмена действия или транзакции: возврат объемлющего процесса или подпроцесса к состоянию, которое было до начала исполнения этого действия/транзакции;
  • компенсация (compensation)- выполнение специальных отменяющих действий, например при отказе заказчика от услуги;
  • выполнение правила (rule) - событие, которое обозначает, что в бизнес-процесе выполнилось какое-либо бизнес-правило, например, ставка акций компании поднялась выше определенной суммы, и в результате этого нужно сделать что-то особое, определенное (например, собрать совет акционеров компании);
  • связь (link) - способ переключаться между двумя процессами (как правило, подпроцессами одного общего) или как оператор goto в рамках одного процессора; в первом случае первый подпроцесс должен иметь конечное событие такого типа с пометкой, в какой подпроцесс "прыгать" дальше; а тот, второй подпроцесс, должен либо стартовать с события, также помеченного как link, либо ожидать такое же промежуточное событие; и в том и в другом случае целевые события link должны иметь идентификатор, связывающий их с тем, исходным событием link;
  • множественный триггер (multiple) - "ловит" (в качестве начального или промежуточного события) одно событие из списка событий, связанных с ним; в качестве заключительного события порождает весь список связанных с ним событий.
  • конец (terminate) - имеет только тип "конец", обозначает, что все действия процесса и экземпляры (если их запущено более одного) завершаются.

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

Контрольные вопросы

  1. В чем суть идеи разделения труда?
  2. Кто и когда предложил эту идею, как она эволюционизировала в бизнесе?
  3. Дайте определение бизнес-процессу. Что нового эта идея принесла в бизнес? Почему она оказалась столь революционной?
  4. Дайте определение бизнес-реинжинирингу.
  5. Что такое ERP-система?
  6. Объясните, как Workflow Engine (WE) исполняет спецификацию бизнес-процесса.
  7. Расскажите о пользе WE для бизнеса.
  8. Что такое web-сервисы и как они связаны с бизнес-процессами?
  9. Какие бывают виды сущностей (connecting objects) в BPMN?
  10. Что такое действие?
  11. Что такое задача?
  12. Что такое подпроцесс?
  13. Какие виды связей бывают у сущностей бизнес-процессов?
  14. Какие сущности бизнес-процессов могут обмениваться сообщениями, и какие не могут? Почему?
  15. Что такое участник бизнес-процесса?
  16. Образует ли внутренний участник процесса (lane) отдельную нить исполнения процесса, то есть распараллеливается ли поток управления с помощью этой конструкции?
  17. Что такое порт (gateway), зачем он нужен?
  18. Назовите три способа графически изображать логическое ветвление потока управления на диаграммах BPMN.
  19. Что такое событие? Какие бывают типы событий (не спутайте виды событий и типы событий)?
< Лекция 8 || Лекция 9: 1234 || Лекция 10 >
Ольга Зырянова
Ольга Зырянова

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

 

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

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

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

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