Académique Documents
Professionnel Documents
Culture Documents
SE
• 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
• 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
• 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.
• 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 (×
Un message
Un autre message
Un dernier message
• 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’)’]
• 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
Message2 ( p )
• 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
point
Récursion()
d’entrée
• 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’
else Message
– par pseudo-code (if X else end if) end if
[non X] Message
A B
Message [X]
Message [Y]