17.8. Generalisierung

Eine Generalisierung ist eine Beziehung zwischen zwei Anwendungsfällen oder zwei Akteuren. Wenn A eine Generalisierung von B ist, bedeutet das, dass A das generelle Verhalten beschreibt und B eine speziellere Version dieses Verhaltens darstellt.

Beispiele in einem Verkaufssystem für reisende Verkäufer könnte der Anwendungsfall des Buchens als eine Generalisierung des Anwendungsfalles Flugbuchung und ein Akteur Verkäufer eine Generalisierung des Akteurs Kontrolleur (da Kontrolleure auch als Verkäufer fungieren können, aber nicht umgekehrt)

Die Generalisierung ist die Analogie zur Klassenvererbung in der OO-Programmierung.

[Anmerkung]Anmerkung

Es geht sehr schnell, eine extends-Beziehung zwischen Anwendungsfällen mit einer Generalisierung zu verwechseln. Jedoch extends erweitert das Verhalten eines Anwendungsfalles in einem speziellen Punkt. Während eine Generalisierung das Verhalten über den ganzen Anwendungsfall spezialisiert.

Innerhalb des UML-Metamodelles ist die Generalisierung eine Subklasse der Beziehung.

Eine Generalisierung wird mit einem Pfeil, mit weiss ausgefüllter Spitze vom spezialisierten Anwendungsfall oder Akteur zum generalisierenden Anwendungsfall oder Akteur dargestellt (siehe Abbildung 17.1, „ Typische Modellelemente in einem Anwendungsfalldiagramm. ).

17.8.1. Detail-Register Generalisierung

Die für Assoziationen aktiven Detail-Register sind die folgenden.

Zu-Bearbeiten-Element

Standard-Register.

Eigenschaften

Siehe Abschnitt 17.8.2, „ Eigenschaftssymbolleiste Generalisierung und Abschnitt 17.8.3, „ Eigenschaftsfelder der Generalisierung folgende.

Dokumentation

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

Darstellung

Standard-Register.

[Anmerkung]Anmerkung

Die Werte im Feld "Begrenzung" der Generalisierung kann nicht editiert werden, weil sie durch die Eigenschaften der Endpunkte der Linie bestimmt werden.

Stereotyp

Standard-Register.

Eigenschaftswerte

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

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

    [Anmerkung]Anmerkung

    Abgeleitete Generalisierungen haben Ihren Wert in der Analyse, um nützliche Namen oder Konzepte einzuführen und im Design, um eine wiederholte Berechnung zu verhindern.

17.8.2. Eigenschaftssymbolleiste Generalisierung

Nach oben

Geht in der Paketstruktur des Modelles nach oben. Bei der Generalisierung ist dies das Paket, das die Generalisierung enthält.

Neuer Stereotyp

Erzeugt einen neuen Stereotyp (siehe Abschnitt 16.6, „ Stereotyp) für die markierte Generalisierung und springt sofort in das Register Eigenschaften dieser Generalisierung.

Löschen

Entfernt die markierte Generalisierung aus dem Modell.

[Warnung]Warnung

Die ist ein Entfernen aus dem Modell und nicht nur aus dem Diagramm. Um eine Generalisierung aus einem Diagramm zu entfernen, aber diese im Modell zu erhalten, verwenden Sie das Hauptmenü Aus Diagramm entfernen (oder drücken Sie die Taste Entf).

17.8.3. Eigenschaftsfelder der Generalisierung

Name

[Tipp]Tipp

In der Anwendungsfallanalyse wird die Generalisierung sehr häufig nicht benannt.

[Anmerkung]Anmerkung

ArgoUML erzwingt keine Namenskonvention für Assoziationen.

[Anmerkung]Anmerkung

Es gibt keine Darstellung des Namens einer Generalisierung im Diagramm.

Textfeld. Der Name des Diskriminators für die Spezialisierung. UML 1.4 erlaubt das Gruppieren von Spezialisierungen in eine Anzahl von Gruppen auf Basis dieses Wertes.

[Tipp]Tipp

Der leere String „“ ist ein gültiger Eintrag (und der Standard) für dieses Feld. Der Diskriminator ist nur im Falle einer Mehrfachvererbung von praktischem Nutzen. Ein (Klassendiagramm) Beispiel wird in Abbildung 17.2, „ Beispiel eines Diskrimintators mit Generalisierung gezeigt. Hier sollte jeder Anwendertyp von zwei Anwenderarten erben. Eine, die zwischen lokalen und fernen Anwendern unterscheidet (die durch einen Diskriminator identifiziert werden können) und eine, welche die Funktion eines Anwenders angibt (durch einen anderen Diskriminator bezeichnet).

Dies ist ein kleiner Punkt, wie dies innerhalb eines Anwendungsfalldiagrammes genutzt werden kann.

Namensraum

Textfeld mit Navigationsschaltfläche. Gibt den Namensraum der Generalisierung an. Dies ist die Pakethierarchie.

Superklasse

Textfeld. Zeigt den Anwendungsfall oder Akteur, der die Superklasse dieser Beziehung darstellt. Z.B. das generellere Ende der Beziehung. Ein Taste 1- Doppelklick auf diesen Eintrag springt zu diesem Anwendungsfall oder Akteur.

Subklasse

Textfeld. Zeigt den Anwendungsfall oder Akteur, der die Subklasse dieser Beziehung darstellt. Z.B. das spezifischere Ende der Beziehung. Ein Taste 1- Doppelklick auf diesen Eintrag springt zu diesem Anwendungsfall oder Akteur.

Powertype

Drop-Down-Auswahl mit Zugriff auf alle Standard-UML-Typen, die durch ArgoUML unterstützt werden und allen neuen Klassen, die innerhalb des aktuellen Modelles erzeugt wurden.

Dies ist der Typ der Subklasse der Generalisierung.

[Tipp]Tipp

Dies kann in der Anwendungsfallanalyse ignoriert werden. Der einzige, einzugebende sensible Wert würde der Typ des Subklassen-Anwendungsfalles sein (wie ein Klassifizierer, der in der Drop-Down-Auswahlliste erscheint).

Abbildung 17.2. Beispiel eines Diskrimintators mit Generalisierung

Beispiel eines Diskrimintators mit Generalisierung