Aktivitätsdiagramme verfeinern Teil 2 – UML-konform

Im ersten Teil zeigte ich Ihnen eine einfache Möglichkeit, Aktivitätsdiagramme auf unterschiedlichen Ebenen konsistent zu halten. Im zweiten Teil möchte ich Ihnen nun die korrekte (formalere) Variante vorstellen.

Ich stelle mir eine Aktivität als einen Dienstleister vor, der mit einer Aufgabe betraut wird. Wie er die Aufgabe konkret löst, interessiert mich (im ersten Schritt) nicht. Ich bin an dem Ergebnis interessiert, das er produziert und mir zurückliefert.

In der UML bezeichnet man dies bei Aktivitäten als Parameter:

Klicken Sie hier um das Bild zu vergrößern
Genauer gesagt wird an dieser Stelle ein (zu genau dieser Aktivität gehörendes) Objekt zurückgegeben – das heißt,  wir brauchen eine Klasse:

Klicken Sie hier um das Bild zu vergrößern
Ist das Ergebnis keine Zahl, Datum oder Ähnliches, sondern ein Zustand/Ereignis (wie zum Beispiel ok /nicht ok), dann definieren wir an dieser Stelle noch schnell einen Typ mit einer Aufzählung (enumeration).

Klicken Sie hier um das Bild zu vergrößern

Meist steuert dieser Rückgabewert den weiteren Prozess:

 

Klicken Sie hier um das Bild zu vergrößern
Doch wie sieht es nun in der Aktivität aus? Dort muss ich jetzt nur noch an den entsprechenden Stellen den Rückgabewert setzen.

Klicken Sie hier um das Bild zu vergrößern
Fertig!

Klicken Sie hier um das Bild zu vergrößern

 

Klicken Sie hier um das Bild zu vergrößern

Klicken Sie hier um das Bild zu vergrößern
Fazit:

Sie kennen nun beide Varianten, die pragmatische und die absolut korrekte, wie sie die UML vorsieht.

Zur Frage nach dem besseren Ansatz kann ich nur für mich sprechen. In den Projekten, in denen ich modelliere oder andere Personen anleite zu modellieren, haben wir meist folgende Rahmenbedingungen und Ziele:

1) Aus den (fachlichen) Prozessen, die ich modelliere, wird kein Code generiert.

2) Ich möchte die Prozesse mit anderen Personen besprechen und dabei ist es hilfreich, dass diese Personen die Prozesse auch verstehen.

3) Meine Aufgabe ist es, effizient fachlich richtige und verständliche Modelle zu erstellen.

Und damit ist mein Gewinner die pragmatische Lösung aus dem ersten Teil.

Viel Spass beim Modellieren und vielen Dank für die zahlreichen Rückmeldungen und Lösungen :) Die Gewinner wurden bereits benachrichtigt.

Hier geht es zum 1. Teil…

Schreibe einen Kommentar

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


+ zwei = 9