Data: 31.01.2023

Notacja BPMN zadania
Spis treści
W artykule przedstawiam kształty, za pomocą których możemy modelować zadania w notacji BPMN wersja 2.0.
Notacja (ang. Business Process Model and Notation) umożliwia modelowanie procesów biznesowych. Jest ona utrzymywana i rozwijana przez organizację Object Management Group (OMG).
Specyfikacja BPMN 2.0 zawiera elementy graficzne, za pomocą których możemy modelować proces biznesowy.
Z naszego artykułu BPMN podstawowe informacje dowiesz się do czego służy notacja oraz model procesu biznesowego. W artykule znajdziesz też link do specyfikacji BPMN.
Narzędzia do modelowania procesów
Do rysowania diagramów BPMN możemy używać płatnych lub bezpłatnych narzędzi. My najczęściej używamy programu MS Visio w wersji Plan 2 (Office 365).
Możesz jednak modelować w programie Adonis, Enterprise Architect, Camunda Modeler, BPMN.io lub w innych aplikacjach.
Symbole zadań
Symbolami zadań oznaczamy pracę, którą w ramach procesu należy wykonać. Zadanie oznaczamy za pomocą prostokąta z obramowaniem narysowanym ciągłą, cienką linią.

Przepływy sterowania
Poszczególne zadania są połączone ze sobą oraz z innymi elementami procesu np. ze zdarzeniami początkowymi za pomocą sekwencji przebiegu procesu (ang. sequence flow).
Łącznik (sekwencję przebiegu procesu) oznaczamy za pomocą czarnej, wypełnionej strzałki z wypełnionym grotem.

Koncept żetonu (tokena)
Aby łatwiej było zrozumieć zasady modelowania procesów biznesowych w notacji BPMN, powstał koncept żetonu.
Możemy sobie wyobrazić, że w momencie, gdy jest wyzwolone zdarzenie początkowe, które rozpoczyna proces, powstaje token. Płynie on po strzałce przepływu sekwencji i aktywuje poszczególne elementy procesu, takie jak zadania, bramki logiczne, zdarzenia, podprocesy. W momencie gdy token dotrze do zdarzenia końcowego jest niszczony.
W przykładzie mamy wykonywalny proces obsługi wniosku kredytowego. Poszczególne kroki procesu to:
- zdarzenie początkowe oznaczone okręgiem z cienką linią rozpoczyna proces
- zadanie „Przyjęcie wniosku kredytowego”
- zadanie „Rozpatrzenie wniosku kredytowego”
- zadanie „Wezwanie klienta do uzupełnienia wniosku”
- bramka wykluczająca sterowana zdarzeniami, która rozgałęzia proces na dwie ścieżki. Sposób kontynuuacji procesu zależy od działania, które podejmie klient. Jeśli klient uzupełni dokumentację, kredyt zostanie udzielony. Jeśli dokumentacja nie zostanie uzupełniona, wniosek zostanie odrzucony.
- zdarzenie końcowe oznaczone okręgiem z pogrubioną linią kończy proces.
Bramkę sterowaną zdarzeniami oraz inne rodzaje bramek opisaliśmy artykule BPMN bramki logiczne

Znaczniki zadań
W BPMN do rysowania diagramów procesów biznesowych możemy używać zadań ze znacznikami. Dostępne znaczniki:
- znacznik pętli
- znacznik wielu instancji
- znacznik kompensacji

Zadanie może mieć jeden znacznik lub więcej:
- znacznika pętli możemy używać w połączeniu ze znacznikiem kompensacji
- znacznika kompensacji możemy używać w połączeniu ze znacznikiem pętli lub ze znacznikiem wielu instancji
- znacznika wielu instancji możemy używać w połączeniu ze znacznikiem kompensacji
- znacznika kompensacji możemy używać w połączeniu ze znacznikiem pętli lub ze znacznikiem wielu instancji.
Pętla standardowa
W przypadku pętli standardowej zadanie wykonujemy raz. Następnie sprawdzamy, czy spełniony został warunek wyjścia z pętli. Jeśli warunek jest fałszywy (nie został spełniony), wykonujemy czynność ponownie i po jej wykonaniu ponownie oceniamy warunek. Z pętli wychodzimy dopiero jak warunek zostanie spełniony.
Wiele wystąpień równoległych
Oznacza, że mamy do wykonania więcej niż jedną czynność. Każda wykonywana czynność to instancja zadania. Czynność wykonujemy dla każdego elementu na liście oddzielnie. Zadanie jest zakończone dopiero wtedy, gdy wszystkie elementy z listy są zakończone (zrobione).
Zadanie z wieloma instancjami jest oznaczane przez trzy równoległe paski pośrodku na dole prostokata. Kreski pionowe oznaczają, że instancje są wykonywane w tym samym czasie (równolegle). Słupki poziome oznaczają, że instancje są wykonywane sekwencyjnie.

Kompensacja
Kompensacja oznacza, że odwracamy skutki wykonanych już czynności. Więcej informacji na temat kompensacji znajdziesz w artykule BPMN zdarzenia pośrednie
W przykładzie, jeśli otrzymamy zwrot towaru, wycofujemy transakcję i zwracamy pieniądze klientowi.

Typy zadań
Zadania możemy uszczegółowić o dodatkowe informacje dodając ikony określające rodzaj zadania.
Zadanie serwisowe (ang. service task)
Zadanie serwisowe to takie, które które korzysta z jakiejś usługi np. z usługi internetowej lub ze zautomatyzowanej aplikacji. Oznaczamy je następująco:

W przykładzie:
- otrzymujemy zamówienie na aktualizację raportów
- ustawiamy aktualizację w kolejce zadań
- następuje automatyczne uruchomienie aktualizacji
- wysyłamy raporty

Zadanie wysyłania (ang. send task)
Zadanie wysłania służy do publikacji wiadomości. Komunikat wysyłany jest do podmiotu spoza procesu, a wysyłka odbywa się automatycznie. Nie używamy tego typu zadania do oznaczenia np. wysyłki maila przez osobę. Do wysłania maila przez człowieka używamy symbolu osoby. Po wysłaniu wiadomości zadanie jest zakończone.
Zadanie wysyłania oznaczamy następująco.

W przykładzie:
- otrzymujemy zamówienie
- system automatycznie wysyła potwierdzenie otrzymania zamówienia
- realizujemy zamówienie

Zadanie odbioru (ang. receive task)
Zadanie odbioru służy do odebrania komunikatu od podmiotu spoza procesu. Odbiór komunikatu odbywa się w sposób automatyczny. Po otrzymaniu wiadomości zadanie jest zakończone. Oznaczamy je następująco:

W przykładzie proces składa się z następujących elementów:
- zdarzenie początkowe
- zadanie „Otrzymanie zamówienia”
- obiekt danych reprezentujący informację, że zamówienie wpłynęło w formie papierowej – obiekt łączymy z zadaniem za pomocą przerywanej linii
- zadanie „Weryfikacja zamówienia”
- bramka wykluczająca sterowana danymi, na której proces rozgałęzia się na dwie ścieżki. Żeton płynie po strzałce przepływu tylko jednej ze ścieżek
- zadanie „”Prośba do klienta o uzupełnienie zamówienia”
- bramka wykluczająca sterowana zdarzeniami – działanie ze strony klienta określa ścieżkę, którą popłynie żeton. Jeśli klient prześle odpowiedź zamówienie zostanie zrealizowane. Jeśli w ciągu 7 dni odpowiedzi nie będzie zamówienie zostanie odrzucone. Za bramką wykluczającą sterowaną zdarzeniami umieszczamy zdarzenia: czasomierz (ang. timer) oraz wiadomość (ang. message)
- zadanie złożone (podproces zwinięty) „Odrzucenie zamówienia”
- zadanie odbierające „Otrzymanie informacji”
- zadanie „Realizacja zamówienia”
- zdarzenie końcowe

Zadanie użytkownika (ang. user task)
Zadanie użytkownika wykonywane jest przez osoby (uczestników procesu) przy użyciu komputera. Oznaczamy je następująco:

W przykładzie mamy dwa zadania, które użytkownik wykonuje przy użyciu komputera:
- Wprowadzenie danych do systemu
- Zamknięcie sprawy w systemie

Zadanie ręczne (ang. manual task)
Zadanie ręczne realizowane jest przez użytkownika manualnie, bez wykorzystania komputera np. spinanie kartek, stemplowanie, wkładanie pisma do segregatorów. Oznaczamy je następująco:

W przykładzie mamy następujące zadania:
- Przyjęcie faktury
- Wprowadzenie faktury do systemu
- Realizacja wypłaty
- Wpięcie faktury do segregatora – zadanie realizowane ręcznie

Zadanie reguła biznesowa (ang. business rule)
Zadanie reguły biznesowej zapewnia mechanizm dla procesu dostarczania danych wejściowych do silnika reguł biznesowych. Oznaczamy je następująco:

W przykładzie mamy następujące zadania:
- Wprowadzenie nowych stawek podatkowych do systemu (system zawiera silnik reguł biznesowych)
- Obliczenie podatków – używamy tutaj zadania typu Reguła biznesowa
- Wysłanie PIT

Zadanie skryptowe (ang. script task)
Zadanie skryptowe to zautomatyzowane zadanie, które wykonuje skrypt. Oznaczamy je następująco:

W przykładzie skrypt porównuje wprowadzony do systemu raport z danymi w systemie.

Podsumowanie
W modelowaniu procesów biznesowych istotne jest przedstawienie procesu w sposób czytelny, aby analityk biznesowy lub inna osoba z organizacji mogła łatwo proces zrozumieć. Jeśli proces jest złożony do jego narysowania możemy użyć podprocesów zwiniętych. Zbyt duża ilość szczegółów umieszczona na diagramie może pogroszyć czytelność procesu.
Procesy możemy modelować bez zdarzeń początkowych i końcowych. Uważam jednak, że procesy są czytelniejsze, jeśli zdarzeń użyjemy. W ramach jednego procesu możemy użyć jednego lub większej ilości zdarzeń końcowych.
