Professional Documents
Culture Documents
1
Les diagrammes dactivits permettent de modliser
les traitements (adapts la modlisation des flots de
contrle et des flots de donnes).
2
Les diagrammes dtats-transitions : adapts aux
systmes ractifs et chaque diagramme est relatif une
classe (ou objet). Les diagrammes dactivits ne sont pas
rattachs une classe particulire. On peut attacher un
diagramme dactivits nimporte quel lment de
modlisation afin de visualiser ou de dcrire son
comportement.
4
Terminologie
5
Action, activit et Transition = lments principaux
dun diagramme dactivit.
6
Quelques types dactions utilises en UML
Action appeler (call operation) : invocation dune
mthode sur un objet (de manire synchrone ou
asynchrone).
Lorsque laction est excute, les paramtres sont
transmis lobjet appel.
8
Activit (activity) : dfinit un comportement
reprsent par une squence dactions. Le flot
dexcution est modlis par des nuds relis par des
arcs (les transitions).
9
Diffrents types de nuds dactivits
10
Nuds dactivit (activity node) et nuds de
contrle, graphiquement :
11
Nuds de contrle
12
nud de dcision ou de fusion,
nud initial
nud final
14
Nud de fusion (merge node) = nud de contrle qui
rassemble plusieurs flots entrants en un seul flot sortant.
Il nest pas utilis pour synchroniser des flots concurrents
(rle du nud dunion), mais pour choisir un flot parmi
plusieurs.
Graphiquement : idem quun nud de dcision :
15
Nud de bifurcation ou de dbranchement (fork
node) = nud de contrle qui spare un flot en
plusieurs flots concurrents. : il possde un arc entrant
et plusieurs arcs sortants.
Graphiquement :
16
Nud dunion ou de jointure (join node) = nud de
contrle qui synchronise plusieurs flots entrants : il possde
plusieurs arcs entrants et un seul arc sortant. Lorsque tous
les arcs entrants sont activs, larc sortant es activ.
Graphiquement, reprsent
comme un nud de bifurcation :
Remarque
Il est possible de fusionner un nud de bifurcation et un
nud dunion : trait plein avec plusieurs arcs entrants et
plusieurs arcs sortants :
17
Nud initial = nud de contrle partir duquel le flot
dbute lorsque lactivit est invoque.
Une activit peut avoir plusieurs nuds initiaux. Un nud
initial possde un arc sortant et pas darc entrant.
18
Nud de fin dactivit : lexcution de lactivit
enveloppante sachve et tout nud ou flot actif au sein de
lactivit enveloppante est abandonn.
Si lactivit a t invoque par un appel synchrone, un
message (reply) contenant les valeurs des paramtres de
sortie est retourn lappelant.
19
Nud initial
Desserrer frein
main
Nud de bifurcation
(fork)
Nud dunion
(jointure) Relcher pdale
dembrayage
Nud final 20
20
synchronisations Nud initial
Rceptionner
marchandise
Nud de bifurcation
(fork)
Nud dunion
(jointure)
enregistrer
Nud final 21
Exemple de branchement conditionnel IF THEN ELSE
(Nud de dcision)
DemanderTarif
Branchement conditionnel
Garde = expression conditionnelle
PayerLePrix DemanderDlai
22
Schmas quivalents : itration
rceptionnerArticle rceptionnerArticle
vrifierArticle
vrifierArticle
commanderArticle
23
Nud dexcution
= nud dactivit quon peut excuter (i.e. une activit). Il
gre galement les exceptions.
24
Nud dobjets
- Graphiquement :
26
Les transitions
Une transition matrialise le passage dune activit vers une
autre. Graphiquement, les transitions sont reprsentes par
des flches en traits pleins qui lient les activits entre elles.
27
Graphiquement :
Transition automatique
Activit-1 Activit-2
Exemple :
tablirFacture envoyerFacture
28
Exemple de diagramme dactivits : utiliser un DAB
insererCarte
saisirCode saisirMontant
[codeValide]
choisirOperation choisirCompteAcrediter
[retrait]
[depot]
saisirMontant vrifierProvisionCompte
afficherLesOffres
choisirCompteAcrediter
[nonAutoris]
insererCheque/Liquide
[autoris]
distribuerBillets
restituerCarte
29
client Couloirs dactivits (swimlanes) fournisseur
dpart
commanderProduit
commande
gererCommande
[passe]
recevoirProduit expedierProduit
Etat de lobjet
Flot dobjets
commande
reglerFacture encaisserFacture
[regle]
passerCommande verifierDisponibilit
Autre exemple
GrerCommande
consulterTarif
evaluerDevis
devis tablirDevis
[modifier]
[valider]
[annuler]
Facture
[mise] tablirFacture
prparerCommande
rglerFacture
Facture
[rgle] validePaiement
clturerDossier expdierCommande
31
Service comptable client
Exemple Simplifi:
Swimlanes (couloirs dactivits)
enregisterCommande
envoyerFacture
payerFacture
enregisterPaiement
32
Nud daction : Reprsentation de
dtecterArriveTrain
certaines actions de
Accept event
communication
qui ont une notation
spciale
faireClignoterFeux Send signal
abaisserBarrire
L. Audibert
M. Blay-Fornarino
Ch. Gnao
S. Grane
Wikipdia
34
35
Diagramme dtats-transitions
(diagramme dtats)
36
Un diagramme tats-transitions est un automate tats finis, qui dcrit les
diffrents tats par lesquels passe un objet (instance quelconque dune
classe) en rponse des vnements
dtermine les tats stables par lesquels passe le systme : parmi beaucoup
dtats caractrisant un systme, seuls quelques uns sont significatifs pour
le problme donn
37
Un objet est caractris par un ensemble dattributs, qui changent
de valeur au cours du temps.
CREATE DESTROY
tat-1 tat-n
38
Une transition est dclenche par un vnement :
l'arrive d'un vnement conditionne la transition
(la transition est automatique lorsqu'on ne spcifie pas
l'vnement qui la dclenche)
39
Graphiquement : Etat-Transition-vnement
CREATE DESTROY
vnement
tat-i tat-j
tat final
40
Evnement/action
Evnement / Action
41
Les 3 notions sur lesquelles est bas un
diagramme dtats :
2. vnement
42
Rmq : la dynamique du systme est modlise par plusieurs
diagrammes dtats-transitions.
tat final est un pseudo-tat qui indique la fin dun diagramme dtats.
(Comme dans un diagramme dactivits)
43
vnement
Un vnement se produit pendant lexcution du systme modlis. Les
diagrammes dtats-transitions permettent de spcifier les ractions dun
systme des vnements discrets (comme les signaux). Un vnement a une
dure ngligeable.
Quand un vnement est reu, une transition peut tre dclenche et faire passer
lobjet dans un autre tat.
Plusieurs types dvnements explicites et implicites : signal, appel de
mthode, <<signal>>
Interruption dE/S
gnr quand une condition (sur des valeurs dattributs) devient VRAIE.
syntaxe : when ( <condition_boolenne> )
45
4. vnement temporel : after ou when
46
Transition
Elle dfinit la rponse dun objet loccurrence dun vnement.
Souvent, elle relie deux tats.
Elle indique quun objet dans un tat E1 peut entrer dans ltat E2 et excuter certaines
activits, si un vnement dclencheur se produit et que la condition de garde est
vrifie.
Syntaxe : [ <vnement> ][ '[' <garde> ']' ] [ '/' <activit> ]
o garde est une expression boolenne sur les attributs de lobjet ou sur les
paramtres des vnements dclencheurs
47
Transition interne
Sont dclenches par des rgles similaires celles des transitions externe,
mais une transition interne ne possde pas dtat cible et ltat reste le mme
la suite du dclenchement.
Syntaxe = la mme que celle dune transition classique. Mais, les transitions
internes ne sont pas reprsentes par des arcs, elles sont spcifies dans un
compartiment. Exemple :
SaisieMotDePasse
48
Les transitions internes ont des noms prdfinis : entry, exit, do et include :
entry : permet de spcifier une activit qui sexcute quand on entre dans ltat.
exit : permet de spcifier une activit qui sexcute quand on sort de ltat.
49
Point de jonction
saisirFormulaire demanderConfirmation
[else]
afficherProblme
tat historique : est un pseudo-tat
qui mmorise le dernier sous-tat actif dun
tat composite.
Graphiquement : cercle contenant un H.
H* : pour reprsenter un tat historique
imbriqu.
reprise
H* after(3 mn)
lavage
schage
52
53