Лекція 13. Нотація BPMN
1. Ролі або зони
відповідальності
2. Об'єкти потоку управління
1.
Ролі або зони відповідальності
BPMN (Business Process
Management Notation) – це мова моделювання бізнес-процесів, який є проміжною
ланкою між формалізацією / візуалізацією і втіленням бізнес-процесу.
Нотація BPMN є опис
графічних елементів, які використовуються для побудови схеми протікання
бізнес-процесу. Моделювання BPMN дозволяє згодом провести автоматизацію бізнес-процесів
відповідно до наявної схеми.
BPMN-процес – це будь-який
бізнес-процес, відбитий за допомогою нотації. Процеси складаються з елементів,
кожен з яких позначається на схемі спеціальним значком.
Нотація спирається на
наступні базові графічні елементи:
– Ролі або зони
відповідальності (Swimlanes): пул та доріжки.
– Об'єкти потоку управління
(Flow Objects): події, дії та логічні оператори.
– З'єднуючі об'єкти
(Connecting Objects): потік управління, потік повідомлень та асоціації.
– Артефакти (Artifacts):
дані, групи та текстові анотації. Весь бізнес-процес складається з Пулів (Pool)
– це сукупності операцій та осіб, які ці операції виконують.
Пул являє собою:
– учасника взаємодії.
– може виступати в якості
Зони відповідальності або графічного контейнера, що відповідає за розподіл
певного набору дій, що відносяться до інших Пулів
Також пул використовується
для позначення меж бізнес-процесу. Позначається пул наступним чином:
Згорнутий пул – елемент, що позначає зовнішній (по відношенню до поточної
діаграмі) процес або зовнішнє посилання. Усередині блоку поміщається
найменування зовнішнього процесу або зовнішнього посилання.
Згорнутий пул
використовується для вказівки взаємозв'язків процесу:
– позначає процес або
зовнішнє посилання, звідки надійшов або куди передається потік повідомлень;
– позначає попередній або
наступний процес по відношенню до діаграми даного процесу.
Наприклад:
Доріжка (Lane) використовується для відображення розподілу ролей і може
бути як вертикальної, так і горизонтальної (також може використовуватися для
розділення внутрішнього простору Пула). Служить для упорядкування та
категоризації Дій.
Позначається:
Наприклад:
2.
Об'єкти потоку управління
У кожній доріжці
розташовуються дії, що виконуються одним виконавцем.
Під Дією розуміється
одиниця роботи, що виконується в ході виконання бізнеспроцесу. Дії можуть бути
як елементарними (завдання / task), так і складовими (підпроцес / sub-process).
BPMN передбачає наступні
графічні відображення для основних типів дій:
Абстрактна задача –
використовується для позначення простого дії або операції, яка не має подальшої
декомпозиції в рамках поточного бізнес-процесу.
Підпроцес – використовується для відображення декомпозированого процесу,
включеного до складу даного процесу. Діаграма не відображує деталі підпроцесу.
Процес-посилання – використовується для позначення посилання на один з найбільш
часто повторюваних процесів.
Користувацьке
завдання – використовується для відображення
завдання, яку виконує людина
Завдання на
виконання сценарію – використовується для
відображення кроку процесу, після досягнення якого автоматично виконується
скрипт.
Завдання на
виклик сервісу – використовується для ілюстрації
кроку процесу, на якому викликається веб-служба або скрипт С#.
Вбудований кейс – використовується для представлення нестандартної задачі, яку
курує відповідальна особа або група осіб. Кейси використовуються, коли потрібно
швидко організувати в рамках процесу неструктуровану або слабоструктуровану
активність.
Подія є одним з головних елементів BPMN і служить для опису того, що
має статися (на відміну від завдання, коли щось має бути зроблено). Подією може
бути, наприклад, підписання договору, або розмова з клієнтом.
Графічні елементи подій в
BPMN класифікують двома способами:
– Залежно від положення
події на схемі процесу;
– За типом події.
Залежно від положення події
на схемі процесу :
– Початкова подія (ініціює
бізнес-процес)
– Проміжна подія
– Кінцеве подія (що закінчує
бізнес-процес)
За типом події класифікація
продемонстрована в таблиці:
Прості події (plain events) це нетипізовані події, які використовуються,
найчастіше, для того, щоб показати початок або закінчення процесу.
Події-повідомлення (message events) показують отримання і відправку повідомлень в
ході виконання процесу.
Події-таймери (timer events) моделюють події, регулярно відбуваються у часі.
Також дозволяють моделювати моменти часу, періоди і тайм-аути.
Події-помилки (error events) дозволяють змоделювати генерацію і обробку
помилок в процесі. Помилки можуть мати різні типи.
Події-скасування (cancel events) ініціюють або реагують на скасування
транзакції.
Події-компенсації (compensation events) ініціюють компенсацію або виконують дії
по компенсації.
Події-умови (conditional events) дозволяють інтегрувати бізнес правила у
процес.
Події-сигнали (signal events) розсилають і приймають сигнали між декількома
процесами. Один сигнал може оброблятися декількома одержувачами. Таким чином,
події-сигнали дозволяють реалізувати трансляцію розсилання повідомлень.
Події нижчого
рівня (multiple events) моделює генерацію і
моделювання однієї події з безлічі.
Події-посилання (link events) використовуються як міжсторінкових з'єднання.
Пара відповідних посилань еквівалентна потоку управління.
Події-останови (terminate events) призводять до негайного завершення всього
бізнес процесу (у всій діаграмі).
Наприклад, продаж та
відвантаження обладнання:
Під шлюзами розуміються
елементи, що визначають розгалуження та злиття потоків робіт. Шлюз можна уявити
як пропускний пристрій, який або пропускає потік, або ні.
Шлюз виключне «або» – використовується для створення альтернативних
потоків процесу або що сходяться потоків управління. Оцінює стан бізнес-процесу
і, в залежності від умови, розбиває потік на одне або кілька взаємовиключних
напрямів.
Наприклад:
Паралельний шлюз – використовується для створення паралельних шляхів без оцінки
якої б то не було умови або для потоків, що сходяться та синхронізації
паралельних гілок виконання процесу.
Наприклад:
Двох розвилок, описаних вище
досить для побудови бізнес-процесів будь-якої складності. Решта типів розвилок,
описаних в BPMN, дозволяють будувати більш компактні схеми процесів.
Приклад:
Приклад:
Залежність від
події – розвилка з залежністю від події схожа на
розвилку «виключення». Однак в разі залежності від події напрямок диктується
тим, яка була вчинена подія, а не тим, яка була виконана умова.
Припустимо, перш ніж
відправити електронний лист, ви вирішили дочекатися приходу гендиректора в
офіс. Якщо ж він не з'явиться, лист не буде відправлено. Наприклад, якщо першим
виникла Подія 1, то виконається тільки Процес 2; якщо першим виникла Подія 2,
то виконається тільки Процес 3.
Наприклад. Після дії
«Замовити піцу» розташований ексклюзивний шлюз по подіям, що показує, що далі
процес піде по тій гілці, подія по якій настане раніше.
Можливо два варіанти:
– піца доставлена, як
зазначено в проміжній події з типом «Отримання повідомлення» - «Піца
доставлена»,
– піца не була доставлена
протягом 60 хвилин (подія «Таймер»), в цьому випадку клієнт дзвонить в службу
доставки.
Включення – розбиває потік процесу на одне або кілька напрямків.
Наприклад, розвилка «включення» може вказувати на дії, вжиті компанією в
результаті отриманих результатів опитування.
Скажімо, якщо покупцеві
сподобався товар А, це спровокує один процес. Якщо покупець віддав перевагу
товару Б, в силу вступить інший процес. А якщо покупець залишився незадоволений
товаром А, – третій.
Наприклад, якщо Умова 1 вірно,
то виконається Процес 3; якщо Умова 2 вірно, то виконається Процес 4; якщо ні
Умова 1, ні Умови 2 неправильні, то виконається тільки Процес 2.
Паралельна розвилка з
залежністю від події – схожа на паралельну розвилку, як видно з назви. Дозволяє
декільком процесам розгортатися одночасно, тільки на відміну від паралельної
розвилки, процеси залежать від конкретних подій.
Приклад позначення:
Потік – це послідовність дій, яка позначається стрілкою. Елемент
«потік» показує яку дію після якого необхідно здійснити.
Потік управління – на стандартний потік керування не впливають умови і він не
проходить через шлюзи, тобто є неконтрольованим.
Потік управління
за замовчуванням – використовується тоді, коли
необхідно показати, що подальше виконання процесу буде відбуватися за певним
потоком тільки якщо не виконується жодна з заданих умов.
Умовний потік
управління – використовується для того, щоб показати,
що подальше виконання процесу буде відбуватися за певним потоком тільки в тому
випадку, якщо буде виконано задану умову.
Приклад позначення:
Ромбик біля основи стрілки
додається, якщо умовний потік управління є вихідним від процесу. Ромбик не
додають, якщо умовний потік управління є вихідним від шлюзу.
Потік
повідомлень – використовується для
відображення взаємодії між процесами - відображає передачу повідомлень або
об'єктів з одного процесу в інший процес або зовнішнє посилання.
Наприклад, потік повідомлень
між учасниками процесу:
Асоціація – застосовується для візуалізації зв'язку між елементами потоку
і об'єктами, які не є елементами потоку (артефактами).
Цикли можуть з'являтися завдяки приєднанню Потоку операцій до
«протилежного» об'єкту.
Приклад циклу:
Приклад циклу:
Під артефактами в
BPMN розуміють об'єкти, які не впливають на виконання бізнес-процесу
безпосередньо. Це можуть бути документи, дані, інформація.
Існує три різновиди
артефактів – анотації, групи і дані. Всі три доповнюють або описують
BPMN-процес.
– Анотації дозволяють
модератору описати додаткові ділянки потоку моделі або нотації.
– Групи допомагають
об'єднувати завдання або процеси, які важливі в контексті загального процесу.
– Дані – інформація,
вміщена в процес, що виникла в результаті процесу або вимагає збору або
зберігання
Введення даних – потреба в певній інформації, від якої залежить виконання
завдань в бізнес-процесі.
Виведення даних – інформація, отримана в результати виконання бізнес-процесу.
Збір даних – інформація, зібрана в межах бізнес-процесу.
Сховище даних – можливість зберігати інформацію або отримати доступ до даних,
пов'язаних з бізнес-процесом.
Запитання для самоперевірки
1. В яких ситуаціях
використовується нотація BPMN?
2. Поясніть поняття доріжка
та пул. Для чого вони використовуються?
3. Яка основні типи дій в
нотації BPMN ви знаєте?
4. Як класифікуються графічні елементи подій в
BPMN? Для чого вони використовуються?
5. Поясніть поняття потік.
Для чого він використовуються?