Your SlideShare is downloading. ×
0
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
CM uml-diag-dynamiques-interaction
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

CM uml-diag-dynamiques-interaction

3,146

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,146
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
133
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UML – UnifiedModelingLanguage3/4 : diagrammes dynamiques et d’interaction <br />Yannick Prié<br />Département Informatique – Faculté des Sciences et Technologies<br />Université Claude Bernard Lyon 1<br />2011-2012<br />
  • 2. Objectifs de ce cours<br />Apprendre la syntaxe et la sémantique des diagrammes dynamiques et d’interaction les plus importants<br />Améliorer au passage la compréhension de différents principes objets<br />Remarque <br />On ne traitera pas des cas d’utilisation ici, il y a un cours dédié<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 3. Plan<br />Diagrammes d’interaction <br />diagrammes de séquences<br />diagrammes de communication<br />Diagrammes d’activité<br />Diagrammes de machines d’états<br />Autres diagrammes UML<br />Autres diagrammes non UML<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 4. Collaborations et interactions<br /><ul><li>Collaboration
  • 5. ensemble de rôles joués par des classes
  • 6. Interaction
  • 7. communication entre instances des éléments d’une collaboration
  • 8. ensemble partiellement ordonné de messages
  • 9. plusieurs interactions possibles pour une même collaboration
  • 10. Éléments d’une interaction
  • 11. participants : objets le plus souvent
  • 12. liens (supports de messages)
  • 13. messages (déclenchant des opérations)
  • 14. rôles joués par les extrémités de liens</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />Porte<br />1<br />Cabine<br />+ouvrir()<br />+fermer()<br />+getEtat() : Etat<br />ouverture<br />1: ouvrir()<br />:Cabine<br />:Porte<br />1: fermer()<br />2: getEtat()<br />:Cabine<br />:Porte<br />
  • 15. Diagrammes de séquences<br /><ul><li>Interactions entre éléments dans une séquence temporelle
  • 16. aspect chronologique ne rendant pas compte explicitement du contexte
  • 17. permet de bien montrer qui fait quoi dans une interaction
  • 18. Description de scénarios typiques et des exceptions</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />barre d’activation<br />Elément 2<br />Elément 1<br />création<br />m1<br />m2<br />Elément 3<br />retour<br />create<br />message trouvé<br />m3<br />m4<br />destruction<br />lignede vie<br />message<br />
  • 19. Diagrammes de communication(UML1 : diagrammes de collaboration)<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br /><ul><li>Diagramme d’objets rendant compte de la dynamique
  • 20. structure spatiale permet la collaboration d’objets
  • 21. dimension temporelle : ordre des messages
  • 22. numérotation pointée</li></ul>1.3.1: moteur(marche)<br />: Ascenseur<br />1: allumer()<br />1.3: déplacer(haut)<br />2: lecture(CD)<br />utilisateur<br />1: monter()<br />: Chaîne HiFi<br />: Cabine<br />1.2: fermer()<br />2.1: lecture()<br />2.1.1: démarrer()<br />: Porte<br />1.1: allumer()<br />2.1.2: afficherTitre()<br />: Voyant<br />: Lecteur CD<br />
  • 23. Petit exercice à faire en classe<br />Dessiner un diagramme de communication impliquant des objets issus de ces classes<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 24. Utilisation des interactions<br /><ul><li>Etudier/spécifier le comportement
  • 25. du système dans sa globalité au sein d’un cas d’utilisation
  • 26. se concentrer sur les événements du système considéré comme boîte noire
  • 27. diagramme de séquence système (exemple plus loin)
  • 28. de plusieurs objets au sein d’un cas d’utilisation
  • 29. réalisations de CU comme des interactions dans une société d’objets
  • 30. diagramme de séquence de fonctionnement
  • 31. conseil : concevoir diagrammes de classes et d’interaction en même temps
  • 32. Illustrer/étudier un fonctionnement
  • 33. diagramme qui traverse les couches : de l’IHM aux données
  • 34. rétro-ingénierie</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 35. Messages<br /><ul><li>Matérialisation d’une communication avec transmission d’information entre
  • 36. émetteur (source)
  • 37. récepteur (destination)
  • 38. Un message déclenche
  • 39. une opération,
  • 40. l’émission d’un signal
  • 41. la création/destruction d’un objet
  • 42. Deux types principaux
  • 43. appel de procédure ou flot de contrôle emboîté (appel standard de fonction)
  • 44. déplacer()
  • 45. flot de contrôle asynchrone (threads)
  • 46. démarrer()
  • 47. autres : à plat, dérobant (réception si attente), minuté (message actif pendant t)</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 48. Messages dans les diagrammes de communication<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />résultat<br />(UML1)<br />argument<br />Résultats et arguments<br />A<br />B<br />message<br />A<br />B<br />résultat : =message(arguments)<br />Cabine<br />Ascenseur<br />Étage_courant : =étage?()<br />Synchronisation<br />Objet 1<br />Objet 2<br />m1, m2 / [condition] : m3<br />Itérateurs<br />Garde<br />Instituteur<br />: Élèves<br />A<br />B<br />*[i:= 1..n] : Debout()<br />[X &gt; Y] : message<br />
  • 49. UML &gt;= 1.4<br />UML &lt;1.4<br />Elément<br />Messages dans les diagrammes de séquences<br /><ul><li>Notation résultat = message(arguments)
  • 50. Echange de messages
  • 51. flèches d&apos;appel standard
  • 52. blocage de l’émetteur en attendant la réponse
  • 53. flèche d&apos;appel asynchrone
  • 54. pas d’attente du retour, poursuite de la tâche
  • 55. Retour
  • 56. Message de création
  • 57. Message de destruction
  • 58. Lancement de l&apos;interaction venant de l&apos;extérieur
  • 59. 1er message = « message trouvé »</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 60. Gestion de collections<br />2: ajouter(unFIchier)<br />: Fichier<br />Dossier<br />1: création()<br />unfichier : Fichier<br />{nouveau}<br /><ul><li>Créer et ajouter (UML1 : multi-objet)
  • 61. Récupérer et utiliser (UML2 : structure composite)</li></ul>cluster:Cluster<br />1: unServeur:=trouver(specs)<br />:serveur[*]<br />serveurs<br />client<br />1<br />*<br />2: traiter(requete)<br />unServeur<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 62. Diagrammes de séquences dans UML2<br />En plus de objets participants (UML1), on ajoute<br />interfaces <br />pour spécifier quelle interface participe à l’interaction (la classe est peu importante)<br />classes <br />pour utiliser une méthode de classe<br />Représentation polymorphisme / classe abstraite<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 63. Equivalence entre diagrammes de séquence et de communication<br /> Exercice : dessiner le diagramme de communication correspondant<br />: IhmClient<br />c1453: Compte<br />Compte+code<br />: ConsultationController<br />vérifier code<br />consulter compte<br />obtenir solde<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />Affichersolde<br />
  • 64. Autreexemple<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 65. Cadre d’interaction<br /><ul><li>Cadre nommé par un opérateur qui entoure un fragment critique du DS
  • 66. alt
  • 67. fragment alternatif, conditions dans les gardes
  • 68. loop
  • 69. fragment à répéter tant que la condition de garde est vrai
  • 70. notion de boîte d’action avec itérateur
  • 71. opt
  • 72. fragment optionnel exécuté si la garde est vraie
  • 73. par
  • 74. fragments qui s’exécutent en parallèle
  • 75. region
  • 76. region critique dans laquelle un seul thread doit s’exécuter
  • 77. ref
  • 78. passage à un autre diagramme de séquence
  • 79. Attention
  • 80. ne pas représenter des algorithmes : trop compliqué</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />op<br />i++<br />
  • 81. alt<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />http://laurent-audibert.developpez.com/Cours-UML/<br />
  • 82. loop<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 83. par<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 84. Déduire structure et responsabilité des diagrammes d’interaction<br /><ul><li>Liens
  • 85. associations
  • 86. Messages
  • 87. opérations
  • 88. dépendances</li></ul>1: mA1(p)<br />: A<br />1.1: mB1(p)<br />1.2: mC1(p)<br />: B<br />: C<br />?<br />1: mA2()<br />: A<br />1.1: mD1()<br />1.2: mE1(p : F)<br />Exercice : dessiner le <br />diagramme de classes <br />correspondant<br />: D<br />: E<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 89. Co-conception des classes et des interactions<br /><ul><li>Les objets utilisés dans les interactions pour réaliser les scénarios proviennent
  • 90. des classes déjà décrites dans le diagramme de classes
  • 91. des besoins nouveaux en objets pour l’interaction spécifique
  • 92. A partir des diagrammes d’interaction, on complète le diagramme de classes
  • 93. précisions (attribut, méthodes)
  • 94. nouvelles classes
  • 95. etc.
  • 96. On essaye de réaliser tous les scénarios en convergeant vers un diagramme de classes stables</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />Diagramme de classes<br />Diagramme de classes<br />Diagramme de classes<br />Diagrammes d’interactions<br />Diagrammes d’interactions<br />temps<br />
  • 97. Plan<br />Diagrammes d’interaction <br />diagrammes de séquences<br />diagrammes de communication<br />Diagrammes d’activité<br />Diagrammes de machines d’états<br />Autres diagrammes UML<br />Autres diagrammes non UML<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 98. Diagrammes d’activité<br /><ul><li>Objectif
  • 99. présenter les activités séquentielles d’un processus
  • 100. activité = suite d’actions
  • 101. Action
  • 102. travail à réaliser
  • 103. nœud du graphe
  • 104. Transition
  • 105. contrainte d’enchaînement
  • 106. relation du graphe
  • 107. Raffinements
  • 108. débranchements / jointures
  • 109. décisions / fusions
  • 110. entrée / terminaison
  • 111. ressources utilisées (objets)</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />i := i + 1<br />Ouvrir la porte<br />Dossier.Ouvrir(Fichier)<br />Envoyer facture<br />Action 1<br />arc/flot<br />Action 2<br />
  • 112. Exemple<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />nœud initial<br />débranchement<br />garde<br />décision<br />jonction :synchronisation<br />fusion<br />terminaison<br />
  • 113. Petit exercice à faire en classe<br />Modéliser les activités autour d’un enseignement de l’UFR informatique.<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 114. Diagrammes d’activité pour modéliser …<br /><ul><li>Les processus métier de l’organisation
  • 115. qui fait quoi, où
  • 116. les enchaînements d&apos;activité (workflow)
  • 117. Les flots de données
  • 118. DFD (Data Flow Diagram) en UML
  • 119. La logique procédurale
  • 120. algorithmes complexes, parallèles
  • 121. organisation séquentielle globale des activités de plusieurs objets
  • 122. vs. diag. machines d’états : un objet</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 123. Diagrammes avancés<br /><ul><li>Actions liées à des signaux
  • 124. délai
  • 125. envoi / réception
  • 126. Utilisation d’objets
  • 127. en entrée ou sortie d’action
  • 128. Partitions (UML1 : swimlanes, travées)
  • 129. montrer les responsabilités au sein du mécanisme ou d’une organisation
  • 130. Décomposition des actions
  • 131. appeler une sous-activité (un autre diagramme d’activité) dans une action</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />attendre 2 heures<br />Envoyersignal1<br />Signal2reçu<br />
  • 132. Exécution<br />Service client<br />Service financier<br />Livrer commande<br />Commande<br />Commande<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 133. Connecteurs, régions d’expansion, terminaison de flots (UML2)<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br /><ul><li>Connecteurs
  • 134. cf. objets paramètres entrée/sortie actions
  • 135. Régions d’expansion
  • 136. actions qui se passent pour plusieurs éléments de même type (itératif ou concurrent)</li></ul>Choisir sujet<br />région d’expansionconcurrente<br />Liste de sujets<br />« concurrent »<br />Connecteurs<br />Ecrire article<br />Réviser article<br />Publierbulletin<br />terminaison de flot<br />Liste d’articles<br />
  • 137. Modélisation de processus métier<br /><ul><li>Modéliser le fonctionnement d’une organisation
  • 138. Trois stéréotypes d’objets
  • 139. Case worker
  • 140. interaction avec l’ext. de l’entreprise
  • 141. Internalworker
  • 142. travail à l’intérieur de l’entreprise
  • 143. Entity
  • 144. objet passif : stockage d’informations
  • 145. Partitions / couloirs d’activité</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 146. :Commercial<br />:Service juridique<br />:Ingénieur<br />:pdd<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 147. Plan<br />Diagrammes d’interaction <br />diagrammes de séquences<br />diagrammes de communication<br />Diagrammes d’activité<br />Diagrammes de machines d’états<br />Autres diagrammes UML<br />Autres diagrammes non UML<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 148. Diagrammes de machines d’états<br />Abstraction des comportements possibles pour une classe<br />automate à états finis décrivant les chemins possibles dans le cycle de vie d’un objet <br />Etat d’un objet<br />situation stable d’un objet<br />d&apos;une certaine durée<br />associée à un nom<br />Transition entre états<br />réponse de l’objet dans un certain état à l’occurrence d’un événement <br />passage d’un état à un autre sur événement + condition respectée, <br />action à exécuter<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />Événement<br />État 1<br />État 2<br />Raccroché<br />Sonnerie<br />Décroché<br />Ouvert<br />Suspendu<br />Archivé<br />
  • 149. Exemple de diagramme de machines d’états<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 150. Petit exercice à faire en classe<br />Tracer un diagramme de machines d’états pour un objet « TP-Etudiant »<br />Remarque <br />méthode itérative et incrémentale (Larman) <br />commencer par le scénario nominal<br />ajouter les exceptions<br />factoriser dès que ça devient trop compliqué.<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 151. Utilisation des états<br /><ul><li>Pour se concentrer sur le fonctionnement d’une classe
  • 152. décrire / fixer le comportement concret de la vie d’une objet lié à un ou plusieurs scénarios
  • 153. Pour les classes complexes
  • 154. objets réactifs complexes (objets métier…)
  • 155. protocole et séquences légales (sessions…)
  • 156. en général pas plus de 10% des classes d’une application
  • 157. plus en télécommunication / moins en informatique de gestion
  • 158. Larman
  • 159. navigation dans un site web, IHM
  • 160. enchaînement de pages/fenêtres</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 161. État initial<br />État 1<br />entry / activité en entrée<br />exit / activité en sortie <br />evt-ext / activité interne<br />do/ activité continue<br />État 2<br />Événement(paramètres) [garde]<br />/ activité<br />État final<br />Syntaxe générale<br />État <br />do / activité <br />activité interne continue qui peut être interrompue<br />evt-ext / activité interne<br />activité interne instantanée, auto-transition sur événement extérieur, instantanée, qui ne nécessite pas changement d’état<br />entry / activité en entrée<br />exit / activité en sortie <br />activités internes instantanées<br />Transition <br />tout est facultatif mais absence d’événement rare<br />événements <br />résultants de messages entre objets<br />internes : when(maximum atteint)<br />temporels : after(3 jours)<br />activité classique : envoyer un message à une cible<br />sendcible.message(arguments)<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 162. Saisie mot de passe<br />entry / ne plus afficher entrées clavierexit / réafficher les entrées clavieron aide / afficher l’aide<br />do / gérer saisies de l’utilisateur<br />Souris<br />Fenêtre<br />Click(position curseur)[sur bouton] <br />/ send fenêtre.fermer()<br />fermer<br />attente<br />fermée<br />ouverte<br />Click(position curseur)[sur icône] <br />/ send fenêtre.ouvrir()<br />ouvrir<br />Porte de garage<br />en cours <br />d’ouverture<br />fin ouverture<br />/ stop moteur<br />Appui bouton<br />/ moteur AV<br />Appui bouton<br />/ moteur AV<br />fermée<br />ouverte<br />fin fermeture<br />/ stop moteur<br />Appui bouton<br />/ moteur AR<br />en cours <br />de fermeture<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 163. http://www.agilemodeling.com/images/style/stateChartDiagramSeminarRegistration.gif<br />Autre exemple<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 164. <ul><li>Pour factoriser un comportement
  • 165. transitions déclenchées par le même événement, conduisant au même état
  • 166. Transition interne
  • 167. couple événement / activité sans effet sur l’état courant
  • 168. permet de ne pas « réinitialiser » l’état en revenant à l’état de départ
  • 169. se note en haut du super état</li></ul>A<br />B<br />B<br />A<br />B1<br />E1<br />A<br />B<br />B2<br />E2<br />C<br />E2<br />B<br />A<br />A<br />B<br />E1<br />B1<br />E2<br />C<br />B2<br />Super-états / états composites<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 170. Exemple super-état<br />pièce / incrémenter somme<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 171. États concurrents<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />S<br />E1<br />X<br />A<br />Y<br />E3<br />E4 [dans l’état Z]<br />E1<br />Z<br />E2<br />B<br />T<br />U<br /><ul><li>Pour décomposer des états complexes
  • 172. Exercice : trouver le diagramme d’état « à plat » équivalent</li></li></ul><li>Implémentation des états<br /><ul><li>Utilisation de case … switch
  • 173. déconseillé
  • 174. Utilisation du pattern état
  • 175. arborescence de classes états
  • 176. délégation de la gestion de l’état
  • 177. Tables d’états
  • 178. représentation tabulaire du diagramme
  • 179. état source, cible, événement, garde, procédure à exécuter
  • 180. permet de « paramétrer » le comportement de la classe </li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 181. Plan<br />Diagrammes d’interaction <br />diagrammes de séquences<br />diagrammes de communication<br />Diagrammes d’activité<br />Diagrammes de machines d’états<br />Autres diagrammes UML<br />Autres diagrammes non UML<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 182. Vued&apos;ensemble des interactions<br />Mixte diagramme activité / diagrammes de séquences<br />les actions sont remplacées par des diagrammes de séquence<br />Utilisé ?<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 183. Diagramme de timing<br /><ul><li>Interactions avec focus sur les changements d’états d’objets et les contraintes temporelles associées
  • 184. ligne de vie horizontale
  • 185. Utilisé surtout dans les applications temps réel</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />État <br />Changement<br />d’état<br />Plus d’eau<br />Allumé<br />Pompe<br />Éteint <br />Allumé<br />Plaquechauffante<br />Éteint <br /> { &lt; 15 min }<br />Objet<br /> { &gt; 10 s }<br />Contrainte temporelle<br />(Fowler 04)<br />
  • 186. Structures composites(classeurs structurés)<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br /><ul><li>Pour décomposer structurellement une classe
  • 187. parties, connecteurs
  • 188. Montrer les réalisations / utilisations d’interfaces
  • 189. ports, interfaces
  • 190. Adaptés pour les composants</li></ul>IHM commande TV<br />Télécommande<br />1<br />commandes:Contrôleur<br />affichage<br />:Générateur[1]<br />Connecteur de délégation<br />API de commande TV<br />réglage<br />flot d’images<br />(Fowler 04)<br />
  • 191. Diagrammes de collaborations<br />Non officiels dans UML2, se rapprochent des diagrammes de structure composite<br />Permettent de présenter les éléments impliqués dans une collaboration, et le rôle qu’ils y jouent<br />fixer les éléments et les rôles pour les diagrammes d’interaction<br />En théorie utilisés pour représenter des patterns<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 192. Plan<br />Diagrammes d’interaction <br />diagrammes de séquences<br />diagrammes de communication<br />Diagrammes d’activité<br />Diagrammes de machines d’états<br />Autres diagrammes UML<br />Autres diagrammes non UML<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 193. Diagrammes de contexte (Roques, 2004) <br /><ul><li>Diagramme de contexte statique
  • 194. diagramme de classe
  • 195. une classe système
  • 196. tous les acteurs autour
  • 197. Diagramme de contexte dynamique
  • 198. diagramme de communication qui résume les messages entre système et acteurs (pas de numérotation)
  • 199. Diagramme de contexte statique étendu
  • 200. diagramme de contexte statique avec
  • 201. Attributs et opérations de hauut niveau pour le système et les acteurs non humains
  • 202. Remarque
  • 203. « diagrammes de classes avec messages »
  • 204. diagramme de classe avec résumé des messages entre classes</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 205. Diagramme de flux d&apos;écrans informel(Fowler, 2004)<br />Un rectangle par écran<br />Des flèches pour la navigation<br />éventuellement un nom signifiant le lien <br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />Accueil<br />Recherche<br />Resultats<br />Changements récents<br />Une page<br />
  • 206. Table de décision (Fowler)<br /><ul><li>Pour représenter des conditions logiques complexes
  • 207. Deux parties
  • 208. conditions
  • 209. conséquences </li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />
  • 210. Cartes CRC<br /><ul><li>Classes - Responsabilités - Collaborateurs
  • 211. à la base inventé pour l’enseignement
  • 212. Jouer des scénarios avec des cartes
  • 213. 5-6 participants
  • 214. Une carte
  • 215. nom de classe
  • 216. tableau à deux colonnes
  • 217. responsabilité de la classe : quelque chose d’un objet doit faire
  • 218. collaborateurs : classes avec lesquelles il faut collaborer pour assurer la responsabilité
  • 219. Jeu
  • 220. déterminer des classes de départ avec responsabilités évidentes
  • 221. jouer les scénarios, ajouter les responsabilités, créer de nouvelles classes, etc.
  • 222. Voir par exemple
  • 223. http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/</li></ul>2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />Classe<br />Responsabilite1<br />Coll1,2<br />
  • 224. A suivre<br />UML 4/4 : concepts avancés<br />2010-2011 / Yannick Prié - Université Claude Bernard Lyon 1 | UML : Diagrammes dynamiques et d&apos;interaction <br />

×