Aktivitäts- oder Zustandsdiagramm Unterschied (UML)?

1 Antwort

Zustands- und Aktivitätsdiagramme gehören zu den Verhaltensdiagrammen, sie zeigen also das Verhalten der Objekte eines Systems an. Das Verhalten selbst kann als eine Änderung innerhalb des Systems verstanden werden, so kann beispielsweise eine Person zunächst ein Azubi und später ein Geselle sein.

Zustandsdiagramme beziehen sich auf die Zustandsänderungen eines Systems, die durch Ereignisse innerhalb eines Zustands und Zustandsübergängen auftreten können. Sie bestehen also aus mehreren im System existierenden Zuständen und geben Aufschluss darüber, wie von einem Zustand in einen anderen Zustand übergegangen werden kann und was die Voraussetzungen für einen solchen Übergang sind. Zustände können Aktionen bzw. Aktivitäten ausführen, was beim Betreten des Zustands, Verweilen im Zustand und Austreten aus einem Zustand durchgeführt werden kann. Eine Aktion ist ein einzelner Verarbeitungsschritt und kann beispielsweise eine Zuweisung eines Attributswerts sein. Der Unterschied zu einer Aktivität liegt darin, dass eine Aktivität aus einer Folge einzelner Verarbeitungsschritte besteht, also aus einer Folge von Aktionen.

All diese Zustände können mittels Zustandsübergängen miteinander in Verbindung stehen und diese Zustandsübergänge können an Bedingungen geknüpft sein, die erfüllt sein müssen, damit von einem Zustand in einem anderen gewechselt werden darf. Es kann beispielsweise ein Zustandsübergang zwischen den Zustand Azubi und Geselle bestehen, der an die Bedingung geknüpft ist, dass der Azubi seine Gesellenprüfung erfolgreich abgeschlossen hat, erst wenn diese Bedingung erfüllt wurde, kann der Zustandsübergang feuern. Innerhalb des Zustands Azubi ist wiederum festgelegt, welche Aktionen bzw. Aktivitäten während des Zustands durchgeführt werden, das kann beispielsweise beim Verweilen im Zustand Azubi die Aktivität "lernen" sein. Wird im Zustand Azubi die Gesellenprüfung erfolgreich absolviert, dann wird zum Zustand Geselle übergegangen und hier kann beispielsweise beim Betreten des neuen Zustands (Zielzustand) eine Aktivität "Gehaltsanpassung" durchgeführt werden, usw. usf.

Aktivitätsdiagramme spezifizieren Aktivitäten und können sich innerhalb eines Zustandsdiagramms wiederfinden, eben als eine solche Aktivität, die beim Betreten, Verweilen oder Verlassen eines solchen Zustands ausgeführt werden kann. Sie können beispielsweise Attributwerte auslesen oder verändern, aber auch Operationen ausführen, etc. In einem Aktivitätsdiagramm finden sich mehrere solcher Aktivitäten wieder, wie beispielsweise die zuvor erwähnte Aktivität "Gehaltsanpassung", die aus mehreren Aktivitätsknoten bestehen kann und in denen die notwendigen Aktionen vorgenommen werden, um die Aktivität "Gehaltsanpassung" erfolgreich durchzuführen, beispielsweise das Attribut "Gehalt" verändern.

Ich hoffe, der Unterschied wird langsam ein wenig ersichtlich. Zustandsdiagramme geben also Aufschluss über die Zustände eines existierenden Systems, was innerhalb dieser Zustände passiert und welche Zustandsübergänge unter welchen Bedingungen möglich werden. Aktivitätsdiagramme hingegen beziehen sich auf einzelne Aktivitäten, die aus mehreren Aktivitätsknoten bestehen können und eine bzw. mehrere Aufgaben erfüllen. Sie beziehen sich nicht auf ein generelles System, sondern geben sozusagen Aktivitäten vor, die durch Systeme bzw. dessen Zustände ausgeführt werden können. Es handelt sich also sozusagen um grundlegende Vorgehensweisen zur Erfüllung von gewissen Aufgaben.