4 - Etats Transitions
4 - Etats Transitions
4 - Etats Transitions
Cours
Mohammed BEKKALI
[email protected]
ENSAM-Rabat
Université Mohamed V
Diagramme d’Etat Transition
Sommaire
◦ Présentation du diagramme
◦ Les états
◦ Les transitions / événements
◦ Les actions / activités
◦ Les points de décision
◦ Les états composite
◦ Exemples de synthèse
Allumé
pression pression
Éteint
◦ Si les diagrammes de séquences regroupent tous les objets impliqués dans un unique cas d’utilisation, les
diagrammes d’états indiquent tous les changements d’états d’un seul objet à travers l’ensemble des cas
d’utilisation dans lequel il est impliqué.
◦ Les diagrammes d’états identifient pour une classe donnée le comportement d’un objet tout au long de son
cycle de vie (de la naissance ou état initial, à la mort ou état final).
◦ Pour connaitre l’état d’une personne à un moment bien déterminé, il faut étudier la conjonction suivante:
◦ L’âge de la personne
◦ La présence d’un lien vers société
◦ Il y a pas de lien entre Pers1, âgé de 30 ans, et une société : Pers1 est donc en chômage.
◦ Pers2, quant à lui, possède un lien vers une société et est âgé de 40 ans : Pers2 est donc en activité.
◦ Pers3, enfin, ne possède pas de lien vers une société et est âgé de 75 ans : Pers3 est donc à la retraite.
Représentation graphique
État Courant
Représentation graphique
Événement
Événement 2
État 1 État 2
1
poubelle
Livre libre
emprunt
Livre réservé Livre prêté
Au chômage
embauche perte
d’emploi
manque de
compétence > 60
En formation En activité En retraite
validation de
compétence
◦ Un événement sert de déclencheur pour passer d’un état à un autre. Les transitions indiquent le chemin dans le
graphe des états. Les événements déterminent quels chemins doivent être suivis.
◦ Les événements, les transitions et les états sont indissociables dans la description du comportement dynamique.
Un objet, placé dans un état donné, attend l’occurrence d’un événement pour passer dans un autre état.
Événement [Garde]
État 1 État 2
Exemples
◦ L’événement anniversaire fait passer la personne de l’état Mineur à l’état Majeur, si l’âge est 18 ans,
Anniversaire [age = 18]
Mineur Majeur
Représentation Graphique
Exemple
SaisieMotPasse
entry / set echo invisible
do / afficher aide
exit / set echo normal
Exemple
◦ Les deux états A et B ne sont pas équivalents
m1 / activité
A B
entry / activité d’entrée entry / activité d’entrée
m1 / activité exit / activité de sortie
exit / activité de sortie
◦ Les points de jonction (petit cercle plein) permettent de partager des segments de transition.
Ils ne sont que des raccourcis d'écriture.
Ils permettent des représentations plus compactes.
◦ Les points de choix (losange) sont plus que des raccourcis d'écriture.
[b = 0]
État 4 État 4
[b < 0]
État 2 État 5 État 2 e2 [a >0] État 5
e2 [a >0 and b > 0]
Exemple
Représentation Graphique
E1 E1
A B A B
E2 E2 E2
C C
Branché
Brancher
Débranché Éteint Power
Power Power
Allumé
Déconnecter
Débrancher
Connecté Connecter
◦ Les transitions peuvent avoir pour cible la frontière d'un état composite. Elle sont alors équivalentes à une transition
ayant pour cible l'état initial de l'état composite.
◦ Une transition ayant pour source la frontière d'un état composite est équivalente à une transition qui s'applique à
tout sous-état de l'état composite source.
Vivant
Majeur
Divorcer Se marier
Divorcé
Décéder
Décédé
Etat 2
Etat 1
Etat 21
Etat 11
event1 / action1 initialiser() Etat 22
exit / quitterE11
entry / entreeE22
◦ H* désigne un historique profond, c’est à dire un historique valable pour tous les niveaux d'imbrication. H*
En marche
rétablir le coupure de
courant courant
Éteint
BoissonSelectionnee
PreparerBoisson TerminerPréparation
entry / placerGoblet () do / ajouterSucre ()
do / servirLiquide () exit / signalSonore()
RendreMonnaie
entry / monnaie = credit – boisson.prix()
do / monnayeur.rendre(monnaie)
Exemple
PreparerBoisson TerminerPréparation
entry / placerGobelet () do / ajouterSucre ()
do / servirLiquide () exit / signalSonore() GobeletBloque
Nominal do / afficher («Retirer Boisson»)
RendreMonnaie
entry / monnaie = credit – boisson.prix()
do / monnayeur.rendre(monnaie)
[Gobelet Retiré]
Corrigé
Verrouillée
fermer verrouiller
Déverrouillée Simple Tour Double Tour
ouvrir déverrouiller
◦ Une fenêtre peut être dans trois états : réduite, normale, agrandie.
◦ Lorsqu’elle est réduite, elle est représentée par une icône dans la barre des tâches.
◦ Lorsqu’elle est agrandie, elle occupe toute la surface disponible de l’écran et ne peut être déplacée ou
redimensionnée.
Corrigé
Créé
Ouverte
maximiser()
Normale Agrandie
minimiser(
)
dimensionner
positionner()
() H
minimiser() afficher()
Réduite
◦ capacité fixe
◦ ajouter(c,v) : ajoute si clé absente, écrase si clé présente ajout au-delà de la capacité interdit
Corrigé
Transition
◦ Est le passage entre à un état et un autre / ou vers lui-même, et elle est représenté par une flèche à trait plein
◦ L'événement déclencheur est indiqué à côte de la èche représentant la transition
◦ Une transition peut être ornée d’une condition qui la déclenche (une garde)
◦ Une transition peut avoir plusieurs chemin grâce aux points de choix
◦ Une action est attachée à une transition, c’est un traitement bref et atomique et non interruptible
◦ Une activité est attaché à un état, elle prend du temps d’exécution et peut être interrompue par l’arrivée d’un événement