Académique Documents
Professionnel Documents
Culture Documents
UML - 3 - Diagrammes D'interaction
UML - 3 - Diagrammes D'interaction
DIAGRAMMES
D’INTERACTION
Définition
Présentation
Points forts et points faibles
Notation de base des diagrammes de séquence
Notation de base des diagrammes de
communication
Diagrammes d’interaction
3
Définition
Les diagrammes d’interaction
permettent de représenter la façon
dont les objets interagissent entre eux
via des messages.
Diagrammes d’interaction
4
Diagrammes de temps
Diagrammes global d'interaction
Diagrammes de séquence
Diagrammes de communication
Ancienement “diagrammes de collaboration”
Diagrammes de temps
5
Diagramme de séquence
• Si un objet reçoit un
message. Sa classe
possède une méthode de
même nom que le
message reçu.
• Si un objet envoi un
message à un autre objet.
Sa classe possède un
attribut du type de l’objet
receveur
Diagrammes de séquence
12
Le diagramme de
sequence ci-contre
indique qu’on a les
classes ci-dessous
A B
-nomB :B …
… +messageDeux()
+messageUn() +messageTrois
Représentation en Java
14
La classe A en Java
public class A
{
private B monB=new B();
public void messageUn()
{
monB.messageDeux();
monB.messageTrois();
}
//…
}
Diagramme de communication
15
Diagramme séquence/communication
16
Diagramme de communication
messageUn()
:A
1: messageDeux()
2: messageTrois()
Diagramme de séquence
monB :B
Diagrammes d’interaction
17
r :Registre v :Vente
créerPaiement(montantPresenté)
créerPaiement(montantPresenté)
create(montantPre.)
p :Paiement
Représentation en Java
19
• Messages Synchrones:
– Attendent une réponse
– Bloquants
• Messages Asynchrones.
– N’attendent pas de réponse
– Non bloquants
Diagrammes d’interaction - Message
21
• Messages Synchrones:
– émetteur bloqué pendant le traitement
du message par le récepteur
– Typiquement : appel de méthode
– Si un objet A invoque une méthode d’un
objet B, A reste bloqué tant que B n’a
pas terminé.
Diagrammes d’interaction - Message
22
• Messages asynchrones:
– Le message envoyé peut être pris en
compte par le récepteur à tout moment
ou ignoré.
Diagrammes d’interaction - Message
23
r :Registre v :Vente
messageX()
d1=getDate()
r :Registre v :Vente
messageX()
getDate()
Une date
Diagrammes de séquence
25
r :Registre
messageX()
clear()
Diagrammes de séquence)
26
• Création d’instance
r :Registre v :Vente
créerPaiement(montantPresenté)
créerPaiement(montantPresenté)
create(montantPre.)
p :Paiement
Diagrammes de séquence
27
Destruction d’instance
:Registre :Vente
messageX()
messageZ()
…
Destroy()
X
Diagramme de séquence - cadre
28
Opérateur Signification
Opérateur Signification
v : Vente a : Adaptateur
messageUn()
messageDeux()
opt [couleur=rouge]
calculer()
messageX()
Diagrammes de séquence - cadre
32
messageUn()
[else] calculer()
Diagrammes de séquence - cadre
33
loop [i<ligneArticle.size]
getSousTotal()
Sous total
i++
Diagrammes de séquence
34
35