Cours Diagrammes d`interaction avec solutions
Download
Report
Transcript Cours Diagrammes d`interaction avec solutions
Conception Objet
Chapitre 5
Les diagrammes
d’interaction
(collaboration et
séquence)
Diagramme d’interaction
Comment les éléments (objets)
interagissent et collaborent pour
fournir les fonctionnalités requises
Réalisation du comportement d’un
scénario d’un cas d’utilisation
Diagramme d’interaction
Diagrammes de séquences
Comportement dynamique des éléments
composant un système au fil du temps
Diagrammes de collaboration
Comportement des éléments au fil du
temps et de l’espace
Diagramme d’interaction
Ces deux modèles sont redondants
Chacun met l’accent sur une idée
différente
événements dans le temps (séquence)
relations entre objets (collaboration)
Diagramme d’interactions
Collaboration : collection de classes,
de messages et d’associations
Interaction : collection de messages
Une interaction a lieu dans un
contexte de collaboration
Diagramme de séquence
Documente un cas d’utilisation
Affiche les éléments au fil de leurs
interactions dans le temps
Axe horizontal : éléments impliqués
Axe vertical : écoulement du temps de
haut en bas
Diagramme de séquence
1.
2.
Décrire les cas d’utilisation (scénarios)
Décrire les interactions entre objets
Diagramme de séquence
Ligne de vie
Ligne verticale discontinue connectée à
un élément (objet)
Existence de l’élément dans le temps
Diagramme de séquence
Activation
Rectangle allongé sur une ligne de vie
Période pendant laquelle un élément
réalise une opération
Diagramme de séquence
Messages
Des flèches représentent les messages
qui transitent d'une entité vers l'autre.
Le nom des messages apparaît sur
chaque flèche.
Si l'extrémité de la flèche est pleine, le
message est synchrone.
Si l'extrémité de la flèche est creuse, le
message est asynchone.
Diagramme de séquence
Ligne de vie
Flèche creuse
Flèche pleine
(asynchrone)
(synchrone)
Période
d’activité
Diagramme de séquence
Création et destruction d’objets
Diagramme de séquence
Message réflexif
Diagramme de séquence
(Exemple)
Diagramme de séquence
(Exemple)
Diagramme de séquence
(Résumé)
Communication
Ligne horizontale continue allant de la
ligne de vie ou de l’activation d’un
émetteur vers celle d’un récepteur
[garde] *[itération] n°séquence :
variable_retour := nom_opération
(liste_arguments)
La classe de l’objet émetteur devrait
avoir une association avec la classe
de l’objet récepteur dans le
diagramme de classes
Diagramme de séquence
Création d’élément
Destruction
Communication qui pointe directement
sur l’élément créé
Communication qui se termine par un X
sur la ligne de vie de l’élément
Répétition
Rectangle qui regroupe des messages
(expression d’itération au sommet du
rectangle)
Diagramme de séquence
(Structures de contrôle)
1. La message1() est envoyé seulement si
la condition specifiée dans la guard
(entre brackets) est vraie.
2. Une branche. Le sender envoie soit le
message2() soit le message3(). Les
conditions de ‘guard’ sont exclusives.
3. L’Itération. Le sender envoie la
message4() tant que la condition est
vraie.
4. “Pour chaque“. Si le receiver est une
collection d’objets, envoyer le message
à tous ces objets.
5. Grouping. Les activités dans la boîte ont
lieu seulement si le test est vrai.
L’asterisque indique l’itération.
Diagramme de séquence
(Exemple)
Diagramme de collaboration
Montre une collaboration
Affiche les éléments, leurs relations et
leurs interactions (ordonnées dans le
temps)
Se concentre sur structurel
Met l’accent sur les interactions entre
objets de manière plus explicite
Utile pour visualiser l’impact d’une
interaction sur les éléments
Diagramme de collaboration
Communication
Flèche attachée à une relation (émetteur
vers récepteur)
Le numéro de séquence est obligatoire
Numérotation à point (1, 1.1, 1.2, etc.)
Exemple : Retrait en espèce
Rédigez un diagramme de séquence basé sur l’énoncé suivant:
•Le guichetier ouvre une session
•Le guichetier saisit le numéro de compte du client.
•Le système guichet valide le compte auprès du système central.
•Le système guichet demande le type d’opération au guichetier
•Le guichetier sélectionne le montant du retrait
•Le système guichet interroge le système central pour s’assurer que
le compte est suffisamment approvisionné
•Le système guichet demande au système central de débiter le
compte
•Le système notifie au guichetier qu’il peut délivrer le montant
demandé
Retraite en espèce –
Diagramme de Séquence
Retraite en espèce –
Diagramme de Collaboration
Exercice 1: Imprimante
A partir du diagramme de classe ci-dessus
1. Rédigez un diagramme de séquence pour modéliser le scénario où un
utilisateur voudrait imprimer un fichier.
2. Rédigez un diagramme de collaboration à partir du diagramme de
séquence obtenu à la question 1.
Imprimante – Diagramme de
Séquence
Imprimante – Diagramme de
Collaboration
Exercice 2: Simple Watch
Button 1
Button 2
A partir du diagramme de classe ci-dessus
1. Rédigez un diagramme de séquence pour modéliser un scénario où un
utilisateur voudrait régler l’heure (particulièrement les minutes) sur sa
montre.
En appuyant 2X sur le bouton 1 il accède au réglage des minutes (heure clignote puis minute clignote). Ensuite
avec le bouton 2 (sans relâcher le bouton) il incrémente les minutes, le LCD display est rafraîchi. En appuyant
sur le bouton 1 un autre fois l’heure est enregistrée et l’affichage s’arrête de clignoter.
2. Rédigez un diagramme de collaboration à partir du diagramme de
séquence obtenu
Simple watch: Diagramme de
Séquence
*[B2..state = Pushed]
Simple Watch: Diagramme de
Collaboration
Exercice 3 : Ascenseur
A partir du diagramme de classe ci-dessus
1. Rédigez un diagramme de séquence pour modéliser un scénario où un
usager voudrait monter en utilisant un ascenseur
2. Rédigez un diagramme de collaboration à partir du diagramme de
séquence obtenu
Ascenseur – Diagramme de Séquence
Ascenceur – Diagramme de
Collaboration
Diagramme d’interaction
Bibliographie
PowerPoint de [DO Thanh Tung]
Introduction à UML [Sinan Si Alhir]
Edition O’Reilly
Transparents [Benoît Charroux] Mai 1999