UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de...

31
UML 2 Pratique de la mod´ elisation Fabio Roda, Leo Liberti UML 2 Pratique de la mod´ elisation Fabio Roda 1 Leo Liberti 1 [1] LIX, ´ Ecole Polytechnique, 91128 Palaiseau, France June 2-5, 2009 1 / 31

Transcript of UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de...

Page 1: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

UML 2 Pratique de la modelisation

Fabio Roda1 Leo Liberti1

[1] LIX, Ecole Polytechnique, 91128 Palaiseau, France

June 2-5, 2009

1 / 31

Page 2: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: introdution

Le diagramme d’etats-transition illustre l’ensembre des etats ducycle de vie d’un objet.

La description du cycle de vie est realisee separement pourchacun des objets.

Un etat correspond a un moment d’activite ou d’inactivite del’objet.

Un evenement est un fait qui declenche le changement d’etat.

Une transition est un lien oriente qui exprime le fait que l’objet ala possibilite de passer de l’etat d’origine de la transition a sonetat de destination.

2 / 31

Page 3: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: etat

Un etat correspond a un moment d’activite ou d’inactivite del’objet.

3 / 31

Page 4: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: etat initial final

Un etat initial est unique.

Les objets permanents n’ont pas d’etat final.

4 / 31

Page 5: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: transition

L’ evenement est un fait qui declenche le changement d’etat.

Si la transition est automatique aucun evenement n’est pasindique.

5 / 31

Page 6: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: etat reflexive

Une transition reflexive possede le meme etat d’origine et dedestination.

6 / 31

Page 7: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: exemple 1

Dans un concours d’obstacles, l’epreuve consiste a demander achaque concurrent de sauter deux ou trois obstacles differents.

Il arrive que le cheval refuse de sauter un obstacle. Leconcurrent peut alors recommencer le saut.

Les deux obstacles sont respectivement le mur e la barriere.

Le concurrent peut se trouver dans les etats suivants: Attentedu depart, Course Avant Mur, Saut Mur, Course Avant Barriere,Saut Barriere, FinEpreuve.

Construire le State Diagram d’une instance de la classeConcurrent de l’epreuve.

7 / 31

Page 8: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: exemple 1

8 / 31

Page 9: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: condition garde

Il est possible d’associer une condition a une transition

9 / 31

Page 10: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: exemple (condition garde)

10 / 31

Page 11: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: activities

Il est possible de specifier differentes activites

a l’entree d’un etat (entry/...)

au sein d’un etat, lors de reception d’un evenement(evenement/...)

pendant un etat (do/...)

a et la sortie d’un etat (exit/...)

lors du franchissement d’une transition11 / 31

Page 12: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: exemple (activities)

12 / 31

Page 13: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: etat compose

Un etat peut etre decrit lui-meme par un diagrammed’etats-transitions. Un tel etat est appele un etat compose.

Des que l’object passe dans l’etat compose, il passe egalementdans le sous-etat initial du diagramme interne d’etats-transitions.

Si l’objet franchit une transition qui fait sortir de l’etat compose,il quitte egalment les sous-etats.

13 / 31

Page 14: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: etat compose

14 / 31

Page 15: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: exemple (etat compose)

15 / 31

Page 16: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: sous etat de memoire

16 / 31

Page 17: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: exemple (sous etat de memoire)

17 / 31

Page 18: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: sous etats paralleles

Au sein d’un objet compose il est possible d’avoir des sous-etatsqui evoluent en parallele.

Il existe une transition de type fourche qui possede plusieurssous-etats de destination.

Une fois franchie l’objet se trouve dans tous le sous-etats dedestination.

La transition de type synchronisation possede plusieurssous-etats d’origine et un seul etat de destination.

Il faut que l’objet se trouve dans tous les sous-etats d’originepour que la transition soit franchie.

18 / 31

Page 19: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: sous etats paralleles

19 / 31

Page 20: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram

20 / 31

Page 21: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

Exercices

Exercices

21 / 31

Page 22: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex. 1

Un ticket de course peut se trouver dans les etats suivants:Vierge, Rempli, Valide, Perdant, Gagnant, Paye.

Construire le State Diagram d’une instance de la classe Ticket.

22 / 31

Page 23: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex.1

23 / 31

Page 24: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex. 2

Une course de chevaux peut se trouver dans les etats suivants:Attente de chevaux, Attente du depart, Course en cours, Arrivee,Annulee.

Construire le State Diagram d’une instance de la classe Course.

Considerer l’evenement Faux Depart.

24 / 31

Page 25: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex.2

25 / 31

Page 26: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex. 3

Le but de l’exercice est de decrire les differents etats de lasituation professionnelle d’une personne et les transitionscorrespondantes.

La personne peut etre :etudiante, salarie, sans activite, independante ou retraitee.Au debut de sa situation professionnelle, une personne estetudiante.

Ne prenez pas en compte les activites simultanees comme lapossibilite d’etre simultanement salarie et independant.

Construisez le diagramme d’etats-transitions correspondant.

INDICE : Utilisez les conditions de garde pour differencier lespossibilites multiples

26 / 31

Page 27: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex.3

27 / 31

Page 28: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex. 4

Representez par un diagramme d’etats les etats que peutprendre un individu du point de vue de l’INSEE (Institut nationalde la statistique et des etudes economiques)

Vivant, decede, mineur, majeur, celibataire, marie, veuf, divorce.

Il faut etre majeur pour se marrier.

28 / 31

Page 29: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex.4

29 / 31

Page 30: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex. 5

Une course de chevaux peut se trouver dans les etats suivants:Attente du depart, Course en cours, Course Avant Mur, SautMur, Course Avant Barriere, Saut Barriere, FinEpreuve.

Apres l’ordre de depart et jusqu’au dernier saut, un concurrentest dans l’etat Concours.

A tout moment, il peut etre disqualifie mais cettedisqualification doit etre confirmee (par exemple, en cas decontestation). Si elle est annulee, l’epreuve repart de l’etat danslequel elle s’etait arretee.

Construire le State Diagram d’une instance de la classeConcurrent de l’epreuve.

30 / 31

Page 31: UML 2 Pratique de la modélisation - lix.polytechnique.frroda/StateDiagram.pdf · UML 2 Pratique de la mod elisation Fabio Roda, Leo Liberti State Diagram: introdution Le diagramme

UML 2 Pratiquede la

modelisation

Fabio Roda, LeoLiberti

State Diagram: ex.5

31 / 31