A Zasady BPMN prostym językiem

Ściągawka do całego kursu. Każdy obiekt opisano tak samo: co to jest, kiedy używać, zasady (czego notacja wymaga), częsty błąd i przykład z instytucji informacyjnej. Kody w nawiasach, np. (E008), to komunikaty polecenia tok check (rozdział 10), które zgłasza dany błąd.

Notacja BPMN 2.0 jest normą międzynarodową ISO/IEC 19510. Ta ściągawka upraszcza, ale niczego nie przeinacza. W razie wątpliwości rozstrzyga specyfikacja OMG.


Jak czytać diagram w 30 sekund

  1. Znajdź kółko z cienką linią (start) i idź za strzałkami do kółka z grubą linią (koniec).
  2. Prostokąt z zaokrąglonymi rogami to praca, którą ktoś wykonuje.
  3. Romb to miejsce, gdzie ścieżki się rozdzielają albo łączą.
  4. Pas poziomy (linia) mówi, kto wykonuje pracę. Duży prostokąt (basen) mówi, czyj jest to proces.
  5. Linia ciągła = kolejność kroków w jednym procesie. Linia przerywana z kółkiem i trójkątem = wiadomość między różnymi uczestnikami.

1. Zdarzenia — „coś się dzieje”

Zdarzenie to kółko. Nic nie trwa, coś po prostu zachodzi: przychodzi wiadomość, mija termin, pojawia się błąd. Rodzaj kółka mówi, gdzie zdarzenie jest w procesie. Ikona w środku mówi, co je wywołuje.

Wygląd Rodzaj Znaczenie
zdarzenie początkowe cienkie kółko początkowe od tego zaczyna się proces
zdarzenie pośrednie podwójne kółko pośrednie coś zachodzi w trakcie procesu
przerywające zdarzenie graniczne: czas podwójne kółko na krawędzi zadania graniczne coś może zajść podczas wykonywania zadania
zdarzenie końcowe grube kółko końcowe tu ścieżka się kończy
zdarzenie pośrednie przechwytujące: wiadomość ikona pusta (biała) przechwytujące proces czeka na to zdarzenie albo je odbiera
zdarzenie pośrednie rzucające: wiadomość ikona wypełniona (czarna) rzucające proces wysyła albo wywołuje zdarzenie

1.1 Zdarzenie początkowe

  • Kiedy: zawsze — każdy proces i każdy podproces ma początek.
  • Zasady:
    • do zdarzenia początkowego nie wchodzi żadna strzałka (E011);
    • w zwykłym podprocesie start jest „pusty”, bez ikony (E010).
  • Częsty błąd: brak startu („proces zaczyna się od zadania”). Model staje się niejasny (W040).
  • Przykład: „Wpłynął wniosek o wypożyczenie międzybiblioteczne” — start z kopertą.

1.2 Zdarzenie końcowe

  • Kiedy: na końcu każdej ścieżki. Ścieżek może być kilka, a każda kończy się osobnym końcem z własną nazwą („Wniosek odrzucony”, „Wniosek zrealizowany”).
  • Zasady: ze zdarzenia końcowego nie wychodzi żadna strzałka (E011).
  • Częsty błąd: ścieżka urywa się na zadaniu, bez końca (W042).
  • Warianty:
    • koniec z kopertą — proces kończy się wysłaniem wiadomości;
    • koniec „terminate” (czarne kółko w środku) — natychmiast kończy cały proces, także ścieżki równoległe.

1.3 Wyzwalacze, czyli co jest w środku kółka

Ikona Wyzwalacz Prosta reguła Przykład
zdarzenie pośrednie przechwytujące: wiadomość koperta wiadomość ktoś konkretny coś przysyła albo dostaje czytelnik przysyła reklamację
zdarzenie pośrednie przechwytujące: czas zegar czas data, termin, upływ czasu, cykl „po 14 dniach”, „1. dnia miesiąca”
zdarzenie pośrednie przechwytujące: sygnał trójkąt sygnał ogłoszenie dla wszystkich naraz, bez konkretnego adresata dyrekcja ogłasza zamknięcie czytelni
zdarzenie końcowe: błąd błyskawica błąd coś się nie udało i czynność musi zostać przerwana system nie zapisał rekordu
zdarzenie pośrednie rzucające: eskalacja strzałka w górę eskalacja sprawę trzeba zgłosić wyżej, ale praca może trwać przekroczony termin rozpatrzenia
zdarzenie pośrednie przechwytujące: warunek kartka z liniami warunek proces czeka, aż coś stanie się prawdą „gdy stan magazynu spadnie poniżej 10”
zdarzenie pośrednie przechwytujące: łącznik strzałka w prawo łącznik „przejdź do strony B” na dużym diagramie —
zdarzenie pośrednie rzucające: kompensacja podwójny trójkąt kompensacja cofnij skutki wykonanej już pracy anuluj rezerwację sali

Wiadomość a sygnał: wiadomość ma adresata („do dostawcy”), sygnał trafia do wszystkich, którzy nasłuchują („do wszystkich otwartych wniosków”).

Jeden wyzwalacz w jednym zdarzeniu. Zdarzenie z kilkoma wyzwalaczami (zdarzenie wielokrotne) BPMN 2.0.2 dopuszcza, ale narzędzia bpmn.io zgłaszają je jako błąd. Zostaw je tylko wtedy, gdy opis procesu tego wymaga (W047).

1.4 Zdarzenie graniczne — „co, jeśli w trakcie…”

Kółko przyczepione do krawędzi zadania lub podprocesu. Gdy zdarzenie zajdzie w trakcie pracy, proces idzie ścieżką wychodzącą z tego kółka.

Linia kółka Rodzaj Co się dzieje z zadaniem
przerywające zdarzenie graniczne: czas ciągła przerywające (domyślne) zadanie zostaje odebrane / przerwane
nieprzerywające zdarzenie graniczne: czas przerywana nieprzerywające zadanie trwa dalej, a równolegle rusza dodatkowa ścieżka
  • Zasady:
    • do zdarzenia granicznego nie wchodzi żadna strzałka (E012);
    • wisi na zadaniu lub podprocesie, nigdy na bramce (E012);
    • błąd zawsze przerywa (E012).
  • Jak rozpoznać w opisie:
    • „po upływie terminu zadanie zostaje mu odebrane” → przerywające;
    • „po upływie terminu zadanie nadal jest u niego, ale…” → nieprzerywające.
  • Przykład: „Czytelnik ma 3 dni na odbiór książki. Potem rezerwacja wygasa” → zegar przerywający na zadaniu „Odbiór książki”.

2. Czynności — „ktoś coś robi”

Prostokąt z zaokrąglonymi rogami. Nazwa mówi, jaka czynność i na czym jest wykonywana: „Sprawdzenie wniosku”, „Rejestracja zgłoszenia”. W kursie używamy tej formy (rzeczownik odczasownikowy). Forma rozkazująca („Sprawdź wniosek”) też jest poprawna. Ważne, żeby w jednym modelu stosować jedną formę.

2.1 Rodzaje zadań

Ikona w lewym górnym rogu mówi, jak wykonywana jest praca.

Ikona Rodzaj Rozpoznasz po słowach Przykład
zadanie (brak) zadanie ogólne nie wiadomo, jak jest wykonywane „Przygotuj zestawienie”
zadanie użytkownika ludzik użytkownika człowiek pracuje w systemie: formularz, SAP, USOS, ALMA, „w skrzynce zadań” bibliotekarz zatwierdza zamówienie w systemie
zadanie usługowe zębatka usługowe system robi to sam, „automatycznie”, „bez udziału człowieka” system nadaje numer sprawy
zadanie ręczne dłoń ręczne człowiek bez systemu: rozmowa, telefon, przeniesienie pudeł archiwista przenosi akta do magazynu
zadanie reguły biznesowej tabelka reguły biznesowej wynik wynika z tabeli reguł / decyzji, „nikt nie ocenia” system sprawdza, czy czytelnik może wypożyczyć
zadanie skryptowe zwój skryptowe wyliczenie według stałego wzoru naliczenie opłaty za przetrzymanie
zadanie wysyłania czarna koperta wysyłania wysłanie wiadomości do innego basenu wysłanie zamówienia do dostawcy
zadanie odbioru biała koperta odbioru czekanie na wiadomość jako osobna praca odbiór potwierdzenia od wydawcy

Pułapka: słowo „ręcznie” nie zawsze oznacza zadanie ręczne. „Wprowadza dane ręcznie do systemu” to zadanie użytkownika, bo „ręcznie” znaczy tu „nie automatycznie”.

2.2 Podproces

Kilka kroków, które tworzą całość. Na ogólnym diagramie widać je jako jeden blok.

  • Zasady:
    • podproces ma własny start (W045) i koniec (W046);
    • strzałki procesu głównego nie wchodzą do środka podprocesu (E006).
  • Kiedy: diagram robi się za duży albo grupa kroków ma wspólną obsługę wyjątku, np. jeden zegar na cały etap.

2.3 Podproces zdarzeniowy

Prostokąt z kropkowaną linią wewnątrz procesu. Uruchamia go zdarzenie „w dowolnym momencie” trwania procesu.

  • Zasady:
    • nie ma strzałek wchodzących ani wychodzących (E013);
    • ma jeden start z wyzwalaczem (E013).
  • Przerywający (start z ciągłą linią) kończy resztę procesu. Nieprzerywający (start z przerywaną linią) działa obok.
  • Rozpoznasz po słowach: „w dowolnym momencie”, „niezależnie od etapu”, „ta część nie ma poprzednika”.

2.4 Znaczniki na dole zadania

Znak Znaczenie
zadanie ze znacznikiem pętli strzałka w kółku pętla — powtarzaj, aż warunek się spełni
zadanie wielokrotne równoległe trzy pionowe kreski wiele instancji równolegle — to samo dla każdej pozycji listy naraz
zadanie wielokrotne sekwencyjne trzy poziome kreski wiele instancji po kolei
plus w kwadracie zwinięty podproces (szczegóły na osobnym diagramie)

3. Bramki — „rozdziel albo połącz”

Romb. Bramka niczego nie robi i niczego nie decyduje. Kieruje tylko ruchem na podstawie tego, co już wiadomo. Decyzję podejmuje zadanie przed bramką.

Znak Bramka Rozdziela Łączy
bramka wykluczająca X wykluczająca (XOR) dokładnie jedna ścieżka przepuszcza każdą ścieżkę, która przyjdzie
bramka równoległa + równoległa (AND) wszystkie ścieżki naraz czeka na wszystkie
bramka inkluzywna O inkluzywna (OR) jedna, kilka albo żadna (wtedy domyślna) czeka na te, które faktycznie uruchomiono
bramka oparta na zdarzeniach pięciokąt w kółku oparta na zdarzeniach wygrywa to, co nastąpi pierwsze —

Zasady dla wszystkich bramek

  • Nazwa rozdzielającej bramki to pytanie: „Czy wniosek kompletny?”. Strzałki wychodzące mają odpowiedzi „tak” i „nie” (L020, W021).
  • Łącz tym samym typem, którym rozdzielasz (W051):
    • AND rozdzielone, a XOR złączone → dalsza część procesu wykona się kilka razy;
    • XOR rozdzielone, a AND złączone → proces utknie na zawsze.
  • Bramka równoległa nie ma warunków na strzałkach (E017).
  • Bramka OR ma przepływ domyślny (kreska przy strzałce) na wypadek, gdy żaden warunek nie jest spełniony (W050).
  • Gdy bramka ma przepływ domyślny, każda inna gałąź ma warunek. Domyślna zostaje wybrana dopiero wtedy, gdy żaden warunek nie jest spełniony, więc gałąź bez warunku nie miałaby kiedy zadziałać (W022).
  • Każdą strzałkę rysuj raz: dwie strzałki z tego samego elementu do tego samego celu to ta sama ścieżka dwa razy (W023), a strzałka z elementu do niego samego to pętla bez decyzji; powtórzenie zapisz znacznikiem pętli albo bramką (W043).
  • Rozgałęzienie rysuj bramką. Kilka strzałek bez warunków wychodzących wprost z zadania albo zdarzenia to niejawne rozgałęzienie: wykonają się wszystkie. Zapisz je bramką równoległą albo daj strzałkom warunki (W044).
  • Po bramce opartej na zdarzeniach stoją tylko zdarzenia przechwytujące (wiadomość, zegar, sygnał, warunek) albo zadania odbioru (E016).
  • Bramka z jednym wejściem i jednym wyjściem jest zbędna (W020).

Jak rozpoznać w opisie

  • „tak / nie”, „jeśli … w przeciwnym razie” → XOR
  • „obie czynności zawsze, niezależnie od siebie” → AND
  • „może zajść jedna sytuacja, obie albo żadna” → OR
  • „nikt nie decyduje — zależy od tego, co nastąpi pierwsze” → oparta na zdarzeniach

4. Przepływy — „strzałki”

Wygląd Przepływ Łączy
przepływ sekwencji linia ciągła z pełnym grotem sekwencji kroki w jednym basenie (także między liniami)
przepływ wiadomości linia przerywana, kółko na początku, pusty grot komunikatów różne baseny (uczestników)
powiązanie linia kropkowana asocjacja dane i adnotacje z krokami

Najważniejsza zasada BPMN dla początkujących:

  • Między liniami jednego basenu zawsze rysujesz przepływ sekwencji. Przepływ komunikatów między liniami to błąd (E008).
  • Między basenami zawsze rysujesz przepływ komunikatów. Przepływ sekwencji między basenami to błąd (E006).

Przepływ komunikatów nie może wychodzić z bramki ani do niej wchodzić (E009).


5. Baseny i linie — „czyje i kto”

  • Basen = uczestnik: organizacja albo system, który ma własny proces (np. „Biblioteka”, „Wydawca”).
  • Linia = rola w basenie (np. „Bibliotekarz dziedzinowy”, „Kierownik”, „System biblioteczny”).
  • Basen zamknięty (pusty, bez środka) = uczestnik, którego wewnętrznego procesu nie znamy albo nie modelujemy, np. zewnętrzna firma. Rozmawiamy z nią tylko wiadomościami.
  • Zasady:
    • każdy krok procesu leży w dokładnie jednym linii (E030, W031);
    • kroki wewnątrz podprocesu nie należą do linii osobno (W030).
  • Linie a kultura informacyjna: linie pokazują, kto „trzyma” informację i ile razy sprawa przechodzi z rąk do rąk. Każde przejście między liniami to potencjalne opóźnienie i ryzyko utraty informacji.

6. Dane

Wygląd Obiekt Kiedy
obiekt danych kartka z zagiętym rogiem obiekt danych dokument istnieje tylko w trakcie tego procesu (wniosek, decyzja)
kartka + [stan] pod nazwą stan danych ten sam dokument w różnych stanach: [złożony], [zatwierdzony]
składnica danych walec magazyn danych trwały rejestr, który istnieje dłużej niż proces (katalog, kartoteka, repozytorium)

Dane łączy się z zadaniami asocjacją (linia kropkowana), nigdy przepływem sekwencji (E005).


7. Artefakty

  • Adnotacja (nawias kwadratowy z tekstem) — komentarz dla czytelnika, np. podstawa prawna, wyjaśnienie skrótu.
  • Grupa (zaokrąglony prostokąt z linią przerywaną) — wizualne zgrupowanie elementów. Nie zmienia przebiegu procesu.

8. Dziesięć zasad dobrego modelu

  1. Jeden start i nazwane końce dla każdego możliwego wyniku.
  2. Zadania: czynność + jej przedmiot („Sprawdzenie wniosku”).
  3. Bramki rozdzielające: pytanie. Strzałki: odpowiedzi.
  4. Łącz tym samym typem bramki, którym rozdzielasz.
  5. Między basenami tylko komunikaty, w basenie tylko sekwencja.
  6. Każdy krok w jednej linii.
  7. Wyjątki (terminy, błędy) jako zdarzenia graniczne, a nie jako dodatkowe bramki „czy minął termin?”.
  8. Model mieści się na ekranie. Większy dziel na podprocesy.
  9. Diagram czyta się od lewej do prawej, a strzałki nie przecinają się bez potrzeby.
  10. Model jest zgodny z opisem procesu. Poprawna notacja nie oznacza poprawnego modelu.

9. DMN w pigułce — tabela decyzyjna

DMN (Decision Model and Notation) opisuje decyzje, a nie przebieg. W procesie BPMN decyzję wywołuje zadanie reguły biznesowej (ikona tabelki).

Wiek czytelnika Typ konta → Limit wypożyczeń Uwagi
< 18 — 5 czytelnik niepełnoletni
≥ 18 „student” 15
≥ 18 „pracownik” 30
— — 10 pozostali
  • Każdy wiersz to reguła. Kolumny po lewej to warunki, po prawej wynik. „—” oznacza „dowolnie”.
  • Polityka trafień mówi, co zrobić, gdy pasuje kilka reguł:
    • F (first) — weź pierwszą pasującą;
    • U (unique) — może pasować tylko jedna.
  • Warunki zapisuje się w języku FEEL (np. < 18, [18..65], "student").