| Workflow-Modellierung mit der UML 2.0 | | Drucken | |
|
Von einer benutzergerechten Software wird heute erwartet, dass sie die Worksflows in einem Unternehmen optimal unterstützt. Bei der Entwicklung neuer Software sorgt eine frühzeitige und effektive Modellierung der Worksflows dafür, dass zukünftige Benutzer ihre Arbeitsabläufe zielgerichtet durchführen können, um die gewünschten Ergebnisse zu erhalten. Eine beliebte Notation für die Modellierung von Workflows ist seit Jahren die UML (Unified Modeling Language), die sich als Standardnotation für die Modellierung objektorientierter Systeme durchgesetzt hat. Zur Zeit wird die Version 2.0 der UML von der OMG (Object Management Group) fertiggestellt. Während sich beispielsweise bei den Klassendiagrammen gegenüber der UML 1.x nicht viel geändert hat, gibt es bei der sogenannten Verhaltensmodellierung, zu der auch die Worksflows zählen, einige grundlegende Änderungen.
WorkflowDer Begriff Workflow beschreibt die Automatisierung eines Geschäftsprozesses, somit also einen Geschäftsprozess auf technischer Ebene. Ein Geschäftsprozess ist eine Transaktion oder eine planmäßige Folge von Transaktionen zwischen betrieblichen Objekten im Rahmen der Leistungserzeugung. Transaktionen können in Wechselwirkung mit einem oder mehreren Objekten oder Daten stehen. In diesem Fall können Eingabedaten unter Einsatz von Steuerinformationen und Ressourcen in Ausgabedaten transformiert werden, wobei ein Austausch von Leistungen und/oder Botschaften zwischen den Objekten stattfindet.
Bereits in der UML 1.x wurden Workflows mit Hilfe von Aktivitätsdiagrammen modelliert, das ein Sonderfall des Zustanddiagramms war /Balzert 01/. Oberflächlich betrachtet bleibt das auch in der UML 2.0 so – aber Aktivitätsdiagramme sind jetzt konzeptionell etwas völlig Neues und auch in Punkto Notation ist viel mehr möglich als bisher /UML 2.0/. AktionsknotenDie kleinste ausführbare Funktionseinheit innerhalb einer Aktivität, die nicht weiter zerlegt wird, wird als Aktion bezeichnet. Eine Aktion innerhalb einer Aktivität kann ausgeführt werden, wenn die Vorgänger-Aktion beendet ist, wenn notwendige Daten zur Verfügung stehen (zum Beispiel Bestellung liegt vor) oder wenn ein Ereignis auftritt (zum Beispiel Jahreswechsel).
Eine Aktion (action) kann nicht nur ein elementarer Verarbeitungsschritt, sondern auch ein Aktivitätsaufruf sein, das heisst, von der Ausführung her gesehen, kann sich hinter einem Aktionsknoten eine sehr komplexe Verarbeitung verbergen. Aktionen werden durch Rechtecke mit abgerundeten Ecken dargestellt. In das Rechteck werden der Name oder eine kurze Beschreibung der Aktion eingetragen. Steht eine Aktion für einen Aktivitätsaufruf, dann wird rechts unten ein kleines Symbol angegeben, das wie ein Rechen aussieht. Eine Aktivität wird durch ein großes Rechteck mit abgerundeten Ecken modelliert, wobei links oben der Name der Aktivität eingetragen wird. Die Verarbeitungsschritte der Aktivität werden durch einen Graphen dargestellt, der aus Knoten (nodes) und gerichteten Kanten (edges) besteht (Bild 2). Die Knoten entsprechen im einfachsten Fall den Aktionen. Die Kanten verbinden die Knoten und stellen die Kontroll- und Datenflüsse der Aktivität dar. Im einfachsten Fall geben sie die Reihenfolge der Aktionen an (Kontrollfluss). Eine Kante wirdals gerichteter Pfeil dargestellt, der zusätzlich mit einem Namen beschriftet werden kann. Der gleiche Aktionsname kann in einer Aktivität mehrfach vorkommen, beispielsweise, wenn die gleiche Aktion mehrere Male ausgeführt wird. Die Aktivität ist als Namensraum für die in ihr enthaltenen Aktionen zu sehen. Viele Aktivitäten benötigen Eingaben und produzieren Ausgaben. Sie werden durch Parameterknoten beschrieben. Kontrollknoten
Im einfachsten Fall werden Aktionen sequenziell nacheinander ausgeführt. Es ist aber auch möglich, Verzweigungen des Kontrollflusses zu beschreiben. In Bild 3 wird durch die Aktion Auftrag prüfen ermittelt, ob nur Lagerartikel bestellt wurden oder auch solche, die erst vom Lieferanten bezogen werden müssen. Im zweiten Fall wird die Aktion Artikel bestellen ausgeführt, andernfalls ist nichts zu tun. Vor der Weiterbearbeitung des Auftrags werden die Kontrollflüsse wieder zusammengeführt (Bild 3). BeispielAls Beispiel für einen – zunächst vereinfachten - Workflow wird die Bearbeitung einer eingehenden Bestellung vom Kunden bzw. eines Auftrags betrachtet. Bild 6 zeigt, wie die Ausführung des Auftrags mit der UML 2.0 modelliert wird. Eingabeparameter ist der vorliegende Auftrag. Im ersten Schritt wird geprüft, ob der Kunde schon im System vorhanden ist (Kundendaten abrufen). Ist es ein Neu-Kunde, dann wird die Aktion Kunde neu erfassen ausgeführt. Haben sich bei einem „alten" Kunden die Daten geändert, dann werden die Kundendaten aktualisiert. Andernfalls ist nichts zu tun. Wenn die Auftragspositionen erfasst sind, können die Aktionen Rechnung drucken und Kreditkarte belasten in beliebiger Reihenfolge ausgeführt werden. Sind beide abgeschlossen, kann die Ware verpackt und versandt werden. Ausgabeparameter dieser Aktivität ist die Ware mit der Rechnung. Objektknoten und –flüsse
Außer den Aktions- und Kontrollknoten gibt es in der UML 2.0 das Konzept des Objektknotens. Ebenso können mit einer Kante nicht nur Kontrollinformationen (control edge), sondern auch Objektflüsse (object flow edge) verbunden sein. Während Kontrollflüsse die Ausführungsreihenfolge von Aktionen bestimmen, modellieren Objektflüsse Objekte und Daten, die von einem Knoten erzeugt und von einem anderen benötigt werden.
Objektknoten können alternativ zur Rechteck-Notation als „Pins" modelliert werden. Das sind kleine Quadrate, die direkt auf der linken und rechten Seite einer Aktion angetragen werden. Sie stellen der Aktion Eingabewerte zur Verfügung und nehmen Ausgabewerte von ihr entgegen. Neben die Pins wird der Name des Objektknotens (zum Beispiel Klassenname) angetragen. Zusätzlich kann der Zustand, in dem sich das Objekt befindet, unter dem Namen in eckigen Klammer angegeben werden. |
| weiter > |
|---|




