Le diagramme de structure composite UML est un diagramme structurel puissant utilisé pour explorer le architecture interned’un classificateur structuré, tel qu’une classe, un composant ou un système. Il se concentre sur la manière dont une entité est composée de composants interconnectés Partset sur la manière dont il interagit avec le monde extérieur à travers ses Ports.

Ce diagramme est essentiel pour définir les vues boîte noire et boîte blanche d’un composant système, garantissant des frontières claires et permettant la réutilisabilité des composants.
Structure centrale et contexte
Le diagramme est dessiné dans le contexte d’un Classificateur (la boîte de limite), qui définit le système ou le composant global analysé.
A. Rôle de classificateur (frontière)
- Notation : Une grande boîte rectangulaire.
- Objectif : Représente la classe, le composant ou le système global dont la structure interne est définie. Tous les autres éléments du diagramme sont contenus dans cette frontière.
Éléments fondamentaux de la vue interne
La structure interne est définie par trois éléments clés : les Parties, les Ports et les Connecteurs.
B. Parties
Une Part représente un rôle joué par une instance d’un classificateur (comme une classe ou un composant) dans la structure composite globale. En essence, une Part est un élément de construction interne.
- Notation : Une boîte rectangulaire à l’intérieur de la frontière, étiquetée avec son nom et son type.
- Syntaxe :
nomPartie : TypePartie(par exemple,cacheDonnees : ModuleMiseEnCache). - Distinction clé : Une Partie n’est pas l’objet lui-même, mais le rôle que cet objet joue dans le contexte du classificateur contenant. Une Partie peut elle-même être une structure composite, permettant une imbriquation profonde.
C. Ports
Un Port est un point d’interaction distinct entre la structure composite (la frontière) et son environnement, ou entre ses parties internes. Les ports formalisent les interfaces que le composant utilise ou fournit.
- Notation : Un petit carré attaché au bord de la frontière ou au bord d’une partie interne.
- Types de ports :
- Port public : Attaché à la frontière externe ; exposé à l’environnement.
- Port encapsulé : Attaché à une partie interne ; ne connecte que cette partie à d’autres parties internes ou à la frontière du système.
- Objectif : Les ports définissent explicitement les interfaces requises et fournies, permettant de masquer la structure interne (vue en boîte noire) tout en définissant ses points d’interaction contractuels.
D. Connecteurs
Un Connecteur modélise le lien de communication ou le flux d’informations/signaux entre deux éléments (deux ports, deux parties, ou un port et une partie).
- Notation : Une ligne reliant les deux éléments liés.
- Objectif : Représente l’implémentation du lien de communication, montrant comment les données ou messages sont transférés internement.
Modélisation des interfaces : fournies et requises
Les interfaces définissent les obligations contractuelles des ports et sont essentielles pour la clarté architecturale.
A. Interface fournie (notation en sucette)
- Notation : Un cercle (ou « sucette ») connecté à un port.
- Objectif : Montre les services ou opérations que le classificateur (ou la partie) offre à son environnement ou à ses composants internes.
B. Interface requise (notation en prise)
- Notation : Un demi-cercle (ou « prise ») connecté à un port.
- But : Montre les services ou opérations dont le classificateur (ou Partie) a besoin de son environnement ou d’autres composants internes pour fonctionner correctement.
Connecteur d’assemblage : Une ligne de connecteur relie souvent une Interface requise (Prise) d’une Partie à la Interface fournie (Sucette) d’une autre Partie, illustrant comment les composants internes sont câblés ensemble pour remplir la fonction du système.
Modélisation de la collaboration : rôles et collaborations
Les diagrammes de structure composite peuvent également modéliser des Collaborations—ensembles spécifiques de rôles et de connexions qui travaillent ensemble pour accomplir une tâche.
A. Utilisation de la collaboration
- Notation : Un ellipse pointillée contenant les noms des rôles collaborateurs.
- But : Représente une instance d’un modèle de collaboration (par exemple, une implémentation spécifique du modèle d’Observateur) utilisée au sein du composant plus large.
Exemple de modélisation étape par étape : un contrôleur de maison intelligente
Modélisons la structure interne d’un Système d'automatisation de maison composant.
- Frontière du classificateur : Définissez la boîte extérieure comme
Système d'automatisation de maison. - Ports externes : Ajoutez un port étiqueté
apiPortà la frontière. Attachez une Interface fournie (Lollipop) pourICommandReceiver(ce que le monde extérieur peut envoyer) et un Interface requise (Socket) pourIExternalWeatherService(ce dont le système a besoin). - Pièces internes :
planificateur : TaskScheduler(Gère les événements temporisés).gestionnaire de périphériques : DeviceCoordinator(Communique avec le matériel).
- Connexions internes :
- Connectez le
portAPIaugestionnaire de périphériquespièce à l’aide d’un connecteur. - Connectez le
planificateurport de sortie de la pièce augestionnaire de périphériquesport d’entrée de la pièce, ce qui montre que le planificateur indique au gestionnaire de périphériques quand agir.
- Connectez le
- Structure imbriquée (facultatif) : Montrez que le
gestionnaire de périphériqueslui-même contient des pièces commeadaptateur Zigbeeetadaptateur Wi-Fi.
Ce diagramme montre clairement que le HomeAutomationSystem est composé de deux grandes parties internes, utilise une API spécifique et nécessite un service météorologique externe pour fonctionner.
Résumé
Le Diagramme de structure composite UML va au-delà de la vue en boîte noire d’une classe ou d’un composant pour révéler son architecture en boîte blanche. En utilisant Parts pour définir les rôles, Ports pour définir les points d’interaction, et Connecteurs pour définir la communication interne, il permet aux architectes et aux développeurs de comprendre précisément et de concevoir des composants complexes, réutilisables et clairement encapsulés.
Vous pouvez trouver plus d’informations sur le UML et la visualisation de l’IA dans notre centre de ressources UML.
Cette publication est également disponible en Deutsch, English, Español, فارسی, Bahasa Indonesia, 日本語, Polski, Portuguese, Ру́сский, Việt Nam, 简体中文 : liste des langues séparées par une virgule, 繁體中文 : dernière langue.












