# 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  ## Aktivitäten  > **nicht weiter zergliederte, operative ausführbare Bearbeitungseinheit** - Definiert Arbeit die im GP ausgeführt wird - kann manuell oder automatisiert ausgeführt werden ### Aufgabentypen  ## Teilprozesse   - Subprozess muss IMMER mit leerem Startereignis beginnen ## Ereignisse  - hat keine eigene Dauer  ### Zeitereignisse #### Unterbrechendes Zeitereignis  #### Nicht-unterbrechendes Zeitereignis  ### Bedingungsereignis - Unterbrechung/Fortsetzung des Prozesses bis/wenn Bedingung eingesetzt ist -  ### Fehlerereignis  ## Konnektoren ### Sequenzflüssse -  - Verbinden Aktivitäten untereinander/mit Events/Gateways ### Nachrichtenflüsse -  - Kommunikation über einen Pool heraus ### Assoziation -  - Verbindet Kommentare, Datenobjekte, zusätzliche Teilnehmer, IT-System ## Tokenkonzept ### XOR-Joins -  - kein Warten - Leitet alle Token durch ### AND-Joins -  - Synchronisiert - Wartet auf alle Token ### OR-Joins -  - 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 -  ### Paralleles Gateway -  ### Datenbasiertes inklusives Gateway - beschreibt UND-/ODER-Situation -  - 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 -  ## Pools und Lanes ### Pool - Einheit mit klar voneinander abgegrenzten organisatorischen Grenzen - bspw. Unternehmen #### Pools zuklappen (Blackbox) -  - Vereinbarte Schnittstellen einhalten ### Lane - repräsentiert verschiedene Prozessteilnehmen - Abteilungen / Personen / Rollen #### typische Fehler ##### Swimlanes :(  →  ## Nachrichtenfluss ### Nachrichtenfluss innerhalb eines Pools  ### Nachrichtenfluss innerhalb mehrerer Pools  ## Artefakte ### Textanmerkungen  ### Gruppierungen  ## Daten - Repräsentieren alle möglichen Informationen ### Datenspeicher  ## 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 -  ### 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   - Falls ereignisbasierter Split → KEIN ereignisbasierter Join -   ### Konnektoren modellieren  ### Pools modellieren - Keine Abläufe über Poolgrenzen hinweg -  - Es muss immer mindestens ein Pool vorhanden sein -  ### Lanes modellieren - Keine Lanes für automatisierte Aufgaben -  - nix in der Mitte von zwei Lanes - 