Académique Documents
Professionnel Documents
Culture Documents
coursCOO Chap4-DiagSequence
coursCOO Chap4-DiagSequence
Résumé (1/2)
Les diagrammes de cas d’utilisation
modélisent à QUOI sert le système, en
organisant les interactions possibles avec les
acteurs.
Les diagrammes de classes permettent de
spécifier la structure et les liens entre les
objets dont le système est composé : ils
spécifie QUI sera à l’ œuvre dans le système
pour réaliser les fonctionnalités décrites par
Mme Sonia Guerbouj
Résumé (2/2)
57
Chapitre 4
DIAGRAMME DE
SÉQUENCE
58
Diagramme de séquence
Le diagramme de séquence fait parties
des diagrammes comportementaux
(dynamique) et plus précisément des
diagrammes d’interactions.
◦ Il permet de représenter des échanges entre
les différents objets et acteurs du système en
fonction du temps.
◦ Chaque diagramme décrit la réalisation d’une
sous fonction du système, généralement
Mme Sonia Guerbouj
Diagramme de séquence
représenter
la chronologie Message2
des échanges
de messages
Message3
entre «objets»
Mme Sonia Guerbouj
Message4
Message5
60
Diagramme de séquence
Exemple :
Mme Sonia Guerbouj
61
Diagramme de séquence
Exercice :
Personne
Ascenseur
transporte
bouton d'appel s'allume( )
appel de l'ascenceur étage( ) 0..* 0..* ouverture des portes étage( )
choix de l'étage( )
bouton d'étage s'allume( )
Scénarios
◦ Deux usagers situés à des étages différents
empruntent le même ascenseur pour se rendre au
3ème étage
◦ Trois usagers situés au même étage empruntent le
même ascenseur pour se rendre au 3ème et 5ème étage
Mme Sonia Guerbouj
62
Diagramme de séquence
Correction :
Meriam : : Ascenseur Mohamed:
Personne Personne
10: ouverture des portes étage (3) 9: ouverture des portes étage (3)
63
Diagramme de séquence
Le diagramme de séquence est placé dans un
rectangle qui dispose d’une étiquette sd en haut
à gauche (qui signifie sequence diagramm)
suivi du nom du diagramme.
Dans le diagramme de séquence, l’objet est
représenté par un rectangle dans lequel figure le
nom de l’objet qui est généralement souligné et
peut prendre l’une des quatre formes suivantes :
◦ nomObjet : NomClasse
Mme Sonia Guerbouj
◦ rôleObjet : NomClasse
◦ nomObjet
◦ :NomClasse => un objet quelconque de la classe 64
Diagramme de séquence
Mme Sonia Guerbouj
65
La ligne de vie
66
La ligne de vie
Exemple :
Mme Sonia Guerbouj
67
Les messages
Un message (représenté par une flèche) est
une communication d’un objet/acteur vers
un autre.
La réception des messages provoque une
période d’activité (rectangle vertical sur la
ligne de vie) marquant le traitement du
message.
Plusieurs types de messages existent, les plus
communs sont :
◦ l’envoi d’un signal ;
◦ l’invocation d’une opération (appel de méthode) ;
Mme Sonia Guerbouj
68
Les messages
Un message est défini par :
◦ Son nom : qui est le nom de la méthode
appelée ou du signal envoyé.
◦ Une numérotation (optionnel) : devant le
nom message (séparé du nom du message par
" : "), la numérotation s’effectue séquentiel-
lement à partir de 1.
◦ Les paramètres passés à la méthode ou au
signal (optionnel) : entre parenthèses après le
Mme Sonia Guerbouj
nom du message.
69
Les messages
On distingue :
◦ Les messages synchrones
◦ Les messages asynchrones
Mme Sonia Guerbouj
70
72
74
75
76
Contraintes temporelles
Des repères temporels avec des contraintes
peuvent être placés le long de la ligne de vie.
Un message avec un temps de propagation non
négligeable peut être représenté par une flèche
oblique ou en l'écrivant explicitement.
Mme Sonia Guerbouj
77
fragments qui peuvent s’exécuter dans n’importe quel ordre.
break : Si ce fragment est exécuté, le reste de la séquence est
abandonné. 79
Fragment OPT
L’opérateur option (opt) comporte un
opérande et une condition de garde associée.
Le fragment s’exécute si la condition de garde
est vraie et ne s’exécute pas sinon.
Mme Sonia Guerbouj
80
Fragment ALT
81
82
Fragment LOOP
L’opérateur de boucle (loop) exécute une
itérative dont la séquence qu’elle contient est
exécutée
tant que la garde qui lui est associée est vraie.
La condition s’écrit de la façon suivante :
loop [min, max, condition] (optionnels)
Mme Sonia Guerbouj
83
84
Fragment PAR
Un fragment d’interaction avec l’opérateur de
traitements parallèles (par) contient au moins
deux sous fragments (opérandes) séparés par
des pointillés qui s’exécutent simultanément
(traitements concurrents).
Mme Sonia Guerbouj
85
Fragment REF
Un fragment référence (ref) permet
d’indiquer la réutilisation d’un diagramme de
séquences déjà défini.
Mme Sonia Guerbouj
86
Stéréotypes de Jacobson
A l’intérieur d’un système, il existe souvent
des classes qui possèdent un rôle particulier
qu’on aimerait préciser dans le diagramme
de séquence.
◦ « boundary » : classes qui servent à modéliser
les interactions entre le système et ses acteurs.
◦ « control » : classes utilisées pour représenter la
coordination, l’enchaînement et le contrôle
d’autres objets.
◦ « entity » : classes qui servent à modéliser des
Mme Sonia Guerbouj
87
Stéréotypes de Jacobson
Exemple :
Mme Sonia Guerbouj
88