La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)

Présentations similaires


Présentation au sujet: "Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)"— Transcription de la présentation:

1 Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)
Conception Objet Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)

2 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

3 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

4 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)

5 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

6 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 Les cas d’utilisation doivent être vus comme des classes dont les instances sont les scénarios. Chaque fois qu’un acteur interagit avec le système, le cas d’utilisation instantie un scénario; ce scénario correspond au flot de messages échangés par les objets durant l’interaction particulière qui correspond au scénario.

7 Diagramme de séquence Décrire les cas d’utilisation (scénarios)
Décrire les interactions entre objets Un scénario est une série d'événements ordonnés dans le temps, simulant une exécution particulière du système. Les scénarios permettent d'expérimenter les exécutions du système, ils sont donc très utiles pour les phases de tests et de maintenance.

8 Diagramme de séquence Ligne de vie
Ligne verticale discontinue connectée à un élément (objet) Existence de l’élément dans le temps

9 Diagramme de séquence Activation
Rectangle allongé sur une ligne de vie Période pendant laquelle un élément réalise une opération

10 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. Les cas d’utilisation doivent être vus comme des classes dont les instances sont les scénarios. Chaque fois qu’un acteur interagit avec le système, le cas d’utilisation instantie un scénario; ce scénario correspond au flot de messages échangés par les objets durant l’interaction particulière qui correspond au scénario.

11 Diagramme de séquence Flèche creuse (asynchrone) Flèche pleine
Ligne de vie Période d’activité

12 Diagramme de séquence Création et destruction d’objets

13 Diagramme de séquence Message réflexif

14 Diagramme de séquence (Exemple)

15 Diagramme de séquence (Exemple)

16 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 Garde : condition qui doit être satisfaite pour que la communication ait lieu Itération : nombre de fois ou la communication a lieu N°séquence : ordre de la communication Variable_retour : nom pour la valeur retournée par l’opération Nom_opération : opération à invoquer Liste_arguments : arguments transmis à l’opération Un élément peut communiquer avec lui-même

17 Diagramme de séquence Création d’élément Destruction Répétition
Communication qui pointe directement sur l’élément créé Destruction 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) Garde : condition qui doit être satisfaite pour que la communication aie lieu Itération : nombre de fois ou la comm a lieu N°séquence : ordre de la comm Variable_retour : nom pour la valeur retournée par l’opération Nom_opération : opération à invoquer Liste_arguments : arguments transmis à l’opération Un élément peut communiquer avec lui-même

18 Diagramme de séquence (Structures de contrôle)
La message1() est envoyé seulement si la condition specifiée dans la guard (entre brackets) est vraie. Une branche. Le sender envoie soit le message2() soit le message3(). Les conditions de ‘guard’ sont exclusives. L’Itération. Le sender envoie la message4() tant que la condition est vraie. “Pour chaque“. Si le receiver est une collection d’objets, envoyer le message à tous ces objets. Grouping. Les activités dans la boîte ont lieu seulement si le test est vrai. L’asterisque indique l’itération.

19 Diagramme de séquence (Exemple)

20 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

21 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.)

22 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é

23 Retraite en espèce – Diagramme de Séquence
3. Créez le diagramme de séquence ci-dessus. Le diagramme doit être créé comme document (enfant) du cas d’utilisation précédent.

24 Retraite en espèce – Diagramme de Collaboration

25 Exercice 1: Imprimante A partir du diagramme de classe ci-dessus
Rédigez un diagramme de séquence pour modéliser le scénario où un utilisateur voudrait imprimer un fichier. Rédigez un diagramme de collaboration à partir du diagramme de séquence obtenu à la question 1.

26 Imprimante – Diagramme de Séquence

27 Imprimante – Diagramme de Collaboration

28 Exercice 2: Simple Watch
Button 1 Button 2 A partir du diagramme de classe ci-dessus 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

29 Simple watch: Diagramme de Séquence
*[B2..state = Pushed]

30 Simple Watch: Diagramme de Collaboration

31 Exercice 3 : Ascenseur A partir du diagramme de classe ci-dessus
Rédigez un diagramme de séquence pour modéliser un scénario où un usager voudrait monter en utilisant un ascenseur Rédigez un diagramme de collaboration à partir du diagramme de séquence obtenu Lorsque les classes sont reliées par une association, celle-ci peut être reprise comme base de liens. Lorsque la classe cible d’un lien dispose d’opérations, celles-ci peuvent être reprises comme base de messages. Créez un nouveau modèle ou projet. Créez le diagramme de classe comme ci-dessus; dotez les classes des opérations selon l’exemple. Créez le diagramme de collaboration en utilisant les opérations des classes cibles comme messages.

32 Ascenseur – Diagramme de Séquence
Créez un nouveau modèle ou projet. Créez le diagramme de séquence ci-dessus. Le paramètre de l’étage d’appel peut être indiqué comme paramètre dans le diagramme de collaboration

33 Ascenceur – Diagramme de Collaboration

34 Diagramme d’interaction
Bibliographie PowerPoint de [DO Thanh Tung] Introduction à UML [Sinan Si Alhir] Edition O’Reilly Transparents [Benoît Charroux] Mai 1999


Télécharger ppt "Chapitre 5 Les diagrammes d’interaction (collaboration et séquence)"

Présentations similaires


Annonces Google