Vous êtes sur la page 1sur 35

apitre 3: Diagrammes de séquences

Pr. B. El GHALI

1
L'ASPECT DYNAMIQUE

des interactions entre les objets des objets (leur cycle de vie)
(Vue fonctionnelle du système)

 Diagramme de séquence  Diagramme


 Diagramme de collaboration Etat/Transition
 Diagramme d’activités

2
CHAPITRE 3
ASPECT DYNAMIQUE
(INTERACTIONS)
DIAGRAMMES DE
SÉQUENCES
3
DIAGRAMME DE SÉQUENCES
Représenter les interactions entre objets en précisant la chronologie des
échanges de messages
Représente une instance d’un cas d’utilisation (les scénarios possible d’un
cas d’utilisation donné)
Montre sous forme de scénarios, la chronologie des envoies de messages
issus d’un cas d’utilisation
Le diagramme de séquence fait ressortir :
 Les acteurs
 Les objets
 Les messages
4
DIAGRAMME DE SÉQUENCES
Objet_1 Obj et_2 Objet_3

Message_1

Message_2

Ligne de vie de
l 'obj et

5
DIAGRAMME DE SÉQUENCES
Un objet est représenté par un rectangle et une ligne verticale (ligne de vie de l’objet)
Les objets communiquent entre eux ou avec des acteurs en échangeant des messages
représentés par des flèches orientées de l’émetteur au récepteur
L’ordonnancement verticale des messages indique la chronologie

6
DIAGRAMME DE SÉQUENCES
Un message reçu par un objet déclenche l’exécution d’une opération
Un message envoyé par un objet correspond au fait que l’objet:
 Demande un service d’un autre objet
 Renvoi le résultat d’une opération

7
DIAGRAMME DE SÉQUENCES :
EXEMPLE

Le client demande un service (retirer de l’argent) à l’objet Compte


Le compte reçoit le message et déclenche l’opération de même nom
Le compte retourne le résultat (le solde actuel) 8
DIAGRAMME DE SÉQUENCES
Plusieurs concepts additionnels :
 Période d’activité
 Types de messages
 Création et destruction d’objets
 Structures de contrôles

9
PÉRIODE D’ACTIVITÉ
Correspond au temps pendant lequel un objet fait une action
Représentée par une bande rectangulaire superposée à la ligne de vie de l’objet

Objet_2 Objet_1

Message_1

10
MESSAGES
Les messages traduisent les interactions (échange d’informations) entre objets.
Représentés par des flèches orientées de l’émetteur au récepteur.
Forme de message :
[ condition ] message ( paramètres )

condition est une condition devant être satisfaite afin de pouvoir envoyer le message ( si cette
condition est toujours vraie , elle peut être omise)

Message est l’identificateur du message envoyé

Paramètres est une liste ( éventuellement vide ) de paramètres , séparés par de virgules )
11
MESSAGES
Un message est généralement une méthode de classe
Plusieurs types :
 Message simple
 Message minuté (Timeout)
 Message synchrone
 Message asynchrone
 Message récursif

12
MESSAGE SIMPLE
Message pour lequel on ne spécifie aucun critère d’envoi ou de réception

13
MESSAGE MINUTÉ (TIMEOUT)
Bloque l’expéditeur pendant un temps donné, en attendant la prise en compte du
message par le récepteur
Après le délai, l’expéditeur est libéré et peut envoyer un autre message
Objet_2 Objet_1

Message_1 (20 secondes)

14
MESSAGE MINUTÉ
(TIMEOUT) : EXEMPLE
La porte d’un ascenseur s’ouvre pendant un certain délai avant d’être refermée.

15
MESSAGE SYNCHRONE (APPEL DE
PROCÉDURE)
Bloque l’expéditeur jusqu’à la prise en compte du message par le récepteur
Le contrôle est passé de l’émetteur au récepteur qui devient à son tour émetteur
(actif)
Objet_2 Obj et_1

Message_1

16
MESSAGE SYNCHRONE (APPEL DE
PROCÉDURE) : EXEMPLE
Communication client serveur Client Serveur

Sollitation

Acceptation

Requête

Réponse

17
MESSAGE ASYNCHRONE
N’interrompt pas l’exécution de l’expéditeur
L’expéditeur peut émettre sans attendre la réponse du récepteur
Obj et_2 Obj et_1

M essage_1

18
MESSAGE RÉCURSIF
Appelé aussi message réflexive
Objet_1
Message envoyé d’un objet vers lui-même.

Message_1

19
MESSAGE RÉCURSIF :
EXEMPLE
Lorsque le client introduit sa carte de guichet, ce dernier vérifie la validité de la carte
avant de demander le code d’accès
Client GAB

Introduire carte

Vérification validité

Demande code accès

20
CRÉATION ET DESTRUCTION
D’OBJETS
Un message peut créer ou détruire un objet

Objet_1 Objet_3

Message_1
Objet_2

Création d’objet
Message_2

Objet créé au cours de l’exécution du scénario Destruction d’objet

Objet détruit dans un scénario


21
TRADUCTION DES MESSAGES
Envoyer un message c’est demander un service d’un autre objet (sauf le cas d’un
message de retour).
Les messages sont traduits par des opérations dans la classe de l’objet ayant reçu ou
émit le message (souvent de la classe qui l’a reçu)

22
TRADUCTION DES MESSAGES
class Voiture{
Public void demarrer(){…}
}
class Conducteur{
private Voiture v;
public void conduire(){
v.demarrer();
}
}
Class lanceur{
… main(String[] arg){
conducteur.conduire();
}}
23
STRUCTURES DE CONTRÔLE
Le diagramme de séquences peut inclure un certain nombre de structures
Branchements (tests)
Répétitions (itérations, boucles)

24
LES TEST (BRANCHEMENTS)
Sur UML 1 : La condition précède le message et elle est délimitée par des crochets

Objet_1 Objet_2 Objet_3

[condition]: Message

25
LES TEST (BRANCHEMENTS) :
EXEMPLE
Pour accéder au centre de recherche, l’utilisateur doit
présenter son badge. S’il a droit d’accès, un voyant vert
est allumé et la porte s’ouvre
Utilisteur Système

Présente son badge

Vérifier droit d'accès


[OK]voyant vert

ouvrir porte

26
LES BOUCLES (RÉPÉTITIONS)
Sur UML 1 : La boucle se note comme le test, mais la condition est
précédée d’un astérisque

Objet_1 Objet_2 Objet_3

* [condition]: Message

27
FRAGMENTS
En UML2, la notion de fragment a été introduite.
Cette notion permet de décomposer une interaction complexe en fragments simples
Représenté par un rectangle dont le coin supérieur gauche contient un pentagone
Dans le pentagone figure le type du fragment
 alt : alternative
 loop : boucle
 opt : un si simple
…

28
FRAGMENTS
alt
Suivi de une ou plusieurs conditions de test puis du mot clé else (sinon).
Fragment, scindé en plusieurs parties dont le contenu n’est exécuté que si la
condition associée est remplie.
Le contenu de la dernière partie est associé au mot clé else.

29
FRAGMENTS
loop
Se présente par un min et un max ou une condition d’arrêt.
Ça représente le for et le while.

30
FRAGMENTS - EXEMPLES
Tant que x>0 faire

Si x>0 alors

Si x<0 alors

31
INTÉRÊT DE DIAGRAMME DE
SÉQUENCE
Les diagrammes de séquences présentent les intérêts suivants :
 permettre de mieux comprendre le fonctionnement du système; modéliser
la vie des objets dans le temps et leur chronologie ;
 représenter les interactions, les communications (par messages) entre
objets : messages asynchrones (traits horizontaux avec une demi-flèche,
messages synchrones (traits horizontaux avec une flèche entière) ;
 d’être très utiles dans la description des cas d’erreur et des cas limites
d’utilisation du système;
 d’être une aide précieuse pour documenter les méthodes des classes

32
EXEMPLE

33
ETUDE DE CAS 2 : COMPAGNIE
DE VOLS
Proposer des diagrammes de séquences pour le cas d’utilisation :
- acteurs-système (avec langue naturel puis avec méthodes)
- acteurs-classes
Acheter un billet pour un passager (en ligne), qui est réalisé en choisissant l’aéroport de départ et
celui de destination, ainsi que le type d’achat(billet aller uniquement ou 2 billets aller et retour). Sur
cette base le système retourne la liste des vols possibles, le client choisi le vol aller et éventuellement
le vol de retour, puis le total est calculé et retournée au client. Pour réaliser l’achat du (des) billet(s),
le client identifie le passager concerné à travers ses informations(nom, prénom et numéro de
passeport).
Après traitement des données, le système demande les informations de la carte bancaire du client,
puis interagit avec l’acteur externe « Banque » pour débiter la carte et renvoie un message
34
de
ETUDE DE CAS 2 : COMPAGNIE
DE VOLS
Proposer des diagrammes de séquences pour le cas d’utilisation :
Enregistrer un billet par un client, ceci inclut le fait de vérifier si le vol est
ouvert pour enregistrement, puis le choix du siège selon la disponibilité. Le
client, peux ajouter un supplément de bagage, dans ce cas les informations
de la carte bancaire sont nécessaire. La fiche d’embarquement est retournée
au client et contient les informations sur le billet, le vol et le passager.

35

Vous aimerez peut-être aussi