MFormations
Modern Information Systems Engineering

Chapitre 5

05-UML : Composants, Déploiement et Packages

05-UML : Composants, Déploiement et Packages

Cours 05 : UML - Composants, Déploiement et Packages

1. Diagramme de Composants

Définition

Le diagramme de Composants montre l'organisation des composants logiciels, leurs interfaces et leurs dépendances. Il représente l'architecture physique du code.

Diagramme en cours de génération...

Éléments

ÉlémentDescriptionNotation
ComposantModule logiciel[Composant]
Interface fournieService offert(( )) ou cercle
Interface requiseService consommédemi-cercle
PortPoint d'interactioncarré sur le bord
DépendanceRelation d'usageflèche pointillée

Exemple : Architecture microservices

Diagramme en cours de génération...

Composants avec interfaces

Diagramme en cours de génération...

2. Diagramme de Déploiement

Définition

Le diagramme de Déploiement montre la topologie physique du système : les nœuds matériels, les logiciels installés et les connexions réseau.

Diagramme en cours de génération...

Éléments

ÉlémentDescriptionMermaid
NœudRessource physique/virtuellesubgraph Noeud[]
ArtefactÉlément déployé (fichier, script)[fichier.jar]
ManifesteAssociation artefact → composantflèche
CommunicationLien réseauligne entre nœuds

Exemple : Déploiement Cloud AWS

Diagramme en cours de génération...

Artefacts et manifestes

Diagramme en cours de génération...

3. Diagramme de Packages

Définition

Le diagramme de Packages organise les éléments UML en groupes logiques.

Diagramme en cours de génération...

Relations entre packages

RelationDescriptionNotation
ImportLe package utilise des éléments d'un autre-->
ExportLe package rend accessible des éléments--> stéréotype
MergeFusion de packagesstéréotype

4. Diagramme de Profils

Définition

Le diagramme de Profils permet d'étendre UML avec des stéréotypes, tagged values et contraintes spécifiques à un domaine.

Diagramme en cours de génération...

Exemple : Profil Spring Boot

Diagramme en cours de génération...

Tagged values

Les tagged values ajoutent des propriétés aux stéréotypes :

  • {author = "John Doe"}
  • {version = "2.0.1"}
  • {status = "deprecated"}

5. Architecture physique vs logique

Architecture logique

Organisation conceptuelle des composants (indépendante du déploiement).

Diagramme en cours de génération...

Architecture physique

Topologie réelle du déploiement (serveurs, réseaux, cloud).

Diagramme en cours de génération...

Mapping logique → physique

Couche logiqueArtefact physiqueNœud
Présentationindex.html, bundle.jsCloudFront + S3
APIapp.jarECS Fargate
Métierservice.jarECS Fargate
DonnéesSQL scriptsRDS PostgreSQL
Cacheredis.confElastiCache

6. Exemple complet : Architecture 3-tiers détaillée

Diagramme en cours de génération...

Résumé

Diagramme en cours de génération...

Pour aller plus loin

  • "Software Architecture in Practice" - Bass, Clements, Kazman
  • "Documenting Software Architectures" - Clements et al.
  • Spécification OMG UML 2.5 - Deployment, Components, Packages