Aggregation

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche

Die Relation zwischen dem Ganzen und seinen Teilen bezeichnet man als Aggregation oder Komposition.
Aus Sicht der UML handelt es sich um spezielle Assoziationen, das sind Relationen zwischen Objekten. Eingezeichnet wird die Aggregation zwar zwischen zwei Klassen, aber die Relation besteht insbesondere zwischen den Instanzen dieser Klassen.

Das Ganze wird auch als Aggregat bezeichnet. Die Teile heißen dann Komponenten.

Beispiele:


Aggregation
Aggregation

Aggregation und Kardinalität
Aggregation mit Angabe der Kardinalität


Aggregationen sind transitiv, d.h. aus Ein typisches Beispiel für eine transitive Relation ist die Aggregation (Teil-Ganzes-Beziehung):

A istTeilvon B    und    B istTeilvon C
   folgt A istTeilvon C


In der UML lässt sich die Aggregation komplexitätsreduzierend nutzen, indem man

  • in einem Diagramm den inneren Aufbau einer Klasse darstellt (die externen Assoziationen werden weggelassen)
  • und in einem anderen Diagramm die Außenbeziehungen der Klasse (das komplexe Innenleben bleibt verborgen)

Die Aggregation wird in der UML durch einen Pfeil mit einer Diamantform dargestellt. Der Diamant weist auf das Ganze. Die Benennung der Assoziationen und die Benennung der Assoziationsenden / Rollen enfällt normalerweise.


Bei der Konstruktion einer Aggregation muss die Verteilung der Funktionalität auf die Einzelteile gründlich durchdacht sein:

  • In welcher Weise wird jedes einzelne Verhalten des Ganzen von den Teilen realisiert?
  • Wie werden Fehler nach oben durchgereicht?
  • Wie hängen die Lebenszyklen der Objekte miteinander zusammen? Während der Lebensdauer des Ganzen können Teile entstehen und wegfallen. Bleiben Teile erhalten, nachdem das Ganze zerstört wurde? Oft wird dazu ein Zustandsdiagramm erstellt.
  • Welche Reihenfolgen müssen beachtet werden?


Komposition

In der UML wird zwischen Aggregation und Komposition unterschieden. Die Komposition ist eine spezielle, strengere Form der Aggregation:

Kardinalität Bei der Komposition gehört die Instanz eines Teils zu maximal einer Instanz eines Ganzen. Bsp.: Ein Schlafzimmer gehört nicht zu mehreren Häusern.
Exklusivität Ein Teilobjekt kann auch nicht zu mehreren Ganzes-Objekten gehören. Bsp.: Ein WC gehört nicht zu einem Haus und zugleich zu einem Flugzeug.
Lebensdauer Bei einer Komposition kann das Teil nicht ohne sein Ganzes existieren. Das Teil entsteht nach dem Ganzen und wird vor dem Ganzen wieder zerstört. Bsp.: Räume existieren nur als Teil eines Hauses.

In der UML die Komposition durch ein ausgefülltes Aggregationssymbol dargestellt.


Komposition
Komposition: Räume existieren nur als Teil eines Hauses

Komposition
Komposition und Aggregation


Kompositionsstrukturdiagramm

Kompositionen können auch innerhalb des Struktur-Abschnittes einer Klasse dargestellt werden. Dadurch reduziert man die Anzahl der dargestellten Linien und verbessert die Übersichtlichkeit. Eine solche Klasse mit "Innenleben" kann in UML durch ein Kompositionsstrukturdiagramm dargestellt werden.

Das folgende Beispiel zeigt zweimal die gleiche Struktur, einmal als normale Komposition und einmal als Kompositionsstrukturdiagramm. (Leider kann das hier verwendeten Tool (Graphiz) im linken Diagramm den Klassennamen nicht in einem abgetrennten Feld darstellen, wie es eigentlich richtig wäre):


Kompositionsstrukturdiagramm
Kompositionsstrukturdiagramm

Komposition
Komposition


Miteinander interagierende Parts werden mit Konnektoren verbunden, die genauso wie Assoziationen dargestellt werden.










Persönliche Werkzeuge