Diagramación y Comunicación
Nivel básico-intermedio — documentar arquitectura con el modelo C4 y diagramas de secuencia, para comunicar a cada audiencia lo que necesita.
El problema
Situación típica: un arquitecto presenta un diagrama con 47 cajas y 83 flechas. El CEO pregunta "¿qué sistemas usamos?" y no puede encontrar la respuesta. El desarrollador nuevo pregunta "¿cómo se conecta el frontend con el backend?" y la respuesta está enterrada en la complejidad. // un diagrama para todos termina sin servir a nadie
Modelo C4 (Simon Brown)
Cuatro niveles de abstracción, cada uno para una audiencia y una pregunta distintas.
El sistema como caja negra
Muestra el sistema y sus relaciones con usuarios y sistemas externos.
Las piezas desplegables
Los contenedores (apps, bases de datos, colas...) dentro del sistema y cómo se comunican. "Contenedor" aquí no significa Docker — es cualquier unidad desplegable: API, web app, base de datos, queue.
Los módulos dentro de un contenedor
Los componentes/módulos dentro de un contenedor específico y sus dependencias.
UML de clases o estructura de código
Se omite con frecuencia porque el código ES la documentación. Solo se crea para partes particularmente complejas.
Diagramas de secuencia
Complementan C4 mostrando flujos dinámicos — cómo interactúan los componentes en el tiempo para un caso de uso específico.
Cuándo usarlos: flujos críticos de negocio, integraciones con sistemas externos, operaciones complejas multi-paso, o para documentar el comportamiento esperado antes de escribir tests.
El error más común no es no diagramar — es un solo diagrama intentando servir a toda audiencia a la vez. El CEO no necesita ver el Nivel de Componentes, y el desarrollador nuevo no puede trabajar solo con el Nivel de Contexto. Elegir el nivel correcto para cada conversación es parte del trabajo de comunicar, no un detalle menor.
Practica: sistema de reservas de hotel
Sistema con: web app para clientes (buscar, reservar), panel admin para el hotel, integración con sistema de pagos, integración con channel manager (Booking, Expedia), y notificaciones por email.
Crea los diagramas C4 de Nivel 1 (Contexto) y Nivel 2 (Contenedores), más un diagrama de secuencia para el flujo crítico de "crear reserva", usando sintaxis Mermaid.