Sunteți pe pagina 1din 40

V2.

Universit de Nantes

tats-transitions et activits
Modle PowerPoint

Olivier LE MARREC olivier.lemarrec@gmail.com

[X5I0140]

Modlisation UML 1

Plan
Introduction Diagramme tats-transitions Diagramme dactivits Conclusion

1.! 2.! 3.! 4.!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Introduction Dans notre travail de dfinition des classes impliques dans les traitements mettre en uvre, il y a plusieurs techniques associes :
!!

!!

Les diagrammes de communication permettent de mettre laccent sur la structure relationnelle des classes. Les diagrammes de squences, quant eux, apportent un lment nouveau, le temps. Ils mettent en vidence lordre dans lequel les changes se font entre les classes.

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

tats-transitions et activits
Introduction La mise en place de ces diagrammes nous a fait apparatre des concepts dinformatisation : les contrleurs.
!!

!!

Ces lments assurent le pilotage du systme !! en contrlant les changes !! en prenant en charge la logique gnrale

!!

Les contrleurs sont dits actifs, par opposition passifs, qui dsignent des objets se contentant de rpondre une sollicitation. Si nous voulons dfinir de faon complte les classes impliques dans les traitements mettre en uvre, il nous faut imprativement :
!! !!

!!

analyser ces comportements, modliser ces comportements pour pouvoir les informatiser.

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Introduction Cette modlisation se fait grce deux types de diagrammes bien spcifiques
!!

!!

les diagrammes tats-transitions !! Reprsenter le cycle de vie des instances dune classe !! Spcifier les tats, les transitions entre ces tats et les actions associes aux transitions. !! Modlisation de certaines classes !! Formalisme utilis est emprunt aux Statecharts

!!

les diagrammes dactivits !! Comportement doprations dune classe !! Pour formaliser un processus dune organisation

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Plan
Introduction Diagramme tats-transitions Diagramme dactivits Conclusion

1.! 2.! 3.! 4.!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Ces diagrammes tats-transitions sont des automates hirarchiques, parallles, associs aux classes actives dont le comportement est volutif et quil est important de dcrire. Ces classes (associes un ou plusieurs automates) sont distingues graphiquement
!!

!!

!!

Une classe entoure est un contrleur, cest--dire une classe qui a un comportement dynamique

CLASSE1

CLASSE2

CLASSE3

CLASSE4

CLASSE1

CLASSE3

CLASSE2

CLASSE4

!
7

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Dfinitions
!!

!!

Une machine tats montre le comportement dynamique dun objet ou dune interaction, en terme dtats et de transitions entre ces tats en rponse aux vnements quil reoit Une machine tats est souvent attache une classe ou une mthode ; elle dfinit le comportement dynamique que partageront toutes les instances de cette classe Elle ne situe pas au mme niveau que les interactions dobjets qui dcrivent un scnario particulier

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Etat
!!

!!

Cest une tape du cycle de vie dun objet pendant laquelle !! il satisfait une condition, !! ou excute une action !! ou attend un vnement. un objet reste dans un tat donn pour une priode de temps finie, non instantane ( lchelle de temps de lapplication) A minima, il y a toujours au moins 1 tat : !! tat de dbut (unique): indispensable, tout objet commence dans cet tat
!!

!!

!!

Etat de fin (multiple) : pas indispensable (mais fortement recommand), passage oblig pour tout objet dtruire

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Etat
!!

!!

Un tat est reprsent de la manire suivante : !! Un cartouche didentification


!!

Un bandeau des actions, activits et inclusions Un bandeau tat Nom de l tat!


Entre : action! Faire : activit! Sortie : action!

!!

Nom de l tat!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

10

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Transition
!!

!!

Cest le passage dun tat un autre tat (ventuellement le mme), caus par larrive dun vnement Une transition est instantane ( lchelle de temps de lapplication) Elle se reprsente par une flche, gnralement nomme

!! !!

Nom de la transition!

Transitions

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

11

tats-transitions et activits
Diagramme tats-transitions > Dfinition Evnement
!!

!!

Cest quelque chose de remarquable qui survient un instant donn Cest un stimulus auquel lobjet doit rpondre, capable de dclencher une transition dun tat vers un autre. Un vnement na pas de dure ( lchelle de temps de lapplication)
Evnement(paramtres) [condition]/actions

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

12

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Evnement
!!

!!

Evnement : !! est souvent un message venant de l extrieur de l objet, qui figure sur les diagrammes de squence, !! est associ en gnral une transition. [condition] : !! optionnelle, !! appele garde de transition !! doit tre vrifie pour que l vnement soit pris en compte. /action : !! optionnelle, !! dcrit une action excuter (opration disponible dans l'objet dont on reprsente les tats) si lvnement survient et doit tre pris en compte.

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

13

tats-transitions et activits
Diagramme tats-transitions > Dfinition Evnement
!!

!!

Il existe diffrents types dvnements :


!!

demande dopration ou rception dun signal explicite envoy par un autre objet : nom_evt(paramtres) changement dune condition boolenne ou valuation dune date : when(expression) puisement dun dlai temporel : after(expression)

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

14

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Garde
!!

!!

Note entre [ ]. Cest une expression boolenne, paramtre de lvnement dclencheur de la transition entre 2 tats. Pour que la transition soit franchie, il faut que lvnement survienne et que la condition soit vraie. Attention : la condition porte sur une valeur. Ce nest pas un vnement

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

15

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action
!!

!!

Opration instantane associe un vnement, qui provoque le changement dtat de lobjet. Elle est note par un / qui prcde le nom de laction. Elle peut concerner des attributs ou des liens de lobjet propritaire du diagramme. Laction dans sa totalit est excute sur le franchissement de la transition.

!! !!

!!

Il pleut / ouvrir parapluie

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

16

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > exercice Enonc
Nous allons tenter de dcrire la vie des tudiants de la MIAGE de Nantes, exprime au travers dun ensemble dtats et de transitions entre ces tats. !! La scolarit dure trois ans. Nous allons, dans un premier temps, associer un tat chaque anne. Nous appellerons ces tats EnPremireAnne, EnDeuximeAnne et EnTroisimeAnne. !! Plusieurs vnements peuvent survenir durant le parcours des tudiants. Voici ceux qui ont t recenss : !! Admission (qui conditionne le passage dans lanne suprieure ou la dlivrance du diplme final), !! Redoublement (qui maintient ltudiant au mme niveau), !! Exclusion (qui interrompt la scolarit de ltudiant), !! Slection (pour lentre en premire anne) !! Abandon. Ce dernier vnement, qui peut survenir nimporte quand durant la formation, entrane la disparition de ltudiant de la MIAGE.
!!

!!

!!

Question
!!

dcrivez par un diagramme non hirarchique la vie dun tudiant


tats-transitions et activits

Universit de Nantes Olivier LE MARREC

17

tats-transitions et activits
Diagramme tats-transitions > exercice Restitution

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

18

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action dans les tats
!!

!!

Les actions propres un tat peuvent aussi tre documentes directement l'intrieur de l'tat. UML dfinit un certain nombre de champs qui permettent de dcrire les actions dans un tat Il y a diffrents types dactions : !! entry !! exit !! do !! on !! include

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

19

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action
!!

!!

Entry !! laction sera excute chaque entre dans ltat, quelque soit lvnement dclenchant lentre. Lorsque laction est termine, lobjet reste dans ltat, en attente. Authentication!
EVT1!

Entre : ne pas afcher les entres clavier!


EVT2!

EVT3!

Si EVT1, EVT2 ou EVT3 survient, on excute l action.


Universit de Nantes Olivier LE MARREC

tats-transitions et activits

20

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action
!!

!!

Exit !! laction sera excute chaque sortie de ltat, quelque soit lvnement dclenchant la sortie.

Authentication!
EVT5!

Sortie : rafcher les entres clavier!

EVT3!

Si EVT5 ou EVT3 survient, on excute l action


Universit de Nantes Olivier LE MARREC

tats-transitions et activits

21

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action
!!

!!

Do
!!

laction excute est significative ou rcurrente dans l'tat

Authentication!
Faire : vrier mot de passe!

Lorsque l automate est dans l tat, il excute l action


Universit de Nantes Olivier LE MARREC

tats-transitions et activits

22

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action
!!

!!

On
!!

laction est associe un vnement interne. Attention, les actions attaches aux clauses "entry" et "exit" ne sont pas excutes si l'vnement spcifi dans la clause "on" survient.

Authentication!
Quand aide : afcher l aide!

Lorsque l automate est dans l tat, si l vnement survient, l action sera excute
Universit de Nantes Olivier LE MARREC

tats-transitions et activits

23

tats-transitions et activits
Diagramme tats-transitions > Dfinition Action
!!

!!

Include !! Avec un tat composite form de plusieurs tats disjoints masqus, il est ncessaire dindiquer quelque part quel automate est inclus dans cet tat composite. Cette notation introduit une invocation dun sousautomate.

Authentication!
Inclure : Automate X!

Lorsque l automate est dans l tat, l automate inclus pourra tre activ
Universit de Nantes Olivier LE MARREC

tats-transitions et activits

24

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Composition (simultane) de plusieurs sous-tats, appels rgions

!!

Exemple dun pilote davion dun aroclub.


!!

Celui-ci doit, pour voler sur un des avions de ce club, remplir deux conditions : il doit dabord tre en bonne sant (celle-ci tant avre par un mdecin lors de visites mdicales rgulires). ET !! Il doit ensuite avoir un compte approvisionn.
!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

25

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats

!!

[NBH > 300h]!

inapte!
[OK] VISITE! [pas OK] VISITE!

apte! PointDeVueAviateur!
[SOLDE ! 0] VOL!

PointDeVueClient! solvable!

dbiteur!
[ASSEZ] DEPOT! [pas ASSEZ] DEPOT!

[SOLDE > 0] VOL!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

26

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Un pilote pourra donc tre (liste de toutes les combinaisons possibles) : !! inapte et solvable (IS) !! inapte et dbiteur (ID) !! apte et solvable (AS) !! apte et dbiteur (AD) Cest--dire quil peut tre vu de la manire suivante :

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

27

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
[pas OK] VISITE! [pas OK] VISITE! [ASSEZ] DEPOT!

!!

[pas ASSEZ] DEPOT!

ID!
[OK] VISITE! [NBH > 300h]!

IS!
[NBH > 300h]! [OK] VISITE!

[SOLDE ! 0] VOL!

AD!
[pas ASSEZ] DEPOT!

[ASSEZ] DEPOT!

AS!
[SOLDE > 0] VOL!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

28

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Ces deux modles sont deux vues diffrentes qui expriment le mme systme (problme) !! Cest un choix de modlisation

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

29

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Dbut !! Lorsquon arrive sur un tat-automate parallle, tous les automates internes dmarrent par leur tat initial.

Y.1.1! PointDeVueX! PointDeVueY! Y.2.1!

X!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

30

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Dbut !! Lorsquon arrive sur un tat-automate parallle, tous les automates internes dmarrent par leur tat initial.

Y.1.1! PointDeVueX! PointDeVueY! Y.2.1!

X!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

31

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Fin
!!

La fin dun tel tat-automate est ralise lorsque tous les automates internes ont termin leur vie.

Y.1.5!

A!

PointDeVueX! PointDeVueY! Y.2.7!


B!

Z!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

32

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Fin
!!

La fin dun tel tat-automate est ralise lorsque tous les automates internes ont termin leur vie.

Y.1.5!

A!

PointDeVueX! PointDeVueY! Y.2.7!


B!

Z!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

33

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Fin
!!

La fin dun tel tat-automate est ralise lorsque tous les automates internes ont termin leur vie.

Y.1.5!

A!

PointDeVueX! PointDeVueY! Y.2.7!


B!

Z!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

34

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Court-circuit !! Il est possible de changer ces deux contraintes en manipulant des transitions inter-niveaux. !! Ce procd est clairement dconseill Entre

!!

Y.1.1!

Y.1.2! PointDeVueX! PointDeVueY!

X! Y.2.1!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

35

tats-transitions et activits
Diagramme tats-transitions Concurrence dtats
!!

!!

Court-circuit !! Il est possible de changer ces deux contraintes en manipulant des transitions inter-niveaux. !! Ce procd est clairement dconseill Sortie

!!

Y.1.x!

Y.1.5!

A!

PointDeVueX! PointDeVueY! Y.2.7!


B!

Z!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

36

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs Les diagrammes tats-transitions dUML sont des automates hirarchiques parallles avec les particularits suivantes :
!! !! !! !! !!

!!

Transitions composites tats composites tats historiques tats de synchronisation tats et transitions hrits

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

37

tats-transitions et activits
Diagramme tats-transitions > Elments avancs Transitions composites
!!

!!

Lobjectif essentiel de cette extension est clairement la factorisation. Une transition composite est constitue de trois parties : !! un point de jonction !! une ou plusieurs transitions situes en amont !! une ou plusieurs transitions situes en aval

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

38

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs Transitions composites
!!

!!

Le point de jonction peut tre : !! Statique : Evaluation des gardes avant le franchissement de la transition !! Dynamique : Evaluation des gardes lorsque le point de jonction est atteint

La transition X n est activ que si l une des branches est activable


Universit de Nantes Olivier LE MARREC

La transition X est active, ce n est qu au niveau du point de choix que l on regarde si une des transitions est activable.
39

tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs Transitions composites
!!

!!

Le point de jonction peut tre : !! Un dbranchement : diviser des transitions !! Une jointure : regrouper des transitions

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

40

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats composites
!!

!!

Afin de faciliter la lecture, un tat peut tre compos de plusieurs sous-tats

A!
E2!

E1!

B! X!
E2!

A!

E1!

B!

E2!

C!

C!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

41

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats composites
!!

!!

Il est possible de masquer le contenu dun tat-automate, tout en signalant son existence, en employant une icne spcifique :

X!
E2!

C!

A!

E1!

B!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

42

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats composites
!!

!!

La transition dentre dun tat composite ne concerne quun seul sous-tat Sans jeton de fin, la transition de sortie dun tat composite sapplique tous ses sous-tats

!!

A!
B2!

B1!

C!

B3!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

43

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats composites
!!

!!

Le masquage peut poser des problmes en cas de transitions interniveaux. Il faut alors pouvoir exprimer le fait que la transition arrive sur un tat prcis. Ceci se matrialise grce aux souches, que lon peut nommer ou non

!!

automA::tat1 ! tat2 !

non nomme !
Universit de Nantes Olivier LE MARREC

Souches nommes !

tats-transitions et activits

44

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats composites
!!

!!

Pour rappel, lutilisation de transitions inter-niveaux est fortement dconseill car elles complexifient la comprhension des modles.

B1!

C!

A!

B2! B3!

C! A!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

45

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats historiques
!!

!!

Dans un automate hirarchique, le plus difficile cest de remonter . En UML, la rgle par dfaut est la reprise ltat initial. Si lon veut revenir dans ltat quitt lors de la descente , il faut mettre en uvre un mcanisme spcifique de mmorisation. Ce mcanisme conduit utiliser des tats historiques.

!!

!!

H!

H*!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

46

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats historiques
!!

!!

H!

Un tat historique, galement qualifi dtat historique plat, est un pseudo-tat qui mmorise le dernier sous-tat actif dun tat composite. Une transition ayant pour cible ltat historique est quivalente une transition qui a pour cible le dernier tat visit de ltat englobant. Graphiquement, il est reprsent par un cercle contenant un H.

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

47

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats historiques
H!

!!

H = <vide> H = 2.1
2.3! 3! 2.4! 2.2.2! 2.2.3! H! 2.2!

H = 2.2

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

48

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats historiques
!!

!!

H*!

Il est galement possible de dfinir un tat historique profond reprsent graphiquement par un cercle contenant un H*. Cet tat historique profond permet datteindre le dernier tat visit dans la rgion, quel que soit sont niveau dimbrication, alors que le ltat historique plat limite laccs aux tats de son niveau dimbrication. Graphiquement, il est reprsent par un cercle contenant un H*.

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

49

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats historiques
H*!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

50

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats de synchronisation
!!

!!

Dans un tat composite form dtats concurrents, il est parfois ncessaire de synchroniser des transitions appartenant des sousautomates diffrents. Cest le rle des tats de synchronisation. Dans ltat de synchronisation, il peut y avoir un nombre ou un astrisque (*). Il sagit dune limite sur le nombre de dclenchements de la transition de sortie.

!!

A!

B!

X!

Y!

!!

on ne peut quitter X pour Y que si dans le mme temps, on quitte A


51

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats de synchronisation
!!

!!

Dans un tat composite form dtats concurrents, il est parfois ncessaire de synchroniser des transitions appartenant des sousautomates diffrents. Cest le rle des tats de synchronisation. Dans ltat de synchronisation, il peut y avoir un nombre ou un astrisque (*). Il sagit dune limite sur le nombre de dclenchements de la transition de sortie.

!!

A!

B!

X!

Y!

!!

on ne peut quitter X pour Y que si dans le mme temps, on quitte A


52

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats et transitions hrits
!!

!!

Les automates dcrivent le comportement de classes. Celles-ci peuvent tre relies les unes aux autres par des relations dhritage. Il est donc possible, pour une classe fille, hriter dun comportement dune classe mre Exemple : !! Gestion des runions dune association

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

53

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats et transitions hrits
!!

!!

Comportement de la classe Runion

/ PROGRAMMER!

Prvue!
MATIN / DTAILS ?!

Passe!
[DATE_JOUR < DATE_PREVUE - DELAI]! [DATE_JOUR = DATE_PREVUE - DELAI]" CONVOCATION / MODIF_ETAT!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

54

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > Elments avancs tats et transitions hrits
!!

!!

Comportement de la classe AG

Clture!

[>= 2 / 3] / MODIF_ETAT!

/ PROGRAMMER!

[< 2 / 3] / MODIF_DATE et MODIF_ETAT!

Prvue!
MATIN / DTAILS ?! FERMETURE_BUREAU " / NB_VOTANTS ?!

Passe!
[DATE_JOUR < DATE_PREVUE - DELAI]! [DATE_JOUR = DATE_PREVUE - DELAI]" CONVOCATION / MODIF_ETAT!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

55

tats-transitions et activits
Diagramme tats-transitions Exemple
Etat Evnement Evnement Temporel

!!

Dbut

Garde

Transition

Fin
Universit de Nantes Olivier LE MARREC

tats-transitions et activits

56

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions Exemple

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

57

tats-transitions et activits
Diagramme tats-transitions > exercice Enonc
Nous allons tenter de dcrire la vie des tudiants de la MIAGE de Nantes, exprime au travers dun ensemble dtats et de transitions entre ces tats. !! La scolarit dure trois ans. Nous allons, dans un premier temps, associer un tat chaque anne. Nous appellerons ces tats EnPremireAnne, EnDeuximeAnne et EnTroisimeAnne. !! Plusieurs vnements peuvent survenir durant le parcours des tudiants. Voici ceux qui ont t recenss : !! Admission (qui conditionne le passage dans lanne suprieure ou la dlivrance du diplme final), !! Redoublement (qui maintient ltudiant au mme niveau), !! Exclusion (qui interrompt la scolarit de ltudiant), !! Slection (pour lentre en premire anne) !! Abandon. Ce dernier vnement, qui peut survenir nimporte quand durant la formation, entrane la disparition de ltudiant de la MIAGE.
!!

!!

!!

Question
!!

Simplifiez le modle obtenu prcdemment


tats-transitions et activits

Universit de Nantes Olivier LE MARREC

58

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme tats-transitions > exercice Restitution

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

59

Plan
Introduction Diagramme tats-transitions Diagramme dactivits Conclusion

1.! 2.! 3.! 4.!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

60

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme d activits Dfinitions
!!

!!

UML permet de reprsenter graphiquement le comportement d'une mthode, le droulement d'un cas d'utilisation ou dun processus mtier, l'aide de diagrammes d'activits. Expression du flux de contrle, comme un diagramme de squences, mais avec une attention particulire sur les oprations plutt que les objets. Un diagramme dactivits est un diagramme tats-transitions dans lequel les tats sont des activits. !! De ce fait, toutes les rgles prsentes prcdemment sont applicables ces diagrammes

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

61

tats-transitions et activits
Diagramme d activits > Dfinition Activit
!! !!

!!

tape particulire dans l'excution Une activit peut tre composes dautres activits !! La notation diffre quelque peut dun diagrammes dtats-transitions X!

!!

Contrairement au diagramme tats-transitions, il ny a pas dobligation dunicit des noms donns aux tats.
A

!
C

!
A

!
62

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme d activits > Dfinition Transition
!! !!

!!

Les activits sont relies par des transitions automatiques Inutile d'indiquer un nom d'vnement Action1! Action2 !

!!

Les gardes sont mutuellement exclusives et exhaustives


Action1! [c1]! [c2]!

Action2!

Action3!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

63

tats-transitions et activits
Diagramme d activits > Dfinition Point de jonction
!! !!

!!

Le point de jonction est reprsent par un losange Le point de jonction peut tre : !! Un dbranchement : diviser des transitions !! Une jointure : regrouper des transitions Il existe une garde par dfaut, [sinon], qui permet dindiquer ce quil faut faire si toutes les autres conditions ne sont pas ralises.
Action1! [c1]! [sinon]!

!!

Action2!
Universit de Nantes Olivier LE MARREC

Action3!
64

tats-transitions et activits

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme d activits > Dfinition Synchronisation
!!

!!

Une synchronisation peut tre utilise au niveau des points de jonction.


Action1!

Action2!

Action3!

Action4!
Universit de Nantes Olivier LE MARREC 65

tats-transitions et activits

tats-transitions et activits
Diagramme d activits > Elments avancs Les diagrammes dactivits permettent aussi de faire ressortir des informations complmentaires :
!! !! !!

!!

Les signaux mis et traits Les objets manipuls Le partage des responsabilits

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

66

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme d activits > Elments avancs Signaux
!!

!!

Lors de la ralisation du traitement, il est peut tre utile de manipuler des messages (sigaux)

!!

Signal mis !! Emission dun signal vers lextrieur par une activit

!!

Signal reu !! Rception par une activit dun signal extrieur

!!

Temporisation

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

67

tats-transitions et activits
Diagramme d activits > Elments avancs Signaux

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

68

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme d activits > Elments avancs Objets
!!

!!

Un flux dobjet reprsente la participation dun objet dans un flux de contrle. Les flux dobjets sont reprsents par des relations de dpendance entre objets et tats daction ou dactivits.

!!

tablir le devis!

d : Devis

Commander!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

69

tats-transitions et activits
Diagramme d activits > Elments avancs Objets
!!

!!

Les changements dtats de ces objets peuvent figurer dans les schmas

tablir le devis!

c : Commande [passe]

Facturer!

! !

Livrer!

c : Commande [paye]

Payer!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

70

Modlisation UML tats-transitions et activits

tats-transitions et activits
Diagramme d activits > Elments avancs Responsabilits
!!

!!

Afin d'organiser un diagramme d'activits selon les diffrents responsables des actions reprsentes, il est possible de dfinir des couloirs d'activits. Un couloir regroupe visuellement les activits qui ont des affinits smantiques. Une activit appartient un et un seul couloir, mais les transitions peuvent franchir les couloirs.

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

71

tats-transitions et activits
Diagramme d activits > Elments avancs Responsabilits

!!

client!
Se renseigner!

vendeur!

tablir le devis!

d : Devis

Commander!

!!

La position des objets dans ce type de schma nest pas significative.


tats-transitions et activits

Universit de Nantes Olivier LE MARREC

72

Modlisation UML tats-transitions et activits

Plan
Introduction Diagramme tats-transitions Diagramme dactivits Conclusion

1.! 2.! 3.! 4.!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

73

tats-transitions et activits
Conclusion Diagrammes tats-transitions et diagrammes dactivits servent prciser le comportement des objets actifs. Les diagrammes tats-transitions,
!!

!!

!!

en dcrivant le cycle de vie dun objet (au travers des vnements perus, des actions ralises la suite de leur perception, des transitions dun tat lautre), participent la comprhension du systme et des objets complexes .

!!

Les diagrammes dactivits,


!!

initialement prvus pour dcrire ce qui se passe lorsquun objet est dans un tat donn, servent aussi reprsenter un traitement rparti entre plusieurs objets. Cest alors un mlange de squences et dactivits.

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

74

Modlisation UML tats-transitions et activits

tats-transitions et activits
Conclusion Un diagramme tats-transitions dcrit :
pour une classe donne, les diffrents tats par lesquels elle passe, ainsi que les changements possibles !! les actions ralises lorsque les objets sont dans un tat donn et/ ou lors dune transition.
!!

!!

!!

Un diagramme dactivits dcrit :


!! !!

pour une classe et un tat donn, les actions ralises. et reprsente un organigramme, voire un algorithme.

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

75

tats-transitions et activits
Conclusion La phase danalyse sachve avec la production :
!!

!!

Dun diagramme de cas dutilisation !! Pour chaque cas dutilisation, une description textuelle et, si ncessaire, la mise en place de scnarios (diagramme de squences simplifi) Dun diagramme de classes complet enrichi au fur et mesure !! De nouveaux concepts (classes) apparaissent !! Des nouveaux types sont manipuls (EnsembleDeXXX, GestionDeXXX, etc.) De lensemble des diagrammes dinteraction !! Squences ou communication Quelques diagrammes tats-transitions et dactivits !! Relatifs aux classes actives.

!!

!!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

76

Modlisation UML tats-transitions et activits

tats-transitions et activits
Conclusion Cette phase danalyse peut tre complte par
une tude (peu pousse) des interfaces, une vrification de la cohrence (indispensable !), !! des mesures (pour valuer la qualit des modles produits), !! un prototype, bas que les diagrammes dinteraction.
!! !!

!!

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

77

Notes et rfrences
Lusage de ce document est soumis lautorisation crite de son auteur : olivier.lemarrec@gmail.com

!!

!!

Certains lments ou exemples ont t raliss avec le concours de M. Vailly, matre de confrence la Facult de Science et des Techniques.

Universit de Nantes Olivier LE MARREC

tats-transitions et activits

78

Modlisation UML tats-transitions et activits

V2.1

Universit de Nantes

tats-transitions et activits
Fin

Olivier LE MARREC olivier.lemarrec@gmail.com

[X5I0140]

Modlisation UML 79

Modlisation UML tats-transitions et activits

S-ar putea să vă placă și