C4 - Model
Diseñando Arquitecturas de Software
Agenda
- Abstracción
- Beneficios
- Diagramas
- Contexto
- Contenedores
- Componentes
- Clases
- Otros diagramas

Necesidad
¿Existe una manera fácil de comunicar de manera sucinta y sin ambigüedades la arquitectura de un sistema de software? Algo que podría resaltar los requisitos, y aún así ser breve?

Necesidad
Es posible que las células sigan siendo ágiles, creando documentación que proporcione valor y al mismo tiempo no obstaculice el progreso del equipo.

C4-Model
Es un modelo estático, que proporciona una manera fácil de comunicar el diseño del sistema a todos los involucrados, y también brinda una narración natural para explorar la arquitectura de una solución de software. Comenzando desde el nivel más alto (qué es el sistema y cómo proporciona valor al negocio), profundiza en los detalles, hasta el nivel muy bajo de funcionalidad.

Beneficios
- Hace que los diagramas sean fáciles de leer
- Tiene un rol de acercar / alejar
- Reduce la brecha entre el diseño y la implementación real
Diagramas principales



3) Diagrama de componentes
1) Diagrama de contexto
2) Diagrama de contenedores

4) Diagrama de clases
Diagramas completarios

3) Diagrama de despliegue
1) Diagrama panorámica del sistema
2) Diagrama dinamico


Ejemplo de uso
Una tienda nacional de sándwiches quiere habilitar pago a través de Internet.
Usuarios: millones +
Requisitos: los usuarios harán su pedido, luego se les dará un tiempo para recoger su sándwich y las instrucciones para llegar a la tienda (que debe integrarse con Google Maps); si la tienda ofrece un servicio de entrega, envíe el controlador con el sándwich al usuario; accesibilidad de dispositivos móviles; ofrecer promociones / especiales nacionales diarias; ofrecer promociones / especiales locales diarias; aceptar el pago en línea o en persona / a la entrega.
Nivel 1: Diagrama Contexo

C4-Model
By Emilio Montes
C4-Model
- 493