17.9. Extend

Extend ist eine Beziehung zwischen zwei Anwendungsfällen. Wenn A B erweitert, bedeutet das, dass A zusätzliches Verhalten beschreibt, das bedingungsabhängig (unter bestimmten Umständen) irgendwann während des normalen Ablaufes von B ausgeführt wird.

In gewisser Hinsicht ist Extend der Generalisierung ähnlich. Der Hauptunterschied ist jedoch, dass die erweiterten Anwendungsfälle Erweiterungspunkte definieren (siehe Abschnitt 17.4, „ Erweiterungspunkt), welches die einzigen Stellen sind an denen sein Verhalten erweitert werden darf. Der erweiterte Anwendungsfall muss definieren, an welchem dieser Erweiterungspunkte er das Verhalten hinzufügt.

Dadurch ist die Verwendung von Extend strenger kontrolliert als die allgemeine Erweiterung. Sie wird daher bevorzugt, wo immer dies möglich ist.

Beispiele in einem Verkaufssystem für reisende Vertriebsmitarbeiter könnten die Anwendungsfälle für das Bezahlen eines Tickets sein, das einen Erweiterungspunkt in der in der Spezifikation des Bezahlvorganges hat. Erweiternde Anwendungsfälle können diese an diesem Punkt erweitern (extend), um mit Bargeld, Kreditkarte usw. zu bezahlen.

Innerhalb des UML-Metamodelles ist Extend eine Subklasse von Relationship (Beziehung).

Eine Extend-Beziehung wird als gepunktete Verbindung mit einer nicht ausgefüllten Pfeilspitze und der Bezeichnung «extend» dargestellt. Wenn eine Bedingung definiert wurde, wird diese unter der Bezeichnung «extend» angezeigt (siehe Abbildung 17.1, „ Typische Modellelemente in einem Anwendungsfalldiagramm. ).

17.9.1. Detail-Register Extend

Die Detail-Register, die bei einer Extend-Beziehung aktiv sind, sind folgende.

[Anmerkung]Anmerkung

Es gibt kein Register Quellcode, da es keinen Quellcode gibt, der für eine Extend-Beziehung generiert werden könnte.

Zu-Bearbeiten-Element

Standard-Register.

Eigenschaften

Siehe Abschnitt 17.9.2, „ Extend Eigenschaftssymbolleiste und Abschnitt 17.9.3, „ Eigenschaftsfelder für Extend unten.

Dokumentation

Standard-Register. Siehe Abschnitt 13.4, „ Das Register Dokumentation.

Darstellung

Standard-Register

[Anmerkung]Anmerkung

Die Werte im Feld "Begrenzung" von Extend ist nicht editierbar, weil sie durch die Eigenschaften der Endpunkte dieser Linie bestimmt werden.

Stereotyp

Standard-Register.

Eigenschaftswerte

Standard-Register. Im UML-Metamodell sind für Extend die folgenden Standard-Eigenschaftswerte definiert.

  • derived (von der Superklasse, ModelElement). Der Wert true bedeutet, dass die Extend-Beziehung redundant ist - sie kann formal von anderen Elementen abgeleitet werden, oder false, wenn sie nicht abgeleitet werden kann.

    [Anmerkung]Anmerkung

    Abgeleitete Extend-Beziehungen können ihren Wert in der Analyse haben, um nützliche Namen oder Konzepte einzuführen.

17.9.2. Extend Eigenschaftssymbolleiste

Nach oben

Navigiert in der Paketstruktur des Modelles nach oben. Bei Extend ist dies das Paket, in dem sich die Erweiterung befindet.

Neuer Erweiterungspunkt

Erzeugt einen neuen Anwendungsfall-Erweiterungspunkt im Namensraum der aktuellen Extend-Beziehung, mit der aktuellen Extend-Beziehung als dessen erste erweiternde Beziehung.

[Tipp]Tipp

Es ist zwar völlig in Ordnung, einen Erweiterungspunkt von einer Extend-Beziehung aus zu erzeugen. Der erzeugte Erweiterungspunkt wird aber keinen mit ihm verknüpften Anwendungsfall aufweisen (er kann später eingerichtet werden).

Üblicher wäre es, einen Erweiterungspunkt innerhalb eines Anwendungsfalles zu erzeugen und diesen anschliessend mit einer Extend-Beziehung zu verknüpfen (siehe Abschnitt 17.9.3, „ Eigenschaftsfelder für Extend unten.

Neuer Stereotyp

Erzeugt einen neuen Stereotypen (siehe Abschnitt 16.6, „ Stereotyp) für die markierte Extend-Beziehung und springt unmittelbar in das Register Eigenschaften dieses Stereotypen.

Löschen

Enfernt die markierte Extend-Beziehung aus dem Modell.

[Warnung]Warnung

Diese Funktion löscht aus dem Modell, nicht nur aus dem Diagramm. Um eine Extend-Beziehung aus einem Diagramm zu entfernen, diese aber im Modell zu erhalten, nehmen Sie Aus Diagramm entfernen aus dem Hauptmenü (oder drücken Sie die Taste Entf).

17.9.3. Eigenschaftsfelder für Extend

Name

Textfeld. Der Name der Extend-Beziehung.

[Tipp]Tipp

Sehr häufig läßt man die Extend-Beziehungen in der Anwendungsfall-Analyse unbenannt.

[Anmerkung]Anmerkung

ArgoUML erzwingt keine Namenskonvention für Extend- Beziehungen.

Namensraum

Textfeld. Nimmt den Namensraum für die Extend-Beziehung auf. Dies entspricht der Pakethierarchie.

Ein Taste 1-Doppelklick auf den Eintrag navigiert in das Paket, das diesen Namensraum definiert (oder in das Modell mit dem obersten Namensraum).

Basis-Anwendungsfall

Textfeld. Zeigt den Anwendungsfall, der durch diese Extend- Beziehung erweitert wird. Ein Taste 1-Doppelklick auf diesen Eintrag navigiert zu diesem Basis-Anwendungsfall.

Erweiterung

Textfeld. Zeigt den Anwendungsfall, der die Erweiterung über diese Extend-Beziehung darstellt. Ein Taste 1- Doppelklick auf diesen Eintrag navigiert zu diesem Erweiterungs-Anwendungsfall.

Erweiterungspunkte

Textfeld. Listet die Erweiterungspunkte des Basis- Anwendungsfalles auf, bei denen die Erweiterung ausgeführt wird, wenn die Bedingung eintritt.

[Anmerkung]Anmerkung

Wenn die Bedingung erfüllt ist, wird die Sequenz der Anwendungsfall-Instanz durch das Einbinden der Sequenz des erweiternden Anwendungsfalles erweitert. Die unterschiedlichen Teile des erweiternden Anwendungsfalles werden an den durch die Abfolge der Erweiterungspunkte in der Beziehung bestimmten Stellen eingefügt - ein Teil an jedem referenzierten Erweiterungspunkt. Beachten Sie, dass die Bedingung nur einmal geprüft wird: nämlich am ersten referenzierten Erweiterungspunkt. Wenn sie erfüllt ist, werden alle erweiternden Anwendungsfälle in die Original-Sequenz eingefügt.

Daher ist die Reihenfolge der Erweiterungspunkte irrelevant, ausser der Position des ersten Erweiterungspunktes; weil dieser bestimmt, wo die Bedingung geprüft wird.

Dort, wo ein Erweiterungspunkt erstellt wurde, wird ein Taste 1-Doppelklick zu dieser Beziehung navigieren. Taste 2 öffnet ein Popup-Menü mit den folgenden Einträgen.

  • Hinzufügen. Das Fenster „Erweiterungspunkte hinzufügen/entfernen“ öffnet sich. In diesem Fenster ist es möglich, eine Liste der Erweiterungspunkte zu erstellen.

  • Neu. Fügt einen neuen Erweiterungspunkt in die Liste ein und navigiert dort hin. Die aktuelle Extend-Beziehung wird als erste in die Liste der erweiternden Beziehungen des neuen Erweiterungspunktes aufgenommen.

  • Nach oben. Nur verfügbar, wenn zwei oder mehr Erweiterungspunkte aufgeführt sind und der markierte Erweiterungspunkt sich nicht oben befindet. Sie bewegt den Erweiterungspunkt um eine Position nach oben.

  • Nach unten. Nur verfügbar, wenn zwei oder mehr Erweiterungspunkte aufgeführt sind und der markierte Erweiterungspunkt sich nicht unten befindet. Sie bewegt den Erweiterungspunkt um eine Position nach unten.

Bedingung

Textbereich. Mehrzeilige textuelle Beschreibung jeder Bedingung der Extend-Beziehung.

Der hier eingegebene Text wird im Diagramm angezeigt.