18.13. Assoziationsende

Zwei oder mehr Assoziationsenden sind mit jeder Assoziation verknüpft (siehe Abschnitt 17.5, „ Assoziation).

Innerhalb des UML-Metamodelles ist AssociationEnd eine Subklasse von ModelElement.

Das Assoziationsende hat keinen direkten Zugriff auf die Diagramme für binäre Assoziationen. Die Enden einer N-fach Assoziation können durch Anklicken der Zeile im Diagramm ausgewählt werden. Der Stereotyp, der Name und die Kardinalität werden am relevanten Ende der Eltern-Assoziation angezeigt (siehe Abbildung 17.1, „ Typische Modellelemente in einem Anwendungsfalldiagramm. ). Wo eine trennbare oder eine untrennbare Aggregation für eine Assoziationsende ausgewählt wurde, wird das gegenüber liegende Ende als ausgefüllter Diamant (untrennbare Aggregation) oder als nicht ausgefüllter Diamant (trennbare Aggregation) angezeigt.

[Tipp]Tipp

Obwohl sie die Attribute der Assoziationsenden beim Erzeugen eines Anwendungsfallmodelles ändern können, ist dies oft nicht notwendig. Viele der Eigenschaften eines Assoziationsendes beziehen sich auf seine Nutzung in Klassendiagrammen und sind von begrenzter Relevanz hinsichtlich der Anwendungsfälle. Die meisten nützlichen Attribute, die geändert werden können sind der Name (als Rollenname verwendet) und die Kardinalität.

[Anmerkung]Anmerkung

ArgoUML unterstützt aktuell nicht das Anzeigen von Qualifizierern im Diagramm, wie im UML 1.3-Standard beschrieben.

18.13.1. Detail-Register Assoziationsenden

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

Zu-Bearbeiten-Element

Standard-Register.

Eigenschaften

Siehe Abschnitt 18.13.2, „ Eigenschaftssymbolleiste Assoziationsende und Abschnitt 18.13.3, „ Eigenschaftsfelder für ein Assoziationsende unten.

Dokumentation

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

Darstellung

Standard-Register.

Quellcode

Standard-Register. Dieses Register enthält eine Deklaration für ein Assoziationsende als Instanz des Modellelementes, mit der es verbunden ist.

Eigenschaftswerte

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

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

    [Tipp]Tipp

    Abgeleitete Assoziationsenden haben Ihren Wert in der Analyse, um nützliche Namen oder Konzepte einzubinden und im Design, um eine Wiederverarbeitung zu verhindern. Der Eigenschaftswert macht bei einem Assoziationsende jedoch nur Sinn, wenn er auch auf die Eltern-Assoziation angewendet wird.

[Anmerkung]Anmerkung

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

18.13.2. Eigenschaftssymbolleiste Assoziationsende

Nach oben

Navigiert zu der Assoziation, zu der dieses Ende gehört.

Gehe zum anderen Ende

Navigiert zum anderen Ende der Assoziation.

Neuer Qualifizierer

Erzeugt einen neuen Qualifizierer für das markierte Assoziationsende und springt sofort in das Register Eigenschaften dieses Qualifizierers.

[Warnung]Warnung

Qualifizierer werden nur teilweise von ArgoUML V0.18 unterstützt. Aus diesem Grund erzeugt die Aktivierung dieser Schaltfläche einen Qualifizierer im Modell, der im Diagramm nicht angezeigt wird. Auch das Eigenschaftsfenster eines Qualifizierers entspricht dem eines regulären Attributes.

Neuer Stereotyp

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

Löschen

Löscht das markierte Assoziationsende aus dem Modell.

[Anmerkung]Anmerkung

Diese Schaltfläche ist bei binären Assoziationen deaktiviert, weil eine Assoziation mindestens zwei Enden benötigt. Nur für N-fache Assoziationen ist diese Schaltfläche zugreifbar und löscht nur ein Ende aus der Assoziation.

18.13.3. Eigenschaftsfelder für ein Assoziationsende

Name

Textfeld. Der Name des Assoziationsendes, das einen Rollenname für dieses Ende der Assoziation enthält. Dieser Rollenname kann für die Navigation und im Kontext der Implementation, enthält es einen Namen, durch den das Quell-Ende einer Assoziation durch das Ziel-Ende referenziert wird.

[Anmerkung]Anmerkung

ArgoUML erzwingt keine Namenskonvention für Assoziationsenden.

Stereotyp

Kombinationsfeld. Das Assoziationsende bietet standardmäßig die UML-Standard-Stereotypen für Assoziationsenden ( association, global, local, parameter, self) an.

Stereotyp navigieren

Symbol. Wenn ein Stereotyp markiert wurde, navigiert es zum Eigenschaftsfenster des Stereotypen. (siehe Abschnitt 16.6, „ Stereotyp).

Assoziation

Textfeld. Gibt die Eltern-Assoziation für dieses Assoziationsende wieder. Ein Taste 1-Doppelklick auf diesen Eintrag navigiert zu der Assoziation.

Typ

Das Kombinationsfeld bietet Zugriff auf alle Standard-UML- Typen von ArgoUML und alle neuen Klasse an, die innerhalb des aktuelle Modelles erezgut wurden.

Dies ist der zu diesem Ende der Assoziation hinzugefügte Typ der Entität.

[Tipp]Tipp

Standardmäßig wird ArgoUML die Klasse des Modellelementes markieren, mit der die Verknüpfung verbunden ist. Jedoch kann eine Assoziation zu einer anderen Klasse durch markieren des anderen Eintrages bewegt werden. Modellelementen

Kardinalität

DropDown-Menü mit Editierfenster. Der Wert kann aus dem Auswahlfenster ausgewählt werden oder eine neue kann im Textfeld editiert werden. Nimmt die Kardinalität dieses Assoziationsendes wieder (unter Berücksichtigung des anderen Endes). Z.B. wie viele Instanzen dieses Endes können mit einer Instanz des anderen Endes verknüpft werden. Die Kardinalität wird im Diagramm am Ende der Assoziation angezeigt.

Modifizierer

Es gibt 3 Modifizierer: navigable, ordered und static. Alle 3 sind Markierfelder.

  • navigable. Gibt an, dass dieses Ende vom anderen Ende aus erreicht werden kann.

    [Anmerkung]Anmerkung

    Der UML 1.4-Standard bietet eine Anzahl Optionen an, wie die Navigation an einem Assoziationsende angezeigt wird. ArgoUML verwendet die Option 3, was bedeutet, dass Pfeile am Ende einer Assoziation angezeigt werden, bei der die Navigation nur an einem Ende aktiviert ist, um die Richtung anzuzeigen, in der die Navigation möglich ist. Das bedeutet, dass der Standard, mit beiden Enden navigierbar, keine Pfeile aufweist.

  • ordered. Wenn an einem Ende plaziert, spezifiziert es, ob der Satz von Verknüpfungen von der anderen Instanz zu dieser Instanz eine Reihenfolge aufweist. Die Reihenfolge muss bestimmt und durch Operationen, die Verknüpfungen hinzufügen verwaltet werden. Es stellt zusätzliche Information bereit, die in den Objekten oder Verknpfungen selbst nicht innewohnen. Einstellungen für die Markierfelder sind: Nicht markiert - Die Verweise bilden einen Satz ohne innewohnende Reihenfolge. Markiert - Ein Satz geordneter Verweise in einer Reihenfolge.

  • Static (Noch zu beschreiben)

Spezifikation

Liste. Benennt Null oder mehr Klassifizierer, welche die Operationen spezifizieren, die auf eine Instanz angewendet werden können, auf die über die Assoziationsenden der Assoziation zugegriffen werden kann. Diese bestimmen die minimale Schnittstelle, die durch den aktuellen Klassifizierer am Ende realisert werden muss um die Absicht der Assoziation zu unterstützen. Es kann eine Schnittstelle oder ein anderer Klassifizierer sein. Der Typ des Klassifizierers wird als Symbol angezeigt.

Ein Taste 1-Doppelklick navigiert zu dem markierten Klassifizierer. Ein Taste 2-Klick öffnet ein Popup-Menü mit einem Eintrag.

  • Hinzufügen. Fügt einen neuen Spezifikationsklassifizierer hinzu. Dies öffnet das Dialogfenster Spezifikationen hinzufügen/ entfernen (siehe Bild unten), das es erlaubt, zwischen allen möglichen Klassifizierern auszuwählen und diese zu der ausgewählten Liste hinzuzufügen oder zu entfernen.

    Abbildung 18.6. Das Dialogfenster „Spezifikationen hinzufügen/ entfernen

    Das Dialogfenster Spezifikationen hinzufügen/ entfernen

Qualifizierer

Textfeld. Nimmt die Qualifizierer für dieses Assoziationsende auf. Ein Taste 1-Doppelklick auf diesen Eintrag navigiert zu diesem Qualifizierer. Ein Taste 2-Klick öffnet ein Popup-Menü, das zwei Einträge enthält: Nach oben und Nach unten , die ein Ändern der Reihenfolge der Qualifizierer ermöglichen.

Aggregation

Auswahlfeld mit den drei Einträgen composite, none und aggregate. Gibt an, ob die Beziehung mit dem fernen Ende eine trennbare Ganzes-Teile-Beziehung darstellt (aggregation) oder eine untrennbare Ganzes-Teile-Beziehung (composite ).

Eine trennbare Aggregation wird durch einen unausgefüllten Diamanten am „Ganzes“-Ende der Assoziation dargestellt. Eine untrennbare Aggregation wird durch einen ausgefüllten Diamanten dargestellt.

[Anmerkung]Anmerkung

Sie dürfen nicht an beiden Enden einer Assoziation eine Aggregation haben. ArgoUML erzwingt diese Bedingung nicht.

Das „Ganzes“-Ende einer untrennbaren Aggregation sollte die Kardinalität eins haben. ArgoUML erzwingt diese Bedingung nicht.

Änderbarkeit

Auswahlfeld mit den drei Einträgen add only , changeable und frozen. Gibt an, ob Instanzen dieses Endes des Assoziationsendes sein darf: i) erzeugt, aber nicht gelöscht nachdem die Zielinstanz erzeugt wurde; ii) erzeugt und gelöscht; oder iii) nicht erzeugt oder gelöscht durch die Quelle nadem die Zielinstanz erzeugt wurde.

Sichtbarkeit

Auswahlfeld mit den vier Einträgen public, private, protected und package. gibt an, ob die Navigation zu diesem Ende sein darf: i) jeder Klassifizierer; ii) nur durch die Quellklassifizierer; oder iii) nur durch die Quellklassifizierer und deren Kinder.