BPMN101v8.0 [Autosaved].pptx
- Количество слайдов: 115
BPMN 101 Нотация BPMN 05. 07. 2013 © 2010 -2013 bpmntraining. ru 1
Расписание 10: 00 10: 45 1. Введение 10: 45 11: 30 2. BPMN для чайников 11: 30 11: 45 12: 00 3. BPMN-диаграммы 12: 00 13: 15 4. Оркестровка 13: 15 14: 00 14: 20 5. Тест: оркестровка 14: 20 16: 25 6. События 16: 25 16: 40 17: 00 7. Тест: события 17: 00 18: 00 8. Межпроцессное взаимодействие 18: 00 18: 20 9. Тест: межпроцессное взаимодействие 18: 20 18: 50 10. Выбор процесса для самостоятельной работы и практики 18: 50 19: 00 11. Демонстрация Bizagi Modeler 05. 07. 2013 Кофе Обед Кофе © 2010 -2013 bpmntraining. ru 2
1 Введение 05. 07. 2013 © 2010 -2013 bpmntraining. ru 3
Что такое BPMN § Стандарт моделирования бизнес-процессов – – – 2004: 2008: 2009: 2011: BPMN BPMN 1. 0 1. 1 1. 2 2. 0 (BPMI. org) (OMG. org) draft final § Business Process Modeling Notation (BPMN 1. x) – нотация моделирования » графические пиктограммы » правила их комбинирования § Business Process Model And Notation (BPMN 2. 0) – нотация моделирования – структура данных модели бизнес-процесса – формат файла для сохранения модели бизнес-процесса 05. 07. 2013 © 2010 -2013 bpmntraining. ru 4
BPMN в сравнении § Альтернативы – IDEF, DFD, ARIS e. EPC, UML, BPEL § Преимущества BPMN – Нейтрален по отношению к методологии – Строгая семантика => возможность исполнения – Последовательность шагов внутри процесса плюс межпроцессное взаимодействие – Переносимый формат на основе XML (XPDL, BPDM) § Недостатки BPMN – Коллективный автор => эклектичность – Строгая семантика => богатая палитра => сложность освоения и реализации в BPMS 05. 07. 2013 © 2010 -2013 bpmntraining. ru 5
Зачем мы моделируем бизнес-процессы? 1. Регламентация и оптимизация (IDEF) – средство коммуникации бизнес-бизнес 2. Однократная автоматизация (UML) – трансформация модели в исполняемый код 3. Непрерывное усовершенствование (BPMN) – средство коммуникации бизнес-ИТ – короткие итерации: моделирование, автоматизация, исполнение, анализ – непосредственно исполняемая модель 05. 07. 2013 © 2010 -2013 bpmntraining. ru 6
Непосредственное исполнение: What You Model Is What You Run BPM Suite Process Data BAM Integration Adapters Моделирование Разработка ИТ 05. 07. 2013 • модель данных • обработка исключений • пользовательский интерфейс • бизнес-правила • интеграция Workflow © 2010 -2013 bpmntraining. ru WSDL Business Rules Engine Process Engine Integration Framework Бизнес • потоки • данные • участники Legacy ERP SQL 7
Process Schema (Template) = схема (шаблон) процесса § «Чертеж» , в соответствии с которым «изготавливаются» экземпляры процесса 05. 07. 2013 © 2010 -2013 bpmntraining. ru 8
Process Instance = экземпляр процесса § Конкретная последовательность действий, инициированная по заданному шаблону в связи с определенным событием и/или бизнес-объектом Заявка 001 Заявка 002 Заявка 003 05. 07. 2013 © 2010 -2013 bpmntraining. ru 9
Атрибуты модели процесса § Process Diagram = процессная диаграмма – графическое изображение схемы одного или нескольких процессов § Process Model = модель процесса – структура данных, описывающая процесс § Process Model Attribute = атрибут модели процесса – включая те, которые не видны на диаграмме » исполнитель задачи «рассмотреть заявку» 05. 07. 2013 © 2010 -2013 bpmntraining. ru 10
Атрибуты процесса § Process Attribute = атрибут процесса – элемент данных процесса § Заказ автотранспорта – – – место подачи время подачи маршрут пассажиры … 05. 07. 2013 © 2010 -2013 bpmntraining. ru 11
2 BPMN для «чайников» 05. 07. 2013 © 2010 -2013 bpmntraining. ru 12
Уровни BPMN 1. Basic BPMN = базовый BPMN – BPMN для «чайников» – Минимальный набор элементов, позволяющий делать что-то полезное – Понятен без (с минимальным) обучением – Подходит для общения с бизнесом – Недостаточен для спецификации исполнения 2. Extended BPMN = расширенный BPMN – Полная палитра элементов BPMN 05. 07. 2013 © 2010 -2013 bpmntraining. ru 13
Пример базового BPMN 05. 07. 2013 © 2010 -2013 bpmntraining. ru 14
Task = задача § Двойная семантика – со стороны модели: шаг процесса – глазами пользователя: задание в рамках процесса § Поэтому: глагол существительное – «Заполнить заявку» , а не «Заполнение заявки» 05. 07. 2013 © 2010 -2013 bpmntraining. ru 15
Gateway = развилка § e. Xclusive = «или/или» – без значка = exclusive – продолжаем только по одному из исходящих потоков управления § Parallel = «и» = «параллельная» – расходящаяся развилка: продолжаем по всем исходящим потокам – сходящаяся развилка: ждем прихода последнего входящего потока 05. 07. 2013 © 2010 -2013 bpmntraining. ru 16
Настольная игра «Token Game» 1 2 05. 07. 2013 © 2010 -2013 bpmntraining. ru 17
Start and End = старт и завершение § Завершение § Старт – не обязателен – может быть несколько – хороший стиль: один старт 05. 07. 2013 – не обязательно – может быть несколько – хороший стиль: несколько завершений – название = результат для протокола © 2010 -2013 bpmntraining. ru 18
Pool and Lane = пул и дорожка § Пул – опционален – семантика: » поток работ (white box) » внешняя сущность (black box) 05. 07. 2013 § Дорожка – опциональна – произвольная семантика, например: » » подразделение роль группа пользователь – теоретически разрешена вложенность – имеет значение только для задач, назначаемых пользователю (user task) – исполнитель задается на уровне задачи, дорожка изображается для облегчения понимания © 2010 -2013 bpmntraining. ru 19
Black Box and White Box = свернутый и развернутый пул 05. 07. 2013 © 2010 -2013 bpmntraining. ru 20
Flow = поток Control = управление Message = сообщение Association = ассоциация Последовательность выполнения задач внутри потока работ Передача сигналов и информации между потоками работ Привязка аннотаций объектов данных компенсаций Сплошная линия, закрашенная стрелка Пунктирная линия, незакрашенная стрелка, кружочек в начале стрелки Точечный пунктир, V-образная стрелка 05. 07. 2013 © 2010 -2013 bpmntraining. ru 21
Диаграммы корректные и полезные § Правила § Стиль – разрешенные способы комбинирования пиктограмм » поток управления не может выходить за границы пула » поток управления не может выходить за границы подпроцесса » сообщения не могут соединять объекты внутри одного пула 05. 07. 2013 – соглашение о моделировании » диаграммы ориентированы горизонтально » магистраль (“happy path”) рисуется слева направо » задачи именуются “сделать то-то”, а не “изготовление того-то” » все потоки, исходящие из развилок, должны быть поименованы © 2010 -2013 bpmntraining. ru 22
3 BPMN-диаграммы 05. 07. 2013 © 2010 -2013 bpmntraining. ru 23
Все BPMN-диаграммы 1. Orchestration = оркестровка – все, что происходит внутри одного потока работ (развернутого пула) 2. Collaboration = межпроцессное взаимодействие – обмен сообщениями между несколькими потоками работ (развернутыми пулами) » в BPMN 1. x назывался хореографией 3. Choreography = хореография – последовательность актов межпроцессного взаимодействия » BPMN 2. 0 4. Conversation = переговоры – логическая группировка сообщений » BPMN 2. 0 05. 07. 2013 © 2010 -2013 bpmntraining. ru 24
Orchestration = оркестровка § Workflow = поток работ – приватный процесс: один развернутый пул или без пула – публичный процесс: плюс свернутые пулы 05. 07. 2013 © 2010 -2013 bpmntraining. ru 25
Collaboration = межпроцессное взаимодействие § Worknet = сеть потоков работ – несколько развернутых пулов 05. 07. 2013 © 2010 -2013 bpmntraining. ru 26
Choreography = хореография (BPMN 2. 0) § Последовательность актов взаимодействия – двух- или многостороннего 05. 07. 2013 © 2010 -2013 bpmntraining. ru 27
Conversation = переговоры (BPMN 2. 0) § Последовательность запросов-ответов – связанных друг с другом т. н. корреляцией 05. 07. 2013 © 2010 -2013 bpmntraining. ru 28
4 Оркестровка 05. 07. 2013 © 2010 -2013 bpmntraining. ru 29
Вся оркестровка 1. 2. 3. 4. 5. 6. Задачи Развилки Циклы Подпроцессы Артефакты События 05. 07. 2013 © 2010 -2013 bpmntraining. ru 30
Task = задача (1) § Типы задач – abstract: неопределенная – user: назначенная пользователю с компьютером » ввести данные о заемщике – manual: работа вне системы » выкопать яму – script: автоматическая операция системы » назначить водителя – service: внешняя программа/сервис » вычислить кредитный рейтинг 05. 07. 2013 © 2010 -2013 bpmntraining. ru 31
Task = задача (2) § Типы задач – business rule: вычисление бизнесправила – send: отправка сообщения » аналог send message event – receive: ожидание прихода сообщения » аналог receive message event § Business Rule, Send и Receive – это автоматические задачи – отправка документов по почте: User Task – отправка Email: Script Task – вызов веб-сервиса: Service Task 05. 07. 2013 © 2010 -2013 bpmntraining. ru 32
4. 1 Gateways = развилки 05. 07. 2013 © 2010 -2013 bpmntraining. ru 33
Все развилки § Exclusive = «или/или» § Parallel = «параллельная» § Inclusive = «и/или» § Complex = комплексная § Event = по событиям 05. 07. 2013 © 2010 -2013 bpmntraining. ru 34
Exclusive (XOR) Gateway = развилка «или-или» § Процесс продолжается по первому пути, для которого условие истинно – если истинны несколько условий, результат непредсказуем – если все условия ложны, процесс застрянет – рекомендуется задавать переход «в противном случае» 05. 07. 2013 © 2010 -2013 bpmntraining. ru 35
Exclusive Gateway: что если…? § Неявное распараллеливание – это не выбор, а распараллеливание 05. 07. 2013 © 2010 -2013 bpmntraining. ru 36
Exclusive Gateway: что если…? § Conditional Flow = условный переход – формально корректно – плохой стиль 05. 07. 2013 © 2010 -2013 bpmntraining. ru 37
Exclusive Gateway: схождение § Процесс продолжается по исходящему пути – лучше делать явным = 05. 07. 2013 © 2010 -2013 bpmntraining. ru 38
Exclusive Gateway: что если…? § Схождение не делает ничего – Task 3 будет выполнен два раза 05. 07. 2013 © 2010 -2013 bpmntraining. ru 39
Exclusive Gateway: что если…? § Схождение и расхождение в одном флаконе – независимо от вида развилки 05. 07. 2013 © 2010 -2013 bpmntraining. ru = 40
Развилка «или-или» и бизнес-правила § Разделяйте маршрутизацию, вычисления и бизнес-правила – чтобы предоставить выбор человеку, используйте User Task 05. 07. 2013 © 2010 -2013 bpmntraining. ru 41
Parallel (AND) Gateway = развилка «и» (параллельная) § Схождение – продолжить, когда придут токены из всех входящих маршрутов » процесс не дойдет до Task 4 05. 07. 2013 © 2010 -2013 bpmntraining. ru 42
Parallel (AND) Gateway = развилка «и» (параллельная) § Схождение – продолжить, когда придут токены из всех входящих маршрутов » процесс не дойдет до Task 4 05. 07. 2013 © 2010 -2013 bpmntraining. ru 43
Inclusive (OR) Gateway = развилка и/или § Расхождение – проверяется каждое условие » для exclusive до первого истинного – число исходящих токенов заранее неизвестно 1 2 § Схождение – ожидается последний запущенный (по факту) токен 05. 07. 2013 © 2010 -2013 bpmntraining. ru 44
Inclusive Gateway: что если…? § Комбинация Parallel и Exclusive делает то же самое = 05. 07. 2013 © 2010 -2013 bpmntraining. ru 45
Default Flow = переход «в противном случае» § Переход «в противном случае» активизируется только если условия для всех остальных путей оказались ложными § Перевод default= «по умолчанию» вводит в заблуждение – соответствует оператору otherwise в языках программирования § Какая из двух версий диаграммы правильная? 05. 07. 2013 © 2010 -2013 bpmntraining. ru 46
Inclusive Gateway: что если…? § Путь «по умолчанию» должен быть всегда – если не нужны ни авиабилеты, ни автомобиль, то процесс застрянет . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 47
Inclusive Gateway & Conditional Flow § Схождение для условных потоков – формально корректно – зависит от реализации » как определить число активных потоков? – плохой стиль 05. 07. 2013 © 2010 -2013 bpmntraining. ru 48
Complex Gateway = комплексная развилка § Произвольные условия расхождения/ схождения – аннотируется на схеме – задается атрибутами модели . . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 49
Event Gateway = развилка по событиям § Ожидание наступления первого из возможных событий – ответ на запрос не гарантирован . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 50
Все развилки § Exclusive = «или/или» – «должен остаться только один» § Parallel = «параллельная» – «танцуют все» § Inclusive = «и/или» – «и тебя вылечат, и тебя вылечат» § Complex = комплексная – «своя рука – владыка» § Event = по событиям – «война план покажет» 05. 07. 2013 © 2010 -2013 bpmntraining. ru 51
4. 2 Loop = цикл 05. 07. 2013 © 2010 -2013 bpmntraining. ru 52
Все циклы 1. Standard = стандартный – цикл for, do-while или do-until » вид цикла аннотируется на схеме » задается атрибутами активности 2. Multi-Instance (MI) = цикл по объектам – цикл foreach » например, по строкам документа – число повторов цикла известно до его начала 05. 07. 2013 © 2010 -2013 bpmntraining. ru 53
Неявный цикл § Все варианты стандартного цикла реализуются при помощи Exclusive Gateway – что изображено на примере: do-while или do-until? 05. 07. 2013 © 2010 -2013 bpmntraining. ru 54
Multi-Instance = цикл по объектам § Пример: документ – строка документа – обработка всех строк ведется параллельно » но в общем случае может вестись последовательно – обработка документа продолжается после завершения обработки всех строк » но в общем случае может не дожидаться 05. 07. 2013 © 2010 -2013 bpmntraining. ru 55
4. 3 Subprocess = подпроцесс 05. 07. 2013 © 2010 -2013 bpmntraining. ru 56
Все подпроцессы § Collapsed/Expanded = свернутый/развернутый – способ отображения § Embedded/Reusable = встроенный/ повторно-используемый § Ad-Hoc = «для данного случая» § Transactional = транзакционный § Event Subprocess = обработчик событий (BPMN 2. 0) 05. 07. 2013 © 2010 -2013 bpmntraining. ru 57
Embedded/Reusable § Embedded = встроенный § Reusable = повторно-используемый – часть текущей модели процесса – не имеет пулов и дорожек – может обращаться к атрибутам основного процесса . 05. 07. 2013 – внешний процесс – может иметь пулы и дорожки – имеет собственный набор атрибутов, необходимо передавать данные в/из основного процесса § Вызывается через Call Activity © 2010 -2013 bpmntraining. ru 58
Call Activity = вызов подпроцесса или задачи 05. 07. 2013 © 2010 -2013 bpmntraining. ru 59
Ad-Hoc = для данного случая § Задачи выполняются как попало – в произвольной последовательности – не обязательно все – возможно с повторами – условие выхода задается атрибутом модели подпроцесса . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 60
Правила для подпроцессов § Потоки управления не могут пересекать границы подпроцесса § У подпроцесса есть явный или неявный старт и завершение § Старт подпроцесса может быть только «пустым» (none start event) . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 61
Для чего нужны подпроцессы § Функциональная декомпозиция – облегчает понимание и последующую модификацию диаграммы » хороший стиль: максимум 7 -9 задач на одном уровне 05. 07. 2013 © 2010 -2013 bpmntraining. ru 62
4. 4 Artifact = артефакт 05. 07. 2013 © 2010 -2013 bpmntraining. ru 63
Все артефакты § Annotation = аннотация (комментарии) § Data Object = объект данных § Data Store = хранилище данных § Group = группа 05. 07. 2013 © 2010 -2013 bpmntraining. ru 64
Потоки данных § Входы-выходы активности § Атрибут потока управления – задача не активируется, пока не готовы входные данные (BPMN 2. 0) . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 65
Межпроцессное взаимодействие через данные § Data Store = хранилище данных – персистентные данные (жизненный цикл не привязан к жизненному циклу процесса) § Data Object = объект данных – в BPMN 2. 0 моделирует атрибуты процесса 05. 07. 2013 © 2010 -2013 bpmntraining. ru 66
5 Тест: оркестровка 05. 07. 2013 © 2010 -2013 bpmntraining. ru 67
6 Event = событие 05. 07. 2013 © 2010 -2013 bpmntraining. ru 68
Все события: по месту возникновения § Start = старт – создание экземпляра процесса § End = завершение – окончание процесса § Intermediate = промежуточное – throw = инициирование события – catch = обработка события § Attached = прикрепленное – обработка события-исключения § Event Subprocess = подпроцесс -обработчик – альтернативный вариант обработки события (BPMN 2. 0) 05. 07. 2013 © 2010 -2013 bpmntraining. ru 69
Старт: фабрика процессов § Каждый раз, когда происходит событие «старт» , создается новый экземпляр процесса на основе заданного шаблона – старт принадлежит не экземпляру, а шаблону процесса Заявка 001 Заявка 002 Заявка 003 05. 07. 2013 © 2010 -2013 bpmntraining. ru 70
Завершение: результат работы § Процесс как сервис – старт по получению сообщения – отправка ответного сообщения по завершению 05. 07. 2013 © 2010 -2013 bpmntraining. ru 71
Throw/Catch Event = инициация/обработка события § Инициация – изображается закрашенным значком – процесс продолжается по исходящему маршруту – завершение может быть только инициатором § Обработка – изображается незакрашенным значком – процесс ждет наступления события – старт может быть только обработчиком 05. 07. 2013 Это пример использования, а не пример для подражания! © 2010 -2013 bpmntraining. ru 72
Все события: по типу Link = соединение частей диаграммы Timer = таймер (только обработчик) Conditional = бизнес-правило (только обработчик) Terminate = завершение всех потоков процесса Message = сообщение Signal = сигнал, широковещательное сообщение Error = ошибка, бизнес-исключение 2. 0 Escalation = эскалация Cancel = отмена с откатом транзакции Compensation = компенсация при откате транзакции Multiple = множественное событие 2. 0 05. 07. 2013 Parallel Multiple = все события из множества © 2010 -2013 bpmntraining. ru 73
None Event = пустое событие § Старт: пользователь инициирует процесс по своему усмотрению § Завершение: процесс никого не информирует о результатах своей работы § Промежуточное событие: этап процесса – в Biz. Agi BPM Suite реализован как обработчик, по стандарту должен быть инициатор 05. 07. 2013 © 2010 -2013 bpmntraining. ru 74
Link Event = соединение § Продолжение диаграммы – на том же или на другом листе – связь по имени события 05. 07. 2013 © 2010 -2013 bpmntraining. ru 75
Timer = таймер § Старт: – запуск процесса по расписанию 05. 07. 2013 § Промежуточное событие: – ждать указанный интервал времени – ждать до указанного времени – время ожидания может вычисляться динамически © 2010 -2013 bpmntraining. ru 76
Attached Event = Прикрепленный обработчик § Показывает что делать, если во время выполнения задачи или подпроцесса наступит некоторое событие – «Составить отчет» - непрерывающий таймер – «Получить замечание» - прерывающий таймер 05. 07. 2013 © 2010 -2013 bpmntraining. ru 77
Event Subprocess (BPMN 2. 0) = подпроцесс-обработчик § Реакция на событие, случившееся во время исполнения основного процесса или подпроцесса – аналог attached event – может быть прерывающим или непрерывающим – в случае прерывающего выход по основному потоку управления 05. 07. 2013 © 2010 -2013 bpmntraining. ru 78
Non-Interrupting Event = непрерывающее событие § BPMN 2. 0 специальное обозначение § Решение для BPMN 1. x: – параллельная развилка – таймер в виде промежуточного события – терминатор, прерывающий таймер 05. 07. 2013 © 2010 -2013 bpmntraining. ru 79
Terminate = завершение всех потоков § None End завершает только «свой» поток – «Составить отчет» продолжится § Terminate End завершает все потоки «своего» процесса или подпроцесса – не затрагивает потоки внешнего контура ( «Утвердить план работ» ) 05. 07. 2013 © 2010 -2013 bpmntraining. ru 80
Conditional = триггер по данным § Старт: запуск процесса по срабатыванию заданного логического условия § Промежуточное: ждать перехода заданного условия из «ложь» в «истина» Цена 100% 85% t 05. 07. 2013 © 2010 -2013 bpmntraining. ru 81
Message = сообщение (1) § На аналитической диаграмме – может означать практически все что угодно 05. 07. 2013 © 2010 -2013 bpmntraining. ru 82
Message = сообщение (2) § На исполняемой диаграмме – синхронизация потоков работ (пулов) 05. 07. 2013 © 2010 -2013 bpmntraining. ru 83
Сигнал = широковещательное сообщение § Message – получает один экземпляр процесса, идентификатор которого указан отправителем § Signal . – получают все экземпляры процессов, находящиеся на шаге ожидания данного сигнала 05. 07. 2013 © 2010 -2013 bpmntraining. ru 84
Получение сигнала промежуточным событием (1) § Паттерн «этап» (milestone) – как только будет разработан план одной книги, начнется работа над обложками сразу всех книг . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 85
Получение сигнала стартовым событием (2) § Message – получает только обработчик, явно указанный на схеме – раннее связывание » на этапе проектирования § Signal – получают все обработчики с данным именем или без имени (универсальные) – позднее связывание » на этапе исполнения 05. 07. 2013 © 2010 -2013 bpmntraining. ru 86
Паттерн «Обрубить концы» – Сообщение: чтобы закончить работу над процессом продажи, нужна схема второго процесса – Сигнал: вторая схема не нужна (публикация-подписка) 05. 07. 2013 © 2010 -2013 bpmntraining. ru 87
Error = системная ошибка (1) § Service Task – программист говорит какие возможны ошибки – аналитик моделирует реакцию на ошибки 05. 07. 2013 © 2010 -2013 bpmntraining. ru 88
Error = бизнес-исключение (2) 05. 07. 2013 © 2010 -2013 bpmntraining. ru 89
Структурная декомпозиция 05. 07. 2013 © 2010 -2013 bpmntraining. ru 90
Многоуровневая обработка ошибки § Обработчик ошибки может находиться – на границе активности, в которой она произошла – на границе охватывающего подпроцесса » хорошая практика: не проскакивать несколько уровней § Если обработчика нет, то прервутся все подпроцессы и процесс верхнего уровня 05. 07. 2013 © 2010 -2013 bpmntraining. ru 91
Error/Escalation = ошибка/эскалация § Событие «ошибка» – всегда прерывает подпроцесс – не бывает промежуточного события «ошибка» § Событие «эскалация» – BPMN 2. 0 – прерывает только текущий поток – может быть промежуточным – может быть не прерывающим . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 92
Cancel = отмена § Само по себе событие «отмена» работает как «ошибка» § Но влечет за собой побочное действие – компенсацию – имеет смысл в транзакционном подпроцессе » изображен на диаграмме двойной рамкой 05. 07. 2013 © 2010 -2013 bpmntraining. ru 93
Compensation = компенсация § Действие при отмене транзакции – короткая транзакция (DBMS) » при получении отказа авторизации состояние счет банковской карты не меняется – длинная транзакция (BPMS) » при отказе от поездки возвращается сумма, списанная со счета банковской карты – логика компенсации может оказаться сложнее логики основной операции » при отказе от заказа, если товар доставлен, его следует забрать » если не удалось забронировать гостиницу, надо отказаться от билетов на самолет, и наоборот 05. 07. 2013 © 2010 -2013 bpmntraining. ru 94
Логика компенсации § Проблема – экземпляр процесса прошел через множество шагов и развилок, после чего произошла отмена » каждый шаг потенциально может требовать компенсации – компенсацию для каких из шагов A-H следует предпринять для конкретного экземпляра процесса? 05. 07. 2013 © 2010 -2013 bpmntraining. ru 95
Сервис компенсации в движке BPMS § Решение – определяем компенсационное действие для каждой активности » используя специальную нотацию – движок BPMS помнит, какие активности по факту были выполнены в данном экземпляре процесса – при отмене выполняет компенсацию только для них § Если бы не этот сервис, процессную диаграмму пришлось бы многократно усложнить 05. 07. 2013 © 2010 -2013 bpmntraining. ru 96
Последовательность компенсации 1 2 7 6 3 5 4 8 05. 07. 2013 © 2010 -2013 bpmntraining. ru 97
Multiple/Parallel Multiple = любое/все события из множества § Множественное событие – ежемесячно ИЛИ по запросу – отправить сообщение И инициировать эскалацию § Параллельное множественное – при получении сигнала И выполнении бизнес-правила – не может использоваться в End и Intermediate Throw . . 05. 07. 2013 © 2010 -2013 bpmntraining. ru 98
None Link Timer Conditional Terminate Message Signal Error Escalation Cancel Compensation Multiple Parallel Multiple 05. 07. 2013 End Intermediate Catch Intermediate Throuw Attatched Interrupting Attached Non-Interr. Event Subpr. Interrupting Event Subpr. Non-Interr. Start Все события пустое событие соединение частей диаграммы таймер (только обработчик) бизнес-правило (только обработчик) завершение всех потоков сообщение широковещательный сигнал ошибка, бизнес-исключение эскалация отмена с откатом транзакции компенсация при откате транзакции множественное событие все события из множества © 2010 -2013 bpmntraining. ru 99
7 Тест: события 05. 07. 2013 © 2010 -2013 bpmntraining. ru 100
8 Межпроцессное взаимодействие 05. 07. 2013 © 2010 -2013 bpmntraining. ru 101
Что не так в моей диаграмме? (V. 1) § Сколько будет соискателей? – судя по схеме, один 05. 07. 2013 © 2010 -2013 bpmntraining. ru 102
Произвольное количество соискателей (V. 2) § Сколько длится оценка одного соискателя? – и как в это время принять резюме от другого § Что если найдутся только 4 соискателя? 05. 07. 2013 © 2010 -2013 bpmntraining. ru 103
Бесперебойный прием резюме (V. 3) § Не лучше ли оценивать соискателей сразу? – а не после того, как наберется нужное количество 05. 07. 2013 © 2010 -2013 bpmntraining. ru 104
Параллельная оценка соискателей (V. 4) § В связи с какой вакансией приходит резюме? – у нас может быть 0, 1, …N открытых вакансий 05. 07. 2013 © 2010 -2013 bpmntraining. ru 105
Приход резюме инициирует отдельный поток работ (V. 5) § Всегда ли обязательно новое резюме? – повышение собственных сотрудников, БД кандидатов 05. 07. 2013 © 2010 -2013 bpmntraining. ru 106
Поддержка различных сценариев (V. 6) § Насколько эффективна работа с соискателями? – от получения резюме до окончательного ответа 05. 07. 2013 © 2010 -2013 bpmntraining. ru 107
Сквозной процесс обработки резюме (V. 7) § Где начинается и заканчивается процесс? – начинается с потребности или со штатного расписания – заканчивается началом продуктивной работы сотрудника 05. 07. 2013 © 2010 -2013 bpmntraining. ru 108
Как выделять потоки работ § Ищите: § Помните, что: – самостоятельные центры управления – потоки работ можно координировать при помощи сообщений, а » внешние организации и лица потоки управления внутри » подразделения с одного потока работ – нет собственными ритмом и регламентом – процессы объединяются в сеть через общие данные – связанный с процессом бизнес-объект – процесс и use-case – » заявка, вакансия, это не одно и то же производственный заказ – дробя процессы, – событие, порождающее сохраняйте мониторинг бизнес-объект сквозного процесса – расщепление объекта § Но: оставайтесь в » заказ – позиция заказа 05. 07. 2013 рамках оркестровки, пока возможно © 2010 -2013 bpmntraining. ru 109
9 Тест: межпроцессное взаимодействие 05. 07. 2013 © 2010 -2013 bpmntraining. ru 110
Темы для самостоятельной работы и практики § Выбрать бизнес-процесс – из собственной практики – завербовать в группу еще 2 -3 слушателей § Опубликовать описание процесса на bpmnforum. ru – зарегистрироваться – создать тему § Разработать схему процесса – самостоятельная работа – BPMN 102 «Практика BPMN» – один процесс и одна схема на группу 05. 07. 2013 © 2010 -2013 bpmntraining. ru 111
10 Демонстрация Bizagi Modeler 05. 07. 2013 © 2010 -2013 bpmntraining. ru 112
Почему Biz. Agi 1. Качество реализации BPMN – Modeler: 95% – BPM Suite: 90% 2. Доступность – Modeler: FREE – BPM Suite: пробная версия – полнофункциональная – не ограниченная по времени – максимум 10 пользователей 05. 07. 2013 © 2010 -2013 bpmntraining. ru 113
Продолжение следует… BPMN 102: Практика BPMN 05. 07. 2013 © 2010 -2013 bpmntraining. ru 114
Контакты § bpmntraining. ru – выпускники (подтверждение сертификата) § bpmnforum. ru – совместная самостоятельная работа § bpms. ru – все о BPM-системах по-русски § mainthing. ru – BPM-блог Анатолия Белайчука § elearining. bizagi. com – обучающие материалы Biz. Agi § facebook. com/groups/bpmnforum § facebook. com/groups/bizagi. ru 05. 07. 2013 © 2010 -2013 bpmntraining. ru 115
BPMN101v8.0 [Autosaved].pptx