Fullbuster SofDev

Depura tus errores y construye la mejor versión de ti, cada línea cuenta.

Categorías

Modelo C4

04-10-2024
Desarrollo de software
Fundamentos de arquitectura de software
Cover Post

Este modelo tiene diversos niveles de abstracción, lo que nos permite mantener conversaciones con personas tanto técnicas como no técnicas. Por lo tanto, este modelo parte del usuario y de cómo interactúa con el sistema en ejecución. Al enfocarse en la experiencia del usuario, facilita la comprensión del funcionamiento del sistema, asegurando que todas las partes interesadas estén alineadas en cuanto a los objetivos y funcionalidades deseadas. Esta flexibilidad en los niveles de abstracción ayuda a abordar diferentes aspectos del desarrollo y a comunicarlos de manera efectiva a todos los involucrados en el proyecto.

alt text

  • Nivel 1 - Contexto: Tenemos una conversación con el equipo técnico y no técnico. Se busca entender las interacciones del usuario con el sistema. Este nivel representa el más alto de abstracción, enfocándose en los sistemas internos y externos.
  • Nivel 2 - Contenedor: Se puede ejemplificar con hacer un zoom dentro del sistema interno, de manera que podamos verlo a nivel de contenedores (las distintas aplicaciones o piezas de software que componen el sistema interno). Además, en este nivel ya se involucran bases de datos y sus interacciones con los contenedores. Como objetivo, buscamos entender y acordar a alto nivel las diferentes opciones técnicas que podemos implementar.
  • Nivel 3 - Componentes: Se hace un desglose de cada contenedor en componentes; dicho de otra forma, hacemos un zoom en cada uno de los contenedores de nuestro software. El objetivo es poder entender los módulos y códigos en términos de estructura.
  • Nivel 4 - Código: Aquí, cada uno de los componentes se desglosa a nivel de código en términos de clases, interfaces y esquemas.