Aktivitätsdiagramm

Einführung

Das Aktivitätsdiagramm (auch Ablaufdiagramm ) ist ein Verhaltensdiagramm und eine der vierzehn Diagrammarten in der Unified Modeling Language (UML). Es beschreibt ganz allgemein Abläufe. Es stellt dar, in welcher Reihenfolge bestimmte Aktionen ausgeführt werden. Eine Aktion ist ein einzelner Schritt innerhalb Aktivität. Eine Aktivität kann ein fachlicher oder betriebswirtschaftlicher Prozess sein bzw. einem Anwendungsfall entsprechen. Zudem kann der Algorithmus einer oder mehrerer Methoden im Sinne eines Programmablaufplans (kurz PAP) modelliert werden. Dieser Diagrammtyp der UML wird allgemein eingesetzt, wenn Abläufe übersichtlich dargestellt werden müssen. Somit eignen sich diese Diagramme für die Analyse- und die Designphase eines Softwareentwicklungsprozesses.

Aufbau

Im Folgenden werden die wichtigsten Bestandteile eines Aktivitätendiagramms vorgestellt. Neben den hier vorgestellten Bestandteilen gibt es noch weitere Symbole auf deren Erklärung an dieser Stelle verzichtet wird.

Konten

Alle Elemente des Aktivitätsdiagramms die verbunden werden nennt mal allgemein Knoten. Konten sind Start- und Endpunkte, Verzweigungen und Zusammenführungen, Splittung und Synchronisationen, Aktionen und Objekte.

Start und Endpunkt

Ein Aktivitätsdiagramm hat einen oder mehrere Start- und Endpunkte. Die Start- und Endpunkte sind über Knoten und Kanten mit einander verbunden. Knoten sind Aktivitäten, Objekte, Verzweigungen und Zusammenführungen.

Kanten

Kanten verbinden Knoten zu einem Ablauf. Eine Katen wird durch einen Pfeil dargestellt. Wenn eine Aktivität ausgelöst, wird beginnt ein so genanntes Token durch den definierten Ablauf zu wandern. Bildhaft kann man sich eine Kugel in einem Flipperautomaten vorstellen.

Token

Dieses Token wandert nach dem Start die erste Verbindungslinie entlang zum ersten Knoten. Nachdem die dort definierte Aktion ausgeführt wurde, wandert es auf der von diesem Knoten ausgehenden Verbindungslinie (Kante) zum zweiten Knoten, usw. Das Token markiert somit den aktuellen Stand der Ablaufausführung. Der Ablauf setzt sich fort, bis ein Endpunkt des Diagramms erreicht ist. Im Endknoten angekommen, wird das Token zerstört.

Aktion

Der wichtigste Konten ist die Aktion. Sie stellen die einzelnen Schritte dar, aus denen eine Aktivität besteht. Sie sind die kleinste, nicht mehr teilbare Einheit einer Aktivität. In einem Rechteck mit runden Ecken wird eine kurze Beschreibung der Aktion angegeben. Diese Beschreibung sollte kurz, knapp und präzise sein. Eine Aktion wird durch genau eine eingehende Kante /Pfeil aktiviert. Nachdem die Aktion abgearbeitet ist verlässt genau eine Kante /Pfeil die Aktion.

Objekt

Ein Rechteck ohne abgerundete Ecken stellt einen Objektknoten dar. Objektknoten symbolisieren Datenspeicher und entsprechen Instanzen der Objektorientierung. Wenn sich ein Objektknoten zwischen zwei Aktionen befindet, transportiert das Token von der ausgehenden Aktion Daten in den Speicher und von dort in die nächste Aktion. Wenn Token mit Objektknoten in Berührung kommen, transportieren sie die Daten, die im Objektknoten angegeben sind. In diesem Fall geben Token also nicht mehr nur an, wo sich die Ausführung einer Aktivität im Moment befindet. Sie beschreiben auch Daten, die von einer Aktion an die nächste übergeben werden müssen.

Aktionen können im Zusammenspiel mit Objektknoten Methoden entsprechen. Die vorausgehende Aktion erzeugt eine Rückgabe, die als Eingabe an die nächste Aktion übergeben wird. Das Aktivitätsdiagramm wird an dieser Stelle präziser und definiert genauer eine spätere Implementierung, weil es nicht mehr nur beschreibt, dass eine Aktion der anderen folgt, sondern darüberhinaus welche Daten von einer Aktion an die nächste weitergegeben werden.

Verzweigung

Die Raute stellt eine Verzweigung dar. Dieser Konten kann verwendet werden, um eine Verzweigung für ein Token zu modellieren. Welchen Weg der Token einschlagen soll, hängt davon ab welche Aussage in der Raute formuliert wurde und wie die Eingangszustände/ Eingangsbedingungen für die jeweilige Kante definiert wurden. Ist diese Bedingung erfüllt, wird ein Token dann auf genau einer der ausgehenden Verbindungslinien weitergeleitet. Werden durch eine Raute wieder mehrere Verbindungslinien vereint, wandert jedes eingehende Token sofort auf der ausgehenden Verbindungslinie weiter.

Gabelung oder Splittung

Der schwarze Balken symbolisiert eine Gabelung auch Splittung bezeichnet. Sie können diesen Knoten nicht nur verwenden, um eine Verbindungslinie aufzuteilen, sondern auch um mehrere Verbindungslinien zu einer zusammenzuführen. Bei einer Gabelung wird das Token kopiert. Auf jeder der ausgehenden Verbindungslinien wandert nun eine Kopie des Tokens weiter.

Werden durch eine Gabelung mehrere Verbindungslinien vereint, muss ein Token, das auf einer Verbindungslinie eingeht, darauf warten, bis auf allen eingehenden Verbindungslinien ein Token ankommt - erst dann wird auf der ausgehenden Verbindungslinie ein Token weitergeschickt.


Beispiel

Es soll ein Algorithmus entwickelt werden, um den größten gemeinsamen Teiler (GGT) zweier ganzzahliger Werte zu ermitteln. Der GGT zweier Werter m und n ist im günstigen Fall m/2 bzw. n/2, im ungünstigen Fall 1. Hat der GGT den Wert 1, werden die beiden Zahlen als Teilfremde bezeichnet. Das folgende Aktivitätsdiagramm zeigt den zu entwickelnden Algorithmus.