Kontener dla procesu. Uczestnik interakcji. Pule wymieniają dane wyłącznie przez przepływy komunikatów. Można je zwinąć, aby ukryć szczegóły.
Pas wewnątrz puli pokazujący, kto wykonuje zadania (stanowisko, rola, dział lub system IT).
Typ nie został określony. Stosowane we wczesnym modelowaniu, gdy sposób wykonania nie jest jeszcze ustalony lub gdy nie ma on znaczenia dla celu diagramu. W istocie to element zastępczy, później doprecyzowywany do konkretnego typu.
Wykonywane przez człowieka za pośrednictwem interfejsu oprogramowania: formularza CRM, ekranu w aplikacji webowej, pozycji w menedżerze zadań. Kluczowa różnica względem zadania ręcznego polega na tym, że osoba pracuje wewnątrz systemu, który śledzi status zadania.
Wykonywane przez człowieka bez udziału silnika BPM. System nie potrafi automatycznie wykryć, kiedy ta praca się zaczyna ani kończy.
Wykonywane automatycznie przez program lub usługę. Bez udziału człowieka. Najczęstszy typ zadania w procesach wykonywalnych.
Wysyła komunikat do konkretnego uczestnika zewnętrznego (innego procesu lub systemu) i kończy się natychmiast, bez czekania na odpowiedź. Wzorzec „wyślij i zapomnij”.
Czeka na przychodzący komunikat od uczestnika zewnętrznego. Proces zatrzymuje się na tym zadaniu, aż komunikat nadejdzie.
Szczególnym wariantem jest inicjujące zadanie odbioru: jeśli takie zadanie jest pierwszym krokiem procesu, samo odebranie komunikatu tworzy nową instancję procesu (alternatywa dla zdarzenia początkowego typu komunikat).
Uruchamia osadzony skrypt (kod) zdefiniowany bezpośrednio w modelu procesu. W przeciwieństwie do zadania usługowego kod nie wywołuje żadnego systemu zewnętrznego — działa wewnątrz silnika BPM.
Wywołuje silnik decyzyjny (np. tabelę DMN). Dane wejściowe są przekazywane do zestawu reguł, a w odpowiedzi zwracana jest decyzja.
Małe ikony pośrodku dolnej krawędzi prostokąta zadania. Wskazują zachowanie zadania — a nie jego typ.
| Znacznik | Znaczenie | Przykład |
|---|---|---|
| ↻ Pętla | Zadanie powtarza się, dopóki warunek jest spełniony (jedna instancja, wiele iteracji) | Popraw dokument → wyślij → jeśli odrzucony, powtórz |
| ∥ Wieloinstancyjność równoległa | N instancji uruchamia się jednocześnie — po jednej na każdy element kolekcji | Wyślij powiadomienie do wszystkich zatwierdzających jednocześnie |
| ≡ Wieloinstancyjność sekwencyjna | Te same N instancji, ale jedna po drugiej | Przeprowadź rozmowę z każdym kandydatem po kolei |
| ⏪ Kompensacja | Zadanie wycofujące: uruchamia się tylko po wyzwoleniu kompensacji, aby cofnąć już zakończone działanie | „Anuluj rezerwację” po tym, jak „Zarezerwuj hotel” już się zakończyło |
| ~ Ad-hoc | Zadania wewnątrz podprocesu wykonywane są w dowolnej kolejności, można je powtarzać lub pomijać; zdarzenia początkowe i końcowe nie są w nim dozwolone | Swobodny wybór kroków podczas konsultacji z klientem |
| + Podproces | Czynność złożona z ukrytą wewnętrzną sekwencją; przepływy nie mogą przekraczać jej granicy | „Obsługa zamówienia” ukrywa 10 wewnętrznych kroków |
Czynność złożona oznaczona znakiem „+”. Zawiera własną sekwencję kroków. Przepływy nie mogą przekraczać jej granicy. Zdarzenia pośrednie dołącza się do krawędzi.
Gruba krawędź. Odwołuje się do globalnego podprocesu (np. „Zakupy”) wielokrotnie używanego w różnych procesach.
Znacznik „~”. Czynności w środku mogą wykonywać się w dowolnej kolejności, powtarzać lub być pomijane. Zdarzenia początkowe/końcowe nie są w nim dozwolone.
Przerywana krawędź wewnątrz procesu. Wyzwalany przez zdarzenie początkowe, gdy proces nadrzędny jest aktywny. Przerywający — anuluje proces nadrzędny. Nieprzerywający — działa równolegle.
Sterują rozgałęzianiem i scalaniem. Bramka to nie zadanie! Decyzja zapada przed bramką.
Najczęściej stosowana bramka. Przy rozgałęzieniu aktywuje dokładnie jedną ścieżkę wyjściową — tę, której warunek jest spełniony jako pierwszy. Jeśli żaden warunek nie jest spełniony, proces kończy się błędem (dlatego dobrą praktyką jest zawsze definiowanie gałęzi „domyślnej”). Przy scalaniu natychmiast przepuszcza każdy napływający token, nie czekając na pozostałe.
Analogia: rozwidlenie drogi, na którym jedziesz tylko w jednym kierunku.
Przy rozgałęzieniu aktywuje jednocześnie wszystkie ścieżki wyjściowe, bezwarunkowo — bez sprawdzania. Przy scalaniu czeka na tokeny na wszystkich ścieżkach wejściowych i dopiero gdy wszystkie dotrą, przekazuje dalej pojedynczy token.
Analogia: kierownik rozdziela zadania pięciu pracownikom i czeka, aż wszyscy skończą.
Hybryda XOR i AND. Przy rozgałęzieniu aktywuje jedną lub więcej ścieżek w zależności od warunków — każdy warunek jest oceniany niezależnie. Przy scalaniu czeka tylko na tokeny ze ścieżek faktycznie aktywowanych (a nie na wszystkie, jak AND).
Analogia: bufet — bierzesz jedno danie, dwa albo wszystkie, ale nigdy zero.
Zasadniczo różni się od pozostałych: kieruje przepływem nie na podstawie danych, lecz według tego, które zdarzenie nadejdzie pierwsze. Za bramką umieszcza się pośrednie zdarzenia oczekujące (zegar, komunikat, warunkowe, sygnał). Gdy tylko jedno się wyzwoli, pozostałe są anulowane.
Analogia: zamówiłeś pizzę — jeśli nie dotrze w 60 minut, dzwonisz do pizzerii; jeśli przyjdzie wcześniej, jesz.
Stosowana, gdy logiki rozgałęzień nie da się wyrazić standardowymi bramkami. Warunek scalania określa wyrażenie (np. „kontynuuj, gdy zakończą się 3 z 5 gałęzi” lub „gdy nadejdzie pierwsza odpowiedź i minie 10 minut”).
Romb bez znacznika. Semantycznie równoważny bramce wyłącznej (XOR) — standard BPMN pozwala pominąć krzyżyk. Część metodyków uważa to za złą praktykę, bo pogarsza czytelność: nie wiadomo, czy autor zapomniał o znaczniku, czy świadomie wybrał XOR.
Zdarzenie to coś, co się dzieje (fakt), w odróżnieniu od zadania (aktywnego działania). Rysowane jako okręgi.
Przechwytujące (niewypełniony znacznik) — oczekiwanie. Rzucające (wypełniony) — wyrzucanie. Zdarzenia graniczne: przerywające (linia ciągła) i nieprzerywające (przerywana).
Ikony z bpmn-font (Camunda). „—” = nieokreślone przez standard.
| Typ | Początkowe | Pośrednie | Końcowe | |||||
|---|---|---|---|---|---|---|---|---|
| Normalne | Podproc. zdarz. | Nieprzerw. | Przechwyt. | Graniczne | Gran. nieprzerw. | Rzucające | ||
| Brak (None) | — | — | — | — | — | |||
| ✉ Komunikat | ||||||||
| ⏱ Zegar | — | — | ||||||
| ⚡ Błąd | — | — | — | — | — | |||
| ▲ Sygnał | ||||||||
| 📋 Warunkowe | — | — | ||||||
| ↗ Eskalacja | — | — | ||||||
| ⬤ Zakończenie | — | — | — | — | — | — | — | |
| ⏪ Kompensacja | — | — | — | — | ||||
| ✖ Anulowanie | — | — | — | — | — | — | ||
| ➡ Łącze | — | — | — | — | — | — | ||
| ⬠ Wielokrotne | ||||||||
| ➕ Równoległe wielokr. | — | — | ||||||
Wymiana z konkretnym odbiorcą: e-mail, rozmowa, HTTP, push. Dostępne w każdej pozycji.
Data/godzina, interwał, odliczanie (termin). Tylko przechwytujące.
Poważna awaria. Przechwytujące — tylko na granicy. Rzucające — tylko na końcu.
Oczekiwanie na warunek zewnętrzny („piekarnik jest gorący”). Tylko przechwytujące.
Rozgłaszanie (w odróżnieniu od adresowanego komunikatu). Reaguje każdy subskrybent.
Natychmiast zatrzymuje całą instancję procesu. Tylko końcowe.
Co, jeśli kontynuowanie zadania 2 po zakończeniu zadania 3 nie ma już sensu? Wtedy stosuje się poniższy wzorzec:
„Teleport” przepływu. Para rzucające + przechwytujące zastępuje długą strzałkę. Tylko pośrednie.
Odwraca wcześniej zakończone działanie. Zadanie kompensujące jest połączone asocjacją.
Wysyłana z podprocesu do procesu nadrzędnego — nie jest błędem. Może być nieprzerywająca.
Tylko w kontekście transakcji. Końcowe — wycofanie. Graniczne — przechwytywanie.
„Kartka papieru” z zagiętym rogiem. Reprezentuje informację, która jest tworzona, konsumowana lub przekazywana między zadaniami w ramach instancji procesu. Istnieje tylko dopóki instancja żyje.
Walec. Trwały magazyn, który przeżywa instancję procesu: baza danych, rejestr, repozytorium plików. Zadania z niego odczytują i do niego zapisują.
Parametry procesu lub podprocesu na jego granicy. Wejście — to, co dostarczane z zewnątrz; wyjście — to, co zwracane. Strzałka z pustym/wypełnionym trójkątem.
Komentarz dołączany do dowolnego elementu przerywaną linią. Nie wpływa na wykonanie — służy jedynie objaśnieniu dla czytelnika diagramu.
Zaokrąglony prostokąt z przerywaną linią. Wizualne grupowanie elementów (np. „wszystkie zadania logistyczne”). Nie ma semantyki wykonania; przepływy mogą swobodnie przekraczać jej granicę.
Ciągła strzałka z wypełnionym grotem. Definiuje kolejność wykonania wewnątrz jednej puli. Nie może przekraczać granic puli.
Przepływ warunkowy (z małym rombem u źródła) — uruchamia się tylko, gdy jego warunek jest prawdziwy. Stosowany na strzałkach wychodzących z zadania bez bramki.
Przepływ domyślny (z kreską u źródła) — ścieżka awaryjna bramki XOR/OR lub rozgałęzienia warunkowego, wybierana, gdy żaden inny warunek nie jest spełniony.
Przerywana strzałka z otwartym grotem. Łączy różne pule — komunikat wymieniany między niezależnymi uczestnikami. Nie stosowana wewnątrz jednej puli.
Podproces z podwójną krawędzią. Semantyka ACID: albo każde wewnętrzne działanie zostaje pomyślnie zatwierdzone, albo cała transakcja jest wycofywana przez zdarzenie Anulowania (wraz z kompensacjami). Stosowana do zachowania spójności w operacjach rozproszonych.
Utwórz swój pierwszy diagram BPMN za darmo — bez rejestracji i karty kredytowej.
Zacznij generować diagramy BPMN z pomocą AI