Ressources
Affirmation
Représenter notre système avec différents niveau de détail
Le C4 Model permet de visualiser du code à différentes échelles (zoom / dézoom). On crée une carte (map) de notre code à différent niveau
Différentes échelles pour différents usages pour s’adresser à différentes personnes
A software system is made up of one or more containers (applications and data stores), each of which contains one or more components, which in turn are implemented by one or more code elements (classes, interfaces, objects, functions, etc)
Software System
- Décrit quelque chose qui apporte de la valeur au client
- On modélise
- Notre software System
- Et également ses interactions avec des autres Software System
- E.g. dans le cas d’un SI on aura plusieurs logiciel qui vont communiquer ensemble pour pouvoir apporter la valeur
Containers
Le diagramme des conteneurs montre la forme de haut niveau de l’architecture logicielle et la manière dont les responsabilités sont réparties. Il montre également les principaux choix technologiques et la manière dont les conteneurs communiquent entre eux. Il s’agit d’un diagramme simple, axé sur la technologie de haut niveau, qui est utile aux développeurs de logiciels et au personnel d’assistance et d’exploitation.
Exemples :
- Server-side Web App : Java EE sur serveur apache TomCat
- Client-side Web App : JavaScript qui tourne sur un navigateur web
- Client-side Desktop App : JavaFX
- Database : SGBD, MongoDB
Component
Le diagramme des composants montre comment un conteneur est constitué (i.e ses « composants »), leurs responsabilités et les détails de la technologie et de la mise en œuvre. Sur l’image précédente, nous avons un conteneur nommé “API Application” et ici nous rentrons dans les détails de ce conteneur
Exemples :
- on parler techno : Spring Bean, Spring MVN, REST
- Découpage en modules
- Découpage en package / namespace