View
225
Download
1
Category
Preview:
Citation preview
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
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
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
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
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
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
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: exemple 1
8 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: condition garde
Il est possible d’associer une condition a une transition
9 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: exemple (condition garde)
10 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: exemple (activities)
12 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: etat compose
14 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: exemple (etat compose)
15 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: sous etat de memoire
16 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: exemple (sous etat de memoire)
17 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: sous etats paralleles
19 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram
20 / 31
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
Exercices
Exercices
21 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: ex.1
23 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: ex.2
25 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: ex.3
27 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: ex.4
29 / 31
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
UML 2 Pratiquede la
modelisation
Fabio Roda, LeoLiberti
State Diagram: ex.5
31 / 31
Recommended