UML Use-Case-Diagramm: Unterschied zwischen den Versionen
| Zeile 93: | Zeile 93: | ||
* '''Assoziationen''' verbinden Akteure mit Use Cases | * '''Assoziationen''' verbinden Akteure mit Use Cases | ||
* '''<<include>>''' beschreibt zwingend erforderliche Teilfunktionen | * '''<<include>>''' beschreibt zwingend erforderliche Teilfunktionen | ||
* '''<<extend>>''' beschreibt optionale Erweiterungen eines Use Cases | * '''<<extend>>''' beschreibt optionale Erweiterungen eines Use Cases | ||
== Einsatzgebiete == | == Einsatzgebiete == | ||
Version vom 26. Januar 2026, 14:26 Uhr
Ein Use-Case-Diagramm (Anwendungsfalldiagramm) zeigt, welche Funktionen (Use Cases) ein System aus Sicht der Benutzer oder anderer externen Akteure bereitstellt. Es beschreibt was ein System tun soll – nicht wie es technisch umgesetzt wird.
Bestandteile
Ein Use-Case-Diagramm besteht aus drei zentralen Elementen:
Akteure (Actors)
- externe Benutzer, Rollen oder Systeme
- stehen außerhalb des Systems
- interagieren mit den Use Cases
Beispiele: „Benutzer“, „Admin“, „Zahlungsdienst“, „Drucker“

Use Cases (Anwendungsfälle)
- Funktionen oder Aufgaben, die das System ausführt
- werden als Ovale dargestellt
- beschreiben ein fachliches Ziel
Beispiele: „Einloggen“, „Bestellung aufgeben“, „Daten speichern“

Systemgrenze
- ein Rechteck, das das System umfasst
- zeigt, welche Funktionen vom System angeboten werden
- Akteure stehen außerhalb, Use Cases innerhalb

Beziehungen zwischen Use Cases
Assoziation
Zwischen dem Akteur „Kunde“ und dem Use Case „Produkt ansehen“ besteht eine Assoziation. Der Kunde kann Produkte ansehen, ohne weitere Voraussetzungen erfüllen zu müssen.

Include (<<include>>)
Ein Use Case enthält zwingend einen anderen Anwendungsfall. Es handelt sich um eine Muss-Beziehung (<<include>>). Wenn der Kunde ein Produkt kauft, muss er bezahlen. Beispiel: „Produkt kaufen“ beinhaltet immer „Bezahlung durchführen“.

Extend (<<extend>>)
Ein Use Case erweitert einen anderen Anwendungsfall optional. Es handelt sich um eine Kann-Beziehung (<<extend>>). Beim Anmelden wird die Zwei-Faktor-Authentifizierung nur unter bestimmten Bedingungen zusätzlich ausgeführt.

Generalisierung (Vererbung)
Akteure oder Use Cases können vererbt werden. Der Akteur „Registrierter Kunde“ erbt alle Eigenschaften und Anwendungsfälle des Akteurs „Kunde“.

Einfaches Beispiel

Das Use-Case-Diagramm beschreibt die Funktionen eines Online-Shops aus Sicht der Benutzer.
Akteure
- Kunde
- Registrierter Kunde
Der registrierte Kunde ist eine Spezialisierung des Akteurs Kunde und erbt dessen Fähigkeiten.
Use Cases und Beziehungen
Produkt ansehen
Zwischen dem Akteur Kunde und dem Use Case Produkt ansehen besteht eine Assoziation. Ein Kunde kann Produkte ansehen, ohne angemeldet zu sein.
Anmelden
Der Use Case Anmelden steht dem registrierten Kunden zur Verfügung und dient der Authentifizierung im System.
Der Use Case Zwei-Faktor-Authentifizierung (2FA) erweitert den Use Case Anmelden optional. Es handelt sich um eine Kann-Beziehung (<<extend>>), da die Zwei-Faktor-Authentifizierung nur unter bestimmten Bedingungen zusätzlich ausgeführt wird.
Produkt kaufen
Der Use Case Produkt kaufen kann ausschließlich vom registrierten Kunden ausgeführt werden.
Der Use Case Produkt kaufen enthält zwingend den Use Case Anmelden. Es handelt sich um eine Muss-Beziehung (<<include>>), da ein Kauf nur möglich ist, wenn der Nutzer angemeldet ist.
Zusätzlich enthält der Use Case Produkt kaufen zwingend den Use Case Bezahlen. Auch hier liegt eine Muss-Beziehung (<<include>>), da ein Produktkauf ohne Bezahlung nicht abgeschlossen werden kann.
Zusammenfassung
- Akteure können in einer Vererbungsbeziehung stehen
- Assoziationen verbinden Akteure mit Use Cases
- <<include>> beschreibt zwingend erforderliche Teilfunktionen
- <<extend>> beschreibt optionale Erweiterungen eines Use Cases
Einsatzgebiete
- Erfassung und Dokumentation von Anforderungen
- Kommunikation zwischen Entwicklern und Fachabteilungen
- Grundlage für Testszenarien
- Planung der Systemfunktionen aus Benutzersicht
Kurzmerksatz
Ein Use-Case-Diagramm zeigt, was das System aus Sicht der Benutzer leisten soll, Funktionen, Akteure und deren Beziehungen.
