Vous êtes sur la page 1sur 35

1

DIAGRAMMES
D’INTERACTION

Préparé et présenté par :Roberton C. Philistin


robertonphilistin@yahoo.fr
37-67-63-45
SOMMAIRE
2

 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

• Les diagrammes de temps (timing) sont


utilisés pour visualiser les séquences dans
lesquelles nous avons besoin de raisonner
sur les temps.
Diagrammes de temps
6

• Le temps est représenté dans ce type de


diagramme sur un axe horizontal et on
étudie les changements apportés au
système le long de cet axe de temps
Diagrammes de temps
7

• le diagramme de temps (timing) met plus


d'accent sur les états et les changements
d'états.
Diagrammes global d’interaction
8

• Le diagramme d'interaction globale


(Interaction Overview Diagram)
rassemble les séquences ensemble dans
un diagramme de haut niveau,
• C’est une séquence dans laquelle chaque
activité élémentaire est un diagramme
de séquence.
Diagramme global d’interaction
9
Diagrammes de séquence
10
Diagrammes de séquence
11

 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

 Ce diagramme signifie que la classe “A” dispose


d’une méthode nommée messageUn() et un attribut de
type B,
 et que la classe “B” a des méthodes nommées
messageDeux() et messageTrois().
Diagrammes de séquence
13

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

Points forts et points faibles


Type Forces Faiblesses
Séquence Indique clairement la Ajout de nouveaux
séquence et objets s’effectuant
l’ordonnancement des obligatoirement vers la
messages droite; consomme trop
d’espace horizontal.

Communication Économique en terme Rend plus difficile la


d’espace, permet d’ajouter lecture des séquences
des objets dans les deux de messages
dimensions. Moins d’options de
notation.
Diagrammes de séquence
18

r :Registre v :Vente

créerPaiement(montantPresenté)

créerPaiement(montantPresenté)

create(montantPre.)
p :Paiement
Représentation en Java
19

• La classe Vente en Java

public class Vente


{
private Paiement p;
public void creerPaiement(double montantpresente)
{
p=new Paiement(montantpresente); //…
}
//…
}
Diagrammes d’interaction - Message
20

• 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

• Message trouvé (Found message) :


• message dont on ignore la
provenance
• en dehors du cadre décrit par le
Diagramme de Séquence
• Message perdu (Lost message) :
• message envoyé, mais jamais reçu
Diagrammes de séquence
24
Représentation des Réponses ou retours

r :Registre v :Vente

messageX()
d1=getDate()

r :Registre v :Vente

messageX()
getDate()
Une date
Diagrammes de séquence
25

• Message d’un objet à lui-même

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

Cadres dans les diagrammes de séquence UML


• Pour prendre en charge (notamment) les
constructions conditionnelles et itératives,
UML 2.x utilise les cadres.
• Les cadres sont des régions ou des fragments
des diagrammes. Ils ont un opérateur ou une
étiquette (par exemple loop) et une garde
(clause conditionnelle).
Diag. de séquence – cadre - opérateur
29

Opérateur Signification

alt Fragment alternatif pour la logique


conditionnelle d’exclusion mutuelle
exprimée dans les gardes.
loop Fragment itératif à exécuter tant que la
condition de la garde est vrai. On peut
également écrire loop(n) pour indiquer le
nombre d’itérations.
opt Fragment optionnel qui ne s’exécute que si
la garde est vrai.
Diag. de séquence – cadre - opérateur
30

Opérateur Signification

par Pour représenter des interactions ayant lieu


en parallèle
critical Les interactions de cette section ne peuvent
pas être interrompues par d’autres
interactions
ref Indique une référence ves un autre
diagramme
Diagrammes de séquence - cadre
31

v : Vente a : Adaptateur

messageUn()

messageDeux()

opt [couleur=rouge]
calculer()

messageX()
Diagrammes de séquence - cadre
32

a:Adaptateur t1:TaxePro t2:TaxeMaster

messageUn()

alt [x<10] calculer()

[else] calculer()
Diagrammes de séquence - cadre
33

v :Vente lar :ligneArticle[i]

loop [i<ligneArticle.size]
getSousTotal()

Sous total

i++
Diagrammes de séquence
34
35

Vous aimerez peut-être aussi