Use Case Diagramm
Zweck
In Use Case Diagrammen wird das Systemverhalten aus Anwendersicht beschrieben. Use Case Diagramme stellen das geplante System, die beteiligten Akteure und die Verwendung des geplanten Systems (Anwendungsfälle) dar. Die Beziehungen zwischen Akteuren und Anwendungsfällen drücken aus, dass ein Akteur auf den Use Case zugreift. Use Case Diagramme geben Auskunft darüber, was ein geplantes System aus Sichtweise der Benutzer leisten soll.
Notation
System
Das Rechteck stellt das geplante System dar. Der Name des Systems wird angegeben. Ein Use Case Diagramm kann auch mehrere Systeme enthalten. Dadurch kann ein System in Teilsysteme gegliedert werden.
Use Case (Anwendungsfall)
Eine Ellipse stellt einen Anwendungsfall des Systems dar. Ein Anwendungsfall ist ein in sich abgeschlossener Vorgang, der für einen oder mehrere Akteure ein beobachtbares Ergebnis liefert. Er beschreibt aus Sicht der Akteure welche Leistungen das System für den Anwender zur Verfügung stellt. Ein Use Case stellt somit einen Teil der Gesamtfunktionalität des Systems dar. In UML 2.0 kann auch ein Rechteck, das mit einer Ellipse markiert wird, als Use-Case-Symbol verwendet werden. Der Name kann innerhalb oder außerhalb des Symbols stehen.
Akteur
Ein Akteur ist eine Person oder ein anderes System, das auf das geplante System zugreift. Ein Akteur kann als Strichmännchen oder durch ein Klassensymbol, das mit dem Stereotyp <> markiert wird dargestellt werden.
Assoziation
Eine Linie stellt eine Assoziation zwischen einem Akteur und einem Use Case dar. Sie beschreibt den Zugriff des Akteurs auf einen Use Case.
Bei der include Beziehung verwendet ein Use Case die Funktionalität, die ein anderer Use Case zur Verfügung stellt. Der includierte Use Case wird immer ausgeführt. Der Use Case a importiert die Funktionalität des Use Case b.
Extend Beziehung
Die extend Beziehung beschreibt die Erweiterung der Funktionalität eines Use Cases durch einen anderen Use Case. Man kann dadurch optionales Verhalten beschreiben, bzw. Funktionen modellieren, die nur unter bestimmten Bedingungen ausgeführt werden.
Extension point (Erweiterungspunkt)
Ein extension point gibt bei einer extend-Beziehung den Punkt an, an dem der erweiternde Use Case im erweiterten Use Case eingehängt ("aufgerufen") wird. Es kann eine Bedingung für den Aufruf angegeben werden. In diesem Beispiel erweitert der Use Case B den Use Case A. Er wird an dem Erweiterungspunkt "ruftB" in A eingehängt. Der Aufruf erfolgt nur, wenn die Bedingung "wenn Bedingung" zutrifft.
Beispiel include und extend Beziehung
Dieses Diagramm zeigt ein Beispiel zu einer include und extend Beziehung. Ein "Bearbeiter" erfasst einen Auftrag; er greift auf den Use Case "Auftrag erfassen" zu. Der Use Case "Auftrag erfassen" includiert (importiert) den Use Case "Kunden prüfen", d. h. bei jedem Erfassen eines Auftrags wird der Kunde geprüft.
Der Use Case "Auftrag erfassen" hat den extension point "Kunde einfügen". Dieser verweist über die extend-Beziehung auf den Use Case "Kunden erfassen". Das bedeutet, dass der Use Case "Kunden erfassen" nur dann ausgeführt wird, wenn die Bedingung "Kunde=neu" erfüllt ist. Durch die Angabe des extension points bei der Bedingung wird deutlich gemacht an welcher Stelle des erweiterten Use Case ("Auftrag erfassen") der erweiternde Use Case ("Kunden erfassen") im Ablauf des erweiterten Use Case eingefügt wird.
Anwendungsbereich
Use Case Diagramme werden zur Festlegung der Anforderungen an ein Softwaresystem (Anforderungsanalyse, Requirements Engineering) eingesetzt. Use Case Modelle sind leicht verständlich und ein gutes Kommunikationsmittel zwischen Systemanalytiker, Anwender und Entwickler.Sie legen die Grenzen des Systems fest, die Akteure, die darauf zugreifen und die Funktionalität des Systems. Die Funktionalität wird aus Sicht der zukünftigen Benutzer des geplanten Systems beschrieben.
Zusammenhang
Die Use Cases sind in einem Projekt genauer zu beschreiben. Diese Spezifikation der Use Cases kann in Form von anderen UML-Diagrammen (Verhaltensdiagrammen) erfolgen, oder als strukturierter Text hinterlegt werden. Aus den Spezifikationen können erste Klassenkandidaten für das statische Modell abgeleitet werden.