Vous êtes sur la page 1sur 52

02/10/2017 1

Diagramme d'interaction
Dfinition
Reprsentation spatiale des objets et de leurs interactions
Diagramme d'objet dont les associations sont tiquetes par les
messages envoys.
Description de lordre des interactions entre les objets
Reprsentation se concentrant sur la squence des interactions dun
point de vue temporel.

Objectif
Dcrire la ralisation des cas d'utilisation sur le systme.
Description au niveau de l'instance (tat du systme un instant)
Reprsentation des changes de messages
entre les acteurs et le systme
entre les objets du systme et de faon chronologique.
02/10/2017 2
Diagramme d'interaction
2 Types : diagramme de communication (collaboration ) et diagramme
de squence.
Diagramme de communication
Reprsentation spatiale des objets et de leurs interactions

Diagramme de squence
Reprsentation temporelle des interactions entre les objets

02/10/2017 3
Diagramme d'interaction
Une mme interaction peut tre reprsente aussi bien par lun que par
lautre.
Reprsentation graphique
Un diagramme dinteraction se reprsente par un rectangle contenant,
dans le coin suprieur gauche, le mot clef sd pour un diagramme de
squence ou com pour un diagramme de communication (collaboration)
Le mot cl est suivi du nom de linteraction.

02/10/2017 4
Diagrammes de squence

02/10/2017 5
Diagrammes de squence
Reprsentation temporelle des interactions entre les objets
Reprsentent les interactions (change de messages) entre objets
selon un point de vue temporel, un ordre chronologique

Principes de base : Reprsentation graphique de la chronologie des


changes de messages avec le systme ou au sein du systme.

Les changes de messages sont reprsents horizontalement.


Chronologie des messages changs entre les objets et avec les
Acteurs.

02/10/2017 6
Diagrammes de squence
Une priode dactivit correspond au temps pendant lequel un objet
effectue une action directe ou indirecte, reprsente par une bande
verticale le long de la ligne de vie de lobjet.

Les diagrammes de squences permettent de faire apparatre :


les objets intervenant dans linteraction (acteurs ou objets du
systme
la description de linteraction (messages)

02/10/2017 7
Diagrammes de squence

02/10/2017 8
Diagrammes squences
lments
Interaction
Acteurs
Objets
Messages (cas d'utilisation, appels dopration)

Interaction
Une interaction montre le comportement d'un classeur structur en
se focalisant sur l'change d'informations entre objets.
Une interaction est l'envoi de message entre objets.

02/10/2017 9
lments constituant le diagramme d'interaction
Objets
Les objets sont des entits appartenant au systme (instance
dune classe) ou se trouvant ses limites (acteurs).

Le nom de lobjet est compos de son rle et du nom de la classe


Le nom d'objet est soulign pour indiquer quil sagit dune instance.

Ils sont identifis par lintermdiaire des cas


dutilisation ou des diagrammes de classe.
Reprsentation

02/10/2017 10
lments constituant le diagramme d'interaction
Ligne de vie des objets

Elle est reprsente par une ligne verticale en dessous des objets.
Elle reprsente la priode de temps durant laquelle lobjet existe.
Cration dun objet : un message pointe sur le symbole de lobjet.
Destruction dun objet : sa ligne de vie se termine par une croix en
trait pais ().

02/10/2017 11
lments constituant le diagramme d'interaction
Message
Les objets communiquent en changeant des messages reprsents
sous forme de flches.
Les messages sont tiquets par le nom de lopration ou du signal
invoqu.

02/10/2017 12
Diagrammes de squence
lments de base :
Communication entre les acteurs et le systme vus comme
un ensemble d'objets.

02/10/2017 13
Diagrammes de squence
Cration et destruction d'objet

02/10/2017 14
Diagrammes de squence
Reprsentation des messages
Un message est spcifi sous la forme suivante :
[garde] num-seq iter : val-retour := msg (param)

garde : expression booleenne (condition)


num seq : numro de squence du message (rang), on peut avoir un
emboitement : l'envoi du message 1.3.5 suit immdiatement celui
du message 1.3.4 (diag de communication)
iter : envoi squentiel avec * ou parallle avec ||, peut tre suivi
d'une clause d'itration entre crochets (rcurrence)
val-retour : valeur de retour du message
msg : nom du message
param : parametres du message

02/10/2017 15
Diagrammes de squence
Exemple

02/10/2017 16
Messages
Types de messages :
Message simple
Message minut (Timeout)
Message synchrone
Message asynchrone
Message rcursif

Message simple : pour lequel on ne spcifie aucune


information denvoi ou de rception

02/10/2017 17
Message minut (Timeout)
Bloque lexpditeur pendant un temps donn, en attendant
la prise en compte du message par le rcepteur.

Aprs le dlai, lexpditeur est libr et peut envoyer.

Objet_2 Objet_1

Message_1 (20 secondes)

02/10/2017 18
Exemple
La porte dun ascenseur souvre pendant un
certain dlai avant dtre referme.

Ascenseur Porte

ouvrir (2 secondes)

fermer

02/10/2017 19
Diagrammes de squence
Message synchrone : metteur bloqu en attente du retour

02/10/2017 20
Diagrammes de squence
Message Asynchrone : metteur non bloqu, continue son excution

02/10/2017 21
Diagrammes de squence
Message reflexif

02/10/2017 22
Diagrammes de squence
Message reflexif

02/10/2017 23
Diagrammes de squence
Dlai de propagation
Flches horizontales = l'envoi d'un message est considr comme
instantan (le temps de transfert n'est pas pris en compte)
Les messages asynchrones peuvent tre reus dans un ordre diffrent
de l'ordre d'envoi.

02/10/2017 24
Diagrammes de squence
Etiquettes des messages : itration
Itration squentielle : envoi squentiel de n instances du
mme message.
Syntaxe : *[ clause ditration ]

Itration parallle : envoi parallle de n instances du mme


message.
Syntaxe : *||[ clause ditration ]

02/10/2017 25
Diagrammes de squence
Etiquettes des messages : rsultat
Le rsultat est constitu dune liste de valeurs retournes
par le message.
Ces valeurs peuvent tre utilises comme paramtres des
autres messages.

02/10/2017 26
Diagrammes de squence
Message perdu et message trouv
message complet :les vnements d'envoi et de rception sont connus.
message perdu : l'vnement d'envoi est connu, mais pas l'vnement
de rception. Il se reprsente par une flche qui pointe sur une petite
boule noire.
message trouv : l'vnement de rception est connu, mais pas
l'vnement d'mission. Une flche partant d'une petite boule noire
reprsente un message trouv.

02/10/2017 27
Diagrammes de squence
Excution de mthode et objet actif
Un objet actif initie et contrle le flux d'activits.
Graphiquement, la ligne pointille verticale d'un objet actif est
remplace par un double trait vertical.

Au contraire, Un objet passif, a besoin qu'on lui donne le flux d'activit


pour pouvoir excuter une mthode.
Un objet passif se reprsente par un rectangle plac sur la ligne de vie
en pointill. Le rectangle peut ventuellement porter un label.

02/10/2017 28
Diagrammes de squence
Alternative : Modlisation des structures de contrles
conditionnelles, par garde ([X])
Notation : deux diagrammes

02/10/2017 29
Diagrammes de squence
Alternative : Condition l'envoi d'un message
Notation : Bloc d'alternative alt

02/10/2017 30
Les test (branchements) : Exemple
Pour accder au centre de recherche, lutilisateur doit
prsenter son badge. Sil a droit daccs, un voyant vert est
allum et la porte souvre
Utilisteur Systme

Prsente son badge

Vrifier droit d'accs


[OK]voyant vert

ouvrir porte

02/10/2017 31
Diagrammes de squence
Les boucles : loop

02/10/2017 32
Les boucles (rptitions)

02/10/2017 33
Diagrammes de squence
Rfrence un autre diagramme

02/10/2017 34
Les Fragments
Permettent de dcomposer une interaction complexe en
fragments simples
Reprsents par un rectangle dont le coin suprieur gauche
contient un pentagone
Dans le pentagone figure le type du fragment
loop : boucle
alt : alternative
ref : rfrence

02/10/2017 35
Fragments
Tant que x>0 faire

Si x>0 alors

Si x<0 alors

02/10/2017 36
Oprateur par
Les Fragments
Un fragment combin de type parallel, ou par, possde au moins
deux sous-fragments excuts simultanment.

02/10/2017 37
Diagrammes de squence
Quelques rgles
Messages entre acteurs et interface (systme)
Fausses oprations lies au cas d'utilisation (mme nom)
Arguments (saisis) et valeurs de retour (affiches) simples :
texte, nombre.

Messages au sein du systme : Oprations du diagramme de classes


Si message de objA : ClasseA vers objB : ClasseB, alors
ClasseA et ClasseB sont lies par une association
Opration du message dans ClasseB

02/10/2017 38
Exemple
main(String[] arg){
conducteur.conduire();
}

class Conducteur{
private Voiture voiture;
public void conduire(){
voiture.demarrer();
}
}
class Voiture{
Public void demarrer(){}
}
02/10/2017 39
Diagrammes de squence
Utilisation des diagrammes de squences
Le concept de message unifie les formes de communication entre objets
(appel de procdure, vnement discret, signal, ...)

Documentation des cas dutilisation :


o description des interactions en des termes proches de lusager.
o les tiquettes des messages correspondent des vnements se
produisant dans le systme.

02/10/2017 40
Diagrammes de communication
ou
collaboration

02/10/2017 41
Diagrammes de communication
Un diagramme de communication rend compte de lorganisation
spatiale des participants linteraction, il est souvent utilis pour
illustrer un cas dutilisation ou pour dcrire une opration.
L'ordre dans lequel les messages sont changs est reprsent par les
numros d'ordre.

Reprsentation des lignes de vie


Les lignes de vie sont reprsentes par des rectangles contenant une
tiquette dont la syntaxe est : [<nom_du_rle>] : [<Nom_du_type>]

02/10/2017 42
Diagramme d'interaction
Diagrammes de communication

02/10/2017 43
Diagrammes de communication
Exemple

02/10/2017 44
Diagrammes de communication
Rsultat
Dans certaines situations des messages peuvent solliciter un rsultat. Ce
cas peut tre modlis de 2 faons :
- un message de demande et un message de rponse (r:)

02/10/2017 45
Diagrammes de communication
- indiquer sur le premier message le rsultat attendu.

Messages conditionnels

02/10/2017
[Age >=18 ans ] 5.2 : voter () 46
Diagrammes de communication
Rptition de l'envoi de messages
Envoie squentiel

Envoie parallle

02/10/2017 47
Diagrammes de communication
Rptition de l'envoi de messages

02/10/2017 48
Diagrammes de communication
Conclusion
Reprsentation des interactions (change de messages) entre objets
selon un point de vue spatial.
Centr sur l'organisation structurelle des objets qui communiquent
Souvent utilis pour illustrer un scenario de cas d'utilisation ou pour
dcrire une opration

02/10/2017 49
Les Fragments

02/10/2017 50
Diagrammes de collaboration
Exemple : Appel tlphonique

1. Dcrocher 4.1b. Sonnerie


:Appelant 2. Tonalit :Ligne 5. Dcrocher :Appel
3. Numrotation 6.1b. Arrt sonnerie
4.1a. Tonalit sonnerie
6.1a. Arrt tonalit

02/10/2017 51
Diagrammes de squence
Exemple : Appel tlphonique

02/10/2017 52