Business Process Model and Notation (BPMN) to standardową notację graficzną do modelowania procesów biznesowych. Zdarzenia BPMN są kluczowym elementem tej notacji, reprezentującymi zdarzenia, które mają miejsce w trakcie procesu. Ten przewodnik zawiera szczegółowy przegląd notacji zdarzeń BPMN, wraz z wieloma przykładami.

Zdarzenia BPMN: strukturalny przegląd
Zdarzenia w BPMN (Business Process Model and Notation) przedstawiane są za pomocą okręgów i oznaczają zdarzenia wpływające na proces. Określają, jak proces reaguje na wewnętrzne lub zewnętrzne sygnały, a typ sygnału jest oznaczony ikoną umieszczoną wewnątrz okręgu. Poniżej znajduje się szczegółowy przegląd zdarzeń BPMN, ich typów i zastosowań:
Kluczowe cechy zdarzeń BPMN
- Zachowanie wyzwalane zdarzeniem
- Zdarzenia uruchamiają działania na podstawie określonych sygnałów (np. wiadomość, zegar lub błąd).
- Hierarchia zdarzeń
- Poziom 1: Podstawowe zdarzenia (Brak, Wiadomość, Zdarzenia startowe zegara; Brak, Wiadomość, Zdarzenia końcowe zakończenia).
- Poziom 2: Rozszerzone zdarzenia (zdarzenia pośrednie, Błąd, eskalacja, warunkowe, sygnał, połączenie).
- Wskaźniki wizualne
- Zdarzenia pośrednie: Dwuokrągłe koła.
- Zdarzenia graniczne: Przypisane do działań w celu obsługi wyjątków lub działań równoległych.
Typy zdarzeń i ich funkcje
1. Zdarzenia startowe
Wskazują, gdzie zaczyna się proces.
- Zdarzenie początkowe brak
- Wyzwalacz: Brak (nieokreślone lub ręczne uruchomienie).
- Przypadek użycia: Podprocesy (wymagane) lub procesy najwyższego poziomu z nieokreślonymi wyzwalaczami.
- Zdarzenie początkowe wiadomości (✉️)
- Wyzwalacz: Zewnętrzna wiadomość.
- Przypadek użycia: Proces rozpoczyna się po otrzymaniu wiadomości (np. żądanie klienta).
- Zdarzenie początkowe timera (⏰)
- Wyzwalacz: Zaplanowana godzina/data.
- Przypadek użycia: Procesy powtarzające się (np. generowanie raportu miesięcznego).
- Zdarzenie początkowe wielokrotne
- Wyzwalacz: Dowolny z wielu wyzwalaczy.
- Przypadek użycia: Procesy z elastycznymi punktami uruchomienia.
2. Zdarzenia końcowe
Wskazuje, gdzie kończy się proces.
- Zdarzenie końcowe brak
- Wynik: Nie emituje sygnału.
- Przypadek użycia: Domyślne zakończenie procesu.
- Zdarzenie końcowe wiadomości (✉️)
- Wynik: Wysyła wiadomość po zakończeniu.
- Przypadek użycia: Powiadamia zewnętrzne systemy/użytkowników (np. potwierdzenie zamówienia).
- Zdarzenie końcowe zakończenia (⛔)
- Wynik: Zatrzymuje wszystkie równoległe przebiegi.
- Przypadek użycia: Obsługa krytycznych wyjątków (np. awaria systemu).
3. Zdarzenia pośrednie
Występują między zdarzeniami początkowymi i końcowymi.
- Zdarzenie timerowe przechwytujące (⏰)
- Działanie: Opóźnia proces do momentu określonego czasu/trwania.
- Przypadek użycia: Czekaj na termin (np. okno płatności).
- Zdarzenie wysyłające wiadomość (✉️)
- Działanie: Wysyła wiadomość i kontynuuje przepływ.
- Przypadek użycia: Równoważne zadaniu „Wysyłka” (np. powiadomienie dostawcy).
4. Zdarzenia graniczne
Przyczepione do działań w celu obsługi wyjątków lub działań równoległych.
- Zdarzenie graniczne przerywające
- Zachowanie: Zatrzymuje działanie i uruchamia przepływ wyjątku.
- Przypadek użycia: Obsługa błędów (np. niepowodzenie płatności).
- Zdarzenie brzegowe nieprzerываjące
- Zachowanie: Działa równolegle do aktywności.
- Przypadek użycia: Monitorowanie (np. przypomnienia o postępie podczas zadania).
- Zdarzenie timera brzegowego (⏰)
- Działanie: Aktywuje się, jeśli aktywność przekracza limit czasu.
- Przypadek użycia: Wzmacnianie SLA (np. eskalacja zadań przeterminowanych).
Specjalne typy zdarzeń
- Zdarzenie błędu (❌)
- Przypadek użycia: Przerываjące wyjątki (np. awaria systemu).
- Zdarzenie eskalacji (📈)
- Przypadek użycia: Nieprzerwane wyjątki (np. wymagana zgoda menedżera).
- Zdarzenie sygnału (⚡)
- Zachowanie: Wysyła sygnał do wszystkich procesów nasłuchujących.
- Przypadek użycia: Koordynacja między procesami (np. powiadomienia na poziomie systemu).
- Zdarzenie łącza (🔗)
- Zachowanie: Łączy dwie sekcje procesu.
- Przypadek użycia: Uproszczenie złożonych schematów (np. przepływy z paginacją).
Kluczowe kwestie
- Wiadomość vs. Sygnał
- Wiadomość: Skierowana do konkretnego procesu/instancji.
- Sygnał: Wysyłany do wszystkich procesów (brak konkretnego odbiorcy).
- Podprocesy zdarzeń
- Wprowadzone w BPMN 2.0 w celu obsługi wyjątków lub powtarzalnych działań (np. rejestrowania błędów).
- Błąd vs. eskalacja
- Użyj Błąd do obsługi wyjątków przerывающих; Eskalacja do obsługi wyjątków nieprzerывающих.
Najlepsze praktyki
- Użyj Zdarzenia startowe zegara do procesów planowanych w celu wyjaśnienia znaczenia instancji.
- Unikaj nadmiernego używania Zdarzenia końcowe zakończenia; przeznacz je do krytycznych wyjątków.
- Preferuj Zdarzenia brzegowe nieprzerываjące do monitorowania, aby uniknąć zakłócania przepływów.
Opanowując te typy zdarzeń i ich wyzwalacze, modelerzy mogą tworzyć dokładne, efektywne schematy BPMN odzwierciedlające rzeczywiste zachowanie procesów.