2009-12-15 10 views

Antwort

4

Sein, weil ein Auftrag Bezug auf einen Kunden „hat eine“.

In einer Datenbank wäre dies ein Fremdschlüssel in der Auftragstabelle, in der die Kunden-ID gespeichert ist.

Im Code würden Sie einen Verweis auf das zugehörige Kundenobjekt in einem Auftragsobjekt speichern. Die Bestellung zeigt also auf den Kunden und nicht umgekehrt.

+0

Warum sollten wir uns nicht entscheiden, "Kunde" hat viele '' '' '' '' '' '' und '' '' '' '' '' '' 'Bestellnummer' ' –

0

Möglicherweise, weil eine Bestellung mit einem Kunden verbunden ist? Diese Art von Dingen kann als in beiden Richtungen oder manchmal auch als beides betrachtet werden.

+1

Ich weiß, dass sie miteinander verbunden sind. Die Frage ist nicht, warum es einen Pfeil gibt, es geht um die Richtung des Pfeils. – neuromancer

+0

Sie sind nicht miteinander verknüpft - eine Bestellung ist mit einem Kunden verknüpft. –

6

Die Pfeile beschreiben, wie Sie navigieren können. In diesem Diagramm können Sie also von Auftrag zu Kunde wechseln. Und umgekehrt: kein Pfeil bedeutet NICHT "nicht schiffbar", sondern "kein Kommentar". Es gibt keinen definitiv richtigen Weg, es zu tun.

-2

Es ist eine Abhängigkeit, die eine spezielle schwache Art der Assoziation ist. Dies bedeutet, dass für einen Auftrag zu einem bestimmten Zeitpunkt ein Kunde existieren muss. Es kann einen Punkt im Lebenszyklus von "Bestellung" geben, wo diese Anforderung nicht erzwungen wird.

+0

Dies ist keine Abhängigkeit. Eine Abhängigkeit ist kein spezieller Typ von Assoziation, sie ist eine spezielle Art von Beziehung (genauso wie Assoziation eine andere Art von Beziehung ist). –

0

Assoziationsenden haben eine boolesche Navigationseigenschaft in UML. In diesem Fall wird die Navigierbarkeit in der Reihenfolge zum Kunden auf wahr gesetzt, während die Navigation in Richtung Kundenauftrag auf falsch gesetzt wird.

Mit diesem, der Designer des Modells drückt, dass Bestellungen jetzt, wer der Kunde mit der Bestellung verbunden ist, aber Kunden haben keinen direkten Zugriff auf ihre Bestellungen.

Wenn wir uns den Java-Code für dieses Modell ansehen, ist die Navigation einfacher zu verstehen. Für dieses Beispiel bedeutet dies, Befahrbarkeit, dass Bestellung ein Attribut vom Typ Kunde hat aber Kunde hat keine Sammlung Attribut speichern seine/ihre Aufträge

+0

Assoziationen entsprechen nicht immer den UML-Attributen und entsprechen definitiv nicht den Attributen von Java-Klassen (In Java gibt es so etwas nicht, daher kann die Verwendung von "Attribut" in einem Java-Kontext eine Feld- oder Eigenschafts- oder Bean-Eigenschaft bedeuten. –

8

Diese helfen könnten:

UML-Klassendiagramme: Richtlinien: http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx

Eigenschaften eines Vereins

ist schiffbar : Wenn dies nur für eine Rolle gilt, erscheint ein Pfeil in der navigierbaren Richtung. Die Assoziation kann in diese Richtung gelesen werden. Sie können dies verwenden, um die Navigationsfähigkeit von Links und Datenbankbeziehungen in der Software anzuzeigen.

Eigenschaften von Assoziationen in UML-Klassendiagramme: http://msdn.microsoft.com/en-us/library/dd323862%28VS.100%29.aspx

alt text http://i.msdn.microsoft.com/Dd323862.UML_ClassProp(en-us,VS.100).png

Wenn eine Rolle befahrbar ist und der andere nicht, erscheint ein Pfeil (7) über die Assoziation in der navigierbar Richtung.

6

Die Pfeile beschreiben die Schiffbarkeit.

  • Navigable Ende ist durch eine offene Pfeilspitze auf dem Ende einer Assoziation angegeben
  • Nicht schiffbares Ende mit einem kleinen x am Ende einer Assoziation angegeben ist
  • No Verzierungs am Ende eines Assoziierungsmittels unspecified Schiffbarkeit

UML Arrow association direction

Entnommen: http://www.uml-diagrams.org/association.html