Un diagramme de communication est un diagramme UML qui fournit une représentation graphique des interactions entre les objets d'un scénario de cas d'utilisation, l'exécution d'une opération, ou une interaction entre des classes, en mettant l'accent sur la structure du système.
Vous pouvez utiliser un ou plusieurs diagrammes de communication pour mettre en scène un cas d'utilisation ou pour identifier toutes les possibilités d'un comportement complexe.
Un diagramme de communication véhicule le même genre d'information qu'un diagramme de séquence, à ceci près qu'il se concentre sur la structure des objets au lieu de la chronologie des messages qu'ils échangent.
Un diagramme de communication montre des acteurs, des objets (instances de classes) et leurs liens de communication (appelés liens entre objets), ainsi que les messages qu'ils échangent. Les messages sont définis sur des liens entre objets qui correspondent à un lien de communication entre deux objets qui interagissent. L'ordre dans lequel les messages sont échangés est représenté par les numéros d'ordre.
Un diagramme de communication peut être utilisé pour modéliser le comportement d'un cas d'utilisation, pour affiner la description d'un cas d'utilisation ou enrichir la définition d'un diagramme de classes en utilisant une approche itérative. Cette approche est utile lors de l'analyse des besoins car elle peut aider à identifier des classes et associations qui ne s'étaient pas imposées immédiatement.
Vous pouvez formaliser l'association entre le cas d'utilisation et le diagramme de communication en ajoutant le diagramme dans l'onglet Diagrammes associés de la feuille de propriétés du cas d'utilisation.
Il est souvent nécessaire de créer plusieurs diagrammes afin de décrire tous les scénarios possibles d'un cas d'utilisation. Dans ce cas de figure, il peut être utile d'utiliser les diagrammes de communication pour découvrir tous les objets pertinents avant de tenter d'identifier les classes qui vont les instancier. Une fois ces classes identifiées, vous pouvez ensuite déduire les associations entre elles grâce aux liens entre objets.
Les objets Boundary sont utilisés par les acteurs lorsqu'ils communiquent avec le système, il peut s'agir de fenêtres, d'écrans, de boîtes de dialogue ou de menus.
Les objets Entity représentent des données stockées telles qu'une base de données, des tables de base de données ou tout type d'objet temporaire tel qu'un résultat de recherche.
Les objets Control sont utilisés pour contrôler les objets Boundary et Entity, et qui représentent un transfert d'informations.
PowerAMC prend en charge l'extension Robustness Analysis via un fichier d'extension (voir Personnalisation et extension de PowerAMC > Fichiers d'extension > Exemple : Création d'extensions de diagramme de robustesse.
La construction d'un diagramme de communication peut également être l'opportunité de tester un modèle statique pendant la conception ; il peut représenter un scénario dans lequel les classes du diagramme de classes sont instanciées pour créer les objets nécessaires à l'exécution du scénario.
Il complète le diagramme de classes qui représente la structure statique d'un système en spécifiant le comportement des classes et interfaces ainsi que l'utilisation possible de leurs opérations.
Vous pouvez créer les objets et les liens entre objets nécessaires automatiquement en sélectionnant les classes et associations appropriées dans un diagramme de classes, puis en appuyant sur Ctrl+Maj et en les faisant glisser dans un diagramme de communication vide. Il vous suffit ensuite d'ajouter les messages nécessaires.