18.12. Assoziation

Eine Assoziation in einem Klassendiagramm stellt die Beziehung zwischen Klassen, oder zwischen einer Klasse und einer Schnittstelle dar. In einem Anwendungsfalldiagramm bindet eine Assoziation einen Akteur an einen Anwendungsfall.

Innerhalb des UML-Metamodelles ist die Association eine Subklasse von Relationship und GeneralizableElement.

Die Assoziation wird als durchgehende Linie dargestellt, die einen Akteur und einen Anwendungsfall oder eine Klasse oder eine Schnittstelle verbindet (siehe Abbildung 18.1, „ Denkbare Modellelemente in einem Klassendiagramm. ). Der Name der Assoziation und die Stereotypen erscheinen oberhalb der Linie.

ArgoUML ist bei binären Assoziationen nicht eingeschränkt. Siehe mehr darüber unter Abschnitt 18.12.1, „ Drei-Wege und größere Assoziationen und Assoziationsklassen .

Assoziationen sind erlaubt zwischen Schnittstellen und Klassen, aber UML 1.3 spezifiziert, dass sie nur in Richtung der Schnittstelle navigierbar sein müssen - mit anderen Worten, die Schnittstelle kann die Klasse nicht sehen. ArgoUML wird solche Assoziationen mit der entsprechenden Navigation zeichnen.

Assoziationen sind oft unbenannt, wenn deren Bedeutung aus dem Kontext klar ersichtlich ist.

[Anmerkung]Anmerkung

ArgoUML enthält keinen spezifischen Weg, die Richtung der Assoziation darzustellen, wie im UML 1.4-Standard beschrieben. Die Benennung sollte versuchen, dies klarzustellen.

Die Assoziation enthält mindestens zwei Enden, zu denen über das Register Eigenschaften der Assoziation navigiert werden kann. Weitere Informationen siehe Abschnitt 18.13, „ Assoziationsende.

18.12.1. Drei-Wege und größere Assoziationen und Assoziationsklassen

UML 1.3 enthält N-fach Assoziationen und Assoziationen, die durch eine dritte assoziative Klasse verwaltet werden. Beide werden von ArgoUML unterstützt.

N-fach Assoziationen werden erzeugt durch zeichnen einer Assoziation von einer existierenden Assoziation zu einer dritten Klasse. Die aktuelle Implementierung von ArgoUML erlaubt nicht die umgkehrte Vorgehensweise: Das Zeichnen von der 3. Klasse zu einer existierenden Assoziation ist nicht möglich.

Assoziationsklassen werden genauso gezeichnet wie eine normale Assoziation. z.B. zwischen zwei Klassen, aber mit einem anderen Werkzeug aus der Diagrammsymbolleiste.

18.12.2. Detail-Register Assoziation

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

Zu-Bearbeiten-Element

Standard-Register.

Eigenschaften

Siehe Abschnitt 18.12.3, „ Eigenschaftssymbolleiste Assoziation und Abschnitt 18.12.4, „ Eigenschaftsfelder für eine Assoziation unten.

Dokumentation

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

Darstellung

Standard-Register.

[Anmerkung]Anmerkung

Die Werte für die Begrenzung der Assoziation haben keine Bedeutung, weil sie durch die Lage der verbundenen Elemente bestimmt werden. Eine Änderung hat keine Auswirkung auf das Diagramm.

Quellcode

Standard-Register. Sie würden nicht erwarten, dass Code für eine Assoziation generiert wird. Jeder hier eingegebene Code wird ignoriert (er wird verschwunden sein, wenn sie zu dieser Assoziation zurückkehren).

Eigenschaftswerte

Standard-Register. Im UML-Metamodell einer Assoziation sind die folgenden Standard-Eigenschaftswerte definiert.

  • persistence. Der Wert transitory gibt an, dass der Zustand zerstört wird, wenn die Instanz zerstört wird, oder persistent kennzeichnet, dass der Zustand erhalten bleibt, wenn die Instanz zerstört wird.

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

    [Anmerkung]Anmerkung

    Abgeleitete Assoziationen haben ihren Wert in der Analyse, um nützliche Namen oder Konzepte einzubinden und im Design, um eine Wiederverarbeitung zu verhindern.

[Anmerkung]Anmerkung

Die UML-Metaklasse Element, von der alle anderen Modellelemente abgeleitet werden, beinhaltet einen Eigenschaftswert documentation. Dieser wird in ArgoUML im Register Dokumentation bearbeitet.

18.12.3. Eigenschaftssymbolleiste Assoziation

Nach oben

Navigiert in der Paketstruktur des Modelles nach oben. Bei einer Assoziation ist dies das Paket, welches die Assoziation enthält.

Neuer Stereotyp

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

Löschen

Löscht die markierte Assoziation aus dem Modell.

[Warnung]Warnung

Dies ist ein Löschen aus dem Modell, nicht nur aus dem Diagramm. Um eine Assoziation aus dem Diagramm zu löschen, sie aber im Modell zu erhalten, verwenden Sie Aus Diagramm entfernen des Hauptmenüs (oder drücken Sie die Taste Entf).

18.12.4. Eigenschaftsfelder für eine Assoziation

Name

Textfeld. Der Name der Assoziation. Per Konvention beginnen Assoziationsnamen mit einem Kleinbuchstaben und mit Groß-/ Kleinschreibung, um Wörter innerhalb des Namens unterscheiden zu können. Beispiel: verkaufsVorgehen .

[Anmerkung]Anmerkung

ArgoUML erzwingt keine Namenskonvention für Assoziationen.

[Tipp]Tipp

Obwohl die Designkritiken dies fordern, ist es auf der anderen Seite normal, die Assoziationen in einem Klassendiagramm nicht zu benennen, da die Beziehung der Klassennamen (oder Klasse und Schnittstelle) sehr häufig offensichtlich ist.

Stereotyp

Auswahlfeld. Die Assoziation bietet standardmäßig die UML- Standard-Stereotypen für eine Assoziation an ( implicit).

Stereotypisieren kann nützlich sein, wenn Sie Assoziationen im Problembereich (Anforderungsaufnahme) und dem Lösungsbereich (Analyse) erzeugen, wie auch bei auf Mustern basierenden Prozessen.

Der Stereotyp wird zwischen « and » unterhalb des Assoziationsnamens im Diagramm angezeigt.

Stereotyp navigieren

Symbol. Wenn ein Stereotyp markiert wurde, wird es in das Eigenschaftsfenster des Stereotypen navigieren. (siehe Abschnitt 16.6, „ Stereotyp).

Namensraum

Kombinationsfeld. Gibt den Namensraum für die Assoziation wieder und erlaubt dessen Änderung. Dies ist die Pakethierarchie.

Verbindungen

Textbereich. Listet die Enden dieser Assoziation auf. Eine Assoziation kann zwei oder mehr Enden haben. Bei mehr als zwei Assoziationsenden siehe Abschnitt 18.13, „ Assoziationsende.

Die Namen der Assoziationsenden werden aufgelistet, es sei denn das Assoziationsende hat keinen Namen (dies ist der Fall, wenn sie das erste Mal erzeugt wird). In diesen Fall wird (Unbekanntes Assoziationsende) angezeigt.

[Anmerkung]Anmerkung

Die einzige Darstellung von Assoziationsenden im Diagramm ist, dass deren Name am relevanten Ende der entsprechenden Assoziation erscheint.

Ein Taste 1-Doppelklick auf ein Assoziationsende navigiert zu diesem Ende.

Assoziationsrollen

Textbereich. (Noch zu beschreiben)

Verknüpfungen

Textbereich. (Noch zu beschreiben)