Entendiendo la multiplicidad de UML

En el ámbito del diseño y modelado de software, el Lenguaje de Modelado Unificado (UML) sirve como una herramienta poderosa para visualizar y documentar la estructura y el comportamiento de los sistemas. Uno de los conceptos clave dentro de UML esmultiplicidad, que define las restricciones sobre el número de objetos que pueden participar en una asociación. Este artículo se adentra en el concepto de multiplicidad, su importancia y cómo se aplica en los diagramas de UML.

¿Qué es la multiplicidad?

Multiplicidad en UMLes una restricción que especifica el número de objetos que pueden participar en un extremo de una asociación. Responde preguntas como: «¿Cuántos autos puede poseer una persona?» o «¿Cuántas personas pueden conducir un auto determinado?». Al definir la multiplicidad, estableces las reglas sobre cómo pueden relacionarse los objetos de cada clase, proporcionando una forma clara y concisa de expresar estas relaciones.

Expresando la multiplicidad

La multiplicidad se expresa típicamente como un rango que define el número mínimo y máximo de objetos permitidos en una asociación. El formato para expresar la multiplicidad es:

  • Número exacto: Un número único que indica la cuenta exacta de objetos.
  • Rango: Un par de números separados por dos puntos (..) que indican el recuento mínimo y máximo.
  • Asterisco (*): Indica un número ilimitado de objetos.

Por ejemplo:

  • 1: Exactamente un objeto.
  • 0..1: Cero o un objeto.
  • 1..*: Al menos un objeto, sin límite superior.
  • *: Cualquier número de objetos, incluyendo cero.

What is Multiplicity

Aplicando la multiplicidad en asociaciones

Al modelar asociaciones entre clases, se asigna multiplicidad a cada extremo de la asociación. Por ejemplo, considere la asociación entre unaPersona clase y unaCoche clase:

  • Pregunta 1: ¿Cuántos autos puede poseer una persona?
  • Pregunta 2: ¿Cuántas personas pueden conducir un automóvil dado?

Las respuestas a estas preguntas se colocan junto a las clases respectivas en la asociación. Si una persona puede poseer cero o varios autos, la multiplicidad cerca de laauto clase sería0..*. Por el contrario, si un auto puede ser conducido por una o varias personas, la multiplicidad cerca de lapersona clase sería1..*.

Ejemplo: Envío y Producto

Para ilustrar, considere un escenario en el que unenvío debe contener al menos unproducto pero puede contener tantos productos como se necesiten. La multiplicidad para elproducto extremo de la asociación sería1..*, lo que indica que un envío debe tener al menos un producto, pero puede tener muchos.

Notación y símbolos

En los diagramas UML, la multiplicidad se indica utilizando notaciones específicas:

  • Asterisco (*): Representa un número ilimitado de objetos.
  • Rango (mín..máx): Especifica el número mínimo y máximo de objetos.
  • Número exacto: Indica un recuento preciso de objetos.

Estas notaciones ayudan a definir claramente las restricciones y reglas que rigen las relaciones entre clases.

Ejemplo 1: Persona y Automóvil

En este ejemplo, una Persona puede poseer cero a muchos Automóviles, y un Automóvil puede ser conducido por uno a muchos Personas.

Ejemplo 2: Envío y Producto

En este ejemplo, una Envío debe contener al menos un Producto pero puede contener tantos productos como se necesiten.

SoWkIImgAStDuULApaaiBbO8piWio4tDAr6evkLIKD1EpiyhISpCAmueoayfJIufrj2qKl39B2wnWGhOyNBLydB1D4C5eNepyv9pIbDIKpppO8OYjCD4OFhXrYePwkbfAIdewi9OC3Ej561kKG1gSaZDIm6x6W00 (321×218)

Ejemplo 3: Biblioteca y Libro

En este ejemplo, una Biblioteca puede tener muchos Libros, y un Libro puede encontrarse en una Biblioteca.

SoWkIImgAStDuULApaaiBbRmoKmgIYogLAZcvL9GqCv8B7RApyykrj2q0ieKbzY0U7QyNBMyN30D816ewhJyqhmKppoe4H0zO2PK0yni9KCb1LrT1IK3FJqj9OW1LWh9-NabYPbvnGf0unrIyrB0RW80 (210×218)

Ejemplo 4: Profesor y estudiante

En este ejemplo, una profesor puede enseñar muchos estudiantes, y un estudiante puede ser enseñado por un profesor.

SoWkIImgAStDuULApaaiBbO8IKrCpaWjKgZcvL9Gq2u1yug3IqfJKlDAYZKqhHHyCejBRA02ThnSjRnSCArGGPZMnDBqZ1AdIgY18ArG9bGJp2ObGoK5NLq59GCzFIqbk25M2b2x5O2MEAJcfO3T2000 (279×218)

Ejemplo 5: Pedido e ítem

En este ejemplo, un pedido puede contener uno o más ítems, y un ítem puede formar parte de cero o más pedidos.

SoWkIImgAStDuULApaaiBbRmBqf9BLAevkLIKD1EpiyhISpCA_OiISqjrj2qKl39B2wn0V7iUBbgURbWUa0YK2q5GDFyqy2687I0kJ0j40kK3FNqj9GKT7KLb0p0BB0PLWemAnM0oXrIyrB0BWC0 (239×218)

Ejemplo 6: Empresa y empleado

En este ejemplo, una empresa puede tener muchos empleados, y un empleado trabaja para una empresa.

SoWkIImgAStDuULApaaiBbPmpiyjICohLAZcvL9GqCv8B7RDBSZ9hqnDBTRGj5BmoImkiO69sF5orV9omJJ2HA4wo_EBielTyekWve4qGvbGNJ2Bb0oL57Hr5PGCzFIqb12cM2caWfd52a1h75BpKi1k1000 (277×218)

Estos ejemplos ilustran cómo se utiliza la multiplicidad para definir el número de objetos que participan en una asociación, proporcionando una forma clara y concisa de expresar las relaciones entreclases en UML diagramas.

Conclusión

La multiplicidad es un concepto fundamental en UML que proporciona una forma estructurada para definir el número de objetos que participan en una asociación. Al especificar la multiplicidad, los diseñadores pueden asegurarse de que las relaciones entre clases estén bien definidas y comprendidas, lo que conduce a diseños de sistemas más robustos y mantenibles. Ya sea que esté modelando asociaciones simples o relaciones complejas, comprender y aplicar la multiplicidad es esencial para un modelado UML efectivo.

Recursos

  1. Dibujar diagramas de relaciones de entidad en Visual Paradigm
  2. Diagrama de relaciones de entidad – Multiplicidades
  3. Diagramas de relaciones de entidad
  4. Especificar multiplicidad en una forma UML
  5. ¿Qué es un diagrama de relaciones de entidad (ERD)?
  6. Diagrama entidad-relación de Visual Paradigm agregando tablas
  7. ¿Cómo se agrega una multiplicidad a un diagrama de clases en Visual Paradigm?
  8. Guía para principiantes sobre diagramas entidad-relación (ER)
  9. Multiplicidad frente a cardinalidad

Dejar una contestacion