MÓDULO 3 · ARQUITECTURA DE SISTEMAS CONVERSACIONALES · LECCIÓN 3.3 · 35 MIN

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.

Idea central La arquitectura que no se comunica no existe. Si el equipo no la entiende, no puede implementarla correctamente ni evolucionar el sistema de forma coherente — y un diagrama que sirve a toda audiencia a la vez no sirve bien a ninguna.

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.

NIVEL 1 — CONTEXTO

El sistema como caja negra

Muestra el sistema y sus relaciones con usuarios y sistemas externos.

Audiencia: todos (técnicos y no técnicos) — Pregunta: "¿qué es este sistema y con qué interactúa?"

NIVEL 2 — CONTENEDORES

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.

Audiencia: técnicos, desarrolladores, DevOps — Pregunta: "¿qué aplicaciones/servicios componen el sistema?"

NIVEL 3 — COMPONENTES

Los módulos dentro de un contenedor

Los componentes/módulos dentro de un contenedor específico y sus dependencias.

Audiencia: desarrolladores trabajando en ese contenedor — Pregunta: "¿qué módulos componen esta aplicación?"

NIVEL 4 — CÓDIGO (opcional)

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.

Audiencia: desarrolladores implementando el componente — Pregunta: "¿cómo está estructurado el código?"

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 no es la falta de diagramas

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.