Vous êtes sur la page 1sur 7

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.

SE

Analyse, Conception Objet Sommaire

• Définition
Diagrammes de Séquences • Utilisation des diagrammes de séquences
• Objets
• Ligne de vie

Une partie du matériau de ce cours est issue du cours de S.Galland (Stephane.Galland@emse.fr) • Messages
Octobre 2002 • Contraintes temporelles
• Structures de contrôle

Oct.2002 1 Oct.2002 Sommaire– 2

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Définition Interactions dans le système

• Notation dérivée des “Object Message Sequence Charts” du Siemens • Une interaction se traduit par un envoi de message entre
Pattern Group.
objets.
• Description de l’ordre des interactions entre les objets qui composent le
• Les diagrammes de séquences permettent de faire
système.
apparaı̂tre :
• Représentation se concentrant sur la séquence des interactions d’un
– les objets intervenant dans l’interaction (acteurs ou
point de vue temporel.
objets appartenant au système)
• Adaptés à la modélisation des aspects dynamiques des systèmes temps
– la description de l’interaction (messages)
réels et des scénarios complexes mettant en œuvre peu d’objets.
– les interactions entre les intervenants (diagramme de
• Les diagrammes de séquences sont des diagrammes d’interaction
comme les diagrammes de collaboration.
séquences)
• Les diagrammes de séquences servent à communiquer
autant pour les usagers que pour les développeurs
Oct.2002 Définition– 3 Oct.2002 Interactions dans le système– 4
Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Utilisation des diagrammes de séquences Objets

• Documentation des cas d’utilisation : • Les objets sont des entités appartenant au système (instance
– description des interactions en des termes proches de d’une classe) ou se trouvant à ses limites (acteurs)
l’usager, • Ils représentent :
 les étiquettes des messages correspondent à des
– soit des concepts abstraits, soit des acteurs
évènements se produisant dans le système.
(documentation de cas d’utilisation)
• Représentation des interactions “informatiques” et
– soit des objets d’implantation (diagrammes de
répartition des flots de contrôle :
séquences pour les interactions “informatiques”)
– le concept de message unifie les formes de
• Ils sont identifiés par l’intermédiaire des cas d’utilisation
communication entre objets (appel de procédure,
évènement discret, signal, ...) ou des diagrammes de classe.

Oct.2002 Utilisation des diagrammes de séquences– 5 Oct.2002 Objets– 6

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Objets : représentation Ligne de vie des objets


• Dans UML, les objets sont représentés comme suit :
• Elle est représentée par une ligne verticale en dessous des
objets.
Nom:Classe
:Rôle
• Elle représente la période de temps durant laquelle l’objet
“existe”.

• Le nom de l’objet est composé de son rôle (rôle ou nom) • Création d’un objet : un message pointe sur le symbole de
et/ou du nom de la classe instanciée (classe). l’objet.

• Le nom est souligné pour indiquer qu’il s’agit d’une • Destruction d’un objet : sa ligne de vie se termine par une
instance. ×).
croix en trait épais (×

Oct.2002 Objets– 7 Oct.2002 Ligne de vie des objets– 8


Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Ligne de vie des objets (suite) Messages


Un objet
• Les objets communiquent en échangeant des messages représentés sous
forme de flèches.
Créer Autre objet
• L’ordonnancement horizontal des messages n’a aucune signification.

Détruire • La dimension verticale représente l’écoulement du temps.


X
• Les messages sont étiquettés par le nom de l’opération ou du signal
invoqué.
Un objet Autre objet Encore un objet

Un message

Un autre message

Un dernier message

Oct.2002 Ligne de vie des objets– 9 Oct.2002 Messages– 10

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Messages : activation des objets Messages : étiquettes

• Une période d’activité correspond au temps pendant lequel • Les étiquettes décrivent les messages auxquels elles sont
un objet effectue une action directe ou indirecte. attachées.
• Représentation : bande verticale le long de la ligne de vie • Syntaxe générale:
de l’objet. [’[’garde’]’] [itération] [résultat :=]
Un objet A B
nom message [’(’arguments’)’]

Activation • nom message : nom de l’opération ou du signal invoqué


par l’intermédiaire de ce signal,
durée d’activation
• garde : condition booléenne et optionnelle (représentée
entre crochets) autorisant ou non l’envoi d’un message
(utilisation d’OCL).

Oct.2002 Messages– 11 Oct.2002 Messages– 12


Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Étiquettes des messages : itération Étiquettes des messages : arguments

• Itération séquentielle : envoi séquentiel de n instances du • Liste des paramètres du message, séparés par des virgules.
même message.
• Les arguments et le nom de l’action déterminent sans
Syntaxe : *[ clause d’itération ]
ambiguı̈té l’action à réaliser.
• Itération parallèle : envoi parallèle de n instances du même
• Les arguments peuvent contenir des valeurs retournées par
message.
des messages envoyés précédemment.
Syntaxe : *||[ clause d’itération ]
A B
• Exemples :
Afficher ( x, y ) – affiche les valeurs x et y
*[i:=1..n] Message Soustraire( Aujourd’hui,
DateDeNaissance ) – calculer le nombre de jours
entre deux dates

Oct.2002 Messages– 13 Oct.2002 Messages– 14

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Étiquettes des messages : résultat Messages : flot de contrôle à plat


• Catégorie de messages utilisée pour indiquer la progression vers une
• Le résultat est constitué d’une liste de valeurs retournées
prochaine étape d’une séquence.
par le message.
• Tous les messages de cette catégorie sont asynchrones.
• Ces valeurs peuvent être utilisées comme paramètres des • Messages représentés par une seule flèche.
autres messages.
• Cas particulier : dans le cas de systèmes concurrents, une demi-flèche
A B A B indique l’envoi d’un message, et une flèche un message avec attente de
prise en compte.
p := Message Message
A B
<=> p
Message2 ( p )

Message2 ( p )

Oct.2002 Messages– 15 Oct.2002 Messages– 16


Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Messages : appel de procédure Messages : retour explicite

• Dans un appel de procédure (flot de contrôle emboı̂té), la • Dans le cas d’un système coucurrent, il est utile d’expliciter
séquence emboı̂tée doit se terminer pour que la séquence la fin de l’exécution de sous-procédures.
englobante reprenne le contrôle.
• On utilise une flèche pointillé (déjà utilisée dans le cadre
• Les appels de procédure sont représentés par des flèches à des valeurs retournées).
pointe triangulaire.
A B A B
A B C

Un message
B récupère le
contrôle après Un autre message
que C a fini sa Retour Retour explicite
X
tâche explicite avant suicide
A récupère le
contrôle après
que B a fini sa
tâche

Oct.2002 Messages– 17 Oct.2002 Messages– 18

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Messages : appel récursif Messages : réflexivité

• L’envoi de messages récursifs se représente par un • Un objet peut s’envoyer un message.


dédoublement de la bande d’activation.
• Cette construction peut indiquer un point d’entrée dans une
• L’objet apparaı̂t alors comme s’il était actif plusieurs fois. activité de plus bas niveau.
Un objet Objet composite Composant A Composant B

point
Récursion()
d’entrée

Oct.2002 Messages– 19 Oct.2002 Messages– 20


Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Contraintes temporelles Structures de contrôle : boucles

• Pour modéliser les délais de transmission non négligeables, on utilise les deux
• Modélisation des structures de contrôles itératives :
notations suivantes :
– une flèche oblique, – par pseudo-code (while X loop end loop)
– ou des notations temporelles dans la marge. – par condition d’itération (*[X]) sur le message lui
• Les instants d’émission et de réception d’un message sont représentés par le même.
couple symbole,symbole .
A B A B
A B C
while X Message *[X] Message
x Message loop
{y−x < 3s}
y Message
{z−y < 1s} Message end loop
z

t
{t’−t < 2s} Représentation par pseudo−code Représentation par condition d’itération
t’

Oct.2002 Contraintes temporelles– 21 Oct.2002 Structures de contrôle : boucles– 22

Diagrammes de séquences SIMMO/ENSM.SE Diagrammes de séquences SIMMO/ENSM.SE

Structures de contrôle : conditions Structures de contrôle : conditions (suite)

• Modélisation des structures de contrôles conditionnelles, A B C

• chez l’expéditeur d’un message : if X Message

else Message
– par pseudo-code (if X else end if) end if

– par garde ([X]) Représentation par pseudo−code

• chez le destinataire d’un message : A B C

– par duplication de la ligne de vie


[X] Message

[non X] Message

Représentation par garde

Oct.2002 Structures de contrôle : boucles– 23 Oct.2002 Structures de contrôle : boucles– 24


Diagrammes de séquences SIMMO/ENSM.SE

Structures de contrôle : conditions (suite)

A B

Message [X]

Message [Y]

Représentation par dédoublement de la ligne de vie

Oct.2002 Structures de contrôle : boucles– 25

Vous aimerez peut-être aussi