Zum Inhalt springen

UML-Anwendungsfalldiagramm

Das UML-Anwendungsfalldiagramm dient der Modellierung der Struktur und des Verhaltens von Software und anderen Systemen. Es stellt Anwendungsfälle und Akteure mit ihren jeweiligen Abhängigkeiten und Beziehungen dar und eignet sich zur Unterstützung der Kommunikation zwischen Auftraggeber und Entwickler.

Das UML-Anwendungsfalldiagramm findet Anwendung in der Modellierung von Geschäftsprozessen sowie im Aufzeigen des Systemverhaltens aus der Sicht des Anwenders.

Das Diagramm umfasst mehrere zentrale Elemente, die im Folgenden mit Beispielen dargestellt werden.

Der Systemkontext definiert den Rahmen des betrachteten Systems und grenzt es von seiner Umgebung ab.

usecaseDiagram
    rectangle System as "System" {
        (Anwendungsfall)
    }
    Akteur --> (Anwendungsfall)

Akteure repräsentieren Personen wie Kunden oder Administratoren sowie andere Systeme, die mit dem modellierten System interagieren.

usecaseDiagram
    Akteur --> (Anwendungsfall)

Anwendungsfälle beschreiben Funktionen oder Abläufe des Systems und werden typischerweise in Kommentaren oder separaten Dateien detailliert erläutert.

usecaseDiagram
    Akteur --> (Anwendungsfall)

Zwischen Akteuren und Anwendungsfällen sowie zwischen Anwendungsfällen selbst bestehen verschiedene Beziehungen, die im Diagramm dargestellt werden.

Diese Beziehung zeigt, dass ein Akteur mit einem Anwendungsfall interagiert.

usecaseDiagram
    Akteur --> (Anwendungsfall)

Die Multiplizität gibt an, wie viele Instanzen eines Akteurs oder Anwendungsfalls beteiligt sind, beispielsweise ein Akteur, der mit mehreren Anwendungsfällen verbunden ist.

usecaseDiagram
    Akteur --> (Anwendungsfall)
    note right of Akteur : Multiplizität: 1..*

Ein Anwendungsfall kann von einem anderen erben, wodurch gemeinsame Eigenschaften modelliert werden.

usecaseDiagram
    (Basisanwendungsfall) <|-- (Spezialisierter Anwendungsfall)

Akteure können hierarchisch strukturiert sein, wobei spezialisierte Akteure von allgemeineren erben.

usecaseDiagram
    Basisakteur <|-- Spezialisierter Akteur
    Spezialisierter Akteur --> (Anwendungsfall)

Eine Include-Beziehung bedeutet, dass ein Anwendungsfall A einen Anwendungsfall B zwangsläufig beinhaltet.

usecaseDiagram
    (Anwendungsfall A) ..> (Anwendungsfall B) : <>

Eine Extend-Beziehung zeigt, dass ein Anwendungsfall A einen Anwendungsfall B optional erweitert.

usecaseDiagram
    (Anwendungsfall A) .> (Anwendungsfall B) : <>

Bei einer Extend-Beziehung können spezifische Erweiterungspunkte definiert werden, an denen die Erweiterung erfolgt.

usecaseDiagram
    (Anwendungsfall A) .> (Anwendungsfall B) : <>
    note right of (Anwendungsfall B) : Erweiterungsstelle: Bedingung

Ein Anwendungsfall kann explizite Erweiterungsstellen aufweisen, die in der Beschreibung festgelegt sind.

usecaseDiagram
    (Anwendungsfall) as "Anwendungsfall\n(Erweiterungsstelle: Punkt 1)"