UML Aktivitätsdiagramme

Dynamisches Verhalten

Aktivitätsdiagramme beschreiben Ausschnitt aus Ablaufmöglichkeiten eines Systems mit Hilfe von Aktivitäten

Einsatz: Detaillierte Sicht auf Anwendungsfälle | den Ablauf innerhalb von Klassen | Geschäftsprozessmodellierung mit der UML


Aktivität – Parametrisiertes Verhalten, dargestellt als koordinierter Fluss von Aktionen

Aktivitätsknoten:image-1664209087734.png
Aktionen: abgerundete Rechtecke
Objekte: Rechtecke
Kontrollflusselemente: verschiedene Symbole für Entscheidungen, parallele Ausführung
Kontrollfluss: Verbinden von Knoten mit gerichteten Kanten

Aktion – Benanntes Element, das einen einzelnen atomaren Schritt innerhalb der Aktivität darstellt

Kann eingehende und ausgehende Aktivitätskanten enthalten, die Kontroll- und Datenfluss von und zu anderen Knoten definieren
Kann andere Aktivitäten aufrufen (call activity action)
Beginnt mit der Ausführung, wenn alle Eingabebedingungen erfüllt sind


Start- und Endzustandimage-1664209622178.png

Startknoten – Start des Kontrollflusses in einer Aktivität
Aktivitäts-Endknoten – Ende jeglicher Kontrollflüsse in einer Aktivität
Fluss-Endknoten – Ende eines einzelnen Kontrollflusses

Endzustände können mehrfach vorkommen, Startzustände ideal nur einmal


Entscheidungimage-1664209962271.png

Steuerknoten, der eingehenden Kontrollfluss akzeptiert und Kontrollfluss aus mehreren ausgehenden Kontrollflüssen auswählt

Annotation von Bedingungen in Form von booleschen Ausdrücken an Transitionen
Unterstützt auch einen vordefinierten else -Kontrollfluss
Optionaler Merge-Knoten fügt mehrere eingehende alternative Flüsse zusammen


Parallele Ausführungspfade

Fork – Steuerknoten, der einen eingehenden Kontrollfluss in mehrere nebeneinander laufende Kontrollflüsse aufteilt

Die Ausführung des Diagramms durchläuft alle parallelen Pfadeimage-1664210239165.png
Die Ausführungsreihenfolge nebenläufiger Pfade ist irrelevant: nacheinander, gleichzeitig, abwechselnd

Join – Steuerknoten, der mehrere eingehende nebenläufige Kontrollflüsse synchronisiert

UND-Synchronisation: Die Kontrollflüsse aller Transitionen müssen vorliegen, bevor die Transition starten kannimage-1664210562609.png

Probleme mit Fork und Join


Verantwortlichkeitsbereicheimage-1664210973320.png

Gruppierung von Aktionen anhand gemeinsamer Merkmale

Definieren organisatorische Verantwortlichkeiten
Können hierarchisch aufgebaut werden: Klassenzugehörigkeit, Organisationseinheiten, Akteuren


Objekte und Objektfluss

image-1664211238111.png

Objektflusskanten – Kanten, mit denen der Datenfluss zwischen Aktionsknoten angezeigt wird

Objektknoten – Knoten, mit dem Objekte definiert werden. Vorliegen eines Objektes zu Zeitpunkt innerhalb einer Aktivität

image-1664211422682.png

Pin – Objektknoten für Ein- und Ausgänge von Aktionen

image-1664211520886.png

Data Stores – Zentraler Speicherknoten für nicht-transiente Informationen


Signale senden und empfangenimage-1664259454906.png 

Sendesignalaktion – Senden eines Signals 

Annahmeereignis – Aktion, die auf das Eintreten eines bestimmten Ereignisses (z. B. Signal) wartet 

Sender- und Empfängerobjekte von Signalen müssen nicht spezifiziert werden 


Wartezeitereignisse und Unterbrechungenimage-1664259904268.png

Wartezeitaktion – Warten auf das Eintreten eines Zeitereignisses

Unterbrechbare Aktivitätsregionen – Aktionen, deren Ausführung durch Ereignisse unterbrochen werden können

Modellierbeispiele

Wie erstelle ich Aktivitätsdiagramme?
1. Wer sind die wichtigen Akteure des zu beschreibenden Prozesses?
2. Welche relevanten Aktionen führen diese Akteure aus?
3. Welche temporalen bzw. kausalen Zusammenhänge bestehen zwischen den Aktionen (Sequenzen, Entscheidungen,...)?
4. Welche Objekte werden für die Ausführung der Aktionen benötigt bzw. durch eine Aktion erzeugt oder verändert?
5. Welche asynchronen Signale werden ausgetauscht und wie hängen die Ausführungspfade zwischen den Aktionen davon ab?


Modellierungsbeispiel
Es soll die Abwicklung einer Warenbestellung in einem Shopssystem modelliert werden. Die Bestellung ist der Eingabeparameter der Aktivität. Falls eine Bestellung angenommen wurde, müssen zunächst alle erforderlichen Informationen gesammelt und eingegeben werden. Danach wird der Versand der Ware veranlasst und eine Rechnung versendet. Nach Versand und Zahlungseingang wird der Vorgang abgeschlossen.

image-1664261395890.png