Diagrammes de communication

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.

Remarque : Pour créer un diagramme de communication dans un MOO existant, pointez sur le modèle dans l'Explorateur d'objets, cliquez le bouton droit de la souris, puis sélectionnez Nouveau > Diagramme de communication. Pour créer un nouveau modèle, sélectionnez Fichier > Nouveau modèle, choisissez Modèle Orienté Objet comme type de modèle et Diagramme de communication comme premier diagramme, puis cliquez sur OK. Pour créer un diagramme de communication qui réutilise les objets et messages d'un diagramme de séquence existant (et créer des liens entre les objets qui communiquent par le biais de messages, en mettant met également à jour les numéros d'ordre des messages, en se basant sur la position relative de ces messages sur la ligne de vie), pointez sur le diagramme de séquence, cliquez le bouton droit de la souris puis sélectionnez Créer un diagramme de communication par défaut, ou bien sélectionnez Outils > Créer un diagramme de communication par défaut. Notez que ces deux diagrammes ne restent pas synchronisés, les changements effectués dans un diagramme ne seront pas répercutés dans l'autre.

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.



Analyse d'un cas d'utilisation

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.

La principale difficulté de cette approche consiste à identifier les objets appropriés afin de transcrire les pas d'action du cas d'utilisation. Une extension d'UML, "Robustness Analysis" peut simplifier ce processus. Cette méthode préconise de séparer les objets en 3 types :
  • 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.

Analyse d'un diagramme de classe

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.