Sur cette page Web qui montre comment dessiner un diagramme de classes, pourquoi la flèche d'association pointe-t-elle de la commande au client, et non du client à la commande?Direction de la flèche d'association dans les diagrammes de classes UML
Répondre
Son parce qu'un ordre "a une" référence à un client.
Dans une base de données, il s'agit d'une clé étrangère dans la table de commande, qui stocke l'ID client.
Dans le code, vous devez stocker une référence à l'objet client associé dans un objet de commande. Ainsi, la commande pointe vers le client et non l'inverse.
Peut-être parce qu'une commande est associée à un client? Ce genre de choses peut être vu comme fonctionnant dans les deux sens, ou parfois les deux.
Je sais qu'ils sont associés les uns aux autres. La question n'est pas pourquoi il y a une flèche, c'est sur la direction de la flèche. – neuromancer
Ils ne sont pas associés - une commande est associée à un client. –
Les flèches indiquent comment vous pouvez naviguer. Donc, dans ce diagramme, vous pouvez passer de la commande au client. Et pour l'autre sens: aucune flèche ne signifie PAS "non navigable", mais "pas de commentaire". Il n'y a pas de bonne façon de le faire.
C'est une dépendance , qui est un type d'association faible spécial. Cela signifie que pour qu'un ordre existe, il doit exister un client à un moment donné. Il peut y avoir un certain point dans le cycle de vie de "commande" où cette exigence n'est pas appliquée.
Ceci n'est pas une dépendance. Une dépendance n'est pas un type spécial d'association, c'est un type spécial de relation (de la même manière que l'association est un autre type de relation) –
Les extrémités d'association ont une propriété de navigabilité booléenne dans UML. Dans ce cas, la navigabilité dans la direction du client est définie sur true alors que la navigation dans la direction client à commander est définie sur false. Avec ce, le concepteur du modèle exprime que les commandes maintenant qui est le client associé à la commande, mais les clients n'ont pas un accès direct à leurs commandes.
Si nous regardons le code Java pour ce modèle, la navigabilité est plus facile à comprendre. Pour cet exemple, la navigabilité signifie que l'ordonnance a un attribut de type client mais client n'a pas d'attribut de collection pour stocker ses/ses ordres
les associations ne correspondent pas toujours aux attributs UML et ne correspondent certainement pas aux attributs des classes Java (Java n'existe pas, donc utiliser 'attribute' dans un contexte Java peut signifier une propriété field ou property ou bean). –
Cela pourrait aider:
diagrammes de classes UML: Lignes directrices: http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx
propriétés d'une association
Est-Navigable : Si la valeur est true pour un seul rôle, une flèche apparaît dans la direction navigable. L'association peut être lue dans ce sens. Vous pouvez l'utiliser pour indiquer la navigabilité des liens et les relations de base de données dans le logiciel.
Propriétés des associations en diagrammes de classes UML: 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
Si un rôle est navigable et l'autre n'est pas, une flèche apparaît (7) sur l'association dans le navigable direction.
Les flèches décrivent la navigabilité.
- fin Navigable est indiquée par une flèche ouverte à l'extrémité d'une association
- Non fin navigable est indiquée par un petit x à l'extrémité d'une association
- Pas de parure à l'extrémité d'un moyen d'association Non spécifié navigabilité
Extrait de: http://www.uml-diagrams.org/association.html
Pourquoi nous ne devrions pas décider 'client' a beaucoup' d'ordre 'et ajouter la référence de la collection de commande au client? –