Академический Документы
Профессиональный Документы
Культура Документы
fr/> //
<javascript:void(0)>
* // <https://github.com/avandekerkhove>
* // <https://twitter.com/a_vandekerkhove>
* // <https://www.linkedin.com/in/alexandre-vandekerkhove-9aa358160/>
* À propos <https://www.alexandrevandekerkhove.fr/about/>
Tout le monde (?) apprend UML lors de son cursus informatique. C’est
probablement l’outil le plus connu.
Il y a ensuite le standard Archimate
<https://en.wikipedia.org/wiki/ArchiMate> qui offre des points de vue et
notation différents. Evoquons également les modélisations qui permettent
de concevoir les process métier type BPMN
<https://fr.wikipedia.org/wiki/Business_process_model_and_notation>.
Mais ces différentes notations sont complexes, et souvent pas
maitrisées. D’ailleurs UML est très riche mais on en utilise
principalement les diagrammes de séquence, de classe ou de cas
d’utilisation, ce qui est une petite partie du langage.
*En entreprise, on rencontre dans la plupart des cas des diagrammes qui
sont simplement des assemblages de boîtes et de flèches… sans cohérence,
sans notation unifiée.*
/https://twitter.com/ghohpe/status/1171379436739944449/
C4 ?
Niveau 1 : Contexte
Niveau 2 : Conteneur
Bien sûr, le terme n’a aucun rapport avec les technologies comme Docker
ou équivalent. Cette vue permet de visualiser les différentes briques
logicielles qui composent le système modélisé : applications web et
mobile, APIs HTTP, bases de données… Les technologies utilisées sont
écrites, les interactions sont également plus précises en terme de
protocole et format.
Niveau 3 : Composant
Niveau 4 : Code
Outillage et notation
Des plugins ont été créés dans d’autres outils graphiques : par exemple
C4-PlantUML <https://github.com/RicardoNiepel/C4-PlantUML> ou C4-draw.io
<https://github.com/tobiashochguertel/c4-draw.io>.
|<dependency>
<groupId>com.structurizr</groupId>
<artifactId>structurizr-plantuml</artifactId>
<version>1.3.1</version>
</dependency>
Cette approche est intéressante car elle permet de stocker en tant que
code les représentations d’architecture du système. Je m’interroge
toutefois sur la maintenance et la lisiblité sur des systèmes complexes.
En résumé
Alexandre Vandekerkhove