Unified Modeling Language (UML) – eine Sprache für alle Fälle?


Neben der bereits vorgestellten Business Process Model and Notation (BPMN) existieren viele weitere Spezifikationssprachen zur grafischen Darstellung von Systemen, deren Interaktionen oder (Geschäfts-)Prozessen. Eine dieser Sprachen ist die Unified Modeling Language (vereinheitlichte Modellierungssprache), kurz UML, auf die in diesem Artikel anhand verschiedener Fragen näher eingegangen werden soll.

Was ist die Unified Modeling Language?

Die UML definiert einerseits die Begriffe für die Modellierung von Systemen als auch deren mögliche Beziehungen untereinander. Dieser Formalismus schafft Klarheit darüber, welchen Inhalt verschiedene Begriffe wie System, Systemgrenze oder Akteur haben und welche Beziehungen diese zueinander eingehen können. Diese Definitionsebene unterscheidet die UML von anderen Spezifikationssprachen wie BPMN oder EPK.

Ein anschauliches Beispiel für einen möglichen Formalismus ist das System des Bargeldautomaten:

affinis-Schaubild-System-Bargeldautomat

Schaubild: System Bargeldautomat

Ein Bargeldautomat ist in der Lage Operationen auszuführen (System – Bargeld auszahlen/PIN prüfen, Kontostand anzeigen, …) und ist gegenüber der Außenwelt durch eine Hülle abgeschlossen (Systemgrenze).
Durch Eingabemöglichkeiten an der Systemgrenze (EC-Karte einführen, PIN eingeben) können Akteure (Kunden mit EC-Karte) mit dem System interagieren, sprich eine Beziehung eingehen.

Die UML liefert neben der formalen Definitionsebene eine eigene Notation der enthaltenen Elemente, die sie im Prozessmanagement – besonders auf hoher Abstraktionsebene – einsetzbar macht. Zudem können Darstellungen in der Unified Modeling Language schnell und unkompliziert skizziert werden, wie z.B. das Schaubild zum Bargeldautomaten zeigt.

Welche Anwendungen hat die UML im Prozessmanagement?

Vor allem in der Konzeptionsphase von Prozessen können UML-Diagramme auf hoher Abstraktionsebene von Nutzen sein, um verschiedene sowohl fachlich integrierte als auch fachfremde Beteiligte in die Konzeption einzubinden. Auch bei der eigentlichen Modellierung von Prozessen ist es mitunter hilfreich von einem allgemeinen in ein spezielles Modell „abzusteigen“ (Deduktion).

Hierfür eignet sich die auf das Wesentliche reduzierte Menge an Notationselementen der UML besonders gut, wie am Beispiel des Prozesses „Spaghetti kochen“ deutlich wird:

affinis-Spaghetti-kochen

Quelle: Wikimedia Commons (https://commons.wikimedia.org/wiki/File:Activity_diagram_-1-.png)

Der Prozess kann auch ohne tiefgreifende Kenntnis der Notation nachvollzogen und immer weiter spezifiziert werden.

Welche Bestandteile der UML sind für das Prozessmanagement besonders relevant?

Die Basis für die gezeigten Modelle bildet die UML 2.0 Superstructure, in der die verwendeten Modellierungselemente hierarchisch (von einfach und häufig verwendet hinzu komplex) in Spracheinheiten gegliedert sind.
Auf einige für das Prozessmanagement besonders relevante Spracheinheiten wird im Folgenden näher eingegangen.

Spracheinheit Aktionen

Die Spracheinheit Aktionen umfasst die grundlegenden Bausteine zur Modellierung eines Verhalts gemäß dem Eingabe-, Verarbeitung-, Ausgabe-Schema (EVA)

Beispiel Suppe kochen:

affinis-Suppe-Kochen

Aktivität Suppe kochen

Aus den Eingaben Gemüse und Wasser wird durch die Verarbeitung Suppe kochen die Ausgabe Suppe erzeugt.

Spracheinheit Aktivitäten

Die nächste wichtige Spracheinheit zum Modellieren von Prozessen ist die Spracheinheit Aktivitäten. Die Erweiterung besteht darin, dass zwischen Objekten und Aktionen Daten- und Kontrollflüsse in Form von Kanten als Verbindungen (analog zu anderen Notationen) hinzukommen.

Hierzu nochmals das Beispiel Spaghetti kochen:

affinis-Spaghetti-kochen-2

Quelle: Wikimedia Commons (https://commons.wikimedia.org/wiki/File:Uml-Activity-Beispiel2.svg)

Darstellung in Diagrammen

Ein weiterer Vorteil der UML ist die Vielzahl an möglichen grafischen Darstellungen von Anwendungsgebieten in Form von Diagrammen. Diagramme in der UML lassen sich in Sieben Strukturdiagramme, sowie Sieben Verhaltensdiagramme unterteilen. Dadurch dass für das Prozessmanagement die Verhaltensdiagramme im Vordergrund stehen, folgt eine nähere Betrachtung des Anwendungsfall– und des Sequenzdiagramms.

Anwendungsfalldiagramm

Zweck des Anwendungsfalldiagramms ist die möglichst einfache grafische Darstellung des zu erwartenden Verhaltens eines Systems als Folge einer Interaktion mit Akteur oder anderen Systemen.

Als Beispiel dient wieder das System Bargeldautomat:

affinis-Geldautomat-2

System Bargeldautomat mit Aktivitäten

Basierend auf dem Diagramm lassen sich die 3 Anwendungsfälle identifizieren:

  • Pin eingeben
  • Pin prüfen
  • Geld ausgeben

Davon ausgehend können erste, abstrakte Prozesse zu diesen Anwendungsfällen zwischen dem Akteur und dem System modelliert werden. Das Diagramm gibt allerdings keinen (logischen oder zeitlichen) Ablauf der Interaktionen (Anwendungsfälle) vor.

Das Anwendungsfalldiagramm ist ausgehend von den Anforderungen an die Interaktionsmöglichkeiten zwischen System und Akteur ein guter Ausgangspunkt für die Konzeptionierung von Systemen und Prozessen.

Sequenzdiagramm

Zweck des Sequenzdiagramms ist die Darstellung von Interaktionen zwischen System und Akteur (oder weiteren Systemen) im zeitlichen Verlauf der auftretenden Ereignisse.

In der energiewirtschaftlichen Praxis werden Sequenzdiagramme standardmäßig dazu genutzt Geschäftsprozesse der Marktkommunikation für alle Beteiligten nachvollziehbar abzubilden und so eine gemeinsame Sprache zu schaffen.

(Die genannten Sequenzdiagramme sind vom BDEW nicht zur Wiederverwendung gekennzeichnet, können aber in diversen Prozessleitfäden/Anwendungshilfen eingesehen werden)

Warum UML im Prozessmanagement?

Dank Ihrer Vielzahl an Elementen und dem sehr einfachen Formalismus ist die UML eine gute Ausgangsbasis zum Aufbau eines Prozessmanagements, dass Abläufe für alle Beteiligten im betrieblichen Kontext transparent macht. UML ist außerdem nach ISO/IEC 19505 zertifiziert und wird laufend von der Object Management Group (die ebenfalls die BPMN entwickelt hat) weiterentwickelt.

In diesem Sinne lässt die Unified Modeling Language keine Wünsche offen und taugt tatsächlich als Sprache für alle Fälle, unabhängig von Branche, Detaillierungsgrad und Anwendungsgebiet.

Quelle:

Schaubild Spagetti kochen (1) – Wikimedia Commons (https://commons.wikimedia.org/wiki/File:Activity_diagram_-1-.png)

Schaubild Spagetti kochen (2) – Wikimedia Commons (https://commons.wikimedia.org/wiki/File:Uml-Activity-Beispiel2.svg)