Diagrammes de structure composite UML
L'intérieur d'une chose. Ses parties, les ports sur sa frontière, et les connecteurs qui les câblent - le diagramme qui explique comment un composant est réellement construit.
6 min de lectureUML 2.5.125 sur 35
La réponse courte
- Une partie est un rôle qu'une instance joue dans un contenant, pas un type. La même classe peut apparaître deux fois comme deux parties nommées différemment.
- Un connecteur d'assemblage est du câblage interne entre deux parties ; un connecteur de délégation franchit la frontière et renvoie.
- La délégation est la façon dont un composite honore une interface sans faire le travail : ce qui arrive sur le port est traité par une partie interne.
- Dessinez celui-ci quand la question est ce qu'il y a dans une chose. Un diagramme de composants répond à comment plusieurs choses s'emboîtent.
01Ce qu'il montre#
Un diagramme de structure composite répond à une question : de quoi cette chose est-elle faite, à l'intérieur ? Il prend un seul classificateur - une classe, un composant, un sous-système - et dessine ses parties internes et leur câblage.
La distinction avec les diagrammes voisins mérite d'être claire. Un diagramme de classes montre des types et les relations entre eux, en général. Un diagramme de composants montre plusieurs composants et les contrats entre eux. Un diagramme de structure composite zoome sur l'un d'entre eux et montre la structure d'exécution à l'intérieur.
02Parties, ports, connecteurs#
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Partie | rectangle dans le cadre | Un rôle tenu à l'intérieur du propriétaire, écrit roleName: Type. Peut porter une multiplicité dans le coin. |
| Port | petit carré sur la frontière | Un point d'interaction nommé. Tout ce qui franchit la frontière passe par un port, et c'est ce qui donne son sens à la frontière. |
| Connecteur | trait entre parties | Un chemin de communication entre deux parties du propriétaire. |
| Connecteur de délégation | trait d'un port vers une partie | Le trafic arrivant sur ce port externe est traité par cette partie interne. L'extérieur n'apprend jamais laquelle. |
| Connecteur d'assemblage | boule dans une douille | L'interface fournie d'une partie câblée à l'interface requise d'une autre. |
| Collaboration | ellipse en pointillés | Un motif de rôles nommé - la moitié structurelle d'un patron de conception, sans s'engager sur des classes. |
03Pourquoi les ports sont l'élément utile#
Un port est un petit carré, et il travaille plus qu'il n'en a l'air. Il dit : c'est la seule entrée. Rien de l'extérieur n'atteint directement une partie ; tout arrive à un port et est délégué vers l'intérieur.
De là découle la propriété qui justifie ce diagramme. L'extérieur de la boîte ne dépend que des ports, donc tout l'intérieur peut être réagencé - parties scindées, fusionnées, remplacées - sans que rien change au-dehors, tant que les ports conservent leurs contrats. C'est de l'encapsulation dessinée en géométrie.
Les ports permettent aussi à un composant de présenter plusieurs visages distincts. Un orchestrateur de paiement doté d'un port d'API publique, d'un port d'administration et d'un port de publication d'événements dit quelque chose de précis sur sa surface, et sur ceux d'entre eux qu'un pare-feu ou une politique d'autorisation doit traiter autrement.
04Quand en dessiner un#
À utiliser quand
- Expliquer comment un composant non évident est construit à l'intérieur
- Concevoir quelque chose où le même type apparaît dans deux rôles différents
- Documenter un composant à plusieurs points d'interaction distincts
- L'embarqué, les télécoms ou le travail sur protocoles, où ce diagramme porte réellement
Préférer autre chose quand
- L'intérieur, ce sont trois classes aux relations évidentes - un diagramme de classes suffit
- Vous montrez plusieurs composants, pas l'intérieur d'un seul - prenez un diagramme de composants
- L'intéressant est ce qui se passe dans le temps, pas le câblage
- Personne n'a demandé comment l'intérieur fonctionne
C'est l'un des diagrammes UML les moins employés, et à juste titre : la plupart des composants n'ont pas de structure interne intéressante. Quand l'un en a une, rien d'autre ne l'exprime aussi directement, et l'alternative est en général un paragraphe de prose que personne ne relit.
En une ligne chacun
- 01Montre l'intérieur d'exactement un classificateur : ses parties, ses ports et son câblage.
- 02Les parties sont des rôles tenus à l'exécution, pas des classes - une même classe peut être deux parties.
- 03Les ports sont les seuls franchissements de la frontière, et c'est ce qui rend la frontière réelle.
- 04Les connecteurs de délégation confient un contrat externe à une partie interne.
- 05Réagencer l'intérieur est gratuit tant que les ports conservent leurs contrats.
05Questions fréquentes#
Quelle différence entre une partie et une classe ?
Une partie est un rôle joué par une instance à l'intérieur d'un classificateur englobant précis, et non un type à part entière. Une même classe peut apparaître comme deux parties distinctes d'un même composite, chacune avec son nom et sa multiplicité, car le diagramme porte sur la structure interne du contenant et non sur les types.
Qu'est-ce qu'un connecteur de délégation ?
Un connecteur allant d'un port sur la frontière extérieure vers un port ou une partie à l'intérieur. Il dit que ce qui arrive de l'extérieur est traité par cette partie interne, ce qui permet à un composite d'honorer une interface sans faire le travail lui-même.
Quelle différence entre connecteur d'assemblage et de délégation ?
Un connecteur d'assemblage relie deux parties internes, câblant l'interface requise de l'une à l'interface fournie de l'autre. Un connecteur de délégation franchit la frontière, reliant un port externe à quelque chose de l'intérieur. L'assemblage est du câblage interne ; la délégation est du renvoi.
Quand dessiner celui-ci plutôt qu'un diagramme de composants ?
Quand la question est ce qu'il y a dans une chose plutôt que comment plusieurs choses s'emboîtent. Un diagramme de composants montre les parties d'un système et leurs contrats ; un diagramme de structure composite ouvre l'une de ces parties et montre comment elle est bâtie.
Dans cette série
- 01Qu'est-ce que UML ?
- 02Symboles UML
- 03Choisir un diagramme
- 04Diagrammes de classes
- 05Exemples de diagrammes de classes
- 06Dessiner un diagramme de classes
- 07Symboles du diagramme de classes
- 08Diagrammes de séquence
- 09Exemples de diagrammes de séquence
- 10Dessiner un diagramme de séquence
- 11Diagrammes de cas d'utilisation
- 12Exemples de cas d'utilisation
- 13Diagrammes d'activité
- 14Exemples d'activité
- 15Diagrammes états-transitions
- 16Exemples d'états-transitions
- 17Diagrammes de composants
- 18Exemples de composants
- 19Dessiner un diagramme de composants
- 20Symboles de composants
- 21Diagrammes de déploiement
- 22Exemples de déploiement
- 23Diagrammes d'objets
- 24Diagrammes de paquetages
- 25Diagrammes de structure composite
- 26Diagrammes de communication
- 27Séquence vs communication
- 28Diagrammes de temps
- 29Diagrammes globaux d'interaction
- 30Diagrammes de profil
- 31UML avec l'IA
- 32Exemple e-commerce
- 33Exemple bancaire
- 34Exemple microservices
- 35Exemple AWS
À lire aussi
Diagrammes de structure
Fondamentaux
Diagrammes de structure
Diagrammes de structure
Diagrammes de comportement
Diagrammes de structure