asociación propiedad de clasificador y asociación propiedad de relación en UML

7.3.3 Asociación (desde kernel), página 36, ​​superestructura UML, v2.4.1:

una asociación ya sea poseída por clasificador o por relación.

¿Hay algún ejemplo de la vida real en UML sobre la asociación propiedad de un clasificador y una asociación propiedad de una relación?

Chriss

Espero que este simple ejemplo ayude.

Supongo que tienes una clase de Java

public class A { private B b; ... } 

En UML modelarías esta relación como una asociación de A a B:

A -> B

con los siguientes elementos de modelado:

 Class B Class A + Property b : B [0..1] (owned by the class) Association A_to_B + Property from_a : A [1] (owned by the association) 

Donde la asociación A_to_B tendría 2 miembros de asociación (miembro) refiriendo dos de las propiedades mostradas arriba (A :: b y A_to_B :: from_a):

Ahora, pensemos la siguiente situación

 public class A { private B b; ... } public class B { private A a; ... } 

En UML, podría modelar la asociación (navegable en ambos sentidos) entre A y B:

A <-> B

Cuyos elementos del modelo serían:

 Class B + Property a : A [0..1] (owned by the class) Class A + Property b : B [0..1] (owned by the class) Association A_B 

Donde la asociación A_B tendría 2 miembros de asociación (miembro), refiriendo las dos propiedades mostradas arriba (A :: b y B :: a).

  • Antes de otras cosas, debes entender qué es la asociación A a B.
    • Básicamente es una línea continua entre A y B. Puede representar una estructura que conecta clase / instancia (s) de A con la clase / instancias de B. La estructura puede ser de cualquier tipo y pertenecer a cualquier parte. Toda la información, escrita sobre la línea, describe esta estructura.
    • Si hay dos estructuras, una estructura, que conecta una instancia de A con instancia (s) de B y otra estructura que conecta la instancia de B con instancia (s) de A, puede mostrarlos en una sola asociación. Luego, la información escrita sobre su extremo B describe la primera estructura (b-> a) y la información sobre el otro extremo describe la otra estructura.
    • Si tiene más de una estructura que guía de A a B, debe dibujar dos asociaciones diferentes.
    • Si una estructura de unión es compleja, puede representarla como una clase de asociación. Allí puedes definir más detalles.
    • Una estructura de unión puede conectar más de dos clases, luego se mostrará como un diamante grande con twigs sólidas para estas clases. ¡Todavía es asociación! Atención: estas dos asociaciones más complejas son muy mal compatibles con las herramientas existentes. Puedes crear algo absolutamente sin sentido con ellos. Y son difíciles. Usar con cuidado

ejemplo Diagrama de clase


En C ++, la instancia A puede tener la instancia B no por puntero, sino directamente. No hay ningún signo UML especial para él, debe mostrarse de la misma manera que el atributo de puntero normal.