# Business Protocol Model and Notation (BPMN) ## [BPMN Modellierungstool](https://demo.bpmn.io/) ## Analytische vs. ausführbare Modellierung ### Analytisch - Grafische Modellierung von Prozess im IST- und SOLL-Zustand - Modellierungsmethodik - Teilweise Simulation von Prozessdaten ### Ausführbar - Definition von Benutzerinteraktion - Rollen, Aufgaben, Deadlines, Exceptionhandling, etc. - Definition von Systeminteraktion - Definition des Datenflusses ## BPMN-Basiselemente ![image_206.png](image_206.png) ## Aktivitäten ![image_207.png](image_207.png) > **nicht weiter zergliederte, operative ausführbare Bearbeitungseinheit** - Definiert Arbeit die im GP ausgeführt wird - kann manuell oder automatisiert ausgeführt werden ### Aufgabentypen ![image_208.png](image_208.png) ## Teilprozesse ![image_209.png](image_209.png) ![image_210.png](image_210.png) - Subprozess muss IMMER mit leerem Startereignis beginnen ## Ereignisse ![image_211.png](image_211.png) - hat keine eigene Dauer ![image_227.png](image_227.png) ### Zeitereignisse #### Unterbrechendes Zeitereignis ![image_231.png](image_231.png) #### Nicht-unterbrechendes Zeitereignis ![image_232.png](image_232.png) ### Bedingungsereignis - Unterbrechung/Fortsetzung des Prozesses bis/wenn Bedingung eingesetzt ist - ![image_233.png](image_233.png) ### Fehlerereignis ![image_234.png](image_234.png) ## Konnektoren ### Sequenzflüssse - ![image_212.png](image_212.png) - Verbinden Aktivitäten untereinander/mit Events/Gateways ### Nachrichtenflüsse - ![image_213.png](image_213.png) - Kommunikation über einen Pool heraus ### Assoziation - ![image_214.png](image_214.png) - Verbindet Kommentare, Datenobjekte, zusätzliche Teilnehmer, IT-System ## Tokenkonzept ### XOR-Joins - ![image_215.png](image_215.png) - kein Warten - Leitet alle Token durch ### AND-Joins - ![image_216.png](image_216.png) - Synchronisiert - Wartet auf alle Token ### OR-Joins - ![image_217.png](image_217.png) - Synchronisiert - Wartet auf alle aktiven Token ## Gateways - Verzweigung muss mit gleicher Verzweigung zusammengeführt werden - Stellt nut Logik dar - Verrichtet keine Arbeit - Keine Aktivität ### Datenbasiertes exklusives Gateway - Es kann nur eine der Verzweigungen ausgewählt werden - ![image_218.png](image_218.png) ### Paralleles Gateway - ![image_219.png](image_219.png) ### Datenbasiertes inklusives Gateway - beschreibt UND-/ODER-Situation - ![image_220.png](image_220.png) - Salat / Salat und etwas Ordentliches / etwas Ordentliches ### Ereignisbasiertes exklusives Gateway - Es wird gewartet bis eines der nachfolgenden Ereignisse eintritt - Der Pfad wird dann gewählt - ![image_221.png](image_221.png) ## Pools und Lanes ### Pool - Einheit mit klar voneinander abgegrenzten organisatorischen Grenzen - bspw. Unternehmen #### Pools zuklappen (Blackbox) - ![image_230.png](image_230.png) - Vereinbarte Schnittstellen einhalten ### Lane - repräsentiert verschiedene Prozessteilnehmen - Abteilungen / Personen / Rollen #### typische Fehler ##### Swimlanes :( ![image_222.png](image_222.png) → ![image_223.png](image_223.png) ## Nachrichtenfluss ### Nachrichtenfluss innerhalb eines Pools ![image_228.png](image_228.png) ### Nachrichtenfluss innerhalb mehrerer Pools ![image_229.png](image_229.png) ## Artefakte ### Textanmerkungen ![image_235.png](image_235.png) ### Gruppierungen ![image_236.png](image_236.png) ## Daten - Repräsentieren alle möglichen Informationen ### Datenspeicher ![image_237.png](image_237.png) ## Best-Practices ### Strenges Labelling - Aktivitäten - Bezeichnung aus Objekt und Verb - Keine Abkürzungen - Ereignisse - Beschriftungen, bei mehreren Start-/Endereignissen - Gateways - Eindeutige Namen - Gibt Entscheidung oder Bedingung an - Objekt, Verb, "?" ### Klarer Anfang, klares Ende - Jeder Prozess hat mind. 1 Start- & Endereignis ### Konsistente Flussrichtung - Prozesslogik sichtbar machen - gekreuzte Linien vermeiden #### Happy Path - Sollte leicht zu erkennen sein - zuerst zeichnen, dann alternative Abläufe hinzufügen ### Diagramme Vereinfachen - Anzahl redundanter Aufgaben verringern - Unterprozesse verwenden, um Aufgaben mit demselben Zweck zu gruppieren - ![image_238.png](image_238.png) ### Aktivitäten modellieren - nicht mehrere Instanzen der gleichen Aktivität - Mehrfachausführung - als Zuweisungsbedingung in der Dokumentation und den Zuweisungsregeln - Nur eine Aufgabe in einen Bereich ### Gateways modellieren ![image_239.png](image_239.png) ![image_240.png](image_240.png) - Falls ereignisbasierter Split → KEIN ereignisbasierter Join - ![image_241.png](image_241.png) ![image_242.png](image_242.png) ### Konnektoren modellieren ![image_243.png](image_243.png) ### Pools modellieren - Keine Abläufe über Poolgrenzen hinweg - ![image_244.png](image_244.png) - Es muss immer mindestens ein Pool vorhanden sein - ![image_245.png](image_245.png) ### Lanes modellieren - Keine Lanes für automatisierte Aufgaben - ![image_246.png](image_246.png) - nix in der Mitte von zwei Lanes - ![image_247.png](image_247.png)