Tutoriel sur le diagramme de séquence - Guide complet avec exemples
Publié: 2017-01-27Ce didacticiel sur les diagrammes de séquence a pour but de vous aider à mieux comprendre les diagrammes de séquence. pour expliquer tout ce que vous devez savoir, de la façon de dessiner un diagramme de séquence aux erreurs courantes que vous devez éviter lorsque vous en dessinez un.
Il existe 3 types de diagrammes d'interaction ; Diagrammes de séquence, diagrammes de communication et chronogrammes. 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 didacticiel de diagramme de séquence, vous découvrirez;
- Qu'est-ce qu'un diagramme de séquence
- Notations du diagramme 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 et exemples de diagramme de séquence
- Diagramme de séquence Présentation SlideShare
- Commentaires sur le Guide du diagramme 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 comment les différentes parties d'un système interagissent les unes avec les autres 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 différentes parties d'un système qui fonctionnent dans une « séquence » pour accomplir quelque chose.
montre que différentes parties d'un système fonctionnent dans une « séquence » pour accomplir quelque chose.
Notations du diagramme de séquence
Un diagramme de séquence est structuré de telle manière qu'il représente une chronologie qui commence en haut et descend progressivement pour marquer la séquence des interactions. Chaque objet a une colonne et les messages échangés entre eux sont représentés par des flèches.
Présentation rapide des différentes parties d'un diagramme de séquence
Notation de ligne de vie
Un diagramme de séquence est composé de plusieurs de ces notations de ligne de vie qui doivent être disposées horizontalement en haut du diagramme. Deux notations de ligne de vie ne doivent pas se chevaucher. Ils représentent les différents objets ou parties qui interagissent les uns avec les autres dans le système au cours de la séquence.
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 entity représente les données système. Par exemple, dans une application de service client, l'entité Client gèrerait toutes les données relatives à un client.
Une ligne de vie avec un élément limite indique une limite système/un élément logiciel dans un système ; par exemple, les écrans d'interface utilisateur, les passerelles de base de données ou les menus avec lesquels les utilisateurs interagissent sont des limites.
Et une ligne de vie avec un élément de contrôle indique une entité ou un gestionnaire de contrôle. Il organise et ordonnance les interactions entre les frontières et les entités et sert de médiateur entre elles.
Barres d'activation
La barre d'activation est la case placée sur la ligne de vie. Il est utilisé 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 du Message Caller (l'objet qui envoie le message) et du Message Receiver (l'objet qui reçoit le message) indique que les deux sont actifs/instanciés lors de l'échange du message.
Flèches de messages
Une flèche allant de l'appelant du message au récepteur 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 de retour à l'appelant lui-même. Bien que vous puissiez décrire le message envoyé d'un objet à l'autre sur la flèche, avec différentes pointes de flèche, vous pouvez indiquer le type de message envoyé ou reçu.
La flèche de message est accompagnée d'une description, connue sous le nom de signature de message. Le format de cette signature de message est ci-dessous. Toutes les parties à l'exception du message_name sont facultatives.
attribut = nom_message (arguments) : type_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 poursuivre avec un autre message. La pointe de flèche utilisée pour indiquer ce type de message est pleine, comme celle ci-dessous.
- Message asynchrone
Un message asynchrone est utilisé lorsque l'appelant du message n'attend pas que le récepteur 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 afficher ce type de message est une flèche de ligne comme illustré dans l'exemple ci-dessous.
- Message de retour
Un message de retour est utilisé pour indiquer que le destinataire du message a fini de traiter le message et rend le contrôle à l'appelant du message. 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 de participant
Les objets ne vivent pas nécessairement pendant toute la durée de la séquence d'événements. Des objets ou des participants peuvent être créés en fonction du message envoyé.
La notation de la boîte de participant supprimé peut être utilisée lorsque vous devez montrer que le participant particulier n'existait pas jusqu'à ce que l'appel de création ait été envoyé. 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 des participants
De même, lorsqu'ils ne sont plus nécessaires, les participants peuvent également ê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 parle de message réflexif. Il est indiqué par une flèche de message qui commence et se termine à la même ligne de vie que celle illustrée dans l'exemple ci-dessous.
Commentaire
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 replié, comme illustré ci-dessous. Le commentaire peut être lié à l'objet associé par une ligne en pointillés.
Noter: Consultez les meilleures pratiques en matière de diagramme de séquence pour en savoir plus sur les fragments de séquence.
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é comme une boîte qui encadre une section d'interactions entre objets (comme illustré dans les exemples ci-dessous) dans un diagramme de séquence.
Il est utilisé pour montrer des interactions complexes telles que des flux alternatifs et des boucles d'une manière plus structurée. Dans le coin supérieur gauche du fragment se trouve un opérateur. Ceci - l'opérateur de fragment - spécifie de quel type de fragment il s'agit.
Alternatives
Le fragment de combinaison alternative est utilisé lorsqu'un choix doit être fait entre deux ou plusieurs séquences de messages. Il modélise la logique « si alors sinon ».
Le fragment alternatif est représenté par un grand rectangle ou un cadre ; il est spécifié en mentionnant 'alt' à l'intérieur de la boîte de nom du cadre (alias opérateur de fragment).
Pour montrer deux alternatives ou plus, le plus grand rectangle est ensuite divisé en ce qu'on appelle des opérandes d'interaction à l'aide d'une ligne pointillée, comme indiqué dans l'exemple de diagramme de séquence ci-dessus. Chaque opérande a une garde à tester et elle est placée dans le coin supérieur gauche de l'opérande.
Choix
Le fragment de combinaison d'options est utilisé pour indiquer une séquence qui ne se produira que sous certaines conditions, sinon, la séquence ne se produira pas. Il modélise l'instruction « si alors ».
Semblable au fragment alternatif, le fragment d'option est également représenté par un cadre rectangulaire où 'opt' est placé à l'intérieur de la boîte de nom.
Contrairement au fragment alternatif, un fragment d'option n'est pas divisé en deux opérandes ou plus. La protection de l'option est placée dans le coin supérieur gauche.
(Trouvez un exemple de diagramme de séquence avec un fragment d'option dans la section Modèles et exemples de diagramme de séquence).
Boucles
Le fragment de boucle est utilisé pour représenter une séquence répétitive. Placez les mots « boucle » dans la zone de nom et la condition de garde près du coin supérieur gauche du cadre.
En plus du test booléen, la garde dans un fragment de boucle peut avoir deux autres conditions spéciales testées. Ce sont des itérations minimales (écrites comme minint = [le nombre] et des itérations maximales (écrites comme maxint = [le nombre]).
S'il s'agit d'une garde d'itérations minimales, la boucle ne doit pas s'exécuter en moins que le nombre mentionné, et s'il s'agit d'une garde d'itérations maximales, la boucle ne doit pas s'exécuter plus que le nombre indiqué.
(Trouvez un exemple de fragment de boucle ci-dessous dans les modèles de diagramme de séquence et la section des exemples)
Fragment de référence
Vous pouvez utiliser le fragment ref 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 de la trame et le nom du diagramme de séquence auquel il est fait référence à l'intérieur de la trame.
Pour plus de fragments de séquence, reportez-vous à Au-delà des bases des diagrammes de séquence : Partie 1 , Partie 2 et Partie 3 .
- Dessinez des diagrammes de séquence plus petits qui capturent l'essence du cas d'utilisation
Au lieu d'encombrer votre diagramme de séquence avec plusieurs objets et groupes de messages qui confondront le lecteur, dessinez quelques diagrammes de séquence plus petits qui expliquent avec justesse ce que fait votre système. Assurez-vous que le diagramme tient sur une seule page et laisse également de la place pour des notes explicatives.
Aussi, au lieu de dessiner des dizaines de diagrammes de séquence, découvrez 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 flux d'événements dans un seul cas d'utilisation. 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 de cas d'utilisation et préparer une description complète de ce que fait le cas d'utilisation particulier.
À partir de l'exemple de diagramme de cas d'utilisation ci-dessus de "Créer un nouveau compte de bibliothèque en ligne", nous nous concentrerons sur le cas d'utilisation nommé "Créer un nouveau compte d'utilisateur" pour dessiner notre exemple de diagramme de séquence.
Avant de dessiner le diagramme de séquence, il est nécessaire d'identifier les objets ou acteurs qui seraient impliqués dans la création d'un nouveau compte utilisateur. Ceux-ci seraient;
- Bibliothécaire
- Système de gestion de bibliothèque en ligne
- Base de données des informations d'identification des utilisateurs
- Système de messagerie
Une fois que vous avez identifié les objets, il est alors important d'écrire 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 nommé "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 utilisateur de la bibliothèque
- Le bibliothécaire saisit les coordonnées de l'utilisateur
- Les détails de l'utilisateur sont vérifiés à l'aide de la base de données des informations d'identification de l'utilisateur
- Le nouveau compte utilisateur de la bibliothèque est créé
- Un récapitulatif des détails du nouveau compte est ensuite envoyé par e-mail à l'utilisateur
À partir de chacune de ces étapes, vous pouvez facilement spécifier les messages à échanger entre les objets du diagramme de séquence. Une fois que c'est clair, vous pouvez continuer et commencer à dessiner le diagramme de séquence.
Le diagramme de séquence ci-dessous montre comment les objets du système de gestion de bibliothèque en ligne interagissent les uns avec les autres pour exécuter la fonction « Créer un nouveau compte d'utilisateur de bibliothèque ».
Diagramme de séquence Erreurs courantes
Lorsqu'ils dessinent des diagrammes de séquence, les concepteurs ont tendance à commettre ces erreurs courantes. En évitant ces erreurs, vous pouvez garantir la qualité de votre diagramme.
- Ajouter trop de détails. Cela encombre le schéma et le rend difficile à lire.
- Diagrammes de séquence obsolètes et obsolètes 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 laisser aucun espace vide entre le texte du cas d'utilisation et la flèche du message ; il est donc difficile pour quiconque de lire le diagramme.
- Ne pas considérer attentivement les origines des flèches de message.
Voir ces erreurs courantes expliquées en détail dans Guide du diagramme de séquence : Erreurs courantes à éviter lors du dessin de diagrammes de séquence.
Exemples et modèles de diagramme de séquence
Vous trouverez ci-dessous quelques exemples de diagrammes de séquence et des modèles dessinés à l'aide de Creately. Créez des diagrammes de séquence en ligne à l'aide de 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
Système d'examen en ligne - Diagramme de classes (UML)
Exemple de diagramme de séquence d'un système de gestion scolaire
Exemple de fragment de combinaison d'options
Exemple de séquence de boucle
Voici d'autres modèles et exemples de diagrammes de séquence que vous pouvez modifier immédiatement.
Tutoriel sur le diagramme de séquence - Présentation SlideShare
Commentaires sur le didacticiel sur le diagramme de séquence
Ce didacticiel sur les diagrammes de séquence couvre tout ce que vous devez savoir sur les diagrammes de séquence et les dessiner. Si vous avez des suggestions ou des questions concernant le didacticiel du diagramme de séquence, n'hésitez pas à laisser un commentaire.
Plus de didacticiels sur les diagrammes
- Tutoriel sur la modélisation des processus métier (Guide BPM expliquant les fonctionnalités)
- Guide d'organigramme ultime (tutoriel complet d'organigramme avec exemples)
- Tutoriel de diagramme de cas d'utilisation (guide avec exemples)