Diagramme de communication
Cette conférence porte sur le diagramme de communication dans le cadre de la modélisation UML, en particulier dans la modélisation des interactions entre objets. Elle s'inscrit dans un cours sur les technologies de l'informatique et présente les concepts, la syntaxe, les usages et les différences avec le diagramme de séquence.
D'après le document Diagramme de communication
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.

Document source
Software Engineering (UML Diagrams) · PPTX · 29 pages
Cette conférence porte sur le diagramme de communication dans le cadre de la modélisation UML, en particulier dans la modélisation des interactions entre objets. Elle s'inscrit dans un cours sur les technologies de l'informatique et présente les concepts, la syntaxe, les usages et les différences avec le diagramme de séquence.
Positionnement et définition des diagrammes d'interaction
Les diagrammes de communication, anciennement appelés diagrammes de collaboration dans UML 1.X, sont renommés dans UML 2.X. Ils font partie des diagrammes d'interaction, qui modélisent le comportement dynamique d’un système en représentant les échanges entre objets.
Deux types principaux de diagrammes d'interaction existent : les diagrammes de séquence et les diagrammes de communication. Tous deux représentent les mêmes interactions mais sous des formes différentes. Le diagramme de séquence met l'accent sur l'ordre temporel des messages échangés, tandis que le diagramme de communication offre une représentation spatiale des objets et de leurs liens.
Concepts fondamentaux du diagramme de communication
Le diagramme de communication repose sur trois concepts essentiels :
- Les objets : entités participantes à l'interaction.
- Les liens d’interactions : connexions entre objets indiquant la possibilité de navigation et d’échange de messages.
- Les messages : échanges d’informations entre objets, représentés par des flèches numérotées.
Notion de lien
Un lien est une connexion entre deux objets qui permet l’acheminement des messages dans un sens ou dans l’autre. Plusieurs messages peuvent circuler sur un même lien, dans les deux directions. Il n’y a pas un lien par message, mais un lien partagé par tous les messages échangés entre ces objets.
Représentation des messages
Chaque message est représenté par une flèche indiquant sa direction, accompagnée d’un numéro qui indique son rang dans la séquence d’échanges. Ce numéro est structuré à la manière d’un système de chapitres, par exemple 1.3.5, ce qui permet de montrer l’emboîtement et la précédence des messages.
Un message peut aussi être réflexif, c’est-à-dire envoyé par un objet à lui-même.
Synchronisation et conditions d’envoi des messages
UML permet de spécifier précisément l’ordre et les conditions d’envoi des messages :
- Les clauses conditionnelles (garde) qui déterminent si un message est envoyé.
- Le rang ou numéro d’ordre du message.
- La récurrence ou itération du message.
- Les arguments transmis par le message.
Pour représenter l’envoi simultané de messages, on utilise des indices alphabétiques (par exemple 1.3.a et 1.3.b).
Syntaxe d’un message
La syntaxe générale d’un message est la suivante :
pre/ [cond] seq *||[iter] r:= msg(par)
- pre/ : liste des prédécesseurs, messages qui doivent être envoyés avant celui-ci.
- [cond] : condition booléenne qui doit être vraie pour que le message soit envoyé.
- seq : numéro de séquence du message.
- *||[iter] : itération, indiquant l’envoi séquentiel ou parallèle.
- r:= : valeur de retour affectée par le message.
- msg(par) : nom du message et ses paramètres.
Exemples de messages
3 : bonjour()— message numéro 3.[heure = midi] 1 : manger()— message envoyé uniquement si il est midi.1.3.6 * : ouvrir()— message envoyé plusieurs fois de manière séquentielle.3 / *||[i := 1..5] : fermer()— envoi parallèle de 5 messages après le message 3.1.3,2.1 / [t < 10s] 2.5 : age := demanderAge(nom,prenom)— message envoyé après les messages 1.3 et 2.1, et si la condition temporelle est respectée.1.3 / [disk full] 1.7.a * : deleteTempFiles()et1.3 / [disk full] 1.7.b : reduceSwapFile(20%)— messages envoyés simultanément si le disque est plein, avec possibilité d’itération pour 1.7.a.
Relation entre diagramme de communication et diagramme de séquence
Les deux diagrammes représentent les mêmes interactions mais avec des approches différentes :
- Le diagramme de séquence est centré sur la dimension temporelle, facilitant la lecture du flot d’appels de haut en bas.
- Le diagramme de communication privilégie la représentation spatiale, permettant d’exploiter l’espace horizontal et vertical.
Chaque diagramme a ses avantages et ses inconvénients, et le choix dépend des préférences du modélisateur et du contexte d’utilisation.
Points forts et limites des diagrammes de séquence
- Excellente visualisation de la séquence et de l’ordonnancement des messages.
- Grande richesse de notation et meilleure prise en charge par les outils UML.
- Limitation dans l’ajout de nouveaux objets, qui doivent être placés à droite, ce qui peut rapidement saturer l’espace horizontal.
Points forts et limites des diagrammes de communication
- Économie d’espace grâce à la possibilité d’ajouter des objets dans les deux dimensions (horizontal et vertical).
- Plus adapté au mode esquisse, notamment lors de modélisations au tableau, car il permet une grande flexibilité dans le placement des objets.
- Lecture plus difficile de la séquence des messages, qui nécessite de se référer à la numérotation.
- Moins d’options de notation et moins de soutien dans les outils UML.
Utilisation pratique et synthèse
Le diagramme de communication est souvent associé à un cas d’utilisation. Un même cas d’utilisation peut donner lieu à plusieurs diagrammes de communication, chacun correspondant à une exécution particulière.
En mode esquisse, le diagramme de communication est particulièrement utile car il permet d’ajouter ou de retirer des objets facilement, sans être limité par la structure linéaire du diagramme de séquence.
En revanche, pour la documentation détaillée et la rétro-ingénierie, le diagramme de séquence est généralement préféré en raison de sa richesse et de la clarté de la lecture des interactions.
Points clés
- Le diagramme de communication et le diagramme de séquence représentent les interactions entre objets, mais sous des formes différentes : spatiale pour le premier, temporelle pour le second.
- Un lien entre objets permet la circulation de plusieurs messages dans les deux sens.
- Les messages sont numérotés hiérarchiquement pour indiquer leur ordre et leur imbrication.
- La syntaxe des messages permet de spécifier conditions, prédécesseurs, itérations, valeurs de retour et paramètres.
- Les diagrammes de communication sont plus flexibles en termes d’espace et adaptés au mode esquisse, tandis que les diagrammes de séquence offrent une meilleure lisibilité des flots d’appels.
- Le choix entre les deux diagrammes dépend du contexte, des préférences et des outils utilisés.
Commentaires
Aucun commentaire pour le moment. Posez la première question.