Diagramme de séquence
Ce matériel couvre les diagrammes de séquence, un outil fondamental en conception orientée objet des systèmes d'information. Il s'adresse aux étudiants et professionnels souhaitant comprendre comment modéliser les interactions temporelles entre acteurs et objets dans un système, en vue de décrire précisément son comportement dynamique.
D'après le document Diagramme de séquence
Cet article a été rédigé automatiquement à partir du document source, puis vérifié avant publication.
Document source
Méthodologies O.O de Conception, Systèmes d'Information, Programmation · PDF · 43 pages · 2010
Afficher l'aperçu du document
Ce matériel couvre les diagrammes de séquence, un outil fondamental en conception orientée objet des systèmes d'information. Il s'adresse aux étudiants et professionnels souhaitant comprendre comment modéliser les interactions temporelles entre acteurs et objets dans un système, en vue de décrire précisément son comportement dynamique.
Présentation générale des diagrammes de séquence
Les diagrammes de séquence (DS) font partie des diagrammes d'interaction et de comportement. Ils décrivent comment les éléments du système interagissent entre eux et avec les acteurs, en représentant la succession chronologique des opérations réalisées par un acteur.
Alors que les diagrammes de cas d'utilisation (DCU) modélisent à quoi sert le système en organisant les interactions possibles avec les acteurs, et les diagrammes de classes (DC) spécifient qui réalise les fonctionnalités, les diagrammes de séquence montrent comment ces éléments collaborent dans le temps.
Le temps s'écoule de haut en bas dans le diagramme. Chaque cas d'utilisation peut être décrit par un ou plusieurs scénarios, chacun représenté par un diagramme de séquence.
Concepts de base
Un diagramme de séquence comporte un ensemble d'éléments communicants, chacun occupant un couloir vertical. Sous chaque élément, une ligne en pointillés représente sa ligne de vie, c’est-à-dire l’ensemble des opérations qu’il exécute.
Les éléments communicants sont généralement représentés par un rectangle contenant leur nom. Cette syntaxe est flexible, notamment lorsqu'on utilise le diagramme pour illustrer un modèle de cas d'utilisation, où les noms désignent des acteurs ou éléments du futur système.
Une ligne de vie matérialise la durée d'existence et d'activité d'un objet ou acteur.
Un message est une communication entre deux lignes de vie, indiquant l’envoi d’une information ou d’une commande.
Une activité est une période d’exécution d’une opération suite à la réception d’un message, représentée par un rectangle vertical sur la ligne de vie.
Messages synchrones et asynchrones
- Message synchrone : l’émetteur attend la réponse avant de poursuivre ses actions. Ces messages correspondent à des opérations dans le diagramme de classes.
- Message asynchrone : l’émetteur ne bloque pas son exécution en attendant la réponse, il continue ses opérations.
Éléments syntaxiques des diagrammes de séquence
Différentes sortes de messages permettent de modéliser les communications entre éléments :
- Invocation d’action : un élément envoie un message à un autre pour qu’il accomplisse une action.
- Message de retour : réponse à un message envoyé, représentée par une flèche en pointillés dans le sens inverse.
- Création d’objet : un élément crée un nouvel élément via un message de création (constructeur), matérialisé par une flèche pointant sur le sommet de la ligne de vie du nouvel objet.
- Destruction d’objet : (non détaillé dans le texte mais généralement représenté par une croix sur la ligne de vie).
- Message perdu : message dont on connaît l’émetteur mais pas le récepteur, représenté par une flèche allant vers un disque noir.
- Message trouvé : message dont on connaît le récepteur mais pas l’émetteur, représenté par une flèche partant d’un disque noir vers la ligne de vie.
Exemple de création d’objet
Un objet A a besoin d’un objet B pour effectuer un traitement. A envoie un message de création à B, représenté par une flèche vers le sommet de la ligne de vie de B. Ensuite, B peut échanger des messages avec les autres éléments.
Messages perdus et trouvés
Le message perdu modélise par exemple une perte sur un réseau : on sait qui envoie, mais pas qui reçoit. Le message trouvé modélise une réception dont on ne connaît pas l’émetteur, utile pour représenter des messages d’exception.
Fragments d’interaction
Un diagramme de séquence peut être découpé en fragments d’interaction, chacun représentant un sous-ensemble d’interactions spécifiques, par exemple liées à une exécution concurrente ou à une prise de décision. Cette organisation permet de garder des diagrammes compacts et clairs.
Chaque fragment est représenté par un rectangle avec un nom indiqué dans le coin supérieur gauche. Les fragments peuvent être imbriqués.
Types de fragments d’interaction
- Alt (alternative) : instruction de test avec plusieurs alternatives possibles, séparées par des pointillés dans le fragment.
- Opt (option) : instruction de test sans alternative (pas de clause sinon), fragment avec une seule partie.
- Break : scénario de rupture ou situation exceptionnelle, exécuté si une condition est satisfaite.
- Loop : boucle exécutant une séquence tant qu’une condition est vraie, avec possibilité de spécifier un nombre minimum et maximum d’itérations.
- Par (parallel) : deux séries d’interactions qui se déroulent en parallèle, séparées par une ligne en pointillé.
- Critical : section critique où les interactions sont atomiques et ne peuvent être interrompues, garantissant un accès exclusif à une ressource partagée.
- Ref : référence à un sous-diagramme de séquence, permettant de modulariser et réutiliser des séquences d’interactions.
Exemple d’opérateur alt
Dans une librairie en ligne, pour la recherche d’ouvrages, l’opérateur alt permet de modéliser deux alternatives : si des ouvrages sont trouvés, on affiche la liste ; sinon, on affiche un message d’erreur. Le fragment alt contient deux parties séparées par des pointillés, chacune correspondant à une alternative.
Exemple d’opérateur loop
Pour gérer un panier dans une librairie en ligne, on peut utiliser un fragment loop qui répète l’ajout d’articles tant que l’utilisateur continue à sélectionner des produits. La boucle peut être conditionnée par une expression ou un nombre d’itérations.
Exemple d’opérateur par
Pour représenter deux séries d’interactions qui se déroulent en parallèle, par exemple deux processus indépendants dans un système, on utilise l’opérateur par. Le fragment est divisé en deux parties séparées par une ligne en pointillé.
Exemple d’opérateur critical
Lorsqu’un système comporte plusieurs éléments accédant à une ressource critique (comme une base de données), l’opérateur critical garantit que l’accès en écriture est exclusif et atomique, évitant les conflits et interruptions.
Exemple d’opérateur ref
L’opérateur ref permet d’appeler un sous-diagramme de séquence, facilitant la modularisation. Le diagramme principal et le sous-diagramme peuvent échanger des messages via des portes (gates) placées aux frontières des fragments, permettant le passage d’informations.
Autres utilisations du diagramme de séquence
Le diagramme de séquence peut aussi documenter un cas d’utilisation en représentant les flux d’informations échangés entre objets, plutôt que de véritables messages entre opérations.
Un diagramme de séquence « système » traite le système comme une « boîte noire » :
- Il représente les interactions entre les acteurs et le système.
- Il illustre la succession temporelle des événements influençant le fonctionnement du système.
- Il met en évidence les responsabilités élémentaires du système.
- Il permet de bien délimiter les frontières du système.
Glossaire des termes clés
- Diagramme de séquence (DS) : diagramme d’interaction représentant la chronologie des opérations entre acteurs et objets.
- Ligne de vie : ligne en pointillés sous un élément communicant, représentant la durée d’activité de cet élément.
- Message : communication entre deux lignes de vie, peut être synchrone ou asynchrone.
- Message synchrone : message dont l’émetteur attend la réponse avant de continuer.
- Message asynchrone : message dont l’émetteur ne bloque pas son exécution en attendant la réponse.
- Fragment d’interaction : sous-partie d’un diagramme de séquence représentant un ensemble d’interactions spécifiques.
- Opérateur alt : fragment d’interaction avec alternatives conditionnelles.
- Opérateur opt : fragment d’interaction optionnel sans alternative.
- Opérateur break : fragment représentant un scénario de rupture conditionnel.
- Opérateur loop : fragment représentant une boucle d’interactions.
- Opérateur par : fragment représentant des interactions parallèles.
- Opérateur critical : fragment garantissant une section critique atomique.
- Opérateur ref : fragment référant à un sous-diagramme de séquence.
- Message perdu : message dont on connaît l’émetteur mais pas le récepteur.
- Message trouvé : message dont on connaît le récepteur mais pas l’émetteur.
- Porte (gate) : point d’entrée ou de sortie de messages entre fragments ou sous-diagrammes.
Points clés à retenir
- Le diagramme de séquence décrit la dynamique des interactions dans un système, en montrant comment les objets et acteurs collaborent dans le temps.
- Il utilise des lignes de vie, des messages synchrones et asynchrones, et des activités pour représenter les échanges et traitements.
- Les fragments d’interaction permettent de structurer le diagramme en sous-parties logiques, facilitant la modélisation de conditions, boucles, parallélisme et scénarios exceptionnels.
- L’opérateur ref favorise la modularité en appelant des sous-diagrammes de séquence.
- Le diagramme de séquence peut aussi être utilisé pour documenter les flux d’informations dans un cas d’utilisation, en traitant le système comme une boîte noire.
Commentaires
Aucun commentaire pour le moment. Posez la première question.