Você está na página 1de 7

Diagrammes de sequences

SIMMO/ENSM.SE

Diagrammes de sequences

SIMMO/ENSM.SE

Analyse, Conception Objet

Sommaire
Definition

Diagrammes de Sequences

Utilisation des diagrammes de sequences


Objets
Ligne de vie
Messages

Une partie du materiau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr)

Contraintes temporelles

Octobre 2002

Structures de controle

Oct.2002

Diagrammes de sequences

SIMMO/ENSM.SE

Oct.2002

Sommaire 2

Diagrammes de sequences

Definition

SIMMO/ENSM.SE

Interactions dans le syst`eme

Notation derivee des Object Message Sequence Charts du Siemens


Pattern Group.

Une interaction se traduit par un envoi de message entre


objets.

Description de lordre des interactions entre les objets qui composent le


syst`eme.

Les diagrammes de sequences permettent de faire


apparatre :

Representation se concentrant sur la sequence des interactions dun


point de vue temporel.

les objets intervenant dans linteraction (acteurs ou


objets appartenant au syst`eme)

Adaptes a` la modelisation des aspects dynamiques des syst`emes temps


reels et des scenarios complexes mettant en uvre peu dobjets.

la description de linteraction (messages)


les interactions entre les intervenants (diagramme de
sequences)

Les diagrammes de sequences sont des diagrammes dinteraction


comme les diagrammes de collaboration.

Les diagrammes de sequences servent a` communiquer


autant pour les usagers que pour les developpeurs
Oct.2002

Definition 3

Oct.2002

Interactions dans le syst`eme 4

Diagrammes de sequences

SIMMO/ENSM.SE

Diagrammes de sequences

SIMMO/ENSM.SE

Objets

Utilisation des diagrammes de sequences


Documentation des cas dutilisation :

Les objets sont des entites appartenant au syst`eme (instance


dune classe) ou se trouvant a` ses limites (acteurs)

description des interactions en des termes proches de


lusager,
 les e tiquettes des messages correspondent a` des
e v`enements se produisant dans le syst`eme.

Ils representent :
soit des concepts abstraits, soit des acteurs
(documentation de cas dutilisation)

Representation des interactions informatiques et


repartition des flots de controle :

soit des objets dimplantation (diagrammes de


sequences pour les interactions informatiques)

le concept de message unifie les formes de


communication entre objets (appel de procedure,
e v`enement discret, signal, ...)
Oct.2002

Ils sont identifies par lintermediaire des cas dutilisation


ou des diagrammes de classe.

Utilisation des diagrammes de sequences 5

Diagrammes de sequences

SIMMO/ENSM.SE

Oct.2002

Diagrammes de sequences

SIMMO/ENSM.SE

Ligne de vie des objets

Objets : representation

Dans UML, les objets sont representes comme suit :

Elle est representee par une ligne verticale en dessous des


objets.

Nom:Classe

Elle represente la periode de temps durant laquelle lobjet


existe.

:Rle

Oct.2002

Objets 6

ole ou nom)
Le nom de lobjet est compose de son role (r
et/ou du nom de la classe instanciee (classe).

Creation dun objet : un message pointe sur le symbole de


lobjet.

Le nom est souligne pour indiquer quil sagit dune


instance.

Destruction dun objet : sa ligne de vie se termine par une


).
croix en trait e pais (

Objets 7

Oct.2002

Ligne de vie des objets 8

Diagrammes de sequences

SIMMO/ENSM.SE

Diagrammes de sequences

SIMMO/ENSM.SE

Messages

Ligne de vie des objets (suite)


Un objet
Crer

Dtruire

Les objets communiquent en e changeant des messages representes sous


forme de fl`eches.
Autre objet

Lordonnancement horizontal des messages na aucune signification.


La dimension verticale represente lecoulement du temps.

Les messages sont e tiquettes par le nom de loperation ou du signal


invoque.
Un objet

Autre objet

Encore un objet

Un message
Un autre message
Un dernier message

Oct.2002

Ligne de vie des objets 9

Diagrammes de sequences

SIMMO/ENSM.SE

Oct.2002

Diagrammes de sequences

Messages : activation des objets

SIMMO/ENSM.SE

Messages : e tiquettes

Une periode dactivite correspond au temps pendant lequel


un objet effectue une action directe ou indirecte.

Les e tiquettes decrivent les messages auxquels elles sont


attachees.

Representation : bande verticale le long de la ligne de vie


de lobjet.

Syntaxe generale:
[[garde]] [it
eration] [r
esultat :=]
nom message [(arguments)]

Un objet

nom message : nom de loperation ou du signal invoque


par lintermediaire de ce signal,

Activation

dure dactivation

Oct.2002

Messages 10

garde : condition booleenne et optionnelle (representee


entre crochets) autorisant ou non lenvoi dun message
(utilisation dOCL).
Messages 11

Oct.2002

Messages 12

Diagrammes de sequences

SIMMO/ENSM.SE

Diagrammes de sequences

SIMMO/ENSM.SE

Etiquettes
des messages : iteration

Etiquettes
des messages : arguments

Iteration sequentielle : envoi sequentiel de n instances du


meme message.
Syntaxe : *[ clause diteration ]

Liste des param`etres du message, separes par des virgules.


Les arguments et le nom de laction determinent sans
ambigute laction a` realiser.

Iteration parall`ele : envoi parall`ele de n instances du meme


message.
Syntaxe : *||[ clause diteration ]
A

Les arguments peuvent contenir des valeurs retournees par


des messages envoyes precedemment.
Exemples :
Afficher ( x, y ) affiche les valeurs x et y
Soustraire( Aujourdhui,
DateDeNaissance ) calculer le nombre de jours
entre deux dates

*[i:=1..n] Message

Oct.2002

Messages 13

Diagrammes de sequences

SIMMO/ENSM.SE

Oct.2002

Diagrammes de sequences

Etiquettes
des messages : resultat

Categorie de messages utilisee pour indiquer la progression vers une


prochaine e tape dune sequence.
Tous les messages de cette categorie sont asynchrones.

Ces valeurs peuvent e tre utilisees comme param`etres des


autres messages.
A

SIMMO/ENSM.SE

Messages : flot de controle a` plat

Le resultat est constitue dune liste de valeurs retournees


par le message.

Messages 14

Messages representes par une seule fl`eche.


Cas particulier : dans le cas de syst`emes concurrents, une demi-fl`eche
indique lenvoi dun message, et une fl`eche un message avec attente de
prise en compte.

Message

p := Message

A
Message2 ( p )

<=>

p
Message2 ( p )

Oct.2002

Messages 15

Oct.2002

Messages 16

Diagrammes de sequences

SIMMO/ENSM.SE

Diagrammes de sequences

SIMMO/ENSM.SE

Messages : retour explicite

Messages : appel de procedure

Dans un appel de procedure (flot de controle embote), la


sequence embotee doit se terminer pour que la sequence
englobante reprenne le controle.

Dans le cas dun syst`eme coucurrent, il est utile dexpliciter


la fin de lexecution de sous-procedures.
On utilise une fl`eche pointille (dej`a utilisee dans le cadre
des valeurs retournees).

Les appels de procedure sont representes par des fl`eches a`


pointe triangulaire.

A
A

Un message
B rcupre le
contrle aprs
que C a fini sa
tche

Un autre message

Retour

Retour explicite

explicite

avant suicide

A rcupre le
contrle aprs
que B a fini sa
tche

Oct.2002

Messages 17

Diagrammes de sequences

SIMMO/ENSM.SE

Oct.2002

Messages 18

Diagrammes de sequences

Messages : appel recursif

SIMMO/ENSM.SE

Messages : reflexivite

Lenvoi de messages recursifs se represente par un


dedoublement de la bande dactivation.

Un objet peut senvoyer un message.


Cette construction peut indiquer un point dentree dans une
activite de plus bas niveau.

Lobjet apparat alors comme sil e tait actif plusieurs fois.


Un objet

Objet composite

Composant A

Composant B

point
Rcursion()

dentre

Oct.2002

Messages 19

Oct.2002

Messages 20

Diagrammes de sequences

SIMMO/ENSM.SE

Diagrammes de sequences

SIMMO/ENSM.SE

Contraintes temporelles

Structures de controle : boucles

Pour modeliser les delais de transmission non negligeables, on utilise les deux
notations suivantes :

Modelisation des structures de controles iteratives :


par pseudo-code (while X loop end loop)

une fl`eche oblique,


ou des notations temporelles dans la marge.

par condition diteration (*[X]) sur le message lui


meme.

Les instants demission et de reception dun message sont representes par le


couple symbole,symbole .
A
x
{yx < 3s}
y
{zy < 1s}

{tt < 2s}

C
while X
loop

Message

Message

*[X] Message

Message

Message

end loop

t
Reprsentation par pseudocode

Oct.2002

Contraintes temporelles 21

Diagrammes de sequences

SIMMO/ENSM.SE

Reprsentation par condition ditration

Oct.2002

Structures de controle : boucles 22

Diagrammes de sequences

SIMMO/ENSM.SE

Structures de controle : conditions

Structures de controle : conditions (suite)

Modelisation des structures de controles conditionnelles,

chez lexpediteur dun message :


par pseudo-code (if X else end if)

if X

Message

else

Message

end if

par garde ([X])

Reprsentation par pseudocode

chez le destinataire dun message :

par duplication de la ligne de vie


[X] Message

[non X] Message

Reprsentation par garde

Oct.2002

Structures de controle : boucles 23

Oct.2002

Structures de controle : boucles 24

Diagrammes de sequences

SIMMO/ENSM.SE

Structures de controle : conditions (suite)


A

B
Message
Message

[X]
[Y]

Reprsentation par ddoublement de la ligne de vie

Oct.2002

Structures de controle : boucles 25

Você também pode gostar