🛠️ “Primer trimestre desbloqueado: aprenderás qué es el software, cómo se fabrica y descubrirás que un UML bien hecho puede ahorrarte más bugs que mil líneas de código.”
Tema 10: Diagrama de interacción
Puedes verlo en el siguiente enlace el caso práctico resuelto.
PARTE PRÁCTICA
Ejemplo: “Gestión de un Coche y su Fabricante”
Tendremos las clases:
Fabricante
Coche
Motor
Conductor
Con las siguientes relaciones:
Agregación: Fabricante ◇→ Coche
Composición: Coche ♦→ Motor
Asociación simple: Coche → Conductor
💠 Diagrama de clases (texto UML)
+------------------------------------+
| Fabricante |
+------------------------------------+
| - nombre: String |
| - pais: String |
+------------------------------------+
| +fabricarCoche(): Coche |
| +mostrarModelos(): void |
+------------------------------------+
◇
│ (agregación)
│ 1..*
▼
+------------------------------------+
| Coche |
+------------------------------------+
| - modelo: String |
| - año: Int |
+------------------------------------+
| +arrancar(): void |
| +detener(): void |
+------------------------------------+
♦
│ (composición)
│ 1..1
▼
+------------------------------------+
| Motor |
+------------------------------------+
| - tipo: String |
| - potencia: Int |
+------------------------------------+
| +encender(): void |
| +apagar(): void |
+------------------------------------+
Coche ──────────────── Conductor
(asociación simple)
🧠 Explicación de las relaciones
🔹 Agregación (◇)
Fabricante ◇──▶ Coche
El fabricante tiene coches en su catálogo, pero estos pueden existir sin él.
Por ejemplo, un coche fabricado por “Toyota” sigue existiendo aunque Toyota cierre.
Es una relación de “tiene-un” pero no de dependencia vital.
🔸 Composición (♦)
Coche ♦──▶ Motor
El motor es parte esencial del coche.
Si se destruye el coche, el motor deja de existir como entidad independiente.
Ejemplo: no puedes tener el motor “como objeto lógico” si el coche ha sido destruido.
⚪ Asociación simple
Coche ──▶ Conductor
Un coche puede ser conducido por uno o varios conductores.
Un conductor puede tener varios coches.
Ambos objetos pueden existir independientemente (un coche aparcado sin conductor, o un conductor sin coche propio).
Representa una relación temporal o de uso.