Was ist ein Use Case Diagramm?
Ein Use Case Diagramm (auf Deutsch: Anwendungsfalldiagramm) ist ein Diagrammtyp der Unified Modeling Language (UML). Es dient dazu, die funktionalen Anforderungen eines Systems grafisch darzustellen. Dabei zeigt es, wie verschiedene Akteure (Benutzer oder andere Systeme) mit dem System interagieren und welche Funktionen das System bereitstellt.
Warum sind Use Case Diagramme wichtig?
- Übersichtlichkeit: Sie bieten eine klare und einfache Darstellung der Systemfunktionen.
- Kommunikation: Sie erleichtern die Verständigung zwischen Entwicklern, Kunden und anderen Stakeholdern.
- Planung: Sie helfen bei der Identifizierung von Anforderungen und bei der Planung der Entwicklungsphasen.
- Anwenderorientiert: Sie fokussieren auf die Sichtweise der Benutzer, was für benutzerfreundliche Systeme essenziell ist.
Grundlegende Komponenten eines Use Case Diagramms
1. Akteure (Actors)
- Definition: Repräsentieren Benutzer oder andere Systeme, die mit dem zu entwickelnden System interagieren.
- Darstellung: Als Strichmännchen.
- Beispiele:
- Primäre Akteure: Direkt Nutzende des Systems (z. B. Kunde).
- Sekundäre Akteure: Systeme oder Personen, die indirekt interagieren (z. B. Bezahlsystem).
2. Anwendungsfälle (Use Cases)
- Definition: Beschreiben die vom System bereitgestellten Funktionen.
- Darstellung: Als Ellipsen.
- Beispiele: "Bestellung aufgeben", "Konto erstellen", "Bericht generieren".
3. Systemgrenze (System Boundary)
- Definition: Definiert den Umfang des Systems.
- Darstellung: Als Rechteck, das die Anwendungsfälle umschließt.
- Zweck: Zeigt klar, was zum System gehört und was nicht.
4. Beziehungen
- Assoziation: Verbindung zwischen Akteur und Anwendungsfall (einfache Linie).
- Include: Ein Anwendungsfall beinhaltet die Funktionalität eines anderen (gestrichelte Linie mit Pfeil und «include»).
- Extend: Ein Anwendungsfall kann unter bestimmten Bedingungen erweitert werden (gestrichelte Linie mit Pfeil und «extend»).
- Generalisierung: Vererbung zwischen Akteuren oder Anwendungsfällen (Linie mit offenem Pfeil).
Wie erstellt man ein Use Case Diagramm?
Schritt 1: Identifiziere die Akteure
- Frage dich: Wer nutzt das System? Gibt es externe Systeme, die interagieren?
- Beispiele: Kunde, Administrator, Bezahlsystem, Versanddienstleister.
Schritt 2: Bestimme die Anwendungsfälle
- Frage dich: Welche Funktionen soll das System bereitstellen?
- Tipps:
- Denke aus Sicht der Akteure.
- Beschreibe Funktionen mit klaren Verb-Substantiv-Phrasen (z. B. "Bestellung aufgeben").
Schritt 3: Zeichne die Systemgrenze
- Zweck: Um den Fokus auf das System zu legen und externe Elemente abzugrenzen.
Schritt 4: Verbinde Akteure und Anwendungsfälle
- Assoziationen zeichnen: Zeige, welche Akteure welche Funktionen nutzen.
Schritt 5: Füge Beziehungen zwischen Anwendungsfällen hinzu
- Include-Beziehungen: Wenn ein Anwendungsfall immer einen anderen einschließt.
- Extend-Beziehungen: Wenn ein Anwendungsfall optional erweitert wird.
Beispiel: Online-Shop
Akteure:
- Kunde
- Administrator
- Bezahlsystem (externer Akteur)
Anwendungsfälle:
- Konto erstellen
- Produkte anzeigen
- Produkt suchen
- Produkt in den Warenkorb legen
- Bestellung aufgeben
- Bezahlung verarbeiten
- Bestellung verwalten (Administrator)
Beziehungen:
- Include:
- "Bestellung aufgeben" include "Bezahlung verarbeiten"
- Extend:
- "Produkt suchen" extend "Produkte anzeigen"
Häufig gestellte Fragen
1. Was ist der Unterschied zwischen "Include" und "Extend"?
- Include:
- Wird verwendet, wenn ein Anwendungsfall immer einen anderen Anwendungsfall beinhaltet.
- Beispiel: Jeder "Bestellung aufgeben" beinhaltet immer "Bezahlung verarbeiten".
- Extend:
- Wird verwendet, wenn ein Anwendungsfall optional erweitert werden kann.
- Beispiel: "Produkte anzeigen" kann optional "Produkt bewerten" erweitern.
2. Können Akteure auch Systeme sein?
- Ja: Akteure können Menschen, Organisationen oder externe Systeme sein.
- Beispiel: Ein Bezahlsystem wie PayPal kann als Akteur modelliert werden.
3. Warum sollte man Use Case Diagramme verwenden?
- Einfachheit: Sie sind leicht verständlich, auch für Nicht-Techniker.
- Anforderungsanalyse: Sie helfen dabei, die Anforderungen frühzeitig zu identifizieren und Missverständnisse zu vermeiden.
Zusammenfassung
Das Use Case Diagramm ist ein essenzielles Werkzeug, um die funktionalen Anforderungen eines Systems aus Benutzersicht zu modellieren. Es fördert die klare Kommunikation zwischen allen Beteiligten und dient als Grundlage für die weitere Systementwicklung.