2. Diagrammes d’interaction
§ Diagrammes dynamiques
§ Aspect commun : les messages : sorte de
communication entre deux entités (objet,
acteur, sous-système)
§ Différents diagrammes :
ü Diagramme de Séquences
ü Diagramme de Communication
ü Diagramme global d’Interaction
ü Diagramme de Temps
2
3. Diagramme de Séquences
§ Le diagramme d’interaction le plus commun
§ Représentation temporelle de l’échange des
messages entre les objets: séquencement des
messages
§ Représentation d’un seul scénario (avec la
possibilité de combiner plusieurs)
§ Écoulement du temps du haut vers le bas
21/11/11
Méthodologie de
Conception Orientée Objet
3
4. Diagramme de Séquences :
Contenu
§ Lignes de vie
ü Rectangle + ligne pointillée
ü Etiquette [objet]:[classe]
§ Messages
ü Communication entre les
lignes de vie
ü Peuvent être :
• Envoi de signal
• Invocation d'une opération
• Création ou destruction
d'une instance
21/11/11
Méthodologie de
Conception Orientée Objet
4
5. Diagramme de Séquences :
Messages (1)
§ Message Asynchrone
ü N'attend pas de réponse
ü Ne bloque pas l'émetteur
ü Exemple : signal (interruption,
évènement)
ü Représentation : Flèche en
traits pleins et à l'extrémité
ouverte
§ Message Synchrone
ü Emetteur bloqué jusqu'à la
réponse du récepteur
ü Exemple : invocation d'une
opération
ü Représentation : Flèche en
traits plains à l'extrémité pleine;
suivie d'une flèche en pointillés
21/11/11
Méthodologie de
Conception Orientée Objet
5
6. Diagramme de Séquences :
Messages (2)
§ Création d'instance
ü Création d'un objet qui
n'existait pas
ü Représentation : flèche qui
pointe sur le sommet d'une
ligne de vie
§ Destruction d'instance
ü Destruction d'un objet qui
n'existera plus
ü N'est pas toujours provoquée
par un message
ü Représentation : une croix
qui marque la fin de la ligne de
vie de l'objet détruit
21/11/11
Méthodologie de
Conception Orientée Objet
6
7. Diagramme de Séquences :
Objets Actif et Passifs
§ Objet actif
ü Initie et contrôle le flux
d'activités
ü Représentation : un
rectangle à la place de la
ligne de vie verticale
§ Objet passif
ü A besoin d'un flux
d'activités pour pouvoir
exécuter une méthode
ü À l'exécution d'une
méthode, un rectangle
blanc est placé sur la ligne
de vie en pointillés
21/11/11
Méthodologie de
Conception Orientée Objet
7
9. Exercice D'application
Le déroulement normal d’utilisation d’une caisse de supermarché est le suivant :
§ un client arrive à la caisse avec ses articles à payer
§ le caissier enregistre le numéro d’identification de chaque article, ainsi que la quantité si elle est
supérieure à 1
§ la caisse affiche le prix de chaque article et son libellé
§ lorsque tous les achats sont enregistrés, le caissier signale la fin de la vente
§ la caisse affiche le total des achats
§ le caissier annonce au client le montant total à payer
§ le client choisit son mode de paiement
ü liquide : le caissier encaisse l’argent, la caisse indique le montant à rendre au client
ü chèque : le caissier note le numéro de pièce d’identité du client
ü carte de crédit : la demande d’autorisation est envoyée avant la saisie
§ la caisse enregistre la vente et l’imprime
§ le caissier donne le ticket de caisse au client
Modéliser cette situation à l’aide d’un diagramme de séquence en ne prenant en compte que le cas du paiement en
liquide.
21/11/11
Méthodologie de
Conception Orientée Objet
9
11. Structures de Contrôle
Structures de contrôle
§ Structure de contrôle
• Structure de contrôle
ü mess1 envoyé ssi la condition
– mess1 envoyé ssi la
condition[entre crochets] est
de garde de garde [entre
crochets] est respectée
respectée
S : Sender
Contrôle
• Branche
§ Branche
– On envoie soitmess2 soit
ü On envoie soitles conditions
mess2 soit
mess3, selon
mess3, selon les
conditions
R : Receiver
[cond] mess1( )
[cond1] mess2( )
Branche
[cond2] mess3( )
• Itération
§
– Le mess4 est envoyé tant que
la condition est vraie
Itération
*[cond] mess1( )
ü Le mess4 est envoyé tant
que la condition est vraie
Iteration
9
21/11/11
Méthodologie de
Conception Orientée Objet
11
12. Opérateur
Opérateur « Alternative »
« Alternative »
§ Alternative (ou(ou alt)
• Alternative alt)
Opérateur conditionnel
– ü Opérateur conditionnel
• Equivalent d'une exécution à choix
• Équivalent
multiples (switch) d’une exécution
D : DAB
Ali : Client
à choix plusieurs
– Peut possédermultiples (switch)
opérandes, chacune détient
ü Peut posséder plusieursune
condition de garde
opérandes, chacune garde :
– Absence de condition de détient
condition vraie
une condition de garde
– Condition else : vraie si aucune
ü Absence de n'est vraie de
autre condition condition
garde: condition vraie
ü Condition else: vraie si
aucune autre condition
n’est vraie
21/11/11
insérerCarte( )
carte détectée
demanderCode( )
code entré
alt
Méthodologie de
Conception Orientée Objet
[code correct]
entrerMontant(m)
montant entré
donnerBillets(b)
[else]
rendreCarte( )
10
12
13. Opérateur «Option»
Opérateur « Option »
§ Option (ou opt)
• Option (ou opt)
ü Représente un
– Représente un
comportement qui peut
comportement qui peut
se produire ou pas.
se produire ou pas.
ü Équivalent un alt à
– Équivalent ààun alt à une
seule branche et sans
une seule branche etelse
sans else
S: SiteWeb
Ali : Internaute
ouvrirPageAccueil( )
page ouverte
s'authentifier(login,mdp )
authentifié
opt
[besoin d'aide]
appuyerSurF1()
aide affichée
11
21/11/11
Méthodologie de
Conception Orientée Objet
13
14. Opérateur « Loop »
Opérateur « Loop »
§ Loop
• Loop
ü Équivalent d’une boucle
– Equivalent d'une
for
boucle for
ü Décrit des interactions
– Décrit des interactions
qui s'exécutent en boucle
qui s'exécutent en
boucle
ü La condition (garde)
–indique le nombre de
La condition (garde)
indique le nombre de
répétitions (min et max)
répétitions (min et
ou une ou une condition
max) condition
booleenne à respecter
booléenne à respecter
D : DAB
Ali : Client
insérerCarte( )
carte détectée
demanderCode( )
code entré
alt
[code correct]
Traitement si code correct
[else]
loop [3]
demanderCode( )
code entré
demanderCarte( )
12
21/11/11
Méthodologie de
Conception Orientée Objet
14
15. Opérateur « Parallèle »
Opérateur « Parallèle »
§ Parallèle (ou par)
ü A au moins 2 sous• Parallèle (ou par)
fragments exécutés
–simultanément sous
A au moins 2
fragments exécutés
ü Simule une exécution
simultanément
–parallèle une exécution
Simule
M:
MicroOndes
Amin : Personne
réchaufferPlat( )
opt
chauffer()
parallèle
tourner()
Plat réchauffé
13
21/11/11
Méthodologie de
Conception Orientée Objet
15
16. Diagramme de
Communication
§ Appelé diagramme de collaboration avant
UML2
§ Montre les interactions entre objets
§ Insiste sur la structure spatiale pour mettre en
collaboration un groupe d'objets
ü Messages : liens reliant les objets
ü Temps : représenté implicitement par une
numérotation des messages
21/11/11
Méthodologie de
Conception Orientée Objet
16
17. Exemple de Diagramme de
Exemple de Diagramme de
Communication
Collaboration
V1 : Voiture
M1 : Moteur
Ali : Conducteur
démarrer( )
Ali : Conducteur
allumer( )
4:démarrée
1:démarrer()
5:conduire()
allumé
2:allumer()
démarrée
V1 : Voiture
conduire( )
M1 : Moteur
3:allumé
15
21/11/11
Méthodologie de
Conception Orientée Objet
17
18. Application 1 : Ascenseur
• D'après le diagramme de classe donné :
Application: Ascenseur
– Rédiger le diagramme de séquences pour modélis
un scénario où un usager: veut monter en utilisant
§ D'après le diagramme de classes
ü Rédiger
séquences
l'ascenseur le diagramme del'ascenseur pour modéliser un scénario où un usager
veut monter en utilisant
ü En déduire
– En déduire le le diagramme de communication collaboration
diagramme de
21/11/11
Méthodologie de
Conception Orientée Objet
17
18
19. • A partir du diagramme de classes suivant :
pour
– Rédiger un diagramme de séquences: Montre scénario
Application sur samodéliser un
utilisateur voudrait régler les minutes
montre
• En appuyant 2 fois sur le bouton 1, il accède au réglage des minutes (l'heu
§ A partir du diagramme de classes suivant :
puis la minute clignote). Ensuite, avec le bouton 2, il incrémente les minute
ü Rédiger un diagramme de séquences pour
valeur, le LCD display est rafraîchi aprèsmodéliser:un pression. En appuyant su
chaque scénario où un
utilisateur voudrait régler les minutes sur sa montre
boutons à la fois, appuyant 2 fois sur enregistrée et l'affichage s'arrête de clignoter
l'heure est le bouton 1, il accède au réglage des minutes (l'heure clignote
• En
puis la minute clignote). collaborationil incrémente les minutes
bouton 2,
– En déduire le diagramme deEnsuite, avec le chaque pression. En appuyant sur lesd'une
valeur, le LCD display est rafraîchi après
deux
boutons à la fois, l'heure est enregistrée et l'affichage s'arrête de clignoter
ü En déduire le diagramme de communication
21/11/11
Méthodologie de
Conception Orientée Objet
19
18