2009-12-15 18 views

Respuesta

4

Su porque una orden "tiene una" referencia a un cliente.

En una base de datos, esta sería una clave externa en la tabla de órdenes, que almacena la identificación del cliente.

En el código, almacenaría una referencia al objeto de cliente asociado en un objeto de orden. Entonces la orden apunta al cliente y no viceversa.

+0

¿Por qué no debemos decidir que 'cliente' tiene muchos' pedidos' y agregar una referencia de colección de pedido al cliente? –

0

Posiblemente porque un pedido está asociado con un cliente? Se puede ver que este tipo de cosas funciona de cualquier manera, o a veces ambas.

+1

Sé que están asociados entre sí. La pregunta no es por qué hay una flecha, se trata de la dirección de la flecha. – neuromancer

+0

No están asociados entre sí: una orden está asociada a un cliente. –

6

Las flechas describen las formas en que puede navegar. Entonces, en este diagrama, puede pasar de un pedido a otro. Y para el otro lado: ninguna flecha significa NO "no navegable", sino "sin comentarios". No hay una manera definida de hacerlo.

-2

Es una dependencia , que es un tipo especial de asociación débil. Significa que para que exista una orden, debe existir un cliente en algún momento. Puede haber algún punto en el ciclo de vida de "orden" donde este requisito no se aplique.

+0

Esto no es una dependencia. Una dependencia no es un tipo especial de asociación, es un tipo especial de relación (de la misma forma que la asociación es otro tipo de relación) –

0

Los extremos de asociación tienen una propiedad de navegabilidad booleana en UML. En este caso, la navegabilidad en el orden de dirección para el cliente se establece en verdadero mientras que la navegación en la dirección del cliente para ordenar se establece en falsa.

Con esto, el diseñador del modelo expresa que ahora ordena quién es el cliente asociado con el pedido, pero los clientes no tienen acceso directo a sus pedidos.

Si miramos el código de Java para este modelo, la navegabilidad es más fácil de entender. Para este ejemplo, este navegabilidad significa que la Orden tiene un atributo de tipo de cliente, pero el cliente no tiene atributo de recogida para almacenar su/sus órdenes

+0

las asociaciones no siempre corresponden a los atributos UML y definitivamente no corresponden a los atributos de las clases Java (no existe tal cosa en Java, por lo que usar 'atributo' en un contexto de Java podría significar campo o propiedad o propiedad de frijol). –

8

Esto podría ayudar:

Diagramas

de clase UML: Directrices: http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx

propiedades de una Asociación

es navegable : Si es verdadero para un solo rol, aparece una flecha en la dirección de navegación. La asociación se puede leer en esta dirección. Puede usar esto para indicar la navegabilidad de los enlaces y las relaciones de base de datos en el software.

Propiedades de las Asociaciones en los diagramas de clase 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 uno papel es navegable y el otro no lo es, aparece una flecha (7) en la asociación en el navegable dirección.

6

Las flechas describen la navegabilidad.

  • extremo navegable se indica mediante una punta de flecha abierta en el extremo de una asociación
  • no termina navegable se indica con una pequeña x en el extremo de una asociación
  • No adorno en el extremo de un medio de asociación navegabilidad no especificado

UML Arrow association direction

Tomado de: http://www.uml-diagrams.org/association.html

Cuestiones relacionadas