Vous êtes sur la page 1sur 23

Diagramme de séquence

Diagramme de Séquence
 Un diagramme de séquence représente une interaction entre
plusieurs éléments
 Les éléments interagissent par envoi de messages
 Les éléments interagissant sont des instances jouant des rôles.
Messages
 Creation: Une instance peut créer une autre instance grâce à un message de
création
 Destruction: Une instance peut détruire une autre instance grâce à un
message de destruction
 Message de Séquence: Une instance peut envoyer un message de
séquence à une autre instance pour demander l’exécution d’une opération
 Message Asynchrone: Une instance peut envoyer un message asynchrone à
une autre instance (événement)
 Branche de messages: Il est possible de spécifier des conditions sur l’envoi
de message (if then else)
Diagramme de Séquence
Les éléments se trouvant dans un
diagramme d’interaction
 Des instances de classes
 Repré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
Objets et Messages
 Des lignes verticales pointillées
représentent des objets (pas
des classes!)
 Le nom de la classe
(:ClassName) est optionele.
 représente une message
 represente un retour
explicite de message (return)
 La classe de l’objet ‘sender’
devrait avoir une association
avec la classe de l’objet
‘receiver’ dans le diagramme de
classe

6
Structures de contrôle
1. La message1() est envoyé
seulement si la condition specifiée
dans la guard (entre brackets) est
vraie.
2. Une branche. Le sender envoie soit
le message2() soit le message3().
Les conditions de ‘guard’ sont
exclusives.
3. L’Itération. Le sender envoie la
message4() tant que la condition est
vraie.
4. “Pour chaque“. Si le receiver est une
collection d’objets, envoyer le
message à tous ces objets.
5. Grouping. Les activités dans la boîte
ont lieu seulement si le test est vrai.
L’asterisque indique l’itération.

7
Diagrammes de Séquences
Conventions graphiques :
o:C Objet participant à l’interaction

n : message
Activation : période de temps pendant laquelle l’objet
n : numéro de séquence exécute une action
facultatif

Ligne de vie

Pour démarrer sa ligne de vie Pour arrêter sa ligne de vie

créer o:C o:C


o:C

détruire
ou auto-destruction
Diagrammes de Séquences
Conventions graphiques (suite) :
o ’ : C ’
o:C

message

flèche horizontale : le temps de transmission


est considéré comme nul
activation synchrone
avec retour implicite

o:C

message
réflexif
Diagrammes de Séquences
Conventions graphiques (suite) :
o:C o1 : C 1 o2 : C2

[cond] message1
messages conditionnés
[non cond] message2

o:C o1 : C 1
Itération d’un message ou
d’une séquence de messages
* message1 (dans ce dernier cas, fin *
message2
. délimite la séquence itérée)
.
.

fin *
Diagrammes de Séquences
Conventions graphiques (suite) :

o:C o ’ : C ’

message avec paramètres


message
(param1, param2, ...)

o:C o ’ : C ’ message avec paramètres


et résultat de retour

resul := message
(param1, param2, ...)
Diagramme de Séquence - Fin
 Les diagrammes de séquence sont de plus en plus utilisé
 Ils permettent de décrire la dynamique d’un système
 Ils permettent de faire le lien entre les diagrammes de cas d’utilisation et
les diagrammes de classes
A vous de jouer

 Définir le diagramme de
séquence d’un publiphone
Cas du publiphone :
1. Le prix minimal d’une communication interurbaine est de 1€.
2. Après l’introduction de la monnaie, l’utilisateur a 2 mn pour
composer son numéro (ce délai est décompté par le standard).
3. La ligne peut être libre ou occupée.
4. Le correspondant peut raccrocher le premier.
5. Le publiphone consomme de l’argent dès que l’appelé décroche et à
chaque unité de temps (UT) générée par le standard.
6. On peut ajouter des pièces à tout moment.
7. Lors du raccrochage, le solde de monnaie est rendu.
Une solution au cas du publiphone
:publiphone :standard
:appelant
décrocherCombiné
introduirePièce(1€)
vérifierPièce
incrémenterCrédit(1€)
composerNuméro(04 78 77 23 23)
acheminerNuméro(04 78 77 23 23)

tonalité(libre) tonalité(libre)
débuterComm

taxer(1€)
introduirePièce(1€)
vérifierPièce
incrémenterCrédit(1€)
UT

raccrocherCombiné taxer(1€)
FinComm
Exemple : Retrait en espèce

Rédigez un diagramme de séquence basé sur l’énoncé suivant:


• Le guichetier ouvre une session
• Le guichetier saisit le numéro de compte du client.
• Le système guichet valide le compte auprès du système central.
• Le système guichet demande le type d’opération au guichetier
• Le guichetier sélectionne le montant du retrait
• Le système guichet  interroge le système central pour s’assurer que le compte
est suffisamment approvisionné
• Le système guichet demande au système central de débiter le compte
• Le système notifie au guichetier qu’il peut délivrer le montant demandé
16
Retraite en espèce – Diagramme de
Séquence

17
Exercice 1: Imprimante

A partir du diagramme de classe ci-dessus


Rédigez un diagramme de séquence pour modéliser le scénario
où un utilisateur voudrait imprimer un fichier.

18
Imprimante – Diagramme de Séquence

19
Exercice 2: Simple Watch
Button 1

Button 2

A partir du diagramme de classe ci-dessus


Rédigez un diagramme de séquence pour modéliser
un scénario où un utilisateur voudrait régler l’heure
(particulièrement les minutes) sur sa montre.
En appuyant 2X sur le bouton 1 il accède au réglage des minutes (heure clignote puis
minute clignote). Ensuite avec le bouton 2 (sans relâcher le bouton) il incrémente
les minutes, le LCD display est rafraîchi. En appuyant sur le bouton 1 un autre fois
l’heure est enregistrée et l’affichage s’arrête de clignoter.
20
Simple watch: Diagramme de Séquence

*[B2..state = Pushed]

21
Exercice 3 : Ascenseur

A partir du diagramme de classe ci-dessus


Rédigez un diagramme de séquence pour modéliser
un scénario où un usager voudrait monter en utilisant
un ascenseur
22
Ascenseur – Diagramme de Séquence

23

Vous aimerez peut-être aussi