UML 2 Pratique de la modélisation

Transcription

UML 2 Pratique de la modélisation
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
UML 2 Pratique de la modélisation
Fabio Roda1
Leo Liberti1
[1] LIX, École Polytechnique, 91128 Palaiseau, France
June 2-5, 2009
1 / 31
State Diagram: introdution
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Le diagramme d’états-transition illustre l’ensembre des états du
cycle de vie d’un objet.
La description du cycle de vie est réalisée séparément pour
chacun des objets.
Un état correspond à un moment d’activité ou d’inactivité de
l’objet.
Un événement est un fait qui déclenche le changement d’état.
Une transition est un lien orienté qui exprime le fait que l’objet a
la possibilité de passer de l’état d’origine de la transition á son
état de destination.
2 / 31
State Diagram: état
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Un état correspond à un moment d’activité ou d’inactivité de
l’objet.
3 / 31
State Diagram: état initial final
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Un état initial est unique.
Les objets permanents n’ont pas d’état final.
4 / 31
State Diagram: transition
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
L’ événement est un fait qui déclenche le changement d’état.
Si la transition est automatique aucun événement n’est pas
indiqué.
5 / 31
State Diagram: état réflexive
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Une transition réflexive possède le même état d’origine et de
destination.
6 / 31
State Diagram: exemple 1
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Dans un concours d’obstacles, l’épreuve consiste à demander à
chaque concurrent de sauter deux ou trois obstacles différents.
Il arrive que le cheval refuse de sauter un obstacle. Le
concurrent peut alors recommencer le saut.
Les deux obstacles sont respectivement le mur e la barrière.
Le concurrent peut se trouver dans les états suivants: Attente
du départ, Course Avant Mur, Saut Mur, Course Avant Barrière,
Saut Barrière, FinEpreuve.
Construire le State Diagram d’une instance de la classe
Concurrent de l’epreuve.
7 / 31
State Diagram: exemple 1
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
8 / 31
State Diagram: condition garde
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Il est possible d’associer une condition à une transition
9 / 31
State Diagram: exemple (condition garde)
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
10 / 31
State Diagram: activities
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Il est possible de spécifier différentes activités
à l’entrée d’un état (entry/...)
au sein d’un état, lors de réception d’un événement
(événement/...)
pendant un état (do/...)
à et la sortie d’un état (exit/...)
lors du franchissement d’une transition
11 / 31
State Diagram: exemple (activities)
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
12 / 31
State Diagram: état composé
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Un état peut être décrit lui-même par un diagramme
d’états-transitions. Un tel état est appelé un état composé.
Dès que l’object passe dans l’état composé, il passe également
dans le sous-état initial du diagramme interne d’états-transitions.
Si l’objet franchit une transition qui fait sortir de l’état composé,
il quitte égalment les sous-états.
13 / 31
State Diagram: état composé
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
14 / 31
State Diagram: exemple (état composé)
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
15 / 31
State Diagram: sous état de mémoire
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
16 / 31
State Diagram: exemple (sous état de mémoire)
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
17 / 31
State Diagram: sous états paralléles
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Au sein d’un objet composé il est possible d’avoir des sous-états
qui évoluent en parallèle.
Il existe une transition de type fourche qui possède plusieurs
sous-états de destination.
Une fois franchie l’objet se trouve dans tous le sous-états de
destination.
La transition de type synchronisation possède plusieurs
sous-états d’origine et un seul état de destination.
Il faut que l’objet se trouve dans tous les sous-états d’origine
pour que la transition soit franchie.
18 / 31
State Diagram: sous états paralléles
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
19 / 31
State Diagram
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
20 / 31
Exercices
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Exercices
21 / 31
State Diagram: ex. 1
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Un ticket de course peut se trouver dans les états suivants:
Vierge, Rempli, Validé, Perdant, Gagnant, Payé.
Construire le State Diagram d’une instance de la classe Ticket.
22 / 31
State Diagram: ex.1
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
23 / 31
State Diagram: ex. 2
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Une course de chevaux peut se trouver dans les états suivants:
Attente de chevaux, Attente du départ, Course en cours, Arrivée,
Annulée.
Construire le State Diagram d’une instance de la classe Course.
Considérer l’événement Faux Départ.
24 / 31
State Diagram: ex.2
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
25 / 31
State Diagram: ex. 3
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Le but de l’exercice est de décrire les différents états de la
situation professionnelle d’une personne et les transitions
correspondantes.
La personne peut être :
étudiante, salarié, sans activité, indépendante ou retraitée.
Au début de sa situation professionnelle, une personne est
étudiante.
Ne prenez pas en compte les activités simultanées comme la
possibilité d’être simultanément salarié et indépendant.
Construisez le diagramme d’états-transitions correspondant.
INDICE : Utilisez les conditions de garde pour différencier les
possibilités multiples
26 / 31
State Diagram: ex.3
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
27 / 31
State Diagram: ex. 4
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Represéntez par un diagramme d’états les états que peut
prendre un individu du point de vue de l’INSEE (Institut national
de la statistique et des études économiques)
Vivant, décédé, mineur, majeur, célibataire, marié, veuf, divorcé.
Il faut être majeur pour se marrier.
28 / 31
State Diagram: ex.4
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
29 / 31
State Diagram: ex. 5
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
Une course de chevaux peut se trouver dans les états suivants:
Attente du départ, Course en cours, Course Avant Mur, Saut
Mur, Course Avant Barrière, Saut Barrière, FinEpreuve.
Après l’ordre de départ et jusqu’au dernier saut, un concurrent
est dans l’état Concours.
À tout moment, il peut être disqualifié mais cette
disqualification doit être confirmée (par exemple, en cas de
contestation). Si elle est annulée, l’épreuve repart de l’état dans
lequel elle s’était arrêtée.
Construire le State Diagram d’une instance de la classe
Concurrent de l’épreuve.
30 / 31
State Diagram: ex.5
UML 2 Pratique
de la
modélisation
Fabio Roda, Leo
Liberti
31 / 31

Documents pareils

UML 2 Pratique de la modélisation

UML 2 Pratique de la modélisation Si le comportement de B peut être étendu par le comportement de A, on dit alors que A étend B. Cette relation est symbolisée par une flèche pointillée et le stéréotype  extend . Exemple :...

Plus en détail