Einführung in BPMN

So, nachdem ich nun schon einige Artikel mit Ablaufdiagrammen gepostet habe (so zum Beipiel zur Optionsauswahl, zum allgemeinen Ablauf der KI und zur Kaufentscheidung) wurde ich nun gefragt, wie man diese eigentlich liest. Kurz gestockt, hmm, stimmt, das gehört wohl nicht zum Standardausbildungskanon ^^ Also die genutzte Notation ist die BPMN, also die Business Process Modelling Notation.

In diesem Artikel möchte ich kurz auf diese eingehen und die zentralen (also die von mir genutzten) Symbole erläutern, nach dieser kurzen Einführung sollte das Lesen der von mir geposteten Ablaufdiagramme also kein Problem mehr sein :)

Erst einmal so ganz generell, was ist die Business Process Modelling Notation und was kann sie leisten? BPMN ist eine standardisierte Art, Prozesse in Ablaufdiagrammen darzustellen. Ein Prozess besteht aus einem Anfang, einer vordefinierten Abfolge von Tätigkeiten und einem Ende. Vordefinierte Abfolge heißt hier nicht, dass der Prozess immer genau gleich durchlaufen wird – nein, der Weg, der tatsächlich genommen wird, kann variieren, abhängig von Entscheidungen, Auswertungsergebnissen oder Ereignissen. Vordefiniert soll hier heißen, dass für jede mögliche Konstellation der Ablauf vorgegeben ist.

Das heißt also schon einmal, wir haben einen Anfang, ein Ende und dazwischen irgendwie Tätigkeiten. Und Möglichkeiten Entscheidungen, Auswertungsergebnisse oder externe Ereignisse einzubeziehen. Wenn man diese Liste nun noch erweitert um Pfeile (um die Ausführungsreihenfolge klar zu machen), Teilnehmer (wer soll diese Tätigkeit ausführen) und Bemerkungen (kann man immer mal brauchen) hat man schon alle Grundelemente zusammen. Die Symbole für diese Grundelemente sind in der folgenden Abbildung zu sehen.

Komponenten BPMN

Komponenten BPMN

Ein Pool stellt quasi einen Prozess dar. Man kann mehrere Prozesse in einem Diagramm darstellen, diese sind dann aber weitgehend unabhängig voneinander. Also Nachrichten austauschen ja, eine gemeinsame Abfolge nein. Die Lanes innerhalb eines Pools sind (im Allgemeinen) die Akteure eines Prozesses. Also zum Beispiel die verschiedenen Abteilungen, die Aufgaben im Prozess erfüllen. Jeder Prozess beginnt mit dem Startevent (Start Event). Dieses Event wird von außen getriggert, zum Beispiel indem dem System auffällt, dass ein NSC gerade nichts zu tun hat. Oder (mal ein etwas realitätsnäheres Beispiel) eine Kundenbestellung eintrifft. Mit Pfeilen (Sequence Flows) wird deutlich gemacht, was als nächstes zu tun ist. Man startet also beim Startevent und folgt dem ausgehenden Pfeil zum nächsten Element. In vielen Fällen wird dies eine Aufgabe sein, ein Task. Der Text der Aufgabe sollte klar machen, was zu tun ist. Nach der Erfüllung dieser Aufgabe folgt man dem ausgehenden Pfeil zum nächsten Element.

Außer in gaaaaaanz einfachen Prozessen wird man dabei früher oder später auf einen Gateway treffen. Das sind Operatoren, die genutzt werden um dem Ablauf ein wenig Pfeffer geben zu können. Mit einem Gateway kann man Entscheidungen, Auswertungsergebnisse oder externe Ereignisse einzubeziehen. Gateways können genutzt werden, um Verzweigungen darzustellen oder um Prozessflüsse zusammen zu führen.

  • Der XOR-Gateway sorgt dafür dass von den ausgehenden Pfeilen nur genau einer verfolgt wird. Steht also an dem XOR-Gateway “Ist der Kunde Neukunde?”, dann sollte es einen ausgehenden Pfeil mit Beschriftung “ja” und einen mit Beschriftung “nein” geben und man folgt dem jeweils zutreffenden zum nächsten Element.
  • Der OR-Gateway ist da kollanter, es werden hier alle zutreffenden Pfeile weiter verfolgt. Steht an dem XOR-Gateway “Bekommt Kunde Vergünstigungen?” und es gibt drei ausgehende Pfeile “Student”, “Bonuskarte” und “Rentner”, so würden bei einem Studenten mit Bonuskarte also zwei Pfeile weiter verfolgt werden, der dritte nicht. Mit einem OR-Gateway kann man auch Flüsse zusammenführen. So könnte es eine Aufgabe “Auftrag ablehnen” ausgeführt werden, wenn das Produkt nicht lieferbar ist oder die Bestellung fehlerhaft war.
  • Sollen alle ausgehenden Pfeile weiter verfolgt werden, so nutzt man dafür einen Parallel Gateway. Hier werden alle ausgehenden Pfeile gleichzeitig weiter verfolgt. Analog müssen alle eingehenden Pfeile “erfüllt” sein, damit von einem Parallel Gateway aus weiter gearbeitet wird. Im obigen Beispiel könnte der Auftrag angenommen werden, wenn das produkt lieferbar ist und die Bestellung fehlerfrei ist.
  • Als letztes möchte ich noch den Complex Gateway ansprechen, dieser erlaubt das Abbilden komplexerer Verzweigungen wie “ausführen, wenn vier von fünf eingehende Pfeile wahr sind” oder “ja, wenn eine ermittelte Zufallszahl > 0.75 ist”. Wenn man einen komplexen Gateway einsetzt, sollte man natürlich genauer beschreiben, was dieser tun soll.

Cookie

Ich bin.. hmm, wie fange ich nun am Besten an? Mit dem Trivialen: Ich bin Cookie :) Und wie drücke ich nun am besten aus, wie ich mich in Science-O-Matics und in !∃2.0 einbringe? Vielleicht kurz zu mir: Ich habe Mathe mit einem Schwerpunkt in der reinen Mathematik studiert, nach meinem Abschluss dann ein Jährchen mal ein wenig Geld verdient in der ABAP Entwicklung, dann bin ich zurück zur Uni, habe mit einem kurzen Exkurs in die mathematische Optimierung mein Wirtschaftsmathe Diplom vollendet und mache gerade meinen Doktor in der quantitativen Forschung der Wirtschaftswissenschaften, also Optimierung auf Wirtschaftsseite, Modelle aufstellen, Algorithmen analysieren, anpassen oder entwickeln, implementieren.. Ist echt cool :D Also im Herzen Mathematikerin. Nein, Informatikerin.. Beides halt ^^ Für !∃2.0 mache ich vor allem Mathemagie und deren Umsetzung, aber auch viele andere Hintergrundmodelle. Sachen, die man in Spielen schon immer mal cool gefunden hätte.. "einfach" mal umgesetzt als eigenständiges Feature. So ist zum Beispiel die Generierung der Umwelt zum größten Teil aus meiner Feder. Hmm.. was schreibt man sonst noch in eine Vorstellung rein? Das Alter? - Vergesst es, nach dem Alter einer Dame fragt man nicht :P Hobbies? Tja, Computerspiele, wie man sich wohl denken kann ^^ Aber auch LARP, Gesellschaftsspiele und Trading Card Games, nähen und Sport würde ich dazu zählen.. Ehrlicherweise auch Shoppen, Schuhe und Klamotten ;) Ach, warum ich Cookie heiße? Das sollte schnell klar werden ohne dass ich es ausführe ;)
Posted in Theory-O-Matic. Tagged with , .

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>