Conception Objet Chapitre 5 Les diagrammes dinteraction collaboration
Conception Objet Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)
Diagramme d’interaction n n 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 n Diagrammes de séquences ¡ n 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 n n 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 n n n 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 n n 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 n Ligne de vie ¡ ¡ Ligne verticale discontinue connectée à un élément (objet) Existence de l’élément dans le temps
Diagramme de séquence n Activation ¡ ¡ Rectangle allongé sur une ligne de vie Période pendant laquelle un élément réalise une opération
Diagramme de séquence n 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 n Création et destruction d’objets
Diagramme de séquence n Message réflexif
Diagramme de séquence (Exemple)
Diagramme de séquence (Exemple)
Diagramme de séquence (Résumé) n Communication ¡ ¡ n 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 n Création d’élément ¡ n Destruction ¡ n 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 message 1() est envoyé seulement si la condition specifiée dans la guard (entre brackets) est vraie. 2. Une branche. Le sender envoie soit le message 2() soit le message 3(). Les conditions de ‘guard’ sont exclusives. 3. L’Itération. Le sender envoie la message 4() 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 vrai. L’asterisque indique l’itération.
Diagramme de séquence (Exemple)
Diagramme de collaboration n n 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 n Communication ¡ ¡ Flèche attachée à une relation (émetteur vers récepteur) Le numéro de séquence est obligatoire n Numérotation à point (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 2 X 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 *[B 2. . 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 n Bibliographie ¡ ¡ ¡ Power. Point de [DO Thanh Tung] Introduction à UML [Sinan Si Alhir] Edition O’Reilly Transparents [Benoît Charroux] Mai 1999
- Slides: 34