M thodologies O.O de Conception
des S.I
CH7. Diagramme de s quence
CH7. Diagramme de s quence
} Pr sentation g n rale et
concepts de base
} El ments syntaxiques
} Les fragments dinteraction
} Autre utilisation du diagramme
de s quence
2
22/04/2010
CH7. Diagramme de s quence
Pr sentation g n rale
} Les DCU: mod lisent QUOI sert le syst me, en organisant
les interactions possibles avec les acteurs.
} Les DC: sp cifient QUI sera l'oeuvre dans le syst me pour
r aliser les fonctionnalit s d crites par les DCU.
} Les diagrammes de s quences: d crire COMMENT les
l ments du syst me interagissent entre eux et avec les acteurs.
} Les objets au coeur d'un syst me interagissent en s' changent
des messages.
} Les acteurs interagissent avec le syst me au moyen d'IHM
(Interfaces Homme-Machine).
3
22/04/2010
CH7. Diagramme de s quence
Pr sentation g n rale(2)
} Le diagramme de s quence:
} est un diagramme dinteraction qui fait partie de la famille
des diagrammes de comportement.
} repr sente la succession chronologique des op rations
r alis es par un acteur.
} Il indique les objets que lacteur va manipuler et les op rations
qui font passer dun objet lautre.
} Ce diagramme est organis dans le temps, le temps se d roulant
de haut en bas.
Pour chaque cas dutilisation , nous pouvons d crire un ou plusieurs
sc nario, d crit chacun par un diagramme de s quences.
4
22/04/2010
CH7. Diagramme de s quence
Concepts de base
} Les l ments communicants:
type de diagramme
n Ce
comporte un ensemble d l ments
communicants, qui occupent chacun un couloir vertical dans le
diagramme.
n Au dessous de chaque l ment, nous trouvons une ligne en pointill s
qui repr sente la ligne de vie de l l ment
5
22/04/2010
CH7. Diagramme de s quence
Concepts de base
} Les l ments communicants:
} Par d faut l l ment communicant se pr sente dans un rectangle.
} La syntaxe d criture du nom de l l ment peut tre assez libre si
ce diagramme est utilis pour la construction dun mod le des cas
dutilisation.
} Dans ce cas, ce diagramme permet de pr senter au client
la
dynamique du futur syst me qui sera mis en place (les noms
d signent des acteurs ou des l ments du futur syst me).
} Il est utilis pour compl ter la description textuelle dun cas
dutilisation en pr sentant de fa on visuelle le sc nario.
6
22/04/2010
CH7. Diagramme de s quence
Concepts de base
} Ligne de vie: Repr sente lensemble des op rations ex cut es par un
objet.
} Message: d finit une communication particuli re entre des lignes de
vie (objets ou acteurs).
} Activit : La r ception des messages provoque une p riode d'activit
(rectangle vertical sur la ligne de vie) marquant le traitement du
message (sp cication d'ex cution dans le cas d'un appel de m thode).
Objet 1
Objet 2
Activit
7
Emission
d'un message
R ception
d'un message
Sens du temps
22/04/2010
CH7. Diagramme de s quence
Concepts de base
} Message synchrone et asynchrone
Publicité
} Message synchrone Dans ce cas l metteur reste en
attente de la r ponse son message avant de poursuivre ses
actions.
} Les messages synchrones correspondent des
op rations dans le diagramme de classes
} Message asynchrone Dans ce cas, l metteur nattend
pas la r ponse son message, il poursuit lex cution de ses
op rations.
8
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
Les diff rentes sortes de messages
} Pour d crire les communications entre les l ments, nous pouvons utiliser
diff rentes sortes de messages :
n linvocations dactions (m thodes) de la part de l l ment distant ;
n le message de retour (la r ponse un envoi de message) ;
n la cr ation dun nouvel l ment communicant ;
n la destruction dun l ment communicant ;
n le message perdu ;
n le message trouv .
9
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
Invocation daction
" L metteur envoie un message vers le r cepteur afin que
celui-ci accomplisse une action.
" Si
le diagramme est utilis dans un mod le de cas
dutilisation, la syntaxe du message est assez libre. On
d crit les informations et les ordres chang es entre deux
l ments.
10
22/04/2010
InternauteE-Library1: Recherche rapideCH7. Diagramme de s quence
El ments syntaxiques
message de retour
" Dans certains cas, lenvoi dun message entra ne lenvoi
repr sent e par une fl che en
dune r ponse qui est
pointill s orient e dans lautre sens.
11
22/04/2010
InternauteE-Library1: Recherche_rapide()2: Ouvrages trouv sCH7. Diagramme de s quence
El ments syntaxiques
Cr ation dobjet
} Cr ation dobjet
} Si dans le cadre de son fonctionnement un l ment a besoin
dun autre l ment pour effectuer un traitement particulier, il
peut le cr er gr ce un message de cr ation (qui correspond
linvocation dun constructeur).
} Est mat rialis e par une fl che qui pointe sur le sommet d'une
ligne de vie.
} On peut aussi utiliser un message asynchrone ordinaire
portant le nom create.
} Une fois que l l ment a t cr , il peut changer des
messages avec les autres entit s.
12
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
Cr ation dobjet
13
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
Cr ation dobjet
} Cr ation dobjet
} Si dans le cadre de son fonctionnement un l ment a besoin
dun autre l ment pour effectuer un traitement particulier, il
peut le cr er gr ce un message de cr ation (qui correspond
linvocation dun constructeur).
} Est mat rialis e par une fl che qui pointe sur le sommet d'une
ligne de vie.
} On peut aussi utiliser un message asynchrone ordinaire
portant le nom create.
} Une fois que l l ment a t cr , il peut changer des
messages avec les autres entit s.
14
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
le message perdu
" Le message perdu est un message dont on conna t
l metteur mais pas le r cepteur.
"
Il repr sent par une fl che partant de la ligne de vie dun
l ment vers un disque noir.
" Le message perdu pouvant tre, lorigine, synchrone ou
Publicité
asynchrone, nous avons donc les types de pointes de
fl ches.
15
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
le message perdu
n Cette sorte de message permet de mod liser, par exemple,
les sc narii de pertes de message sur un r seau:
16
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
le message trouv
" Le message trouv est le pendant du message perdu, il
correspond un message dont on conna t le destinataire
mais pas l metteur.
"
Il est repr sent par une fl che partant dun disque noir
vers la ligne de vie dun l ment.
17
22/04/2010
CH7. Diagramme de s quence
El ments syntaxiques
le message trouv
n Ce message
le
comportement dun l ment suite la r ception dun
message dexception:
pour mod liser
utilis
peut
tre
18
22/04/2010
CH7. Diagramme de s quence
R cap
19
22/04/2010
CH7. Diagramme de s quence
Les fragments dinteraction
} Le DS fait appara tre des interactions Il est possible de
d couper ce diagramme en fragments afin de sint resser
un sous-ensemble dinteractions qui seraient sp cifiques
une ex cution concurrente ou r sultant dune prise de
d cision &
} Ce syst me permet donc de construire des diagrammes de
s quence compacts tout en gardant un haut niveau de clart
dun point de vue s mantique
20
22/04/2010
CH7. Diagramme de s quence
Les fragments dinteraction
} Un fragment dinteraction se repr sente globalement comme
un diagramme de s quence dans un rectangle avec indication
dans le coin gauche du nom du fragment.
21
22/04/2010
CH7. Diagramme de s quence
Les fragments dinteraction
} Les fragments dinteraction imbriqu s
} Il est galement possible (et m me souvent pratiqu )
dimbriquer des fragments dinteraction
22
22/04/2010
CH7. Diagramme de s quence
Les fragments dinteraction
Types de fragment
} UML propose diff rents types de fragments qui sont identifi s
par lop rateur inscrit dans lencart.
} Les op rateurs de choix et de boucle : Alt (alternatives) ; Opt
(option) ; Break (break); Loop
} Les op rateurs contr lant l'envoi en parall le de messages :
Par (parallel); Critical region (critical);
} Les op rateurs contr lant lenvoi de messages :
Ignore/Consider; Assert; Neg (negative);
} Les op rateurs fixant lordre denvoi des messages :Strict
(strict sequencing) / Seq (weak sequencing) ;
} L'op rateur: Ref.
23
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur alt
} Op rateur alt
} Lop rateur alt correspond une instruction de test avec
une ou plusieurs alternatives possibles. Il est aussi permis
dutiliser les clauses de type sinon.
} Formalisme et exemple
} Lop rateur alt se repr sente dans un fragment poss dant au
Publicité
moins deux parties s par es par des pointill s.
} Lexemple: diapo suivante:
24
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur alt
} Exemple: Librairie en ligne / DS: Chercher des ouvrages
25
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur alt
} Exemple: Librairie en ligne / DS: Editer fiche client
26
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur opt
} Op rateur opt
} Lop rateur opt (optional) correspond une instruction de
test sans alternative (sinon).
} Formalisme et exemple
} Lop rateur opt se repr sente dans un fragment poss dant
une seule partie.
27
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur opt
} Exemple: Librairie en ligne / DS: Chercher des ouvrages
28
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur break
} Op rateur break
} Repr senter une situation exceptionnelle correspondant
un sc nario de rupture par rapport au sc nario g n ral.
} Le sc nario de rupture sex cute si la condition de garde est
satisfaite.
} Formalisme et exemple:
29
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur break
} Exemple: Librairie en ligne / DS: Chercher des ouvrages
30
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur loop
} Op rateur loop
} Correspond une instruction de boucle qui permet
dex cuter une s quence dinteraction tant quune condition
est satisfaite.
} Il est possible aussi dutiliser une condition portant sur un
nombre minimum et maximum dex cution de la boucle en
crivant : loop min, max.
} Il est aussi possible de combiner loption min/max avec la
condition associ e la boucle.
} Formalisme et exemple:
31
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur loop
} Exemple: Librairie en ligne / Une partie du DS: G rer son panier
32
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur par
} Op rateur par
} Lop rateur par (parallel) permet de repr senter deux
s ries dinteractions qui se d roulent en parall le.
} Formalisme et exemple:
} Lop rateur par se repr sente dans un fragment poss dant
deux parties s par es par une ligne en pointill .
33
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur par
34
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur critical
Publicité
} Op rateur critical
} Lop rateur critical permet dindiquer quune s quence
dinteractions ne peut tre interrompue compte tenu du
caract re critique des op rations trait es.
} On consid re que le traitement des interactions comprises
dans la s quence critique est atomique.
} Formalisme et exemple:
35
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur critical
} On suppose que plusieurs l ments fonctionnent de mani re
parall le et quils partagent une ressource critique comme
une base de donn e (par exemple).
} Lacc s en criture cette ressource doit se faire dans une
section critique qui garantie que l l ment crivain a un
acc s exclusif la base de donn es :
} on doit viter quun autre l ment crive ou lise pendant cet acc s ;
} on ne doit pas interrompre l criture qui seffectue de fa on
atomique .
36
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur critical
37
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur ref
} Lop rateur ref permet dappeler une s quence dinteractions
d crite par ailleurs constituant ainsi une sorte de sous-
diagramme de s quence.
} Cette r f rence est une sorte de #include du sous-
diagramme de s quence invoqu , cela signifie que ce sous-
diagramme est virtuellement coll la place du cadre
r f rence
} Formalisme et exemple
38
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur ref
39
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur ref
Le passage dinformation entre deux s quences
} La r f rence un sous-diagramme de s quence est un
moyen commode de produire des diagrammes de s quence
clairs et compacts.
} Cependant, le diagramme de s quence principal et le sous-
diagramme (celui qui est r f renc ) doivent pouvoir
s changer des messages.
} Cet change peut seffectuer au moyen de portes (gates) qui
sont plac s la fronti re des cadres de type sd ou ref : les
message entrent et sortent par ces portes.
40
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur ref
} Exemple: Le sous-diagramme
41
22/04/2010
CH7. Diagramme de s quence
Fragment dinteraction
Op rateur ref
} Exemple: Utilisation du sous-diagramme
42
22/04/2010
CH7. Diagramme de s quence
Autre utilisation du DS
} Le diagramme de s quence peut tre aussi utilis pour
documenter un cas dutilisation.
} Les interactions entre objets repr sentent, dans ce cas, des flux
dinformations chang s et non pas de v ritables messages entre
les op rations des objets.
} Un diagramme de s quence syst me
traite le syst me comme une bo te noire
repr sente les interactions entre les acteurs et le syst me
illustre la succession temporelle des v nements qui influencent le fonctionnement du
syst me
met en vidence les responsabilit s l mentaires du syst me
permet de bien d limiter les fronti res du syst me
43
22/04/2010