In Unified Modeling Language (UML), Use-Case-Diagrammesind leistungsstarke Werkzeuge zur Erfassung funktionaler Anforderungen eines Systems. Eine zentrale Funktion dieser Diagramme ist die <<extend>>-Beziehung, die es ermöglicht, optionale oder bedingte Verhaltensweisen an spezifischen Stellen in ein Basiseinsatzfall einzufügen, die alsErweiterungspunkte. Die Identifizierung der richtigen Stellen, um diese Erweiterungspunkte einzufügen, ist entscheidend für die Erstellung modularer, wiederverwendbarer und klarer Use-Case-Modelle. Dieser Artikel bietet eine Schritt-für-Schritt-Anleitung zur Identifizierung und Implementierung von Erweiterungspunkten, ergänzt durch praktische Beispiele, um ihre Anwendung in realen Szenarien zu veranschaulichen.
Was sind Erweiterungspunkte und <<extend>>-Beziehungen?
Ein Erweiterungspunktist ein spezifischer Ort innerhalb eines Basiseinsatzfalls, an dem zusätzliche, optionale oder bedingte Verhaltensweisen (aus einem erweiternden Einsatzfall) eingefügt werden können. Die <<extend>>-Beziehung zeigt an, dass der erweiternde Einsatzfall Verhaltensweisen unter bestimmten Bedingungen dem Basiseinsatzfall hinzufügt, ohne dessen Kernablauf zu verändern. Dadurch wird die Systemgestaltung flexibel, wodurch optionale Funktionen oder Variationen möglich sind, während der Basiseinsatzfall unabhängig und vollständig bleibt.
Zum Beispiel enthält in einem E-Commerce-System der Basiseinsatzfall„Bestellung aufgeben“könnte einen Erweiterungspunkt für„Rabatt anwenden“, der nur ausgelöst wird, wenn der Benutzer einen gültigen Rabattcode eingibt. Der Basiseinsatzfall bleibt ohne Rabatt funktionsfähig, wird aber bei Anwendbarkeit durch die Erweiterung verbessert.
Warum sind Erweiterungspunkte wichtig?
Erweiterungspunkte verbessern Use-Case-Diagramme durch:
- Modularisierung des Verhaltens: Die Trennung von optionalen oder bedingten Verhaltensweisen in separate Einsatzfälle verbessert Klarheit und Wiederverwendbarkeit.
- Unterstützung der Flexibilität: Sie ermöglichen es dem System, Variationen zu berücksichtigen, ohne den Basiseinsatzfall zu überladen.
- Verbesserung der Wartbarkeit: Änderungen am optionalen Verhalten können vorgenommen werden, ohne den Kern-Einsatzfall zu ändern.
- Verbesserung der Kommunikation mit Stakeholdern: Gut benannte Erweiterungspunkte machen es für Stakeholder einfacher zu verstehen, wo und warum Erweiterungen auftreten.
Allerdings erfordert die Identifizierung der richtigen Stellen für <<extend>>-Segmente eine sorgfältige Analyse. Im Folgenden skizzieren wir einen strukturierten Ansatz zur genauen Bestimmung dieser Stellen, gefolgt von veranschaulichenden Beispielen.
Wie man Erweiterungspunkte für <<extend>>-Segmente identifiziert
Hier ist eine Schritt-für-Schritt-Anleitung zur Suche und Definition von Erweiterungspunkten in einem Einsatzfall:
1. Analysieren Sie den Basis-Use-Case-Fluss
Beginnen Sie damit, die gründlich zu überprüfenHaupterfolgsszenario und alternative Flüsse des Basis-Use-Cases. Suchen Sie nach Schritten, bei denen:
- Zusätzliches Verhalten kann optional auftreten (z. B. vom Benutzer ausgelöste Aktionen).
- Bedingte Aktionen könnten je nach bestimmten Umständen eingefügt werden.
- Variationen oder Erweiterungen könnten hinzugefügt werden, ohne den Kernfluss zu stören.
Beispiel: In einem „Anmeldung im System“ Use-Case umfasst das Eingeben von Anmeldedaten und die Authentifizierung. Ein optionaler Schritt, wie „Zwei-Faktor-Authentifizierung aktivieren“, könnte ein Erweiterungspunkt sein, der nur aktiviert wird, wenn der Benutzer diese Funktion aktiviert hat.
2. Identifizieren Sie optionales oder bedingtes Verhalten
Konzentrieren Sie sich auf Teile des Use-Cases, die nicht immer ausgeführt werden. Dazu könnten gehören:
- Optionale Benutzereingaben (z. B. Hinzufügen einer Geschenkverpackung im Bestellprozess).
- Ausnahmefälle (z. B. Behandlung von Zahlungsfehlern).
- Erweiterungen, die durch bestimmte Bedingungen ausgelöst werden (z. B. Anwenden eines Rabattcodes).
Beispiel: In einem „Flug buchen“ Use-Case könnte der Reisende die Möglichkeit haben, „Sitzplatzpräferenz auswählen“ (z. B. Fenster- oder Gangplatz). Dieser Schritt ist für die Buchung nicht zwingend erforderlich, verbessert aber die Erfahrung, wenn er gewählt wird, und macht ihn somit zu einem Kandidaten für einen Erweiterungspunkt.
3. Definieren Sie sinnvolle und benannte Erweiterungspunkte
Jeder Erweiterungspunkt sollte einen klaren, beschreibenden Namen haben, der seinen Zweck widerspiegelt. Dies hilft sowohl Entwicklern als auch Stakeholdern zu verstehen, wo und warum die Erweiterung stattfindet.
Beispiel: In einem „Zahlung verarbeiten“ Use Case, ein Erweiterungspunkt namens „Gutscheincode überprüfen“ deutet klar darauf hin, dass das erweiternde Verhalten die Überprüfung und Anwendung eines Gutscheins beinhaltet, was nur geschieht, wenn der Benutzer einen bereitstellt.
4. Stellen Sie die Unabhängigkeit des Basis-Use-Cases sicher
Der Basis-Use-Case muss weiterhin vollständig und sinnvollohne das erweiternde Verhalten. Erweiterungen sollten die Funktionalität verbessern oder ergänzen, aber nicht entscheidend für den Erfolg des Basis-Use-Cases sein.
Beispiel: In einem „Bewerbung einreichen“ Use Case für einen Stellenportal, ein Erweiterungspunkt wie „Zusätzliche Dokumente hochladen“ ermöglicht Kandidaten, zusätzliche Dateien (z. B. Zertifizierungen) bereitzustellen. Der Bewerbungsprozess ist ohne diesen Schritt abgeschlossen, aber die Erweiterung bringt für einige Benutzer zusätzlichen Wert.
5. Nutzen Sie Modellierungstools
Werkzeuge wie Visual Paradigm vereinfachen den Prozess der Definition von Erweiterungspunkten. In Visual Paradigm:
- Rechtsklicken Sie auf den Basis-Use-Case, wählen Sie Erweiterungspunkt hinzufügen, und weisen Sie einen beschreibenden Namen zu.
- Dokumentieren Sie Erweiterungspunkte im Kompartment des Use-Cases zur Klarheit.
- Verknüpfen Sie erweiternde Use-Cases mit spezifischen Erweiterungspunkten, um anzuzeigen, wo ihr Verhalten integriert wird.
Beispiel: In Visual Paradigm, für einen „Kasse verlassen“ Use Case könnten Sie einen Erweiterungspunkt namens „Versandhinweise angeben“ definieren und mit einem erweiternden Use-Case verknüpfen „Sonderlieferhinweise hinzufügen“.
6. Wenden Sie realistische Szenarien an
Die Zuordnung von Erweiterungspunkten zu praktischen Szenarien stellt sicher, dass sie mit den Systemanforderungen übereinstimmen. Testen Sie Ihre Entscheidungen, indem Sie prüfen, wie sie in die Arbeitsabläufe des Systems und die Benutzerinteraktionen passen.
Praktische Beispiele für Erweiterungspunkte
Lassen Sie uns mehrere praktische Beispiele untersuchen, um zu zeigen, wie Erweiterungspunkte effektiv identifiziert und implementiert werden können.
Beispiel 1: E-Commerce-System – Bestellung aufgeben
- Grundfall: Bestellung aufgeben
Der Benutzer wählt Artikel aus, gibt Zahlungsdetails ein und bestätigt die Bestellung. - Erweiterungspunkte:
- Rabatt anwenden: Wird ausgelöst, wenn der Benutzer während des Zahlungsvorgangs einen gültigen Rabattcode eingibt.
- Versandhinweise angeben: Wird ausgelöst, wenn der Benutzer besondere Lieferhinweise hinzufügen möchte (z. B. „Paket an der Hintertür ablegen“).
- Erweiterung der Anwendungsfälle:
- Rabatt anwenden: Überprüft den Code und passt den Gesamtbetrag der Bestellung an.
- Besondere Lieferhinweise hinzufügen: Erlaubt dem Benutzer, benutzerdefinierte Anweisungen einzugeben.
- Begründung: Diese Erweiterungen sind optional und treten nur unter bestimmten Bedingungen auf (z. B. bei einem gültigen Rabattcode oder wenn der Benutzer besondere Anweisungen wünscht). Der Grundfall bleibt ohne sie vollständig.
Beispiel 2: Bankensystem – Bargeld abheben
- Grundfall: Bargeld abheben
Der Benutzer steckt seine Karte ein, gibt seine PIN ein, gibt einen Betrag an und erhält Bargeld. - Erweiterungspunkte:
- Beleg anfordern: Ausgelöst, wenn der Benutzer wählt, eine Transaktionsbestätigung zu erhalten.
- Kontostand vor Abhebung prüfen: Ausgelöst, wenn der Benutzer wählt, sein Kontoguthaben vor der Abhebung anzuzeigen.
- Erweiternde Anwendungsfälle:
- Bestätigung ausdrucken: Generiert und druckt eine Transaktionsbestätigung aus.
- Kontostand anzeigen: Zeigt das aktuelle Guthaben des Benutzers an.
- Begründung: Diese Verhaltensweisen sind optional und beeinflussen den Kernprozess der Abhebung nicht, wodurch sie ideal für <<extend>>-Beziehungen sind.
Beispiel 3: Online-Lernplattform – Quiz bearbeiten
- Basisanwendungsfall: Quiz bearbeiten
Der Student meldet sich an, wählt ein Quiz aus, beantwortet Fragen und reicht seine Antworten ein. - Erweiterungspunkte:
- Zusätzliche Zeit beantragen: Ausgelöst, wenn der Student eine besondere Ermäßigung hat, die zusätzliche Zeit erlaubt.
- Fortschritt speichern: Ausgelöst, wenn der Student wählt, seine Antworten zu speichern und später fortzusetzen.
- Erweiternde Anwendungsfälle:
- Zusätzliche Zeit gewähren: Verlängert die Dauer des Quiz für berechtigte Studierende.
- Quiz speichern und fortsetzen: Erlaubt eine teilweise Bearbeitung und eine spätere Fortsetzung.
- Begründung: Diese Erweiterungen sind bedingungsabhängig (z. B. basierend auf Berechtigung oder Benutzerwahl) und verbessern den Basisanwendungsfall, ohne unbedingt erforderlich zu sein.
Beispiel 4: Bibliotheks-System – Buch ausleihen
- Grundnutzungsfall: Buch ausleihen
Der Benutzer sucht ein Buch, wählt es aus und leiht es mit seiner Bibliothekskarte aus. - Erweiterungspunkte:
- Buch reservieren: Wird ausgelöst, wenn das Buch nicht verfügbar ist und der Benutzer es reservieren möchte.
- Überfällige Gebühren bezahlen: Wird ausgelöst, wenn der Benutzer offene Gebühren hat, die vor der Ausleihe beglichen werden müssen.
- Erweiternde Nutzungsfälle:
- Reservierung platzieren: Fügt den Benutzer einer Warteliste für das Buch hinzu.
- Gebühren begleichen: Verarbeitet die Zahlung für eventuelle überfällige Gebühren.
- Begründung: Diese Aktionen sind bedingt (z. B. Unverfügbarkeit des Buches oder unbezahlte Gebühren) und gehören nicht zu jedem Ausleihvorgang.
Best Practices zur Definition von Erweiterungspunkten
Um eine effektive Nutzung von Erweiterungspunkten zu gewährleisten, beachten Sie diese Best Practices:
- Halten Sie Namen beschreibend: Verwenden Sie klare, spezifische Namen wie„Gutschein anwenden“ oder„Sitzpräferenz auswählen“ um Mehrdeutigkeiten zu vermeiden.
- Überprüfen Sie die Unabhängigkeit: Stellen Sie sicher, dass der Grundnutzungsfall vollständig funktioniert, ohne die erweiternde Funktion.
- Dokumentieren Sie die Bedingungen: Geben Sie die Bedingungen an, unter denen die Erweiterung ausgelöst wird (z. B. „Wenn der Benutzer einen gültigen Gutscheincode eingibt“).
- Nutzen Sie Werkzeuge effektiv: Nutzen Sie UML-Werkzeuge wie Visual Paradigm oder Enterprise Architect, um Erweiterungspunkte visuell zu definieren und zu verknüpfen.
- Testen Sie mit Stakeholdern: Überprüfen Sie Erweiterungspunkte mit Stakeholdern, um sicherzustellen, dass sie mit den Systemanforderungen und Benutzererwartungen übereinstimmen.
Häufige Fehler, die Sie vermeiden sollten
- Übermäßiger Einsatz von Erweiterungen: Verwenden Sie <<extend>> nicht für obligatorisches Verhalten; verwenden Sie stattdessen <<include>> für erforderliche Teilabläufe.
- Zweideutige Erweiterungspunkte: Vermeiden Sie generische Namen wie„Machen Sie etwas“, die den Zweck der Erweiterung nicht vermitteln.
- Verunreinigung des Basis-Nutzungsszenarios: Stellen Sie sicher, dass Erweiterungen wirklich optional sind, um eine Überkomplexität des Kernablaufs zu vermeiden.
- Ignorieren von Bedingungen: Definieren Sie immer die spezifischen Bedingungen, die die Erweiterung auslösen, um Klarheit zu gewährleisten.
Visualisierung von Erweiterungspunkten in UML-Werkzeugen
In Werkzeugen wie Visual Paradigm werden Erweiterungspunkte innerhalb des Kastens des Basis-Nutzungsszenarios dokumentiert. Zum Beispiel:
- Nutzungsszenario: Bestellung aufgeben
- Erweiterungspunkte:
- Rabatt anwenden (Bedingung: Benutzer gibt einen gültigen Rabattcode ein)
- Versandhinweise angeben (Bedingung: Benutzer wählt, Lieferhinweise hinzuzufügen)
- Erweiterungspunkte:
- Die erweiternden Nutzungsszenarien sind mit diesen Punkten über <<extend>>-Beziehungen verbunden, oft mit einer Notiz, die die Bedingung angibt.
Diese visuelle Darstellung stellt sicher, dass Entwickler und Stakeholder leicht nachvollziehen können, wie und wo Erweiterungen integriert werden.
Fazit
Die Identifizierung der richtigen Stellen, um <<extend>>-Abschnitte in einem Nutzungsszenario einzufügen, erfordert ein tiefes Verständnis der funktionalen Anforderungen des Systems und eine sorgfältige Analyse des Ablaufs des Basis-Nutzungsszenarios. Indem Sie sich auf optionales oder bedingtes Verhalten konzentrieren, klare Namen vergeben und die Unabhängigkeit des Basis-Nutzungsszenarios sicherstellen, können Sie modulare und flexible Nutzungsszenariomodelle erstellen. Praxisbeispiele wie das Anwenden von Rabatten in einem E-Commerce-System oder das Anfordern zusätzlicher Zeit bei einer Quiz-Abfrage zeigen, wie Erweiterungspunkte die Systemgestaltung verbessern, ohne die Kernfunktionalität zu überlasten.
Durch die Einhaltung der in diesem Leitfaden beschriebenen Schritte – Analyse von Abläufen, Identifizierung optionalen Verhaltens, klare Benennung von Erweiterungspunkten und Nutzung von UML-Werkzeugen – können Sie die Kunst der Definition von Erweiterungspunkten beherrschen. Dieser Ansatz verbessert nicht nur die Klarheit und Wartbarkeit Ihrer Nutzungsszenariodigramme, sondern stellt auch sicher, dass Ihr System an sich verändernde Anforderungen angepasst werden kann.
Referenz
- Dokumentation von Use-Case-Details in Visual Paradigm
Leitfaden dazu, wie man Use-Case-Details innerhalb von Visual Paradigm bearbeitet und ansieht. - Wie man Use-Case-Diagramme zeichnet? – Visual Paradigm
Schritt-für-Schritt-Anleitung zur Erstellung von UML-Use-Case-Diagrammen mit Visual Paradigm. - Was ist ein Use-Case-Diagramm? – Visual Paradigm
Übersicht über Use-Case-Diagramme und ihre Rolle bei der Modellierung des Systemverhaltens. - Use-Case-Diagramm in Visual Paradigm
Ausführliche Erklärung der Elemente eines Use-Case-Diagramms und wie man Use-Case-Ereignisse dokumentiert. - Leitfaden zu Use-Case-Diagramm-Notationen – Visual Paradigm
Umfassender Leitfaden zu den in Visual Paradigm unterstützten UML-Use-Case-Diagramm-Notationen. - Umfassender Leitfaden zur Erstellung von Use-Case-Diagrammen mit Visual Paradigm
Ein detaillierter Leitfaden zur Identifizierung von Akteuren, Definition von Use-Cases und Modellierung von Beziehungen in Visual Paradigm. - Use-Case-Beschreibung in Visual Paradigm für UML – Angelfire
Erklärt Use-Case-Beschreibungen, Planung, Vertiefung und Dokumentenerstellung in Visual Paradigm. - Use-Case-Modelle entschlüsselt: Verbindung von textuellen Details und visueller Einsicht
Bespricht, wie man textuelle Use-Case-Details mit visuellen Diagrammen in Visual Paradigm kombiniert. - Use-Case-Diagramm – UML-Modellierungstool – Visual Paradigm
Die offizielle Seite von Visual Paradigm, die die Funktionen für Use-Case-Diagramme und die Notationenunterstützung zeigt.











