Diagramme de séquence

Page 1 sur 43Lecteur de document UniversityLib

Diagramme de séquence

Méthodologies O.O de Conception, Systèmes d'Information, Programmation · course

Voir tous les documents en programmation

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