C4 - Model

Diseñando Arquitecturas de Software

Agenda

  1. Abstracción
  2. Beneficios
  3. Diagramas
    1. Contexto
    2. Contenedores
    3. Componentes
    4. Clases
  4. 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