Qu’est-ce qu’un diagramme de composants ?

MUCLes diagrammes de composants sont utilisés pour modéliser les aspects physiques d’un système orienté objet. Ils sont utilisés pour visualiser, spécifier et documenter les systèmes basés sur des composants, ainsi que pour construire des systèmes exécutables par ingénierie ascendante et descendante. Un diagramme de composants est essentiellement un diagramme de classes spécialisé qui se concentre sur les composants du système et est utilisé pour modéliser la vue statique d’implémentation d’un système.

Component Diagram Hierarchy

Aperçu des diagrammes de composants

Un diagramme de composants divise le système réel en cours de développement en diverses fonctionnalités de haut niveau. Chaque composant est responsable d’un objectif clairement défini au sein du système et n’interagit qu’avec les autres éléments essentiels lorsqu’il le faut.
Component Diagram Overview
L’exemple ci-dessus montre les composants internes d’un composant plus grand :
  • Les données (identifiants de compte et de chèque) entrent dans le composant par les ports situés à droite et sont transformées dans un format utilisable par les composants internes. L’interface située à droite est appeléeinterface fournie, représentant les services dont le composant a besoin pour remplir ses responsabilités.
  • Les données sont ensuite transmises à travers diverses connexions vers et à travers d’autres composants, puis sortent par les ports situés à gauche. Les interfaces situées à gauche sont appeléesinterfaces requises, représentant les services que le composant fournit.
  • Il est important de noter que les composants internes sont enfermés dans une plus grande « boîte » — cela peut être le système entier lui-même (auquel cas, aucun symbole de composant n’apparaît dans le coin supérieur droit) ou un sous-système/composant du système (auquel cas, la « boîte » représente le composant lui-même).

Concepts fondamentaux des diagrammes de composants

Un composant représente une partie modulaire d’un système, encapsulant ses contenus et dont le comportement peut être substitué dans son environnement. En UML 2, un composant est représenté par un rectangle avec un compartiment facultatif empilé verticalement. La vue abstraite de haut niveau d’un composant en UML 2 peut être modélisée comme suit :
  1. Un rectangle avec le nom du composant
  2. Un rectangle avec une icône de composant
  3. Un rectangle avec un texte de stéréotype et/ou une icône
Appearance of a Component

Interfaces

Deux types d’interfaces de composant sont illustrés dans l’exemple ci-dessous :
Le interface fourniele symbole avec un cercle plein à l’extrémité indique l’interface que le composant fournit — le symbole « bonbon » est une notation abrégée de la relation d’implémentation d’un classificateur d’interface.
Le interface requisele symbole avec un demi-cercle (également appelé prise) à l’extrémité indique l’interface dont le composant a besoin (dans les deux cas, le nom de l’interface est placé près du symbole lui-même).
Required and Provided Interfaces

Exemple de diagramme de composants – Utilisation des interfaces (Système de commande)

Component Diagram Example with Interfaces

Sous-systèmes

Un classificateur de sous-système est une version spécialisée d’un classificateur de composant. Par conséquent, l’élément de notation de sous-système hérite toutes les mêmes règles que la notation de composant. La seule différence est que l’élément de symbole de sous-système utilise le mot-clé « sous-système » au lieu de « composant ».
Component Diagram with Subsystem

Ports

Les ports sont représentés par des carrés le long du bord d’un composant ou d’un système. Ils sont généralement utilisés pour exposer les interfaces requises et fournies par un composant.
Component Diagram with Port

Relations

Graphiquement, un diagramme de composants est un ensemble de sommets et d’arcs, contenant généralement des composants, des interfaces et des relations telles que dépendance, agrégation, contrainte, généralisation, association et réalisation. Il peut également inclure des notes et des contraintes.
Relation Symbole
Association:

  • Une association spécifie une relation sémantique pouvant exister entre des instances typées.
  • Elle possède au moins deux extrémités, chacune représentée par un attribut, et chaque extrémité est connectée au type de l’autre extrémité. Plusieurs extrémités peuvent avoir le même type.

Component Diagram: Association




Composition:

  • La composition est une forme forte d’agrégation, exigeant qu’une instance soit contenue au plus dans un composé.
  • Si le composé est supprimé, ses parties sont généralement supprimées également.

Component Diagram: Composition




Agrégation:

  • Une forme d’association où une extrémité est marquée comme agrégation partagée, ce qui signifie qu’elle possède une agrégation partagée.

Component Diagram: Aggregation




Contrainte:

  • Une condition ou une restriction exprimée sous forme de texte en langage naturel ou de langage lisible par machine pour déclarer certaines sémantiques d’un élément.

Component Diagram: Constraint




Dépendance:

  • Une relation indiquant qu’un ou plusieurs éléments de modèle nécessitent un autre élément de modèle pour leur spécification ou leur implémentation.
  • Cela signifie que la sémantique complète de l’élément dépendant est dépendante sémantiquement ou structuralement de la définition de l’élément fournisseur.

Component Diagram: Dependency




Généralisation:

  • Une relation de classification entre un classificateur plus général et un classificateur plus spécifique.
  • Chaque instance du classificateur spécifique est également une instance indirecte du classificateur général.
  • Par conséquent, le classificateur spécifique hérite des fonctionnalités du classificateur plus général.

Component Diagram: Generalization




Modélisation du code source

  • Identifiez l’ensemble des fichiers de code source d’intérêt par ingénierie forward ou reverse, et modélisez-les comme des composants construits à partir de fichiers.
  • Pour les systèmes plus grands, utilisez des paquets pour afficher des groupes de fichiers de code source.
  • Pensez à inclure une valeur étiquetée pour représenter des informations telles que le numéro de version, l’auteur et la date de dernière modification du fichier de code source. Utilisez des outils pour gérer les valeurs de ces valeurs étiquetées.
  • Utilisez des dépendances pour modéliser les dépendances de compilation entre ces fichiers. De même, utilisez des outils pour aider à générer et à gérer ces dépendances.
Exemple de composant – Code source Java
Component Diagram Example: Java Source Code
Exemple de diagramme de composants – Code C++ avec versioning
Component Diagram Example: C++ Code with Versioning

Modélisation des versions exécutables

  • Identifiez l’ensemble des composants que vous souhaitez modéliser. Cela concerne généralement certains ou tous les composants sur un nœud, ou une répartition de ces composants sur tous les nœuds du système.
  • Considérez le stéréotype de chaque composant de cet ensemble. Pour la plupart des systèmes, vous trouverez un petit nombre de types de composants différents (par exemple, exécutables, bibliothèques, tables, fichiers et documents). Vous pouvez utiliser le mécanisme d’extensibilité de UML pour fournir des indices visuels (indices) pour ces stéréotypes.
  • Pour chaque composant de cet ensemble, considérez ses relations avec ses voisins. Souvent, cela concerne les interfaces exportées par certains composants (implémentées) puis importées par d’autres (utilisées). Si vous souhaitez mettre en évidence des points de rupture dans le système, modélisez explicitement ces interfaces. Si vous souhaitez une abstraction de niveau supérieur, supprimez ces relations en ne montrant que les dépendances entre les composants.
Component Diagram for Modeling Executable Release

Modélisation de base de données physique

  • Identifiez les classes du modèle qui représentent les schémas de base de données logiques.
  • Choisissez la stratégie de mappage de ces classes vers des tables. Vous devez également tenir compte de la distribution physique de la base de données. Votre stratégie de mappage sera influencée par l’emplacement où vous souhaitez que les données persistent dans le système déployé.
  • Pour visualiser, spécifier, construire et documenter le mappage, créez un diagramme de composants contenant des composants construits comme des tables.
  • Lorsque cela est possible, utilisez des outils pour vous aider à convertir la conception logique en conception physique.
Component Diagram for Modeling Physical Database


Essayez de dessiner un diagramme de composants UML maintenant

Vous avez maintenant appris ce qu’est un diagramme de composants et comment en dessiner un. Il est temps de créer le vôtre. Obtenez le Édition Communauté de Visual Paradigm, un outil UML gratuit, et utilisez le outil gratuit Diagramme de composants pour créer le vôtre. Il est facile à utiliser et intuitif.
  1. Qu’est-ce que le langage de modélisation unifié ?
  2. Outils UML professionnels
  3. Visual Paradigm. (s.d.). Comment dessiner un diagramme de composant ? Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581/7292_drawingcompo.html 42.
  4. Visual Paradigm. (2018, 11 mai). Qu’est-ce qu’un diagramme de composant ? Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/what-is-component-diagram/ 43.
  5. Visual Paradigm. (s.d.). Comment dessiner un diagramme de composant en UML ? Visual Paradigm. https://www.visual-paradigm.com/tutorials/how-to-draw-component-diagram-in-uml/ 44.
  6. Visual Paradigm. (s.d.). Diagramme de composant – Diagramme UML 2 – Outil de modélisation UML. Visual Paradigm. https://www.visual-paradigm.com/VPGallery/diagrams/Component.html 45.
  7. Visual Paradigm. (s.d.). Diagramme de composant dans Visual Paradigm. Visual Paradigm. https://www.visual-paradigm.com/support/documents/vpuserguide/94/2581_componentdia.html 46.
  8. Visual Paradigm Community Circle. (2018, 11 mai). 7. Diagramme de composant. Visual Paradigm. https://circle.visual-paradigm.com/docs/uml-and-sysml/component-diagram/ 47.
  9. Visual Paradigm Online. (s.d.). Outil gratuit de diagramme de composant. Visual Paradigm. https://online.visual-paradigm.com/diagrams/solutions/free-component-diagram-tool/ 48.
  10. Visual Paradigm Online. (s.d.). Tutoriel sur le diagramme de composant. Visual Paradigm. https://online.visual-paradigm.com/tutorials/component-diagram-tutorial/ 49.
  11. Visual Paradigm. (2022, 2 septembre). Tutoriel sur le diagramme de classe UML. Visual Paradigm. https://www.visual-paradigm.com/guide/uml-unified-modeling-language/uml-class-diagram-tutorial/ 50.
  12. Visual Paradigm Online. (s.d.). Outils en ligne de diagrammes UML. Visual Paradigm. https://online.visual-paradigm.com/diagrams/features/uml-tool/ 51.

Leave a Reply