Articulo de referencia

Modelo C4

Abstracciones del modelo C4: Un sistema software está formado por uno o más contenedores (aplicaciones web, bases de datos, etc.), cada uno de los cuales contiene uno o más comp...

Abstracciones del modelo C4: Un sistema software está formado por uno o más contenedores (aplicaciones web, bases de datos, etc.), cada uno de los cuales contiene uno o más componentes, que a su vez son implementados por uno o más elementos de código (clases, interfaces, objetos, funciones, etc.)

El modelo C4 es una técnica de notación gráfica simplificada para modelar la arquitectura de sistemas de software. [1] [2]  Se basa en una descomposición estructural (una estructura de árbol jerárquico) de un sistema en contenedores y componentes y se apoya en técnicas de modelado existentes como el Lenguaje de Modelado Unificado (UML) o diagramas entidad-relación (ERD) para la descomposición más detallada de los bloques de construcción arquitectónicos.

Historia

El modelo C4 fue creado por el arquitecto de software Simon Brown entre 2006 y 2011 sobre las raíces del Lenguaje Unificado de Modelado (UML) y el modelo de vista arquitectónica 4+1 . El lanzamiento de un sitio web oficial bajo licencia Creative Commons [3] y un artículo [4] publicado en 2018 popularizaron la técnica emergente. [1]

Descripción general

El modelo C4 documenta la arquitectura de un sistema de software , mostrando múltiples puntos de vista [5] que explican la descomposición de un sistema en contenedores y componentes , la relación entre estos elementos y, cuando corresponde, la relación con sus usuarios. [3]

Los puntos de vista están organizados según su nivel jerárquico: [2] [3]

  • Diagramas de contexto (nivel 1): muestran el sistema en su alcance y su relación con los usuarios y otros sistemas;
  • Diagramas de contenedores (nivel 2): ​​descomponen un sistema en contenedores interrelacionados. Un contenedor representa una aplicación o un almacén de datos;
  • Diagramas de componentes (nivel 3): descomponen los contenedores en componentes interrelacionados y relacionan los componentes con otros contenedores u otros sistemas;
  • Diagramas de código (nivel 4): proporcionan detalles adicionales sobre el diseño de los elementos arquitectónicos que se pueden mapear al código. El modelo C4 se basa en este nivel en notaciones existentes como el Lenguaje de Modelado Unificado (UML) , Diagramas de Relación de Entidades (ERD) o diagramas generados por Entornos de Desarrollo Integrados (IDE) .

Para los niveles 1 a 3, el modelo C4 utiliza cinco elementos básicos de diagramación: personas, sistemas de software, contenedores, componentes y relaciones. La técnica no es prescriptiva en cuanto al diseño, la forma, el color y el estilo de estos elementos. En cambio, el modelo C4 recomienda utilizar diagramas simples basados ​​en cajas anidadas para facilitar el dibujo colaborativo interactivo. La técnica también promueve buenas prácticas de modelado, como proporcionar un título y una leyenda en cada diagrama y un etiquetado claro e inequívoco para facilitar la comprensión por parte del público al que va dirigido.

El modelo C4 facilita la arquitectura visual colaborativa y la arquitectura evolutiva en el contexto de equipos ágiles donde no se desean métodos de documentación más formales ni diseño arquitectónico inicial . [6]

Véase también

Referencias

  1. ^ ab Richards, Mark; Ford, Neal (2019). Fundamentos de la arquitectura de software: un enfoque de ingeniería. O'REILLY MEDIA. p. 293. ISBN 978-1-4920-4342-3. OCLC  1138515057. Están surgiendo algunos estándares para diagramar la arquitectura de software (como el modelo C4 del arquitecto de software Simon Brown o el estándar Archimate de The Open Group).
  2. ^ ab Enríquez, René (2018). Arquitectura de software con Spring 5. 0: diseño y arquitectura de aplicaciones Java altamente escalables, robustas y de alto rendimiento. Salazar, Alberto. Packt Publishing Ltd. pp. 41–44. ISBN 978-1-78899-673-0.OCLC 1053798657  .
  3. ^ abc Brown, Simon. "El modelo C4 para visualizar la arquitectura del software". c4model.com (Sitio oficial de la técnica de modelado). Archivado desde el original el 2010-02-25 . Consultado el 2020-08-22 .
  4. ^ Brown, Simon (25 de junio de 2018). "El modelo C4 para la arquitectura de software". InfoQ . Archivado desde el original el 12 de diciembre de 2018. Consultado el 22 de agosto de 2020 .
  5. ^ Keeling, Michael. ¡Diseñe!: de programador a arquitecto de software. Raleigh, Carolina del Norte. ISBN 978-1-68050-345-6.OCLC 1024312521  .
  6. ^ "El conflicto entre Agile y la arquitectura: ¿mito o realidad?". resources.sei.cmu.edu . Conferencia SATURN 2013. Instituto de Ingeniería de Software de la Universidad Carnegie Mellon . Archivado desde el original el 2021-04-19 . Consultado el 2020-08-22 .
  • Sitio oficial
Obtenido de "https://es.wikipedia.org/w/index.php?title=Modelo_C4&oldid=1193850277"