First page Back Continue Last page Overview Graphics
Beispiel
Notes:
Zur Verdeutlichung ein zweites Beispiel mit einer ganz ähnlichen Struktur:
: Ein Produkt wird in irgendeiner Weise aus Komponenten zusammengesetzt (dazu später noch mehr). Da es dem Produkt egal sein soll, aus welchen Komponenten es besteht, wird eine gerichtete Assoziation modelliert, bei der das Produkt seine Komponenten nicht kennt. Umgekehrt muss jede Komponente wissen, zu welchem Produkt sie gehört und kann auch nur genau zu einem Produkt gehören: Multiplizität „1“.
Vergessen Sie nicht, dass die Assoziation keine Angaben darüber macht, in welcher Weise sie schlussendlich zu implementieren ist. In diesem Fall bedeutet es wohl, dass bei der Komponente ein Attribut (als Variable realisiert) „Produkt“ vorhanden sein dürfte, welches angibt, zu welchem Produkt eine Komponente gehört.
Auch beachtenswert ist, dass zwar einerseits die vorhin erwähnte Inkonsistenz nicht auftreten kann, da die Beziehung nicht ungerichtet ist. Das allein aber bedeutet nicht, dass es nicht zu Fehlern in der Datenstruktur kommen kann: Eine Komponente kann „ohne weiteres“ einem Produkt zugeordnet sein, zu dem sie gar nicht gehört. Wieder gilt es durch sorgfältige Programmierung und intensiven Plausibilitätstests solche Zustände im System zu verhindern.
Dieses Diagramm ist insofern weiter entwickelt als das vorige, als hier auch die Richtung der Assoziation spezifiziert ist: Das Produkt „kennt“ alle seine Komponenten (wie immer das implementiert sein mag), jede Komponente „weiß“ zu welchem Produkt sie gehört. Die Assoziation ist also ungerichtet.