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

UML - P. Bommel, J.P. Müller, M. Belem 1 Les principales notions des approches objets et de l’UML Partie 2 : Les modèles dynamiques.

Présentations similaires


Présentation au sujet: "UML - P. Bommel, J.P. Müller, M. Belem 1 Les principales notions des approches objets et de l’UML Partie 2 : Les modèles dynamiques."— Transcription de la présentation:

1 UML - P. Bommel, J.P. Müller, M. Belem 1 Les principales notions des approches objets et de l’UML Partie 2 : Les modèles dynamiques

2 UML - P. Bommel, J.P. Müller, M. Belem 2 Les modèles dynamiques Les modèles dynamiques è Permettent de comprendre et de décrire le comportement des objets et leurs interactions è Sont utilisés pour définir ou préciser les comportements è Trois types de représentations  Diagrammes d'états - transitions (dynamique interne à un objet)  Diagrammes d‘activité (dynamique intra ou inter objets)  Diagrammes d'interaction (dynamique entre objets) Diagrammes de séquence Diagrammes de collaboration

3 UML - P. Bommel, J.P. Müller, M. Belem 3 Modèles dynamiques : PLAN è Diagrammes d’états-transitions è Diagrammes d'activités è Diagrammes d'interaction  Diagrammes de collaboration  Diagrammes de séquences

4 UML - P. Bommel, J.P. Müller, M. Belem 4 Modèles dynamiques : PLAN è Diagrammes d’états-transitions è Diagrammes d'activités è Diagrammes d'interaction  Diagrammes de collaboration  Diagrammes de séquences

5 UML - P. Bommel, J.P. Müller, M. Belem 5 Diagramme d’état-transition èObjectif :  Décrire la dynamique de l’objet èÉléments :  État d'un objet valeurs de ses attributs et de ses liens au cours du temps un objet peut changer d'état  Transition Événement (stimuli d'un objet vers un autre objet) Garde (conditions) Actions

6 UML - P. Bommel, J.P. Müller, M. Belem 6 Notation de base des diagrammes d’état-transition èUne transition est provoquée par un événement Etat initial Etat final Transitions État 1 faire : Activité 1 Événement 1 [Cond1] / Action1 État 2 faire : Activité 2 stimulus

7 UML - P. Bommel, J.P. Müller, M. Belem 7 Exemples èChauffage à thermostat èCycle de vie État : Veille T° < 15°C État : Chauffe

8 UML - P. Bommel, J.P. Müller, M. Belem 8 Exemple: Exploitation d’une parcelle

9 UML - P. Bommel, J.P. Müller, M. Belem 9 Exercices èChoix d’assolement :  A Chaque mise en culture, l’age de culture augmente de 1  l’exploitant affecte une culture de la façon suivante: âge culture = 0 => cultiver(igname) âge culture = 1 => cultiver(maïs) 2 cultiver(sorgho) âge culture = 5 => mettreEnjachère  En jachère, l’âge de la jachère augmente d’un point chaque année  Elle est mise en culture (nouvelle rotation) si l’âge de la jachère atteint 15 ans

10 UML - P. Bommel, J.P. Müller, M. Belem 10 Exemple : Choix d’assolement èChoix d’assolement :  A Chaque mise en culture, l’age de culture augmente de 1  A cet age, on affecte une culture de la façon suivante: âge culture = 0 => occupation=igname Âge culture = 1 => maïs 2 sorgho âge culture = 5 => jachère  En jachère, l’âge de la jachère augmente d’un point chaque année  La parcelle est cultivée si l’âge de la jachère atteint 15 ans

11 UML - P. Bommel, J.P. Müller, M. Belem 11 Exemple: Choix d’assolement Rotation des cultures sur une parcelle IgnameMaïsSorgho Jachère 1 ère année 2 ème année 3 ème année 4 ème année 5 ème année 6 ème année 15 ème année

12 UML - P. Bommel, J.P. Müller, M. Belem 12 Exemple: Choix d’assolement

13 UML - P. Bommel, J.P. Müller, M. Belem 13 Exercices èChoix d’assolement :  Modifier le digramme en supposant qu’une jachère a une probabilité de 0,55 de se transformer en forêt au delà de 30 années de jachère

14 UML - P. Bommel, J.P. Müller, M. Belem 14 Les actions èPour les transitions èPour les états Etat AEtat B Event( arg1,... )[ condition ] / Action ^aTargetClass.sendEvent(arg1,...)

15 UML - P. Bommel, J.P. Müller, M. Belem 15 Exemple d’une machine à café 1 € or 2 € Annule Petit (1€) Grand (2€) Rendu Café Petit Grand 1€ / Rendre(1) 2€ / Rendre(2) 2€ 1€ Annule / Rendre(1) Petit / petitCafé, Rendre(1) Grand 2€ / rendre(1) 1€ Annule 5 événements possibles Annule Petit Grand 1€ 2€ Petit Grand Rendu Entrées Sorties 5 événements possibles 3 actions possibles Etat-1 Etat-0 Etat-2 3 états possibles Petit / Petit café Grand / grandCafé Annule / Rendre(2)

16 UML - P. Bommel, J.P. Müller, M. Belem 16 Exercice èEvolution d’un mètre carré de terrain :  L’indice d’un couvert végétal est une valeur entière positive : indice ≈ biomasse ≈ age  Chaque année l’age augmente de 1  A cet age, on attribut un état du couvert de la façon suivante: 0 ≤ age sol nu 2 ≤ age pelouse 7 ≤ age lande 15 ≤ age maquis 30 ≤ age => foret Au delà de 50 ans, la forêt a 1 chance sur 2 de disparaître pour laisser place à un sol nu  Faire un diagramme d’état-transition du couvert végétal

17 UML - P. Bommel, J.P. Müller, M. Belem 17 Solution : Diagramme d’état-transition du couvert végétal sol nu pelouse lande maquis foret incrément age [age >= 15] incrément age [age >=30] incrément age [age>= 7] incrément age [age >= 2] incrément age [age >= 50 et Prob >= 0,5] / age(0)

18 UML - P. Bommel, J.P. Müller, M. Belem 18 Exercice èFaire un diagramme d’état-transition du cycle de vie du papillon  Les Lepidoptères subissent une 'métamorphose complète’ au cours de leur vie. Ils passent par quatre étapes très distinctes : Oeuf (Ovum), chenille (larve), Chrysalides (nymphéa) et adulte (imago).  l'étape larvaire est habituellement beaucoup plus longue...

19 UML - P. Bommel, J.P. Müller, M. Belem 19 Solution : Diagramme d’état-transition du cycle de vie du papillon

20 UML - P. Bommel, J.P. Müller, M. Belem 20 Super état èÉtats d’un feu tricolore èEtats d’une machine à laver

21 UML - P. Bommel, J.P. Müller, M. Belem 21 Exercice èEvolution d’un mètre carré de terrain :  Transformer le diagramme de l’exercice précédent en considérant le feu : Quelque soit l’état du couvert végétal et quelque soit l’indice, la portion de terrain redevient « sol nu » si le feu survient.

22 UML - P. Bommel, J.P. Müller, M. Belem 22 Solution : Diagramme d’état-transition du couvert végétal avec feu sol couvert sol nu pelouselande maquisforet i >=7 i >= 15 i >=30 i >=50 [Prob >= 0,5] ]/ indice(0) i >=2 feu / indice(0)

23 UML - P. Bommel, J.P. Müller, M. Belem 23 Parallélisme èT et U en parallèles èÉvénement E1 diffuse dans T et U èU mémorise dans quel état il était

24 UML - P. Bommel, J.P. Müller, M. Belem 24 Ex: les états de la Sardinelle

25 UML - P. Bommel, J.P. Müller, M. Belem 25 Ex: les états de la Sardinelle et suivi dans la filière capture consommable vivant adulte oeufjuvenile age > 2 age > 18 event partenaire [femelle & non fécondée]/ reproduction pêche [taille > 20] mareyeur dispo [Port] pêché consommateur dispo [Marché] à vendrevendu age>30 consommé pas frais

26 UML - P. Bommel, J.P. Müller, M. Belem 26 Exercice èExploitation d’une parcelle :  Transformer le diagramme suivant en considérant qu’une plantation est cultivée pendant les cinq premières années

27 UML - P. Bommel, J.P. Müller, M. Belem 27 Exercice: Exploitation de parcelle

28 UML - P. Bommel, J.P. Müller, M. Belem 28 Modèles dynamiques : PLAN èDiagrammes d’états-transitions è Diagrammes d'activités è Diagrammes d'interaction  Diagrammes de collaboration  Diagrammes de séquences

29 UML - P. Bommel, J.P. Müller, M. Belem 29 Diagramme d'activités èObjectif:  Décrire un ensemble d’activités  Représenter les actions et leurs enchaînements èPeut représenter  le comportement d'un cas d’utilisation  le comportement interne d'une classe,  le comportement d'une opération  un flux de contrôle entre activités (un algorithme,...)

30 UML - P. Bommel, J.P. Müller, M. Belem 30 Diagramme d'activités: les éléments è Activités è Transitions entre activités  En fait ces diagrammes peuvent être vus comme une forme simplifiée des diagrammes d'états - transitions (voir chapitre suivant) è (Pseudo) états initial et final è Points de décision et barres de synchronisation è Flots d’objets (branches parallèles de flux, réseau de Pétri) activité état1 État2 évènement

31 UML - P. Bommel, J.P. Müller, M. Belem 31 Notation de base des diagrammes d'activités èUne activité est une action èUne transition permet de passer d’une activité à une autre Etat initial Etat final Transitions

32 UML - P. Bommel, J.P. Müller, M. Belem 32 Exemple : diagramme d’activité de la vraie vie

33 UML - P. Bommel, J.P. Müller, M. Belem 33 Notation de base des diagrammes d'activités

34 UML - P. Bommel, J.P. Müller, M. Belem 34 Les "couloirs de nages" (swimlanes)

35 UML - P. Bommel, J.P. Müller, M. Belem 35 Exemple: activités d’un exploitant

36 UML - P. Bommel, J.P. Müller, M. Belem 36 Exemple: diagramme d’activités d’une parcelle

37 UML - P. Bommel, J.P. Müller, M. Belem 37 Exemple: activités d’un troupeau èL’excrétion et la recherche de pâturage sont synchrones

38 UML - P. Bommel, J.P. Müller, M. Belem 38 Swimlane : Culture d’une parcelle cultiver Récolter stocker incrémenterAgeCulture évaluerRendement :Parcelle:Fermier MettreEnJachère [fin saison] incrémenterAgeJachère [parcelle épuisée]

39 UML - P. Bommel, J.P. Müller, M. Belem 39 Exemple « d’object flow »: Achat de parcelle èParcelle  Pas de « swimlane »  Pas d’activité  Change simplement d’état Demande Parcelle Accepter Proposition payer Proposer parcelle confirmer p:Parcelle [proposée] p:Parcelle [payée] Karim:FermierJoseph:Fermier

40 UML - P. Bommel, J.P. Müller, M. Belem 40 « Object flow » s: Sardinelle [vivante] s: Sardinelle [pêchée] s: Sardinelle [jetée] :Mareyeur versZonePêche pêcher retourPort chercherMareyeur vendrePoisson jeterPoisson :Pecheur [mareyeur] [pas de mareyeur] versPort cherchePêcheur acheterPoisson déplacerMarché vendrePoisson [pêcheur] [pas de pêcheur] s: Sardinelle [vendue] s: Sardinelle [consommée] èavec  Swimlanes  Points de décision  Barres de synchronisation  Flux d’objets

41 UML - P. Bommel, J.P. Müller, M. Belem 41 Modèles dynamiques : PLAN è Diagrammes d'activités è Diagrammes d’états-transitions è Diagrammes d'interaction  Diagrammes de collaboration  Diagrammes de séquences

42 UML - P. Bommel, J.P. Müller, M. Belem 42 Scénarios Diagrammes d'interaction Cas d'utilisation Démarche proposée è S1) Définir et décrire les cas d'utilisation è S2) Pour chaque cas d'utilisation, choisir les scénarios principaux et les décrire : diagrammes de séquence (vue externe) è S3) Construire les diagrammes d'interaction pour chaque scénario : diagrammes de séquence ou de collaboration

43 UML - P. Bommel, J.P. Müller, M. Belem 43 Cas / scénarios / diagrammes de séquence

44 UML - P. Bommel, J.P. Müller, M. Belem 44 B C A M1 M2 M3 M4 M6 M5 Diagramme de séquence

45 UML - P. Bommel, J.P. Müller, M. Belem 45 B C message A 1: M1 2: M2 3: M3 4: M4 6: M6 5: M5 Diagrammes de collaboration

46 UML - P. Bommel, J.P. Müller, M. Belem 46 La ligne de vie « create » Création par le message «create» Activation de l’objet qui exécute une opération op Destruction par un autre objet :C1 « destroy » op Diagramme de séquence

47 UML - P. Bommel, J.P. Müller, M. Belem 47 Diagrammes de séquence (4) : itération èTraitements répétés sur "n" instances (noté avec *) èL'itération peut être associée avec une condition  * [condition] équivaut à Tant que [condition] : Scheduler : Forestier : Exploitation : Parcelle * évaluerExploitation valeur * valeur

48 UML - P. Bommel, J.P. Müller, M. Belem 48 Diagrammes de séquence (4) èType d’envoi de messages  synchrone:  asynchrone:  réflexif:  constructif:  destructif:  alternative:  boucles: [X]mess. [non X]mess. *[X]mess. :Ca  message simple:  le flot d ’exécution est passé par l ’objet A à l ’objet B.  A est alors bloqué jusqu ’à ce que B lui redonne la main

49 UML - P. Bommel, J.P. Müller, M. Belem 49 Diagrammes de séquence valeur

50 UML - P. Bommel, J.P. Müller, M. Belem 50 Diagrammes de séquence (7) : Mise en culture d’une parcelle Bommel

51 UML - P. Bommel, J.P. Müller, M. Belem 51 è Outil de dialogue :  langage de représentation des modèles  graphique et simple  formel et normalisé (OMG) è Outil ouvert  Indépendant des langages de programmation  Pas un processus d'élaboration des modèles  Adaptable (stéréotype) UML: Conclusion

52 UML - P. Bommel, J.P. Müller, M. Belem 52 Livres UML (1) è Booch Grady, Rumbaugh James, and Jacobson Ivar, The Unified Modeling Language User Guide, 0-201-57168-4, Addison Wesley, Fall 1998, traduit : Le guide de l'utilisateur UML, Eyrolles 2000. è Jacobson Ivar, Booch Grady and Rumbaugh James, The Unified Software Development Process, 0-201-57169-2, Addison Wesley, Fall 1998, traduit : Le processus unifié de développement logiciel, Eyrolles 2000. è Rumbaugh James, Jacobson Ivar, and Booch Grady, The Unified Modeling Language Reference Manual, 0-201-30998-X, Addison Wesley, Fall 1998

53 UML - P. Bommel, J.P. Müller, M. Belem 53 Livres UML (2)  Conallen Jim, Concevoir des applications Web avec UML, Eyrolles, 2000.  Douglass Bruce Powell, Doing Hard Time : Developping Real-Time Systems with UML, Addison Wesley, 1999.  Eriksson, UML Toolkit, Wiley, 1997  Fowler Martin, UML Distilled, Applying the Standard Object Modeling Language Addison Wesley, 1997  Kettany N et al, De Merise à UML,Eyrolles, 1998  Larman Craig, Applying UML and Patterns,Prentice Hall, 1998  Lee R, Tepfenhart W, UML et C++, Simon et Schuste, 1998  Lopez N, Intégrer UML dans vos projets, Eyrolles, 1997  Muller Pierre-Alain, Modélisation objet avec UML, Eyrolles, 1997  Roques Pascal, Vallée Franck, UML en action, Eyrolles, 2000.  Roques Pascal, UML par la pratique, Eyrolles, 2001.  Schmuller Joseph, Teach Yourself UML in 24 Hours, Sams Publishing, 1999  Texel Williams, Uses cases combined with Booch/OMT/UML, Prentice Hall, 1998


Télécharger ppt "UML - P. Bommel, J.P. Müller, M. Belem 1 Les principales notions des approches objets et de l’UML Partie 2 : Les modèles dynamiques."

Présentations similaires


Annonces Google