Was ist ein Use-Case-Diagramm?
Ein Use-Case-Diagrammist eine Verhaltensgrundlage, die verwendet wird, um die Beziehungen zwischen den Benutzern eines Systems (bekannt als Akteure) und den spezifischen Aktionen oder Zielen, die sie erreichen möchten (bekannt als Use-Cases), visuell darzustellen. Anstatt Schritt-für-Schritt-Logikschleifen zu zeigen, bietet ein Use-Case-Diagramm einen Überblick auf hoher Ebene über den funktionalen Umfang eines Systems und ist somit ein hervorragendes Werkzeug zur Definition von Projektanforderungen, Systemgrenzen und Stakeholder-Workflows.
Mit VPasCode, können Sie sofort klare, professionelle Use-Case-Diagramme erstellen, ohne sich mit der visuellen Ausrichtung des Zeichenflächen zu beschäftigen. Dieser Leitfaden überspringt die obskuren, veralteten Notationen und konzentriert sich ausschließlich auf die praktischen Syntaxelemente, die Sie für die tägliche Softwaredokumentation benötigen.
Grundlagen der Syntax: Elemente und Konstrukte
Die Erstellung eines Use-Case-Diagramms in PlantUML basiert auf einigen einfachen strukturellen Elementen, die innerhalb Ihrer Standard-@startuml und @endumlTags eingeschlossen sind.
1. Deklaration von Akteuren
Ein Akteur stellt eine externe Entität dar, die mit Ihrer Anwendung interagiert (z. B. ein menschlicher Benutzer, ein Hintergrunddienst oder eine externe Hardware-API). Sie deklarieren einen Akteur, indem Sie das Schlüsselwort actorverwenden, gefolgt von einer internen Kurzform-ID:
actor customer
actor admin als "System-Administrator" 
Pro-Tipp: Verwenden Sie das asSchlüsselwort, um einer komplexen Akteur-ID eine saubere, menschenlesbare Anzeigekette zuzuweisen.
2. Definition von Use-Cases
Ein Use-Case stellt ein funktionales Ziel oder einen Geschäftsprozess dar. Sie können einen Use-Case auf zwei Arten definieren: indem Sie den Text in Klammern (Ihr Use-Case), oder indem Sie explizit das Use CaseStichwort für komplexe Formatierung:
(Anmeldung zum Dashboard)
Use Case checkout als "Prozess der Kreditkartenabwicklung" 
3. Abbildung grundlegender Interaktionen
Verbinden Sie Ihre Akteure mit ihren entsprechenden Use Cases, indem Sie einfache gerichtete oder ungerichtete Beziehungslinien verwenden. Sie können auch textuelle Beschriftungen anfügen, um einer Interaktion entscheidenden Kontext hinzuzufügen:
Kunde --> (Anmeldung zum Dashboard)
Administrator --> checkout : "Genehmigt Rückerstattungen" 
4. Erweiterte Beziehungen: Einbeziehen und Erweitern
Beim Modellieren komplexer Systemverhalten müssen Sie häufig Abhängigkeiten zwischen verschiedenen Use Cases mit standardmäßigen UML-Stereotypen darstellen:
- Einbeziehen (Pflichtabhängigkeit):Zeigt an, dass ein Basis-Use Case auf einen anderen Hilfs-Use Case angewiesen ist, um seine Ausführung erfolgreich abzuschließen. Verwenden Sie eine gestrichelte Verbindungslinie (
..>) mit einer textuellen Beschriftung versehen:Plantuml Edit Plantuml in VPasCode(Checkout verarbeiten) ..> (Kontostand prüfen) : <<einbeziehen>>
- Erweitern (Optional/bedingtes Verhalten):Zeigt an, dass ein optionales Arbeitsablauf unter bestimmten Bedingungen von einem Basis-Use Case abgeleitet werden kann. Beachten Sie, dass der Pfeil vom *Erweiterungs*-Use Case zurück zum *Basis*-Use Case zeigt:
Plantuml Edit Plantuml in VPasCode
(Promo-Code anwenden) ..> (Checkout verarbeiten) : <<erweitern>>
5. Durchsetzung von Systemgrenzen
Um klar zu unterscheiden, was innerhalb Ihrer Softwareanwendung stattfindet und was extern geschieht, verwenden Sie die “Rechteck Schlüsselwort, um Ihre internen Anwendungsfälle einzuschließen. Entscheidend ist, dass Akteure außerhalb dieses Container-Blocks bleiben, um ihren Status als externe Teilnehmer widerzuspiegeln:
actor kunde
rechteck "E-Commerce-Plattform" {
(Katalog durchsuchen)
(Zum Warenkorb hinzufügen)
}
kunde --> (Katalog durchsuchen)
kunde --> (Zum Warenkorb hinzufügen) 
Best Practices für saubere Layouts
- Halten Sie den Text kurz: Anwendungsfälle sollten immer mit einem klaren, aktiven Verb beginnen (z. B. „Bericht generieren“, „Profil aktualisieren“) anstatt einem langen Satz.
- Nutzen Sie räumliche Anker: Wenn Ihre Akteure und Anwendungsfälle in einem unübersichtlichen Stapel zusammenlaufen, verwenden Sie räumliche Richtungs-Pfeile wie
-rechts->oder-unten->um die Layout-Engine sanft in eine saubere, lesbare Struktur zu lenken. - Isolieren Sie Systemgrenzen: Verwenden Sie immer ein Grenzrechteck, wenn Sie Anwendungen dokumentieren, die mit mehreren Drittanbieter-Mikrodiensten interagieren. Es macht sofort klar, wer welchen Prozess verantwortet.
Praxisbeispiele für PlantUML-Anwendungsfalldiagramme
Kopieren Sie die folgenden praktischen Baupläne direkt in Ihr VPasCode-Live-Editor-Fenster, um zu sehen, wie sie dynamisch gerendert werden.
Beispiel 1: Kernfunktionen für Benutzer-Authentifizierung und Kontoverwaltung
Dieser Bauplan modelliert ein Standard-Anwendungssystem mit einem primären Benutzer, einem administrativen Operator und einer Grenzbox, die die zentralen Sicherheitsmechanismen enthält.
@startuml
' Legt die Layout-Orientierung von links nach rechts fest
links nach rechts richtung
actor "Endbenutzer" als user
actor "Sicherheits-Admin" als admin
rechteck "Identitätsanbieterdienst" {
(Anmelden)
(Passwort zurücksetzen)
(Profil-Daten aktualisieren)
(Sicherheitsprotokolle überprüfen)
(Konten deaktivieren)
}
user --> (Anmelden)
user --> (Passwort zurücksetzen)
user --> (Profil-Daten aktualisieren)
(Sicherheitsprotokolle überprüfen) <-- admin
(Konten deaktivieren) <-- admin
@enduml 
Syntax-Aufschlüsselung: Die Anweisung links nach rechts Richtung zwingt den Layout-Engine, Akteure an den äußeren Flügeln zu platzieren und die Use-Cases horizontal statt vertikal wachsen zu lassen. Beachten Sie, wie die Platzierung der Akteur-Deklarationen sauber außerhalb des RechteckWrapper sie organisiert hält, während die Pfeilklammer-Richtung für den Admin-Benutzer (<-- admin) sie sauber auf der rechten Seite der Diagrammmatrix festlegt.
Beispiel 2: Fortgeschrittener E-Commerce-Kassenablauf mit externen Abhängigkeiten
Diese realweltbasierte Systemanordnung zeigt einen komplexen Kassenablauf, der auf externe Bank-APIs, strukturelle Einbindungen und optionale Erweiterungsflags angewiesen ist.
@startuml
links nach rechts Richtung
actor "Kunde" als customer
actor "Lagerpersonal" als staff
actor "Stripe-Gateway" als stripe
rechteck "Online-Shop-Auslieferungssystem" {
(Bestellung aufgeben)
(Gutschein anwenden)
(Rechnung generieren)
(Artikel verpacken)
(Versandstatus aktualisieren)
}
' Externe Interaktionen mit Systemgrenzen
customer --> (Bestellung aufgeben)
(Bestellung aufgeben) --> stripe : "Fonds freigeben"
' Einbinden und Erweitern Strukturen
(Bestellung aufgeben) ..> (Rechnung generieren) : <<include>>
(Gutschein anwenden) ..> (Bestellung aufgeben) : <<extend>>
' Auslieferungspfade
(Artikel verpacken) <-- staff
(Versandstatus aktualisieren) <-- staff
(Rechnung generieren) --> staff : "E-Mail-Kopie"
@enduml 
Syntax-Aufschlüsselung: Dieser Template zeigt, wie ein einzelner Use-Case (Bestellung aufgeben) eine Aufrufanforderung an (Rechnung generieren) mittels des <<include>> Tag über eine gestrichelte Linie. Gleichzeitig wird das Anwenden eines Gutscheincodes korrekt als optionale Verzweigung über <<extend>> modelliert, die rückwärts zur Basisausführung zeigt. Alle externen Akteure bleiben klar außerhalb des Systemumfelds isoliert.