Symboles du diagramme de composants
Toutes les marques qu'un diagramme de composants UML peut porter, et ce à quoi chacune vous engage : l'icône de prise, la sucette et la cavité, les connecteurs d'assemblage et de délégation, les ports et les quatre stéréotypes qui valent la peine.
7 min de lectureUML 2.5.120 sur 35
La réponse courte
- Une sucette est une interface fournie, et une flèche de réalisation vers une boîte d'interface dit la même chose. Une forme par diagramme, jamais les deux.
- La réalisation va de l'implémentation vers le contrat ; une dépendance à tête ouverte va dans l'autre sens. Même trait pointillé, affirmation inverse.
- UML 1 remplaçait la boîte par un rectangle à deux languettes. UML 2 garde la boîte de classificateur et réduit cette icône dans le coin supérieur droit.
- La cavité est l'autre moitié de la rotule : une interface requise. Un composant qui n'a que des sucettes n'a déclaré aucune dépendance.
01Le composant lui-même#
Deux formes circulent et toutes deux sont correctes, ce qui explique qu'un même système dessiné dans deux outils puisse ressembler à deux notations.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Composant (UML 2) | boîte, petite icône de prise en haut à droite | Une boîte de classificateur ordinaire avec l'icône réduite dans le coin. Elle porte souvent le mot-clé «component» au-dessus du nom. C'est ce que dessinent par défaut les outils actuels. |
| Composant (UML 1) | boîte avec deux languettes sur son bord gauche | La forme plus ancienne, où l'icône est la forme. Encore fréquente dans les manuels et dans les diagrammes hérités des années 2000 ; sachez la reconnaître, ne la dessinez pas dans du travail neuf. |
| Sous-système | «subsystem» sur un composant | Un composant assez gros pour avoir ses propres parties. Cela ne vaut la peine de l'écrire que si le diagramme montre ce qu'il contient. |
| Artefact | «artifact», page à coin plié | Le fichier physique sous lequel un composant est livré : un jar, une image, un bundle. Il relève d'un diagramme de déploiement, pas d'ici, sauf si le propos porte justement sur l'empaquetage. |
02Interfaces fournies et requises#
Chaque composant a deux listes - ce qu'il fournit et ce qu'il requiert - et toute la notation consiste en façons d'écrire ces deux listes. Il y en a deux, et elles sont interchangeables.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Fournie (explicite) | Trait pointillé, triangle creux, pointant vers l'interface. Le composant implémente ce contrat. | |
| Fournie (sucette) | un cercle au bout d'une courte tige | La même affirmation, dessinée sur le bord du composant avec le nom de l'interface à côté du cercle. Compact, et c'est pourquoi la plupart des outils s'y tiennent par défaut. |
| Requise (explicite) | Trait pointillé, pointe ouverte, dirigé vers l'interface. Étiqueté d'ordinaire «use». Le composant a besoin que quelqu'un satisfasse cela. | |
| Requise (cupule) | une demi-coupe au bout d'une courte tige | La même affirmation sous forme compacte. Une cupule vide est une dépendance non satisfaite, et c'est une chose utile qu'un diagramme sache montrer. |
Explicite ou abrégé, jamais les deux sur un même diagramme : un lecteur ne devrait pas avoir à vérifier si deux notations sur la même image veulent dire deux choses différentes.
03Connecteurs, ports et délégation#
Dès que des composants en contiennent d'autres, deux marques de plus apparaissent. Un connecteur d'assemblage branche l'interface fournie d'un composant directement dans l'interface requise d'un autre - une boule posée dans une cupule, qui est le raccourci des deux flèches de la figure en tête d'article. Un connecteur de délégation va d'un port de la frontière externe à la partie interne qui l'honore.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Connecteur d'assemblage | une boule reposant dans une cupule | Un composant satisfait le besoin d'un autre. La même affirmation qu'une réalisation plus une dépendance via une interface partagée, dans un tiers de la place. |
| Port | petit carré sur la frontière | Un point d'interaction distinct. À dessiner quand un composant a vraiment des surfaces séparées - une API publique et une API d'administration - et du bruit sinon. |
| Connecteur de délégation | D'un port vers une partie interne : ce contrat externe est assuré par ce morceau-là. C'est ce qui rend l'intérieur d'un sous-système vérifiable par rapport à son extérieur. | |
| Dépendance entre composants | Licite, et presque toujours un défaut : elle dit « dépend d'une certaine manière », ce flou même que le diagramme existe pour supprimer. Nommez plutôt l'interface. |
L'imbrication est la troisième façon de dire « dedans », et celle que dessine cette série : les parties placées dans la frontière de leur propriétaire, comme ci-dessus. Elle ne demande aucun symbole supplémentaire et survit à un lecteur qui n'a jamais vu de connecteur de délégation, c'est-à-dire la plupart des lecteurs.
04Les stéréotypes qui valent la peine#
Un stéréotype entre guillemets étend le sens d'une boîte, et la tentation est d'inventer tout un vocabulaire. Quatre méritent leur place, parce que chacun change ce que le lecteur doit faire de la boîte :
«subsystem»- ceci a ses propres parties, et elles sont peut-être sur un autre diagramme.«service»- ceci est déployé et joint par le réseau, donc son interface est un contrat sur le fil et son versionnement est le travail de quelqu'un.«library»- ceci est lié à la compilation, pas appelé au travers d'une frontière : le modifier est une reconstruction, pas un déploiement.«external»- ceci appartient à quelqu'un d'autre, donc son interface est une contrainte et non une décision.
Tout ce qui dépasse ces quatre-là est en général un profil déguisé. Si une équipe a réellement besoin d'un vocabulaire formel à elle - éléments marqués, éléments contraints, règles imposées par l'outil - c'est à cela que sert un profil UML, et l'écrire correctement coûte moins cher qu'une convention que la moitié de l'équipe suit.
05Là où les outils divergent#
Trois différences expliquent l'essentiel de la confusion quand un diagramme change d'outil, et aucune ne change le sens :
- Icône ou mot-clé. Certains outils dessinent l'icône de prise, d'autres écrivent
«component», d'autres font les deux. Les trois sont le même composant UML 2. - Des sucettes par défaut. La plupart des outils de dessin accrochent la boule et la cupule au bord du composant ; les outils de modélisation qui tiennent un référentiel tendent à dessiner l'interface comme un élément à part entière, parce qu'elle en est un.
- Des ports là où il n'y en a pas. Certains outils placent un petit carré à chaque point d'attache d'interface. Si le diagramme ne distingue jamais deux surfaces sur un composant, ces carrés ne portent aucune information.
En une ligne chacun
- 01Boîte avec une icône de prise dans le coin : le composant UML 2. Deux languettes sur le bord gauche : la forme UML 1.
- 02La réalisation - pointillée, triangle creux - va de l'implémenteur vers le contrat.
- 03La dépendance - pointillée, pointe ouverte - va du demandeur vers le contrat.
- 04La sucette est le fourni, la cupule le requis, la boule dans la cupule l'assemblage des deux.
- 05Un port est un point d'interaction distinct ; un connecteur de délégation le route vers une partie interne.
- 06Une flèche entre deux composants sans interface ne nomme rien : c'est le défaut à chercher.
Les symboles à l'œuvre sur de vrais systèmes sont dans les cinq exemples détaillés, et l'ordre dans lequel les poser est dans dessiner un diagramme de composants.
06Questions fréquentes#
Que signifie le symbole sucette en UML ?
Une sucette - un petit cercle au bout d'une tige - est une interface fournie : le composant auquel elle est accrochée implémente ce contrat. C'est la forme compacte d'une flèche de réalisation vers une boîte d'interface ; les deux disent la même chose, donc un diagramme choisit l'une ou l'autre.
Peut-on mêler sucettes et boîtes d'interface sur un diagramme ?
On peut, et cela coûte au lecteur sans rien apporter. Les deux formes disent exactement la même chose : deux notations sur une même image obligent à vérifier si l'écart signifie quelque chose. Prenez la forme compacte rotule et cavité quand la place manque, et des boîtes explicites quand ce sont les flèches que l'on discute.
Que signifie une flèche pointillée à triangle creux ?
C'est une réalisation, et sur un diagramme de composants elle va toujours de l'implémentation vers le contrat. Le composant à la base promet de satisfaire l'interface à la pointe. Une flèche pointillée à tête ouverte est l'autre versant de la même relation : une dépendance, le composant a besoin de ce contrat.
Le symbole du composant diffère-t-il entre UML 1 et UML 2 ?
Oui, et les deux se rencontrent encore. UML 1 remplaçait la boîte par un rectangle portant deux rectangles plus petits sur son bord gauche. UML 2 utilise une boîte de classificateur ordinaire avec cette icône réduite dans le coin supérieur droit, éventuellement avec le mot-clé «component» au-dessus du nom.
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
Diagrammes de structure
Pratique de la modélisation
Diagrammes de structure
Référence de notation
Diagrammes de structure