BPMN Business Process Modeling Notation Notacja modelowania procesów biznesowych
Plan Co to jest BPMN? BPMN a UML Diagramy Aktywności w UML Notacja BPMN Modelowanie w BPMN - przykłady Podsumowanie
Co to jest BPMN? Nowy standard modelowania procesów biznesowych Zaprojektowany przez członków BPMI (Business Process Management Initiative) 1 diagram BPD Prosty i łatwy do zrozumienia Nadaje się do modelowania złożonych procesów biznesowych Umożliwia prostą wizualizację XMLa
Business Process Diagram Łatwy w użyciu i zrozumieniu (nie tylko dla specjalistów IT) Wyrazisty w modelowaniu złożonych procesów biznesowych Łatwy do przetworzenia na Business Execultion Language
UML Język pomagający developerom wyspecyfikować, zwizualizować i udokumentować modele systemów informatycznych. Został zaprojektowany z myślą o procesach tworzenia oprogramowania (od projektowania (architektury do implementacji). Stworzony dla specjalistów (inżynierów)
BPMN Ukierunkowany na analityków biznesowych, architektów systemowych i twórców oprogramowania Stworzony by przedstawiać całokształt procesu biznesowego, począwszy od projektowania – wykonanego przez społeczność biznesową.
UML vs BPMN Dla inżynierów 12 rodzajów diagramów Aby uszczegółowić diagram należy stworzyć kolejny (nie wszystkie diagramy współgrają ze sobą) Możliwe modelowanie osobnych diagramów dla poszczególnych części aplikacji Zorientowany obiektowo Do modelowania faz tworzenia oprogramowania Brak execution meta –model dla procesu Dla ludzi biznesu 1 rodzaj diagramu Możliwość przestawienia szczegółów na 1 diagramie Łatwe przejście do XML’a Koncentracja (orientacja) na procesach Przeznaczony głównie do modelowania procesów biznesowych Dostarcza execution meta –model
Diagramy Aktywności w UML – podstawy notacji nazwa aktywności Aktywność Przejście Romb Sztabka synchronizujaca (fork i join) Aktywność początkowa Aktywność końcowa
Projektowanie w BPMN Zdarzenia rozpoczynające Sam proces (przebieg) Zakończenie procesu i rezultaty
Podstawy BPMN Proces Podprocesy (sub-process) Rozwijanie i zwijanie (+/-) Zadanie (task) Decyzje i rozgałęzienia Bramki (gateways)
Podstawy cd. Decyzje i rozgałęzienia przepływu są modelowane za pomocą bramek (gateways) Podproces może być przedstawiony za pomocą innego diagramu połączonego hiperlinkiem z symbolem procesu
Notacja - wyzwalacze Wiadomość - przychodzi od uczestnika i rozpoczyna, kontynuuje albo kończy proces. Timer - wyspecyfikowany czas lub cykl, kiedy rozpoczyna się lub kontynuuje proces (np każdy poniedziałek 9:00). Zasady (reguły) - rozpoczyna proces gdy wszystkie wyspecyfikowane reguły są spełnione (np. ceny akcji zmienią się wiecej niż 10% od otwarcia).
Notacja - wyzwalacze cd. Link – służy do łączenia końcowego zdarzenia jednego procesu do początkowego zdarzenia drugiego procesu Wieloskładnikowy (Multiple)– możliwe jest wzbudzenie zdarzeń wieloskładnikowych poprzez wiele różnych wyzwalaczy, niezbędny jest jeden, żeby aktywować zdarzenie. Wieloskładnikowy koniec oznacza wiele konsekwencji np. wiele wysłanych wiadomośći Wyjątek - informuje że powinien zostać wygenerowany błąd, który zostanie wychwycony przez pośredni przypadek błędu
Notacja - wyzwalacze cd Rekompensata (compensation) – informuje, że niezbędna jest rekompensata, jej użycie przez pośredni wyzwalacz występuje kiedy proces zostaje wycofany (odwołany). Anulowanie (End)– Użytkownik decyduje aby anulować proces, zakończenie z normalną obsługą zdarzeń (normal event handling) Zakończenie (Kill) – Fatal error, wszystkie czynności (działania) w procesie powinny zostać zakończone. Brak rekompensaty i obsługi zdarzeń.
Przykład systemu aukcyjnego
Bramki Exclusive Decision/Merge (XOR) Data-Based XOR Decision Event-Based XOR Decision Inclusive Decision/Merge (OR) Complex Decision/Merge Parallel Fork/Join (AND)
Bramki Decyzyjne oparte na danych (data-based)XOR Decyzyjne oparte na zdarzeniu XOR
Bramki Exclusive Merge (Złączenie) Inclusive OR decision
Bramki Inclusive OR Merge Complex Decision
Bramki Complex merge Parallel Forking (AND) Parallel Joining
Prosty proces przepływu
Dalsza analiza Kto robi co – umieszczenie procesów i zdarzeń w zacieniowanych polach, zależnie od wykonawcy. Obszar można grupować w pasy Obszar może reprezentować: Organizacje Funkcje Aplikację (albo software) Miejsce (fizyczne w firmie) Klasę (moduł oprogramowania w obiektowej aplikacji) Encję (tabela w bazie danych) Pas (tor) – np. departament, w zależności czym był obszar
Obszar i pasy(tory)
Przetwarzanie danych Obiekty danych nie mają bezpośredniego wpływu na przepływ procesu, dostarczają tylko informacji o tym co robi proces i jakich dokumentów używa Stan danych - informacje o tym jak dane zostały przetworzone w trakcie procesu. Dodatkowe informacje tekstowe Grupowanie obiektów w celu ich wizualnej organizacji
Sekwencje i przepływ wiadomości Linia przepływu wiadomości Przepływ sekwencji czynności i sekwencji komunikatów: Sekwencje organizują przepływ sterowania (sequence flow) tylko w obrębie tego samego obszaru (organizacji) Przepływ sterowania między zdarzeniami, procesami i bramkami między różnymi obszarami (pools) jest realizowany za pomocą przepływu komunikatów (message flow).
Sekwencje i przepływ komunikatów - przykład
Czarna i biała skrzynka (Black and white box)
Podsumowanie BPMN to: Jednak BPMN nie wyeliminuje UML Nowa notacja Jeden diagram Przejrzystość i zrozumiałość dla ludzi biznesu Łatwość modelowania złożonych procesów biznesowych. Formalny mechanizm przetwarzania procesu biznesowego do dokumentu BPEL4WS(Business Process Execution Language for Web Services) Jednak BPMN nie wyeliminuje UML