Ce tutoriel sur les diagrammes de séquence est destiné à vous aider à mieux comprendre les diagrammes de séquence; il explique tout ce que vous devez savoir, de la manière de dessiner un diagramme de séquence aux erreurs courantes que vous devez éviter lorsque vous en dessinez un.
Il existe trois types de diagrammes d’interaction : les diagrammes de séquence, les diagrammes de communication et les diagrammes de temps. Ces diagrammes sont utilisés pour illustrer les interactions entre les parties d’un système. Parmi les trois, les diagrammes de séquence sont préférés par les développeurs et les lecteurs pour leur simplicité. Dans ce tutoriel de diagramme de séquence, vous apprendrez à
- Qu’est-ce qu’un diagramme de séquence ?
- Notations des diagrammes de séquence
- Meilleures pratiques en matière de diagramme de séquence
- Comment dessiner un diagramme de séquence
- Diagramme de séquence Erreurs courantes
- Modèles de diagrammes de séquence et exemples
- Diagramme de séquence Présentation SlideShare
- Commentaires sur le guide des diagrammes de séquence
Qu’est-ce qu’un diagramme de séquence ?
Les diagrammes de séquence, couramment utilisés par les développeurs, modélisent les interactions entre les objets dans un cas d’utilisation unique. Ils illustrent la manière dont les différentes parties d’un système interagissent entre elles pour exécuter une fonction, et l’ordre dans lequel les interactions se produisent lorsqu’un cas d’utilisation particulier est exécuté.
En termes plus simples, un diagramme de séquence montre les différentes parties d’un système qui travaillent dans une “séquence” pour obtenir quelque chose.
Notations des diagrammes de séquence
Un diagramme de séquence est structuré de telle sorte qu’il représente une ligne de temps qui commence en haut et descend progressivement pour marquer la séquence des interactions. Chaque objet possède une colonne et les messages échangés entre eux sont représentés par des flèches.
Un aperçu rapide des différentes parties d’un diag ramme de séquence
Notation de la ligne de vie
Une notation de ligne de vie avec un symbole d’élément d’acteur est utilisée lorsque le diagramme de séquence particulier appartient à un cas d’utilisation.
Une ligne de vie avec un élément d’entité représente les données du système. Par exemple, dans une application de service à la clientèle, l’entité Customer gère toutes les données relatives à un client.
La barre d’activation est la boîte placée sur la ligne de vie. Elle est utilisée pour indiquer qu’un objet est actif (ou instancié) lors d’une interaction entre deux objets. La longueur du rectangle indique la durée pendant laquelle les objets restent actifs.
Dans un diagramme de séquence, une interaction entre deux objets se produit lorsqu’un objet envoie un message à un autre. L’utilisation de la barre d’activation sur les lignes de vie de l’appelant (l’objet qui envoie le message) et du récepteur (l’objet qui reçoit le message) indique que les deux sont actifs/est instancié pendant l’échange du message.
Une flèche allant de l’appelant au destinataire du message spécifie un message dans un diagramme de séquence. Un message peut circuler dans n’importe quelle direction, de gauche à droite, de droite à gauche ou vers l’appelant lui-même. Si la flèche permet de décrire le message envoyé d’un objet à l’autre, les différentes pointes de flèche permettent d’indiquer le type de message envoyé ou reçu.
La flèche du message est accompagnée d’une description, appelée signature du message, sur celle-ci. Le format de cette signature de message est indiqué ci-dessous. Toutes les parties, sauf le nom du message, sont facultatives.
attribut = nom_du_message (arguments) : type de retour
- Message synchrone
Comme le montre l’exemple des barres d’activation, un message synchrone est utilisé lorsque l’expéditeur attend que le destinataire traite le message et revienne avant de continuer avec un autre message. La pointe de flèche utilisée pour indiquer ce type de message est un solide, comme celui ci-dessous.
- Message asynchrone
Un message asynchrone est utilisé lorsque l’appelant n’attend pas que le destinataire traite le message et revienne avant d’envoyer d’autres messages à d’autres objets du système. La pointe de flèche utilisée pour indiquer ce type de message est une flèche de ligne comme dans l’exemple ci-dessous.
- Retour du message
Un message de retour est utilisé pour indiquer que le destinataire du message a fini de traiter le message et qu’il rend le contrôle à l’appelant. Les messages de retour sont des éléments de notation facultatifs, car une barre d’activation déclenchée par un message synchrone implique toujours un message de retour.
Conseil : vous pouvez éviter d’encombrer vos diagrammes en minimisant l’utilisation des messages de retour puisque la valeur de retour peut être spécifiée dans la flèche du message initial elle-même.
- Message de création des participants
Les objets ne vivent pas nécessairement pendant toute la durée de la séquence d’événements. Les objets ou les participants peuvent être créés en fonction du message qui est envoyé.
La notation de la boîte du participant déposé peut être utilisée lorsque vous devez montrer que le participant particulier n’existait pas avant l’envoi de l’appel de création. Si le participant créé fait quelque chose immédiatement après sa création, vous devez ajouter une case d’activation juste en dessous de la case du participant.
- Message de destruction du participant
De même, les participants dont on n’a plus besoin peuvent être supprimés d’un diagramme de séquence. Cela se fait en ajoutant un “X” à la fin de la ligne de vie dudit participant.
-
Message réflexif
Lorsqu’un objet s’envoie un message à lui-même, on l’appelle un message réflexif. Il est indiqué par une flèche de message qui commence et se termine à la même ligne de vie, comme le montre l’exemple ci-dessous.
Les diagrammes UML permettent généralement l’annotation de commentaires dans tous les types de diagrammes UML. L’objet de commentaire est un rectangle avec un coin rabattu comme indiqué ci-dessous. Le commentaire peut être lié à l’objet concerné par une ligne pointillée.
Meilleures pratiques en matière de diagramme de séquence
- Gérer les interactions complexes avec les fragments de séquence
Un fragment de séquence est représenté par une boîte qui encadre une section d’interactions entre les objets (comme indiqué dans les exemples ci-dessous) dans un diagramme de séquence.
Il est utilisé pour montrer des interactions complexes telles que des flux et des boucles alternatifs d’une manière plus structurée. Dans le coin supérieur gauche du fragment se trouve un opérateur. Celui-ci – l’opérateur de fragment – spécifie de quel type de fragment il s’agit.
Alternatives
Le fragment de combinaison alternatif est utilisé lorsqu’un choix doit être fait entre deux ou plusieurs séquences de messages. Il modélise la logique du “si alors autrement”.
Le fragment alternatif est représenté par un grand rectangle ou un cadre ; il est spécifié en mentionnant “alt” dans la zone de nom du cadre (opérateur de fragment).
Pour montrer deux ou plusieurs alternatives, le grand rectangle est ensuite divisé en ce que l’on appelle des opérandes d’interaction à l’aide d’une ligne pointillée, comme le montre l’exemple de diagramme de séquence ci-dessus. Chaque opérande a une garde contre laquelle il faut se mesurer et qui est placée dans le coin supérieur gauche de l’opérande.
Le fragment de combinaison d’options est utilisé pour indiquer une séquence qui ne se produira que sous une certaine condition, sinon, la séquence ne se produira pas. Elle modèle la déclaration “si alors”.
Comme le fragment alternatif, le fragment optionnel est également représenté par un cadre rectangulaire où “opt” est placé à l’intérieur de la case du nom.
Contrairement au fragment alternatif, un fragment d’option n’est pas divisé en deux opérandes ou plus. Le garde d’Option est placé dans le coin supérieur gauche.
(Trouvez un exemple de diagramme de séquence avec un fragment d’option dans la section Modèles de diagrammes de séquence et exemples).
Boucles
Le fragment de boucle est utilisé pour représenter une séquence répétitive. Placez les mots “boucle” dans la case du nom et l’état de la garde près du coin supérieur gauche du cadre.
En plus du test booléen, le garde dans un fragment de boucle peut être soumis à deux autres conditions spéciales. Il s’agit d’itérations minimales (écrites comme minint = [le nombre] ) et maximales (écrites comme maxint = [le nombre]).
S’il s’agit d’une garde d’itérations minimale, la boucle ne doit pas exécuter moins que le nombre mentionné, et s’il s’agit d’une garde d’itérations maximale, la boucle ne doit pas exécuter plus que le nombre indiqué.
(Vous trouverez un exemple de fragment de boucle ci-dessous dans la section des modèles et exemples de diagrammes de séquence)
Fragment de référence
Vous pouvez utiliser le fragment de référence pour gérer la taille des grands diagrammes de séquence. Il vous permet de réutiliser une partie d’un diagramme de séquence dans un autre, ou en d’autres termes, vous pouvez référencer une partie d’un diagramme dans un autre diagramme en utilisant le fragment ref.
Pour spécifier le fragment de référence, vous devez mentionner “ref” dans la zone de nom du cadre et le nom du diagramme de séquence auquel il est fait référence à l’intérieur du cadre.
- Dessiner des diagrammes de séquence plus petits qui capturent l’essence du cas d’utilisation
Au lieu d’encombrer votre diagramme de séquences avec plusieurs objets et groupes de messages qui embrouilleront le lecteur, dessinez quelques diagrammes de séquences plus petits qui expliquent de manière appropriée ce que fait votre système. Assurez-vous que le diagramme tient sur une seule page et laisse également de la place pour les notes explicatives.
Aussi, au lieu de dessiner des dizaines de diagrammes de séquences, trouvez ce qui est commun entre les scénarios et concentrez-vous sur cela. Et si le code est expressif et peut se suffire à lui-même, il n’est pas nécessaire de dessiner un diagramme de séquence en premier lieu.
Comment dessiner un diagramme de séquence
Un diagramme de séquence représente le scénario ou le déroulement des événements dans un cas d’utilisation unique. Le flux de messages du diagramme de séquence est basé sur le récit du cas d’utilisation particulier.
Ensuite, avant de commencer à dessiner le diagramme de séquence ou de décider quelles interactions doivent y être incluses, vous devez dessiner le diagramme du cas d’utilisation et préparer une description complète de ce que fait le cas d’utilisation particulier.
Avant de dessiner le diagramme de séquence, il est nécessaire d’identifier les objets ou les acteurs qui seraient impliqués dans la création d’un nouveau compte utilisateur. Ce serait le cas ;
- Bibliothécaire
- Système de gestion de bibliothèque en ligne
- Base de données des identifiants des utilisateurs
- Système de courrier électronique
Une fois que vous avez identifié les objets, il est important de rédiger une description détaillée de ce que fait le cas d’utilisation. À partir de cette description, vous pouvez facilement comprendre les interactions (qui devraient figurer dans le diagramme de séquence) qui se produiraient entre les objets ci-dessus, une fois le cas d’utilisation exécuté.
Voici les étapes qui se produisent dans le cas d’utilisation intitulé “Créer un nouveau compte d’utilisateur de bibliothèque”.
- Le bibliothécaire demande au système de créer un nouveau compte de bibliothèque en ligne
- Le bibliothécaire sélectionne ensuite le type de compte d’utilisateur de la bibliothèque
- Le bibliothécaire saisit les données de l’utilisateur
- Les données de l’utilisateur sont vérifiées à l’aide de la base de données des références de l’utilisateur
- Le nouveau compte d’utilisateur de la bibliothèque est créé
- Un résumé des détails du nouveau compte est ensuite envoyé par e-mail à l’utilisateur
À chacune de ces étapes, vous pouvez facilement spécifier quels messages doivent être échangés entre les objets du diagramme de séquence. Une fois que c’est clair, vous pouvez commencer à dessiner le diagramme de la séquence.
Le diagramme de séquence ci-dessous montre comment les objets du système de gestion de la bibliothèque en ligne interagissent entre eux pour exécuter la fonction “Créeraltunaltnouveau compte d’utilisateur de bibliothèque”.
Diagramme de séquence Erreurs courantes
Lorsqu’ils dessinent des diagrammes de séquences, les concepteurs ont tendance à faire ces erreurs courantes. En évitant ces erreurs, vous pouvez garantir la qualité de votre diagramme.
- En ajoutant trop de détails. Cela encombre le diagramme et le rend difficile à lire.
- Des diagrammes de séquence obsolètes et dépassés qui ne sont pas pertinents par rapport aux interfaces, aux architectures réelles, etc. du système. N’oubliez pas de les remplacer ou de les modifier.
- Ne laissant aucun espace vide entre le texte du cas d’utilisation et la flèche du message, il est difficile pour quiconque de lire le diagramme.
- Ne pas considérer avec attention l’origine des flèches de message.
Voir ces erreurs courantes expliquées en détail dans le guide des diagrammes de séquence : Erreurs courantes à éviter lors du dessin de diagrammes de séquences.
Exemples et modèles de diagrammes séquentiels
Vous trouverez ci-dessous quelques exemples de diagrammes de séquences et de modèles qui sont dessinés à l’aide de Creately. Créez des diagrammes de séquences en ligne en utilisant l’outil en ligne de Creately. Cliquez sur le modèle pour l’ouvrir dans l’éditeur.
Diagramme de séquence d’un système d’examen en ligne
Diagramme de séquences Exemple d’un système de gestion scolaire
Tutoriel sur les diagrammes de séquence – Présentation SlideShare
Guide des diagrammes de séquences Power Point (PPT) de Creately
Retour d’information sur le didacticiel du diagramme de séquence
Ce tutoriel sur les diagrammes de séquence couvre tout ce que vous devez savoir sur les diagrammes de séquence et leur dessin. Si vous avez des suggestions ou des questions concernant le tutoriel sur les diagrammes de séquence, n’hésitez pas à laisser un commentaire.
Plus de tutoriels sur les diagrammes
- Tutoriel sur la modélisation des processus d’entreprise (Guide BPM expliquant les fonctionnalités)
- Guide ultime de l’organigramme ( Tutoriel complet de l’organigramme avec exemples )
- Tutoriel sur les diagrammes de cas d’utilisation ( Guide avec exemples )