Jako BA tworzę diagramy procesowe w BPMN. Zamiast szukania po książkach i w internecie, których elementów mogę użyć (i co oznaczają), dodałem je tutaj – aby móc szybko i efektywnie tworzyć diagramy w BPMN.
Inspiracją do tego posta, było szkolenie mojego kolegi z pracy, który jest niewątpliwie ekspertem w tworzeniu diagramów. Jako, że diagramy tworzę średnio co trzy miesiące, stworzyłem sobie tę krótką ściągę – na podstawie szkolenia. Jeżeli uważacie, że gdzieś popełniłem błąd – dajcie znać. Dodaję też opis dla tych, którzy dopiero BPMN poznają. Może się przyda.
Spis treści:
BPMN: Bramki
BPMN: Baseny (pools), tory (swimlines) i komunikaty
BPMN: Typy aktywności
BPMN: Zdarzenia
BPMN: Multitaski, pętle i podprocesy
BPMN: Podprocesy ad hoc
BPMN Data Store i Data Object
BPMN: Bramki
Patrząc z poziomu kodu to bramki tak naprawdę zwykłe IF, ELSE, ewentualnie CASE. Czyli dana akcja jest wykonywana jeżeli kryterium akcji jest spełnione. Podstawowe bramki to:
BPMN | Opis |
---|---|
![]() |
Bramka wykluczająca (exclusive gateway). Tylko jedna ścieżka z wielu możliwych może być wykonana. |
![]() |
Bramka niewykluczająca (inclusive gateway). Wszystkie ścieżki spełniające kryteria mogą być wykonane. Przy tym rodzaju bramek często spotyka się ścieżkę przeciętą slashem (ukośnikiem). Oznacza to domyślną ścieżkę, która zawsze musi być wykonana. |
![]() |
Bramka zrównoległająca (parallel gateway). Akcje są wykonywane równolegle, niezależnie od siebie. Każda ścieżka musi być wykonana. Początkowa ramka zrównoległająca musi kończyć się końcową bramką zrównoległającą, która musi otrzymać sygnał negatywny, bądź pozytywny ze wszystkich ścieżek. |
Przykład bramki wykluczającej w diagramie BPMN:

Bramka wykluczająca (exclusive gateway). Jeżeli naprawa auta nie przekracza 1000 złotych jest wykonywana automatycznie. Gdy koszt naprawy przekracza 1000 złotych , trzeba powiadomić klienta. Tylko jeden warunek może być spełniony, choć tu dla ścisłości można by dodać warunek <= 1000 pln.
Przykład bramki niewykluczającej w diagramie BPMN:

Bramka niewykluczająca (inclusive gateway). Oględziny auta z klientem podczas odbioru auta są obowiązkowe i muszą być zawsze wykonane. Reszta ścieżek zostaną wykonane, gdy warunek będzie spełniony.
Przykład bramki zrównoległającej w diagramie BPMN:

Bramka zrównoległająca (parallel gateway). Wszystkie ścieżki muszą być wykonane, mogą się odbywać równolegle. Na końcu musi być bramka kończąca, oczekująca na pozytywny lub negatywny wynik danej ścieżki.
BPMN: Baseny (pools), tory (swimlines) i komunikaty
Baseny i tory służą do wydzielenia różnych uczestników. Krótko mówiąc basen to obiekt/aplikacja/uczestnik niepowiązany z innym basenem (inny obiekt/aplikacja/uczestnik). Tory służą do podziału jednego obiektu (basenu) na podobiekty będące częścią basenu. Komunikaty służą do komunikacji pomiędzy basenami.
BPMN | Opis |
---|---|
Basen | Zwykły prostokąt z nazwą po lewej stronie. Przypomina właśnie zewnętrzny obrys basenu. Proces może istnieć tylko w basenie. Do komunikacji pomiędzy basenami służą komunikaty. |
Tor | Zwykły prostokąt z nazwą po lewej stronie, będący integralną częścią basenu. Przypomina wydzielony tor pływacki basenu. Oznacza innego uczestnika tego samego obiektu (basenu) |
![]() |
Komunikat. Strzałka z pełnym białym grotem, z białym okręgiem u podstawy. Służy do połączenia różnych procesów z innych basenów. |
Przykłady basenów, torów i komunikatów w BPMN:

BPMN: baseny, tory i komunikaty. Klient jest osobnym i niezależnym uczestnikiem od serwisu. Dlatego serwis i klient to oddzielne baseny. Jako, że serwis ma złożoną strukturę, to został on podzielony na pod uczestników (tory) czyli obsługę klienta i warsztat. Klient ma swój proces, warsztat swój – ale pomiędzy nimi odbywa się komunikacja.
Powyższy proces można też ukazać w taki sposób:

BPMN: baseny, tory i komunikaty. Klient jest osobnym i niezależnym uczestnikiem od serwisu. Jako serwis nie wiemy co się dzieje u klienta, więc pozostawiamy pusty basen. W takim przypadku nasze aktywności komunikują się z krawędzią innego basenu. Koperty w aktywnościach oznaczają przyjęcie/wysłanie komunikatu.
BPMN: Typy aktywności
Typy aktywności dodatkowo określają rodzaj akcji. Jest to pomocne, aby zredukować opis aktywności. Ikonkę umieszczamy w tasku w lewym górnym rogu. Podstawowe aktywności to:
BPMN | Opis |
---|---|
![]() |
Task użytkownika. Wymagana aktywność użytkownika. |
![]() |
Task automatyczny. Aktywność użytkownika nie jest wymagana. |
![]() |
Task wysyłający komunikat do innego basenu (poola). |
![]() |
Task odbierający komunikat z innego basenu (poola). |
![]() |
Task skryptowy np. wczytujący dane zewnętrzne. |
![]() |
Task manualny oznaczający manualną aktywność użytkownika np. odebranie listu z poczty. |
BPMN: Zdarzenia
Zdarzenia informują nas o punkcie początkowym, końcowym lub pośrednim – istotnym dla procesu, aby go ukazać na diagramie. Poniższa grafika może nie pokazuje tego dokładnie ale rodzaje zdarzeń różnią się tylko obramowaniem.
BPMN | Opis |
---|---|
![]() |
Zdarzenie początkowe. Informuje nas o punkcie startowym procesu. Okręg z normalnym obramowaniem. |
![]() |
Zdarzenie pośrednie. Informuje nas o ważnym zdarzeniu w środku procesu. Proces będzie mógł być kontynuowany, gdy przyjdzie informacja zwrotna, bądź jakieś kryterium zostanie spełnione. Okręg z podwójnym obramowaniem. |
![]() |
Zdarzenie końcowe. Informuje nas o punkcie końcowym procesu. Okręg z pogrubionym obramowaniem. |
Każdy rodzaj zdarzenia może mieć swój typ, najważniejsze z nich to:
BPMN | Opis |
---|---|
![]() |
Zdarzenie komunikatu. Może być początkowe, pośrednie i końcowe. Odbiór komunikatu to biała koperta. Wysyłka komunikatu oznaczona jest czarną kopertą. |
![]() |
Zdarzenie czasowe. Jak dla mnie zdarzenie początkowe i pośrednie. Zdarzenie cykliczne, bądź wykonywane o określonej porze. Czyli proces może zacząć się określonej godzinie, lub cyklicznie co godzinę (może być wstrzymany np. do godziny 12, bądź do określonych ram czasowych i kontynuować proces o określonych porach). |
![]() |
Zdarzenie sygnałowe. Może być początkowe, pośrednie i końcowe. Odbiór sygnału to biały trójkąt. Wysyłka sygnału oznaczona jest czarnym trójkątem. Sygnał nie jest kierowany do konkretnego użytkownika, jest jakby przesyłany w przestrzeń niczym fale radiowe z nadzieją że ktoś go odbierze. |
![]() |
Zdarzenie błędu. Jak dla mnie zdarzenie końcowe. Oznacza zakończenie procesu błędem. |
![]() |
Zdarzenie warunkowe. Może być początkowe, pośrednie. Proces może być zaczęty lub kontynuowany po spełnieniu jakiegoś kryterium np. 100 stopni. |
Przykład wykorzystania zdarzeń w BPMN:

BPMN: różne rodzaje zdarzeń. Pomiędzy basenami jest zachowana komunikacja, ale każdy z basenów ma swój proces. Zdarzenia pośrednie z białą kopertą oznaczają, że proces będzie kontynuowany, gdy komunikat zostanie odebrany przez użytkownika. Zdarzenie początkowe z biała kopertą może rozpocząć proces dopiero, gdy komunikat zostanie odebrany.
BPMN: Multitaski, pętle i podprocesy
Dzięki multitaskom i pętlom możemy jeszcze bardziej uprościć diagram, nie wchodząc w szczegóły danej aktywności. Podprocesy pozwalają nam na rozbudowanie procesu.
BPMN | Opis |
---|---|
![]() |
Multitask sekwencyjny. Aktywność może następować tylko jedna po drugiej. Nie może być wykonywana jednocześnie. |
![]() |
Multitask równoległy. Aktywność może być wykonywana jednocześnie z innymi. |
![]() |
Pętla. Oznacza zwielokrotnienie danej aktywności. |
![]() |
Podproces. Rozbudowanie głównego przejrzystego procesu. |

BPMN z multitaskami i pętlą. W dziale obsługi pracuje paru pracowników. Wszystkie auta musza zostać przyjęte. Za to jest jeden mechanik, dlatego naprawa musi być wykonywana pojedynczo. Wystawienie faktury odbywa się w tym samym czasie dla każdego naprawionego auta. Dodatkowo aktywność „Naprawa auta” jest oznaczona podprocesem.
Mamy dwie możliwości ukazana podprocesu: jako osobny diagram, albo jako część głównego diagramu.

BPMN podproces jako osobny diagram. Znak plusa w głównej aktywności oznacza że aktywność jest bardziej złożona. Dlatego możemy powiązać z głównym procesem inny diagram pod nazwą głównej aktywności.
BPMN: Podprocesy ad hoc
Dzięki znacznikowi ad hoc możemy wyszczególnić wszystkie aktywności składające się na podproces, ale które niekoniecznie muszą zostać wykonane.
BPMN | Opis |
---|---|
![]() |
Znacznik ad hoc. |

BMPN podproces z aktywnościami ad hoc. Jako osobny kontener. Nie ma zdarzenia początkowego i końcowego. Na dole tylda. W tym przypadku każda aktywność może być wykonana wiele razy, ale nie musi.
Przykład 1. Podpięcie komputera -> Weryfikacja zawieszenia -> Weryfikacja układu kierowniczego.

BPMN podproces ad hoc z zależnościami. Nie które aktywności mogą być powtarzane, inne nie. Niektóre z aktywności mogą tylko nastąpić po określonej aktywność.
Przykład 1. Podpięcie komputera -> Weryfikacja zawieszenia -> Weryfikacja układu kierowniczego -> Podpięcie komputera
Przykład 2. Weryfikacja zawieszenia -> Weryfikacja układu kierowniczego -> Weryfikacja tarcz i klocków
BPMN: Data Store i Data Object
Data Store i Data Object służą do pokazania elementów kluczowych dla procesu a nie będących aktywnością.
BPMN | Opis |
---|---|
![]() |
Data Object. Istotny element, który istnieje tylko raz. |
![]() |
Data Store. Istotny element, trwały. |