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
- Znajdź kółko z cienką linią (start) i idź za strzałkami do kółka z grubą linią (koniec).
- Prostokąt z zaokrąglonymi rogami to praca, którą ktoś wykonuje.
- Romb to miejsce, gdzie ścieżki się rozdzielają albo łączą.
- Pas poziomy (linia) mówi, kto wykonuje pracę. Duży prostokąt (basen) mówi, czyj jest to proces.
- 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 |
|---|---|---|
| początkowe | od tego zaczyna się proces | |
| pośrednie | coś zachodzi w trakcie procesu | |
| graniczne | coś może zajść podczas wykonywania zadania | |
| końcowe | tu ścieżka się kończy | |
| przechwytujące | proces czeka na to zdarzenie albo je odbiera | |
| 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).
- do zdarzenia początkowego nie wchodzi żadna strzałka
- 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 |
|---|---|---|---|
| wiadomość | ktoś konkretny coś przysyła albo dostaje | czytelnik przysyła reklamację | |
| czas | data, termin, upływ czasu, cykl | „po 14 dniach”, „1. dnia miesiąca” | |
| sygnał | ogłoszenie dla wszystkich naraz, bez konkretnego adresata | dyrekcja ogłasza zamknięcie czytelni | |
| błąd | coś się nie udało i czynność musi zostać przerwana | system nie zapisał rekordu | |
| eskalacja | sprawę trzeba zgłosić wyżej, ale praca może trwać | przekroczony termin rozpatrzenia | |
| warunek | proces czeka, aż coś stanie się prawdą | „gdy stan magazynu spadnie poniżej 10” | |
| łącznik | „przejdź do strony B” na dużym diagramie | — | |
| 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 (domyślne) | zadanie zostaje odebrane / przerwane | |
| 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).
- do zdarzenia granicznego nie wchodzi żadna strzałka
- 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 ogólne | nie wiadomo, jak jest wykonywane | „Przygotuj zestawienie” | |
| użytkownika | człowiek pracuje w systemie: formularz, SAP, USOS, ALMA, „w skrzynce zadań” | bibliotekarz zatwierdza zamówienie w systemie | |
| usługowe | system robi to sam, „automatycznie”, „bez udziału człowieka” | system nadaje numer sprawy | |
| ręczne | człowiek bez systemu: rozmowa, telefon, przeniesienie pudeł | archiwista przenosi akta do magazynu | |
| reguły biznesowej | wynik wynika z tabeli reguł / decyzji, „nikt nie ocenia” | system sprawdza, czy czytelnik może wypożyczyć | |
| skryptowe | wyliczenie według stałego wzoru | naliczenie opłaty za przetrzymanie | |
| wysyłania | wysłanie wiadomości do innego basenu | wysłanie zamówienia do dostawcy | |
| 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).
- podproces ma własny start
- 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).
- nie ma strzałek wchodzących ani wychodzących
- 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 |
|---|---|
| pętla — powtarzaj, aż warunek się spełni | |
| wiele instancji równolegle — to samo dla każdej pozycji listy naraz | |
| 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 |
|---|---|---|---|
| wykluczająca (XOR) | dokładnie jedna ścieżka | przepuszcza każdą ścieżkę, która przyjdzie | |
| równoległa (AND) | wszystkie ścieżki naraz | czeka na wszystkie | |
| inkluzywna (OR) | jedna, kilka albo żadna (wtedy domyślna) | czeka na te, które faktycznie uruchomiono | |
| 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).
4. Przepływy — „strzałki”
| Wygląd | Przepływ | Łączy |
|---|---|---|
| sekwencji | kroki w jednym basenie (także między liniami) | |
| komunikatów | różne baseny (uczestników) | |
| 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).
- każdy krok procesu leży w dokładnie jednym linii
- 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 | 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] |
| 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
- Jeden start i nazwane końce dla każdego możliwego wyniku.
- Zadania: czynność + jej przedmiot („Sprawdzenie wniosku”).
- Bramki rozdzielające: pytanie. Strzałki: odpowiedzi.
- Łącz tym samym typem bramki, którym rozdzielasz.
- Między basenami tylko komunikaty, w basenie tylko sekwencja.
- Każdy krok w jednej linii.
- Wyjątki (terminy, błędy) jako zdarzenia graniczne, a nie jako dodatkowe bramki „czy minął termin?”.
- Model mieści się na ekranie. Większy dziel na podprocesy.
- Diagram czyta się od lewej do prawej, a strzałki nie przecinają się bez potrzeby.
- 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").