Diagrammes d'interaction, de collaboration et de séquence avec exemples
Qu’est-ce qu’un diagramme d’interaction ?
Diagramme des interactions sont utilisés en UML pour établir une communication entre des objets. Il ne manipule pas les données associées au chemin de communication particulier. Les diagrammes d'interaction se concentrent principalement sur la transmission des messages et sur la manière dont ces messages constituent l'une des fonctionnalités d'un système. Les diagrammes d'interaction sont conçus pour montrer comment les objets répondront aux exigences particulières d'un système. Le composant essentiel d’un diagramme d’interaction est la bouée de sauvetage et les messages.
Divers éléments UML possèdent généralement des diagrammes d'interaction. Les détails de l'interaction peuvent être représentés à l'aide de plusieurs notations telles que diagramme de séquence, diagramme de synchronisation, diagramme de communication/collaboration. Les diagrammes d'interaction capturent le comportement dynamique de n'importe quel système.

Voici les différents types de diagrammes d'interaction définis en UML :
- Diagramme de séquençage
- Diagramme de collaboration
- Diagramme temporel
Le but d'un diagramme de séquence dans Diagramme UML consiste à visualiser la séquence d’un flux de messages dans le système. Le diagramme de séquence en génie logiciel montre l'interaction entre deux lignes de vie sous la forme d'une séquence d'événements ordonnés dans le temps.
Le diagramme de collaboration en UML est également appelé diagramme de communication. Le but d'un diagramme de collaboration est de mettre l'accent sur les aspects structurels d'un système, c'est-à-dire sur la manière dont les différentes lignes de vie du système se connectent.
Les chronogrammes se concentrent sur l'instance à laquelle un message est envoyé d'un objet à un autre objet.
Objectif d'un diagramme d'interaction
Les diagrammes d'interaction vous aident à visualiser le comportement interactif d'un système. Les diagrammes d'interaction sont utilisés pour représenter la manière dont un ou plusieurs objets du système se connectent et communiquent entre eux.
Les diagrammes d'interaction se concentrent sur le comportement dynamique d'un système. Un diagramme d'interaction nous fournit le contexte d'une interaction entre une ou plusieurs lignes de vie du système.
In UML, les diagrammes d'interaction sont utilisés aux fins suivantes :
- Les diagrammes d'interaction sont utilisés pour observer le comportement dynamique d'un système.
- Le diagramme d'interaction visualise la communication et la séquence des messages transmis dans le système.
- Le diagramme de modélisation d’interaction représente les aspects structurels de divers objets du système.
- Le diagramme d'interaction représente la séquence ordonnée d'interactions au sein d'un système.
- Le diagramme d'interaction fournit le moyen de visualiser les données en temps réel via UML.
- Les diagrammes d'interaction UML peuvent être utilisés pour expliquer l'architecture d'un système orienté objet ou distribué.
Terminologie importante
Un diagramme d'interaction contient des lignes de vie, des messages, des opérateurs, des invariants d'état et des contraintes.
Corde de sécurité
Une bouée de sauvetage représente un seul participant à une interaction. Il décrit comment une instance d'un classificateur spécifique participe à l'interaction.
Une bouée de sauvetage représente un rôle qu'une instance du classificateur peut jouer dans l'interaction. Voici les différents attributs d'une bouée de sauvetage,
- Nom
- Il est utilisé pour référer la bouée de sauvetage au sein d’une interaction spécifique.
- Le nom d’une bouée de sauvetage est facultatif.
- Type
- C'est le nom d'un classificateur dont la ligne de vie représente une instance.
- Sélecteur
- Il s'agit d'une condition booléenne qui est utilisée pour sélectionner une instance particulière qui satisfait à l'exigence.
- L’attribut sélecteur est également facultatif.
La notation de la ligne de vie est expliquée dans la section notation.
les messages
Un message est un type spécifique de communication entre deux lignes de vie dans une interaction. Un message implique les activités suivantes,
- Un message d'appel utilisé pour appeler une opération.
- Un message pour créer une instance.
- Un message pour détruire une instance.
- Pour envoyer un signal.
Lorsqu'une bouée de sauvetage reçoit un message d'appel, elle agit comme une demande d'invocation d'une opération ayant une signature similaire à celle spécifiée dans le message. Lorsqu'une bouée de sauvetage exécute un message, elle a un focus de contrôle. Au fur et à mesure que l’interaction progresse dans le temps, le contrôle se déplace entre différentes bouées de sauvetage. Ce mouvement est appelé flux de contrôle.
Voici les messages utilisés dans un diagramme d'interaction système :
Nom du message | Sens |
---|---|
Syncmessage horaire | L'expéditeur d'un message attend que le destinataire reprenne le contrôle de l'exécution du message. |
Message asynchrone | L'expéditeur n'attend pas le retour du destinataire ; au lieu de cela, il continue l'exécution d'un message suivant. |
Message de retour | Le destinataire d’un message antérieur renvoie le contrôle à l’expéditeur. |
Création d'objet | L'expéditeur crée une instance d'un classificateur. |
Destruction d'objets | L'expéditeur détruit l'instance créée. |
Message trouvé | L'expéditeur du message est en dehors du champ d'interaction. |
Message perdu | Le message n’atteint jamais sa destination et se perd dans l’interaction. |
Invariants et contraintes d’état
Lorsqu'une instance ou une bouée de sauvetage reçoit un message, cela peut la faire changer d'état. Un état est une condition ou une situation au cours de la durée de vie d'un objet dans laquelle il satisfait une certaine contrainte, effectue certaines opérations et attend un événement.
Dans le diagramme d'interaction, tous les messages ne modifient pas l'état d'une instance. Certains messages n'ont pas les valeurs de certains attributs. Il n’a aucun effet secondaire sur l’état d’un objet.
Operator
Un opérateur spécifie une opération sur la façon dont les opérandes vont être exécutés. Les opérateurs en UML prennent en charge les opérations sur les données sous forme de branchement ainsi que d'itération. Différents opérateurs peuvent être utilisés pour garantir l'utilisation de l'itération et du branchement dans le modèle UML. Les opérateurs opt et alt sont utilisés pour les opérations de branchement. L'opérateur de boucle est utilisé pour garantir les opérations d'itération dans lesquelles une condition est exécutée à plusieurs reprises jusqu'à ce qu'un résultat satisfaisant soit produit. L’opérateur Break est utilisé dans les opérations de boucle ou d’itération. Il garantit que la boucle se termine chaque fois qu'un opérateur de rupture est rencontré. Si une condition d'arrêt n'est pas spécifiée, alors la boucle s'exécute un nombre infini de fois, ce qui entraîne le crash du programme.
Voici les opérateurs utilisés dans un diagramme d'interaction :
Operator | Nom | Sens |
---|---|---|
Opter | Option | Un opérande est exécuté si la condition est vraie. par exemple, si sinon |
autre | Alternative | L'opérande dont la condition est vraie est exécuté. par exemple, changer |
boucle | boucle | Il permet de boucler une instruction pendant une période déterminée. |
Pause | Pause | Il rompt la boucle si une condition est vraie ou fausse et l'instruction suivante est exécutée. |
Réf | Références | Il est utilisé pour désigner une autre interaction. |
Par | Parallèle | Tous les opérandes sont exécutés en parallèle. |
Itération
Dans un diagramme d'interaction, nous pouvons également montrer l'itération à l'aide d'une expression d'itération. Une expression d'itération se compose d'un spécificateur d'itération et d'une clause d'itération facultative. Il n'existe pas de syntaxe prédéfinie pour l'itération UML.
Dans l'itération pour montrer que les messages sont envoyés en parallèle, un spécificateur d'itération parallèle est utilisé. Un spécificateur d’itération parallèle est noté *//. L'itération en UML est réalisée à l'aide de l'opérateur de boucle.
Branchement
Dans un diagramme d'interaction, nous pouvons représenter le branchement en ajoutant des conditions de garde aux messages. Les conditions de garde sont utilisées pour vérifier si un message peut être envoyé ou non. Un message est envoyé uniquement lorsque sa condition de garde est vraie. Un message peut avoir plusieurs conditions de garde, ou plusieurs messages peuvent avoir la même condition de garde. Le branchement dans UML est réalisé à l’aide des opérateurs alt et opt.
Voici quelques-unes des plus important terminologies utilisées dans le diagramme d'interaction UML.
Types de diagramme d'interaction et notations
Voici les différents types de diagrammes d'interaction définis en UML :
- Diagramme de séquençage
- Diagramme de collaboration
- Diagramme temporel
La notation de base de l'interaction est un rectangle avec un pentagone dans le coin supérieur gauche d'une boîte rectangulaire.
Qu'est-ce qu'un diagramme de séquence ?
A Diagramme de séquençage décrit simplement l'interaction entre les objets dans un ordre séquentiel. Le but d'un diagramme de séquence en UML est de visualiser la séquence d'un flux de messages dans le système. Le diagramme de séquence montre l’interaction entre deux lignes de vie sous la forme d’une séquence d’événements ordonnés dans le temps.
- Un diagramme de séquence montre la mise en œuvre d'un scénario dans le système. Les lignes de vie du système participent à l'exécution d'un système.
- Dans un diagramme de séquence, une ligne de vie est représentée par une barre verticale.
- Un flux de messages entre deux objets ou plus est représenté à l'aide d'une ligne pointillée verticale qui s'étend au bas de la page.
- Dans un diagramme de séquence, différents types de messages et d'opérateurs sont utilisés et sont décrits ci-dessus.
- Dans un diagramme de séquence, l'itération et le branchement sont également utilisés.
Le diagramme de séquence ci-dessus contient des notations de ligne de vie et la notation de divers messages utilisés dans un diagramme de séquence tels qu'une création, une réponse, un message asynchrone, etc.
Exemple de diagramme de séquence
L'exemple de diagramme de séquence suivant représente le système de commande de McDonald's :
La séquence ordonnée des événements dans un diagramme de séquence donné est la suivante :
- Commander.
- Payez de l'argent à la caisse.
- Confirmation de commande.
- Préparation des commandes.
- Service de commande.
Si l'on modifie l'ordre des opérations, cela peut entraîner un crash du programme. Cela peut également conduire à générer des résultats incorrects ou bogués. Chaque séquence du diagramme de séquence ci-dessus est indiquée par un type de message différent. On ne peut pas utiliser le même type de message pour désigner toutes les interactions dans le diagramme car cela crée des complications dans le système.
Vous devez être prudent lors de la sélection de la notation d'un message pour une interaction particulière. La notation doit correspondre à la séquence particulière à l’intérieur du diagramme.
Avantages d'un diagramme de séquence
- Les diagrammes de séquence sont utilisés pour explorer toute application réelle ou un système.
- Les diagrammes de séquence sont utilisés pour représenter le flux de messages d’un objet à un autre objet.
- Les diagrammes de séquence sont plus faciles à maintenir.
- Les diagrammes de séquence sont plus faciles à générer.
- Les diagrammes de séquence peuvent être facilement mis à jour en fonction des changements au sein d'un système.
- Le diagramme de séquence permet l’ingénierie inverse et directe.
Inconvénients d'un diagramme de séquence
- Les diagrammes de séquence peuvent devenir complexes lorsque trop de lignes de vie sont impliquées dans le système.
- Si l'ordre de la séquence des messages est modifié, des résultats incorrects sont produits.
- Chaque séquence doit être représentée en utilisant une notation de message différente, ce qui peut être un peu complexe.
- Le type de message décide du type de séquence à l'intérieur du diagramme.
Qu'est-ce que le diagramme de collaboration ?
Diagramme collaboratif décrit les relations et les interactions entre les objets logiciels. Ils sont utilisés pour comprendre l'architecture des objets au sein d'un système plutôt que le flux d'un message comme dans un diagramme de séquence. Ils sont également connus sous le nom de « diagrammes de communication ».
Conformément à la programmation orientée objet (POO), une entité objet est associée à divers attributs. Habituellement, plusieurs objets sont présents dans un système orienté objet où chaque objet peut être associé à n’importe quel autre objet à l’intérieur du système. Les diagrammes de collaboration sont utilisés pour explorer l'architecture des objets à l'intérieur du système. Le flux de messages entre les objets peut être représenté à l'aide d'un diagramme de collaboration.
Avantages du diagramme de collaboration
- On l'appelle également diagramme de communication.
- Il met l’accent sur les aspects structurels d’un diagramme d’interaction – comment la ligne de vie se connecte.
- Sa syntaxe est similaire à celle du diagramme de séquence sauf que les lignes de vie n'ont pas de queue.
- Les messages transmis dans le séquençage sont indiqués en numérotant chaque message de manière hiérarchique.
- Comparé au diagramme de séquence, le diagramme de communication est sémantiquement faible.
- Les diagrammes d'objets sont un cas particulier de diagramme de communication.
- Il vous permet de vous concentrer sur les éléments plutôt que sur le flux du message comme décrit dans le diagramme de séquence.
- Les diagrammes de séquence peuvent être facilement convertis en diagramme de collaboration car les diagrammes de collaboration ne sont pas très expressifs.
- Lors de la modélisation de diagrammes de collaboration par rapport à des diagrammes de séquence, certaines informations peuvent être perdues.
La notation du diagramme de collaboration ci-dessus contient des lignes de vie ainsi que des connecteurs, des boucles automatiques, des messages directs et inverses utilisés dans un diagramme de collaboration.
Inconvénients d'un diagramme de collaboration
- Les diagrammes de collaboration peuvent devenir complexes lorsque trop d'objets sont présents dans le système.
- Il est difficile d’explorer chaque objet à l’intérieur du système.
- Les diagrammes de collaboration prennent du temps.
- L'objet est détruit après la fin d'un programme.
- L'état d'un objet change momentanément, ce qui rend difficile le suivi de chaque changement qui se produit au sein d'un objet d'un système.
Exemple de diagramme de collaboration
Le diagramme suivant représente le séquençage du système de gestion des étudiants :
Le diagramme de collaboration ci-dessus représente un système de gestion des informations sur les étudiants. Le flux de communication dans le diagramme ci-dessus est donné par,
- Un étudiant demande une connexion via le système de connexion.
- Un mécanisme d'authentification du logiciel vérifie la demande.
- Si une entrée d'étudiant existe dans la base de données, alors l'accès est autorisé ; sinon, une erreur est renvoyée.
Qu’est-ce que le chronogramme ?
Chronogramme est une forme d'onde ou un graphique utilisé pour décrire l'état d'une ligne de vie à tout moment. Il est utilisé pour désigner la transformation d’un objet d’une forme à une autre. Le diagramme temporel ne contient pas les notations requises dans le diagramme de séquence et de collaboration. Le flux entre le logiciel à différents moments est représenté à l'aide d'une forme d'onde.
- Il s'agit d'une représentation appropriée des interactions qui se concentre sur les horaires spécifiques des messages envoyés entre divers objets.
- Les chronogrammes sont utilisés pour expliquer le traitement temporel détaillé d'un objet particulier.
- Les chronogrammes sont utilisés pour expliquer comment un objet évolue au cours de sa durée de vie.
- Les chronogrammes sont principalement utilisés avec les systèmes distribués et embarqués.
- En UML, les chronogrammes se lisent de gauche à droite selon le nom d'une ligne de vie précisée en bord gauche.
- Les chronogrammes sont utilisés pour représenter divers changements qui se produisent de temps à autre au sein d’une ligne de vie.
- Les chronogrammes sont utilisés pour afficher une représentation graphique de différents états d'une ligne de vie par unité de temps.
- UML fournit diverses notations pour simplifier l'état de transition entre deux lignes de vie par unité de temps.
Chronogramme Exemple
Le chronogramme ci-dessous représente quelques phases d'un cycle de vie du développement logiciel.
Dans le diagramme ci-dessus, le logiciel passe d’abord par la phase d’exigences, puis par la conception et plus tard par la phase de développement. La sortie de la phase précédente à cet instant donné est donnée à la deuxième phase en tant qu'entrée. Ainsi, le chronogramme peut être utilisé pour décrire le SDLC (Software Development Life Cycle) en UML.
Avantages d'un chronogramme
- Les chronogrammes sont utilisés pour représenter l’état d’un objet à un instant donné.
- Le diagramme de synchronisation permet l'ingénierie inverse et directe.
- Un chronogramme peut être utilisé pour suivre chaque changement à l’intérieur du système.
Inconvénients d'un chronogramme
- Les chronogrammes sont difficiles à comprendre.
- Les chronogrammes sont difficiles à maintenir.
Comment dessiner un diagramme d'interaction ?
Les diagrammes d'interaction sont utilisés pour représenter le comportement interactif d'un système. Les diagrammes d'interaction se concentrent sur le comportement dynamique d'un système. Un diagramme d'interaction nous fournit le contexte d'une interaction entre une ou plusieurs lignes de vie du système.
Pour dessiner un diagramme d'interaction, vous devez d'abord déterminer le scénario pour lequel vous devez dessiner un diagramme d'interaction. Après avoir décidé de la situation, identifiez les différentes bouées de sauvetage qui seront impliquées dans l'interaction. Catégorisez tous les éléments de la ligne de vie et explorez-les pour identifier les connexions possibles et la manière dont les lignes de vie sont liées les unes aux autres. Pour dessiner un diagramme d'interaction, les éléments suivants sont requis :
- Le nombre total de lignes de vie qui feront partie d'une interaction
- est une séquence de flux de messages au sein de divers objets d'un système.
- Divers opérateurs pour faciliter la fonctionnalité d'un diagramme d'interaction.
- Différents types de messages pour afficher l'interaction de manière plus claire et précise.
- La séquence ordonnée de messages.
- Organisation et structure d'un objet.
- Diverses constructions temporelles d'un objet.
Utilisation d'un diagramme d'interaction
Les diagrammes d'interaction se composent d'un diagramme de séquence, d'un diagramme de collaboration et de chronogrammes. Voici l’objectif spécifique d’un diagramme d’interaction :
- Les diagrammes de séquence sont utilisés pour explorer toute application réelle ou un système.
- Les diagrammes d'interaction sont utilisés pour explorer et comparer l'utilisation de séquences, de collaborations et de chronogrammes.
- Les diagrammes d'interaction sont utilisés pour capturer le comportement d'un système. Il affiche la structure dynamique d'un système.
- Les diagrammes de séquence sont utilisés pour représenter le flux de messages d’un objet à un autre objet.
- Les diagrammes de collaboration sont utilisés pour comprendre l'architecture objet d'un système plutôt que le flux de messages.
- Les diagrammes d'interaction sont utilisés pour modéliser un système comme une séquence d'événements ordonnés dans le temps.
- Les diagrammes d'interaction sont utilisés dans l'ingénierie inverse et directe.
- Les diagrammes d'interaction sont utilisés pour organiser la structure des éléments interactifs.
Résumé
- Les interactions sont simplement des unités du comportement d'un classificateur.
- Les éléments critiques d’un diagramme d’interaction sont la bouée de sauvetage et les messages.
- Les diagrammes d'interaction se concentrent principalement sur la transmission de messages.
- Les diagrammes d'interaction capturent le comportement dynamique de n'importe quel système.
- Le diagramme d'interaction contient un diagramme de séquence, un chronogramme et un diagramme de communication/collaboration.
- Le diagramme UML de séquence permet de visualiser la séquence d'un flux de messages dans le système.
- Le but d’un diagramme de collaboration est de mettre l’accent sur les aspects structurels.
- Les chronogrammes se concentrent sur l'instance à laquelle un message est envoyé d'un objet à un autre objet.