Le diagramme de structure composite
Le diagramme de structure composite permet de décrire la structure interne d'un composant, d'un paquetage ou d'une classe structurée.
Il permet également de préciser les collaborations qui interviennent entre les éléments de la structure dans l'exécution d'une tâche, en mettant en évidence le rôle joué par chaque élément dans la collaboration.
Les éléments de ce diagramme sont les parties (les parts en anglais), les ports par le biais desquels les parties interagissent avec l'extérieur, et les connecteurs reliant les parties entre elles ou avec les ports.
Exemple de diagramme de structure composite
Ce diagramme décrit le rôle joué par les parties dans la collaboration "Vente de négoce".
Créer un diagramme de structure composite
Pour créer un diagramme de composants à partir d'un composant dans HOPEX IT Architecture à partir du menu de navigation Conception (UML) :
1. Dans le sous-menu de navigation, cliquez sur Composants.
2. Sélectionnez la ligne du composant concerné et cliquez sur le bouton Nouveau Diagramme.
3. Sélectionnez Diagramme de structure composite.
Le diagramme créé s'ouvre dans la fenêtre d'édition.
Les parties
Une partie représente un rôle joué par une instance d'une classe ou d'un composant lors de l'exécution d'une tâche.
Les parties sont reliées entre elles par des connecteurs ou des dépendances.
Une partie peut également être reliée - via un connecteur- à un port qui assure l'interface entre le composant décrit et l'extérieur.
Pour plus de détails sur ces éléments, voir :
Les multiplicités définies sur les parties indiquent le nombre d'instances qui sont créées. Les multiplicités sur les rôles de connecteur indiquent le nombre de liens qui peuvent être créés pour chacune de ces instances.
Pour définir la multiplicité d'une partie :
1. Ouvrez la fenêtre de propriétés de la partie.
2. Sélectionnez la page Caractéristiques.
3. Cliquez sur la flèche située à l'extrémité du champ Multiplicité et sélectionnez la multiplicité voulue.
4. Cliquez sur OK.
Les collaborations
Dans le diagramme de structure composite, une collaboration décrit les rôles joués par chaque partie (instance) dans la réalisation d'une tâche.

Une collaboration (UML) décrit une structure collaborative entre plusieurs éléments (rôles), qui accomplissent chacun une fonction spécialisée et qui réalisent collectivement une fonctionnalité attendue du système. Son objectif est de montrer comment un système fonctionne indépendamment d'une utilisation spécifique. On en retirera donc généralement l'identité précise des classes ou des instances qui y participent.
Elle est représentée par un ovale en pointillé contenant les instances de la collaboration.
Ces instances sont reliées entre elles par des connecteurs. A chaque extrémité du connecteur s'affiche le rôle qui correspond au nom de l'instance.

Un connecteur est un lien qui permet d'établir une communication entre plusieurs objets. Un connecteur de délégation relie le contrat externe de l'objet (tel qu'il est spécifié par ses ports et/ou ses interfaces) aux objets internes qui vont le réaliser. Un connecteur d'assemblage entre plusieurs objets (ou leurs ports) permet de spécifier comment un des objets fournit l'interface requise par un autre.
Il est possible d'appliquer le modèle d'une collaboration à différentes instances.
Utilisation de collaboration
Une utilisation de collaboration représente l'application de la structure décrite par une collaboration à une situation particulière mettant en oeuvre des classes ou des instances spécifiques. Ces classes ou ces instances jouent alors les rôles définis dans la collaboration.
Les instances sont reliées à l'utilisation d'une collaboration par un lien de dépendance sur lequel doit être précisé le rôle joué par l'instance.

Une dépendance précise que l'implémentation ou le fonctionnement d'un ou de plusieurs éléments nécessite la présence d'un ou de plusieurs autres éléments. Il existe plusieurs stéréotypes de dépendance.
Exemple d'utilisation de collaboration
Dans le cas d'une demande d'achat entre deux instances d'acteur, une collaboration est utilisée. Cette collaboration relie deux rôles : le rôle d'acheteur et le rôle de vendeur. Sur la dépendance qui relie chaque instance à la collaboration, vous pouvez indiquer le rôle que joue l'instance.
Les liens de dépendance
Une dépendance précise que l'implémentation ou le fonctionnement d'un ou de plusieurs éléments nécessite la présence d'un ou de plusieurs autres éléments.
Une dépendance est également une relation de type fournisseur / client qui indique quel est l'élément source et l'élément cible dans la collaboration.
Un stéréotype sur la dépendance permet de spécifier la nature de la dépendance :
• Binding : le binding est une relation entre un template et un élément de modélisation généré à partir du template. Il inclut une liste d'arguments en correspondance avec les paramètres du template.
• Derive : indique une relation de dérivation entre des éléments de modélisation qui sont généralement, mais pas nécessairement, de même type. Une telle relation de dépendance implique que l'un des éléments peut être calculé à partir de l'autre.
• Mapping UML/XML : une expression de mapping qui définit la relation entre les éléments (classes, attributs, ...) d'un schéma ou d'un diagramme de classes et ceux d'un autre schéma ou diagramme de classes.
• Refine : spécifie une relation de dépendance entre des éléments de modélisation à différents niveaux sémantiques, tels que l'analyse et la conception.
• Trace : spécifie une relation de traçabilité entre des éléments de modélisation ou des ensembles d'éléments de modélisation qui représentent le même concept dans différents modèles.
Pour préciser la nature d'une dépendance :
1. Ouvrez la fenêtre de propriétés de la dépendance.
2. Sélectionnez la page Caractéristiques.
3. Dans le champ Stéréotype, déroulez la liste et sélectionnez l'un des stéréotypes proposés.
La flèche

vous permet également de créer de nouveaux stéréotypes.