UML-Anwendungsfalldiagramm
Ein UML-Anwendungsfalldiagramm ist eine grafische Darstellung, die zeigt, wie Nutzer (Akteure) mit einem System interagieren können.
Es beschreibt die verschiedenen Use Cases (Anwendungsfälle) und die Beziehungen zwischen ihnen und den Akteuren. Solche Diagramme helfen, die Anforderungen an ein System zu verstehen und zu planen, indem sie die Funktionen aus Sicht der Benutzer visualisieren.

Zweck und Verwendung
Anwendungsfalldiagramme dienen der Anforderungsanalyse und helfen dabei:
- System-Funktionalitäten aus Nutzersicht zu definieren
- Systemgrenzen klar zu ziehen
- Beziehungen zwischen Akteuren und Use Cases zu visualisieren
- Projektumfang festzulegen
Typische Einsatzbereiche:
┌────────────────────────────────────────┐
│ Anforderungsanalyse │
│ ↓ │
│ System-Design │
│ ↓ │
│ Kommunikation mit Stakeholdern │
│ ↓ │
│ Testplanung │
└────────────────────────────────────────┘
Grundelemente
Ein Anwendungsfalldiagramm besteht aus vier Hauptelementen:
- Akteure (Actors) - Wer nutzt das System?
- Use Cases - Was kann das System tun?
- Beziehungen - Wie hängen Use Cases zusammen?
- Systemgrenzen - Was gehört zum System?
Visuelles Beispiel:
O ┌───────────────────────────┐
/|\ │ SYSTEM │
/ \ │ │
Kunde ──────────► (Use Case 1) │
│ │ │
O │ │ │
/|\ │ ↓ │
/ \ │ (Use Case 2) │
Admin ──────────► │ │
└───────────────────────────┘
Komponenten im Detail
Um Anwendungsfalldiagramme vollständig zu verstehen, müssen wir die einzelnen Komponenten kennen:
Vollständiges Beispiel: Bibliotheks-System
┌────────────────────────────────────────────┐
│ BIBLIOTHEKS-SYSTEM │
│ │
O │ ┌─────────────────────┐ │
/|\ │ │ Katalog durchsuchen │ │
/ \ │ └─────────────────────┘ │
Besucher ────────┼────────────┘ │
│ │
△ │ │
│ │ ┌─────────────────┐ │
───┴─── │ │ Buch ausleihen │ │
│ │ │ └─────────────────┘ │
O O │ │ │
/|\ /|\ │ │ <<include>> │
/ \ / \ │ ↓ │
Gast Mitglied──────┼───►┌──────────────┐ │
│ │ │Benutzer prüfen│ │
│ │ └──────────────┘ │
│ │ │
├────────────┼───►┌─────────────────┐ │
│ │ │ Buch verlängern │ │
│ │ └─────────────────┘ │
│ │ │
└────────────┼───►┌─────────────────┐ │
│ │ Reservieren │ │
│ └─────────────────┘ │
│ △ │
│ │ <<extend>> │
│ │ │
│ ┌─────────────────────────┐ │
│ │ E-Mail-Benachrichtigung │ │
│ └─────────────────────────┘ │
│ │
└────────────────────────────────────────────┘
Erklärung:
- Besucher: Basis-Akteur
- Gast/Mitglied: Spezialisierte Akteure (Generalisierung)
- Katalog durchsuchen: Für alle Besucher
- Buch ausleihen inkludiert Benutzer prüfen (Include)
- Reservieren kann optional E-Mail-Benachrichtigung auslösen (Extend)
Erstellen eines Use-Case-Diagramms
- Akteure identifizieren: Wer nutzt das System?
- Use Cases definieren: Was soll das System tun?
- Systemgrenzen zeichnen: Was ist Teil des Systems?
- Beziehungen modellieren: Include, Extend, Generalisierung
- Validieren: Mit Stakeholdern überprüfen
Beispiel-Workflow:
Schritt 1: Akteure sammeln
Kunde, Administrator, Zahlungssystem
Schritt 2: Use Cases sammeln
Bestellen, Bezahlen, Produkte verwalten
Schritt 3: Systemgrenze ziehen
[System: Online-Shop]
Schritt 4: Beziehungen hinzufügen
Bestellen <<include>> Bezahlen
Bestellen <<extend>> Gutschein einlösen
Schritt 5: Review mit Team
✓ Vollständig? Korrekt?
Häufige Fehler
❌ Zu technische Use Cases:
Falsch: "Datenbank abfragen"
Richtig: "Produkte suchen"
❌ Implementierungsdetails:
Falsch: "SQL-Query ausführen"
Richtig: "Kundendaten abrufen"
❌ Falsche Beziehungsrichtung:
Falsch: [Anmelden] ◄── <<extend>> ── [Bestellen]
Richtig: [Bestellen] ──── <<include>> ──► [Anmelden]
❌ Zu viele Details:
Falsch: 50 Use Cases mit allen Spezialfällen
Richtig: 10-15 Haupt-Use-Cases
Use-Case-Diagramm vs. andere UML-Diagramme
| Diagramm | Zweck | Perspektive |
|---|---|---|
| Anwendungsfalldiagramm | Was kann das System? | Nutzersicht (extern) |
| UML-Klassendiagramm | Wie ist das System strukturiert? | Entwicklersicht (intern) |
| UML-Sequenzdiagramme | Wie läuft eine Interaktion ab? | Zeitlicher Ablauf |
| UML-Aktivitätsdiagramm | Wie läuft ein Prozess ab? | Workflow/Prozess |
| UML-Zustandsdiagramme | Welche Zustände hat ein Objekt? | Zustandsübergänge |
Zusammenfassung
- Zweck: System-Funktionalitäten aus Nutzersicht definieren
- Hauptelemente: Akteure, Use Cases, Beziehungen, Systemgrenzen
- Beziehungen: Include (Pflicht), Extend (Optional), Generalisierung (Vererbung)
- Verwendung: Anforderungsanalyse, Projektplanung, Kommunikation
- Perspektive: Externe Sicht auf das System
Anwendungsfalldiagramme beantworten: "WER macht WAS mit dem System?"
Verwandte Konzepte
- UML - Unified Modeling Language
- UML-Klassendiagramm - Struktur des Systems
- UML-Sequenzdiagramme - Zeitlicher Ablauf
- UML-Aktivitätsdiagramm - Prozessabläufe
- Requirements Engineering - Anforderungsanalyse
- User Stories - Alternative Anforderungsdokumentation