Chp4 DSeq Exos&corr
Chp4 DSeq Exos&corr
Chp4 DSeq Exos&corr
SÉQUENCES
COMMUNICATION
Méthodologie de
25/12/11 Conception Orientée Objet 3
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
Méthodologie de
25/12/11 Conception Orientée Objet 4
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
Méthodologie de
25/12/11 Conception Orientée Objet 5
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
Méthodologie de
25/12/11 Conception Orientée Objet 6
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
Méthodologie de
25/12/11 Conception Orientée Objet 7
Exemple d'un Diagramme de Séquences
Méthodologie de
25/12/11 Conception Orientée Objet 8
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.
Méthodologie de
25/12/11 Conception Orientée Objet 9
Méthodologie de 8
25/12/11 Conception Orientée Objet 10
Structures de Contrôle
Structures de contrôle
§ Structure de contrôle
• Structure de contrôle S : Sender R : Receiver
ü mess1 envoyé ssi la
– mess1 envoyé ssi la condition
condition de garde
de garde [entre [entreest
crochets] [cond] mess1( )
crochets]
respectéeest respectée Contrôle
§ Branche
• Branche
– On envoie
envoie soit mess2 soit [cond1] mess2( )
ü On soit mess2 soit
mess3, selon les conditions Branche [cond2] mess3( )
mess3, selon les
• Itération
conditions
– Le mess4 est envoyé tant que *[cond] mess1( )
§ Itération
la condition est vraie
ü Le mess4 est envoyé tant
que la condition est vraie Iteration
9
Méthodologie de
25/12/11 Conception Orientée Objet 11
Opérateur
Opérateur « Alternative »
« Alternative »
§ • Alternative
Alternative (ou(ou
alt) alt)
D : DAB
Opérateur conditionnel
– ü Opérateur conditionnel
• Equivalent d'une exécution à choix Ali : Client
• Équivalent
multiples (switch) d’une exécution
à choix multiples
– Peut posséder plusieurs(switch) insérerCarte( )
opérandes, chacune détient une
ü Peut
conditionposséder
de garde plusieurs
carte détectée
demanderCode( )
opérandes,
– Absence chacune
de condition de détient
garde : code entré
une condition
condition vraie de garde
alt [code correct]
– Condition else : vraie si aucune
ü Absence de n'est
autre condition condition
vraie de entrerMontant(m)
Méthodologie de
25/12/11 Conception Orientée Objet 12
Opérateur « Option »
Opérateur «Option»
§ Option (ou opt)
• Option (ou opt) S: SiteWeb
uneseule branche
seule et sans
branche etelse authentifié
11
Méthodologie de
25/12/11 Conception Orientée Objet 13
Opérateur « Loop »
Opérateur « Loop »
§ Loop D : DAB
• Loop
ü Équivalent d’une boucle Ali : Client
– Equivalent d'une
for insérerCarte( )
boucle for carte détectée
ü Décrit
– Décritdes interactions
des interactions demanderCode( )
qui
quis'exécutent
s'exécutentenen boucle code entré
boucle
ü La condition (garde) alt [code correct]
–indique
La condition (garde)
le nombre de Traitement si code correct
indique le nombre de
répétitions (min et max)
répétitions (min et [else]
ou une ou
max) condition
une condition loop [3] demanderCode( )
booléenne
booleenneà respecter
à respecter code entré
12
demanderCarte( )
Méthodologie de
25/12/11 Conception Orientée Objet 14
Opérateur « Parallèle »
Opérateur « Parallèle »
§ Parallèle (ou par)
M:
ü A au moins 2 sous- MicroOndes
• Parallèle (ou par) Amin : Personne
fragments exécutés
–simultanément
A au moins 2 sous réchaufferPlat( )
fragments exécutés
ü Simule une exécution
simultanément opt
chauffer()
–parallèle
Simule une exécution
parallèle
tourner()
Plat réchauffé
13
Méthodologie de
25/12/11 Conception Orientée Objet 15
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
Méthodologie de
25/12/11 Conception Orientée Objet 16
Exemple de Diagramme de
Exemple de Diagramme de
Communication
Collaboration
V1 : Voiture M1 : Moteur
Ali : Conducteur
démarrer( )
Ali : Conducteur
allumer( ) 1:démarrer()
4:démarrée
5:conduire()
allumé
démarrée 2:allumer()
V1 : Voiture M1 : Moteur
conduire( ) 3:allumé
15
Méthodologie de
25/12/11 Conception Orientée Objet 17
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
§ D'après le où un usager
diagramme de classes : veut monter en utilisant
l'ascenseur
ü Rédiger le diagramme de séquences pour modéliser un scénario où un usager
veut monter en utilisant l'ascenseur
– En déduire le diagramme de collaboration
ü En déduire le diagramme de communication
Méthodologie de
25/12/11 Conception Orientée Objet 18
17
Méthodologie de
25/12/11 Conception Orientée Objet 19
Méthodologie de
25/12/11 Conception Orientée Objet 20
• A partir du diagramme de classes suivant :
Application
– Rédiger un diagramme de séquences: pourMontre
modéliser un scénario
utilisateur voudrait régler les minutes sur sa 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 modéliser un scénario où un
valeur, le LCD display est rafraîchi après chaque pression. En appuyant su
utilisateur voudrait régler les minutes sur sa montre :
boutons à la fois, l'heure est enregistrée et l'affichage s'arrête de clignoter
• En appuyant 2 fois sur le bouton 1, il accède au réglage des minutes (l'heure clignote
– En déduire le diagramme de
puis la minute clignote). collaboration
Ensuite, avec le bouton 2, il incrémente les minutes d'une
valeur, le LCD display est rafraîchi après chaque pression. En appuyant sur les deux
boutons à la fois, l'heure est enregistrée et l'affichage s'arrête de clignoter
ü En déduire le diagramme de communication
Méthodologie de
25/12/11 Conception Orientée Objet 21
18
Méthodologie de
25/12/11 Conception Orientée Objet 22
Méthodologie de
25/12/11 Conception Orientée Objet 23