Business Process Model and Notation (BPMN) II Business Process Management Herbstsemester 2016 Prof. Dr. Jana Koehler
Schwerpunkt Heute: Gute Modelle Style Guidelines "BPMN Knigge" 2
Agenda Modellaufbau Stilkonventionen Syntaktisch und semantisch korrekte Modelle Modell und Instanz eines Modells Pattern und Anti-pattern 3
Modellaufbau Wie kommen wir zu einer guten and adäquaten Struktur unserer Prozessmodelle? 4
Modellierungsebenen 5 SAP: BPM Überblick
Daten, Daten, Daten und ihre Lebenszyklen Daten (Geschäftsobjekte) durchlaufen verschiedene Zustände Prozesse verändern diese Zustände Prozessziele lassen sich sehr gut durch die (End)-zustände von Geschäftsobjekten beschreiben 6
Grundlegende Fragen Mit welchen Geschäftsobjekten arbeiten die Prozesse? Wer hat Zugriff auf welche Geschäftsobjekte? Welche Zustände der Geschäftsobjekte kennen die Prozessakteure? Wie interagieren die Geschäftsobjekte durch ihre Zustände? 7
Prozesse und Objekt-Lebenszyklen Prozesse verändern Daten getrieben und gesteuert durch Ereignisse und Regeln Event as business-relevant state of an information object which is controlling or influencing the further procedure of the business process [ARIS] Welcher Zustand eines/mehrerer Objekte löst einen Prozess aus? Welche Zustände sind erfolgreiche Endzustände von Objekten (= Prozessziele)? Welche Zustände erfordern eine Fehlerbehandlung? In welchen Zuständen steuern welche Regeln die Zulässigkeit von Aktivitäten von Akteuren? 8
Geschäftsregeln und Lebenszyklen Acquired Available on Sale A car from another branch may be allocated, if there is a suitable car available and there is time to transfer it to the pick-up branch. Allocated on Rent Returned Damaged Overdue In Service If a car is three days overdue and the customer has not arranged an extension, insurance cover lapses and the police must be informed. Regeln sichern die Integrität der Daten und regulieren das Verhalten der Akteure 9
Fehlerzustände in einem Lebenszyklus und ihre Behandlung 10
Prozessmodellierung auf 3 Ebenen End-End-Prozess (mehrere Objekte) + Rollen + Regeln Workflow ((Teil-) Lebenszyklus - ein Objekt) Aktivitäten (Zustandsübergänge - ein Objekt) 11
Prozess-Fragen stellen (Bruce Silver) Wie beginnt der Prozess? Durch welches Ereignis wird er ausgelöst? Gibt es mehr als eine Möglichkeit den Prozess zu starten? Wie endet der Prozess? Gibt es mehr als einen Endzustand? Gibt es Endzustände, die Erfolg/Misserfolg unterscheiden? Wie verläuft der Prozess von X nach Y? Woher weiss eine Person, dass Y nach X kommt? Gibt es alternative Wege? https://www.blueworkslive.com/corp/gettingstarted/webinar-process-mapping-101.html 12
Elementare Stilkonventionen 13
Namenskonventionen Substantive für Prozesse Objekt Verb Form für Aktivitäten (D) Verb Object (En) 14
Einheitlicher Layout Stil entweder oder 15
Gateways gut beschriften 16
Stilregeln nach Bruce Silver (Ausschnitt) 17 Die Prozesslogik muss sich im Diagramm widerspiegeln Hierarchien einführen, ein Prozessmodell passt auf 1 Seite Externe Teilnehmer durch abstrakte Pools darstellen Kundenorientierte Prozesse beginnen mit einer Nachricht vom Kunden XOR Gateways möglichst mit Ja/Nein Pfad versehen Message start events mit "Empfange X" (X = Nachrichtenobjekt) benennen Endzustände explizit benennen, Erfolg/Misserfolg unterscheiden Message flows mit dem Namen des Message Objekts bezeichnen
Beispiel ech-0158: BPMN-Modellierungskonventionen für die öffentliche Verwaltung http://verwaltungsmodernisierung.ning.com/profiles/blogs/6462126:blogpost:6732 Version 1.1, Genehmigt, 04.09.2014 18
Syntaxfehler vermeiden I 1. Keine 2 Prozesse in einem Pool 2. Keine unverbundenen Tasks 3. Kein message flow zwischen Lanes und innerhalb eines Pools 1 und 2 sind in BPMN 2.0 jetzt erlaubt, sollten aber vermieden werden 19
Syntaxfehler vermeiden II Kein Sequenzfluss über Poolgrenzen hinweg Message flow ersetzt nicht das Startereignis Jeder Prozess sollte mit Start- und Endereignis abgegrenzt werden 20
Standardfluss verwenden "Steckenbleiben" vermeiden 21
Wie kann man das modellieren? Wir wollen eine Pizza bestellen, schauen uns gleichzeitig die Speisekarte unserer Lieblingspizzeria an und recherchieren im Internet nach einer anderen Pizzeria. Sobald eine der beiden Aktivitäten ein Ergebnis bringt, bestellen wir die Pizza. Komplexes Gateway 22
Modell versus Instanz Modell beschreibt den grundlegenden Ablauf eines Prozesses mit allen wesentlichen Pfaden In einer Instanz wird genau ein Pfad durchlaufen A-B-C B-A-C A-C B-C 25
Richtig oder Falsch? 26
(1)?? Es wird entweder ein kleines oder ein grosses X bestellt 27 Kommt auf die Implementation des XOR an. Wirkt die XOR Semantik stärker als die Bedingungen, so wird nach dem 1. erfolgreichen Test abgebrochen, d. h. die Aussage ist richtig.
(2) C wird immer ausgeführt 28
(3) C wird genau zweimal ausgeführt 29
(4) C wird immer ausgeführt 30
(5) Bed. 1 Bed. 2 D wird in jeder Instanz genau einmal ausgeführt 31
(6) D wird immer zweimal ausgeführt 32
(7) C wird in manchen Instanzen mehrfach ausgeführt 33
(8) C wird nie ausgeführt 34
(9) C wird nur einmal ausgeführt 35
(10) Der Prozess endet nie (wenn das XOR korrekt modelliert ist) Die Instanzen dieses Prozesses beginnen mit A-C oder B-C 36
(11) A kann nie (in keiner Instanz) ausgeführt werden 37
(12) A kann nie ausgeführt werden 38
(13) A wird unendlich oft ausgeführt 39
(14) A wird immer (in jeder Instanz) unendlich oft ausgeführt 40
(15) E wird mehrfach ausgeführt Freund, S. 43 41
(16) A wird immer unendlich oft ausgeführt 42
Ausführungsfehler Prozessmodell führt zu mehr Ausführungspfaden als beabsichtigt Zusätzliche Instanzen einer Task Ursache: lack of synchronization Livelock: unendliche Iteration eines Prozesses ohne dass ein Fortschreiten möglich ist Prozessmodell führt zu weniger Ausführungspfaden als beabsichtigt Einige Tasks werden in einigen oder allen Instanzen nicht ausgeführt Ursache: deadlock 43
Korrektes Prozessmodell Ein Prozessmodell ist korrekt (engl. sound), wenn es keinen Deadlock und keinen Lack of Synchronization enthält. 44
Deadlock vs. Lack of Synchronization Deadlock Prozess ist blockiert Einige Aktivitäten werden nie ausgeführt Token bleibt im Prozess stecken, ohne dass Endzustand erreicht wird Lack of Synchronization (LoS) Einige Pfade/Aktivitäten werden unvorhergesehen mehrfach durchlaufen Risiko des unkontrollierten Datenzugriffs durch Mehrfachausführung von Aktivitäten Mehrere Token auf einer Kante 45
Sequentielle Antipattern Lack of Synchronization durch AND-XOR LoS Potentieller Lack of Synchronization durch IOR-XOR Potential LoS Deadlock durch XOR-AND Deadlock 46
Zyklische Antipattern Zyklischer Deadlock durch AND- AND und AND-XOR Deadlock Zyklischer Lack of Synchronization durch XOR-AND Deadlock Potentieller Lack of Synchronization durch XOR-IOR LoS Potential LoS 47
(17) Ein Modell mit AND Gateways, das keine zyklischen Pfade enthält, ist korrekt. 48
(18) Ein Modell mit nur XOR Gateways und zyklischen Pfaden kann keinen Lack of Synchronization enthalten. 49
Fehlt hier ein Prozesspfad? 50
(19) Overlapping Pattern In jeder Instanz dieses Modells wird entweder t3 oder t4 ausgeführt. t1 t3 t4 t2 t3 t4 t1 t4 t3 t2 t4 t3 51
Quelle: Freund et al. S. 185, Abb. 4.30 52
Welche Version unterstützt ein BPMN Tool? Der Symboltest von Bruce Silver Version 1.0 Version 1.1 Version 2.0 + BPMN 2.0 XML Austauschformat! 53
Zusammenfassung Qualitativ hochwertige Modelle sind wichtig für korrekte Analysen und Simulationen und erleichtern die Umsetzung in der IT Ca. 60-90 % aller nichttrivialen Prozessmodelle (mind. ein zyklischer Pfad oder 2 verschiedene Gateways) sind semantisch nicht korrekt, d.h. nicht ausführbar Stilkonventionen verbessern die Modellverständlichkeit, die Verwendung strukturierter Modellfragmente vermeidet Ausführungsfehler 57
Diese Fragen sollten Sie beantworten können: 1. Welches sind die wichtigsten Stilkonventionen für BPMN und warum werden sie verwendet? 2. Worin besteht der Unterschied zwischen einem Modell und einer Instanz dieses Modells? 3. Was versteht man unter einem Deadlock und unter Lack of Synchronization? Geben Sie Beispiele an, wie diese Fehler auftreten können. 58