Saltar al contenido

asociación ternaria UML

Después de de esta larga recopilación de información dimos con la respuesta esta inconveniente que tienen ciertos los usuarios. Te dejamos la solución y nuestro objetivo es serte de gran ayuda.

Solución:

Parece haber cierta ambigüedad en la especificación de multiplicidades en asociaciones ternarias. Véase también este documento

Pero yo lo entiendo así:

La multiplicidad dice algo sobre cuántas veces puede estar presente una instancia en estas asociaciones para cualquier tupla dada de instancias vinculadas.

Como ejemplo, considere la siguiente familia (tradicional)
ingrese la descripción de la imagen aquí

entendería que como

En cualquier familia dada debe haber un padre, una madre y cero o más hijos.

Si aplicamos eso a su caso, llego a algo como esto:

ingrese la descripción de la imagen aquí

entiendo que como

Para cualquier Oferta dada debe haber exactamente un mercado, un departamento y uno o más productos

Eso parece satisfacer más o menos todas sus limitaciones

  • Un producto solo puede ser ofrecido a un mercado por un departamento
  • Un departamento puede ofrecer múltiples productos, pero un producto solo puede ofrecerse a un mercado

Sin embargo, no creo que sea resistente al agua, pero como ya se indicó en el documento, UML no tiene suficientes herramientas para hacer un diseño resistente al agua con las multiplicidades solo en los extremos. Entonces, en buena medida, sus restricciones también deben modelarse como restricciones UML.

Descargo de responsabilidad: las asociaciones ternarias son muy buenas para las discusiones académicas, pero no se usan realmente en la industria (de TI), probablemente porque son muy difíciles de entender.

Esta asociación ternaria inespecífica solo dice que tienes relaciones donde

  • Market control S DepartmentProduct,
  • Department control S MarketProduct y
  • Product control S DepartmentMarket.

No hay ninguna declaración sobre cómo las clases individuales controlan a las otras dos.

Las especificaciones de UML no definen el operador ternario en detalle. Así que usar ese elemento parece ser bajo tu propio riesgo. Podrías culpar a OMG por usarlo pero no definirlo más de

Cualquier Asociación se puede sortear como un rombo (más grande que un terminador en una línea) con una línea continua para cada Final miembro de la Asociación que conecta el rombo con el Clasificador que es el tipo del extremo. Una Asociación con más de dos extremos solo se puede dibujar de esta manera.

y un solo ejemplo en una imagen en la p. 202.

La clase de asociación simple

ingrese la descripción de la imagen aquí

te dice que el Product está en el medio Department y Market donde la multiplicidad 1 dice que solo hay uno Market para Department. Eso es más de lo que suena su requisito.

NB No tiene mucho sentido andarse con rodeos con respecto a los requisitos, por lo que “¿hay algún Product sin un Market“. Esos son detalles que deben discutirse con especialistas del dominio antes de fijarlos en un modelo.

El modelo en la respuesta de Geert Bellekens es correcto, pero su explicación es confusa. La asociación ternaria “Oferta” con sus multiplicidades (restricciones de cardinalidad) no puede explicarse mediante la declaración

Para cualquier Oferta dada debe haber exactamente un mercado, un departamento y uno o más productos

sino más bien afirmando que

  • una combinación de departamento y producto está vinculada exactamente a un mercado
  • una combinación de mercado y producto está vinculada exactamente a un departamento
  • Si te animas, tienes el poder dejar una división acerca de qué te ha impresionado de esta división.

    ¡Haz clic para puntuar esta entrada!
    (Votos: 0 Promedio: 0)



    Utiliza Nuestro Buscador

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *