Multiplicidad
La multiplicidad en UML especifica el número mínimo y máximo de instancias de un elemento que pueden participar en una relación con otro elemento (OMG, 2017, sección 7.5.3).
Notación
La multiplicidad se representa como un intervalo de valores enteros no negativos:
| Formato | Ejemplos |
|---|---|
mínimo..máximo |
- 0..1: Cero o una instancia.- 1..*: Una o más instancias.- *: Equivalente a 0..* (cero o más).- 3: Exactamente tres instancias. |
Aplicaciones de la Multiplicidad
La multiplicidad se utiliza en tres contextos principales:
1. Asociaciones
Define cuántas instancias de una clase (clasificador) pueden vincularse con instancias de otra.
Figura
Multiplicidad en Asociaciones entre Clasificadores
Nota: Esto se interpreta como:
- Un
Estudiantepuede matricularse en cero o másCursos. - Un
Cursopuede tener uno o másEstudiantes.
2. Atributos
Especifica cuantos valores puede tener un atributo
Figura
Multiplicidad en Atributos
Nota: Esto se interpreta como:
nombredebe tener exactamente un valor.códigosDeBarraspuede tener uno o más valores.
2. Parámetros
Indica cuantos argumentos puede recibir un parámetro en una operación
Figura
Multiplicidad en Parámetros
Nota: Esto se interpreta como:
destinatariosrequiere al menos unUsuario.contenidodebe ser una cadena única.
Casos Especiales
| Multiplicidad | Descripción | Ejemplo de Uso |
|---|---|---|
0..1 |
Opcional: Cero o una instancia. | Un empleado puede tener 0 o 1 jefe. |
1 |
Obligatorio: Exactamente una instancia. | Una orden debe tener un cliente. |
* |
Ilimitado: Cero o más instancias. | Un blog puede tener muchos posts. |
2..4 |
Rango específico: Entre dos y cuatro instancias. | Un equipo de fútbol tiene 11 jugadores. |
Buenas Prácticas
Algunas recomendaciones:
| Buena Práctica | |
|---|---|
| Evitar Redundancia | No usar 1..1; en su lugar, usar 1. |
| Consistencia con el Dominio | Asegurar que las multiplicidades reflejen reglas del negocio (ejemplo: una reserva debe tener un cliente). |
| Restricciones Adicionales | Usar notas para aclarar restricciones complejas (ejemplo: "Solo una instancia activa al mismo tiempo"). |