# UML-Diagramme: Was sind Assoziationen?



## Staubkoernchen (23. Jan 2012)

Huhu liebe Community,

ich schreibe morgen in Informatik einen Test, in welchem unter anderem UML-Diagramme vorkommen.
Da ich im Jahr davor kein UML hatte (andere Schule), die meisten anderen jedoch schon, hab ich grad das Hintertreffen und brauche eure Hilfe. Ich habe nämlich absolut keinen Schimmer, was mit Aggregation, Komposition und was mit Assoziation gemeint ist.
Ich hab bereits in Google nachgeguckt, aber wirklich weitergeholfen hats mir nich. Ich versteh z.B. nicht, weshalb man Aggregationen braucht - reicht da nicht eine Referenz, also ein Abhängigkeitspfeil?
Am dringlichsten ist für mich aber die Frage, was Assoziationen sind und warum eine Klasse sich selbst assoziiert haben kann.

Über Hilfe wär ich sehr dankbar.

VG,
Das Staubkörnchen


----------



## pro2 (23. Jan 2012)

Assoziation (UML) ? Wikipedia

Wenn du rechts das 2. Bild siehst, wirst du sofort verstehen, warum sie auch sich selber assoziieren kann


----------



## Staubkoernchen (23. Jan 2012)

Ich hab die Seite bereits offen, aber ich verstehe nicht, was Assoziationen denn nun sind.
Aggregationen und Kompositionen hab ich verstanden, aber Assoziationen - vor allem gerichtete Assoziationen - eben nicht.

EDIT:
Ach ja, und deshalb kann ich auch reflexive Assoziationen nicht verstehen.


----------



## HimBromBeere (24. Jan 2012)

Eine Assiziation ist irgendeine Beziehung zwischen zwei Objekten. So kannst du z.B. eine Klasse bauen, die eine Instanz einer anderen Klasse verwendet. Um bei der Wikipedia zu bleiben: die Klasse Kunde hat u.a. eine die Eigenschaften Name, Adresse und Konto, wobei Konto widerum eine ganz andere Klass ist. So kannst du also modelieren, dass ein Objekt andere Objekte besitzt...
Komposition und Aggregationen sind nur Spezialfälle davon.
Reflexiv ist deine Aggregation, wenn deine Klasse ein Objekt der eigenen Klasse instanziiert: so hat z.B. jede Instanz der Klasse Person (die Instanz bekommt jetzt den Namen Horst) einen Vater: Harald (jeder Mensch hat einen...), der widerum ja eine Person ist (aber nicht identisch mit der ersten Person Horst). Somit hat Horst Harald als Eigenschaft (welche wir sinnvollerweise vater nennen würden).

EDIT: Wenn deine Assoziationen in nur eine Richtung möglich sein sollen, stell dir doch einfach vor, dein Vater würde dich nicht kennen (weil in der Klasse Person zwar eine Eogenschaft Vater existiert, aber keine Eigenschaft Sohn). Nun kennst du also deinen Vater über ebendiese Eigenschaft (dieser widerum kennt ebenfalls seinen Vater), aber dein Vater kennt dich nicht.


----------



## ARadauer (24. Jan 2012)

Staubkoernchen hat gesagt.:


> Aggregationen und Kompositionen hab ich verstanden, aber Assoziationen - vor allem gerichtete Assoziationen - eben nicht.



Ist Assoziation nicht der Oberbegriff für Aggregationen oder Komposition? Bin mir aber nicht sicher...


----------



## Andi_CH (24. Jan 2012)

ARadauer hat gesagt.:


> Ist Assoziation nicht der Oberbegriff für Aggregationen oder Komposition? Bin mir aber nicht sicher...



Würde ich auch sagen -
Unter Assoziation verstehe ich eine ganz allgemeine Beziehung zwischen zwei Klassen, welche dann während der Verfeinerung des Designs in eine Aggregation oder Komposition überführt wird.


----------

