Diagramme de séquence
References:
Joseph Gabay :UML 2 ANALYSE ET CONCEPTION Mise en œuvre guidée avec études de cas.
Timothy C. Lethbridge :Object-Oriented Software Engineering Practical Software Development using UML and Java(slides )
Table des matières
1. Diagrammes d’interaction. 1
2. Interactions et messages. 1
3. Les éléments se trouvant dans un diagramme d’interaction. 1
Message synchrone et asynchrone. 3
1. Diagrammes d’interaction
Les diagrammes d’interaction sont utilisés pour modéliser les aspects dynamiques d’un système.
Ils aident à visualiser comment le système exécute ses tâches.
Un diagramme d’interaction est souvent construit à partir d’un diagramme de classes et d’un cas-type.
L’objectif est de montrer comment un ensemble d’objets peut réaliser une tâche demandée par un acteur.
2. Interactions et messages
Un diagramme d’interaction montre comment un ensemble d’objets et d’acteurs communiquent ensemble afin:
1. de réaliser un cas-type
2. de réaliser une certaine fonctionnalité
L’ensemble des différentes étapes à accomplir s’appelle une interaction.
Un diagramme d’interaction montre différents types de communication entre objets, acteurs et sous-systèmes: E.g. appel à des méthodes, information envoyés sur un réseau Ceux-ci sont appelés messages.
3. Les éléments se trouvant dans un diagramme d’interaction
Des instances de classes
Rreprésentés par des rectangles comme dans les diagrammes d’instances
Acteurs
Représentés par des personnages-allumettes comme dans les diagramme de cas-type
Messages
Représentés par des flèches horizontales
Un diagramme de classes et des cas-type doivent d’abord être élaborés
Il existe deux sortes de diagramme d’interaction
4. DIAGRAMME DE SÉQUENCE
L’objectif du diagramme de séquence est de représenter les interactions entre objets en indiquant la chronologie des échanges. Cette représentation peut se réaliser par cas d’utilisation en considérant les différents scénarios associés.
Un diagramme de séquence montre la séquence temporelle d’échange de message entre l’acteur et les objets réalisant une certaines tâche
· Les objets sont disposés horizontalement
· L’acteur qui initie l’interaction se trouve généralement à l’extrême gauche
· La dimension verticale représente le temps
· Une ligne verticale, appelée ligne de vie, est accrochée à chaque objet ou acteur
· La ligne de vie s’épaissie pour devenir une boite d’activation lorsque l’objet est actif, i.e., durant la période d’activation.
· Un message est représenté par une flèche joignant deux boites d’activation.
· Un message a un nom et peut aussi avoir une liste d’arguments et une valeur de retour.
· Un diagramme de séquence se représente globalement dans un grand rectangle avec indication du nom du diagramme en haut à gauche comme indiqué à la figure 3.38.
·
Ligne de vie
Une ligne de vie représente l’ensemble des opérations exécutées par un objet. Un
message reçu par un objet déclenche l’exécution d’une opération. Le retour d’information peut être implicite (cas général) ou explicite à l’aide d’un message de retour.
Message synchrone et asynchrone
Dans un diagramme de séquence, deux types de messages peuvent être distingués :
• Message synchrone – Dans ce cas l’émetteur reste en attente de la réponse à son message avant de poursuivre ses actions. La flèche avec extrémité pleine symbolise ce type de message. Le message retour peut ne pas être représenté car il est inclus dans la fin d’exécution de l’opération de l’objet destinataire du message.
• Message asynchrone – Dans ce cas, l’émetteur n’attend pas la réponse à son message, il poursuit l’exécution de ses opérations. C’est une flèche avec une extrémité non pleine qui symbolise ce type de message.
Opérations particulières
Création et destruction d’objet
Fragment d’interaction
Types de fragments d’interaction
Dans un diagramme de séquence, il est possible de distinguer des sous-ensembles
d’interactions qui constituent des fragments.
Un fragment d’interaction se représente globalement comme un diagramme de
séquence dans un rectangle avec indication dans le coin à gauche du nom du fragment.
Un port d’entrée et un port de sortie peuvent être indiqués pour connaître la manière dont ce fragment peut être relié au reste du diagramme comme le montre la figure . Dans le cas où aucun port n’est indiqué c’est l’ensemble du fragment qui est appelé pour exécution.