Telechargé par Mourad Ghabouch

UML EtatTransition-P

publicité
Introduction
Conception Orientée Objet

Les objets d’une classe ne sont …………...…….…. :
 Ils peuvent évoluer et changer d’ ……………. au cours
de leur cycle de vie (CV : intervalle de temps entre
la création et la suppression de l’objet)
III. Diagrammes d’Etats – Transitions
Rafik BOUAZIZ
FSEG – Sfax
--

Faïez GARGOURI
ISIM – Sfax
R. BOUAZIZ -- F. GARGOURI
114
Introduction

Un DET est une description des …………….………..
d'états d'un objet (ou d'un composant) :
115
 Un
DET d’une classe est une description
des …………….………… possibles de ses objets.
Il donne :
 la liste des ……………… que peut prendre un objet
objets/composants ou avec des acteurs.

R. BOUAZIZ -- F. GARGOURI
Introduction
 en réponse aux interactions avec d'autres

Un diagramme d’états – transitions (DET)
permet d’étudier l’aspect …………….……….. d’une
classe, compte tenu de l’importance de son
comportement.
durant son CV ;
Une classe n’a pas obligatoirement un DET,
comme elle peut en avoir plusieurs, selon
différentes sémantiques.
 les …………….…………….. déclenchant les
changements d’états ;
 les éventuelles
…………….…………
qu’il doit vérifier
avant de changer d’état ;
L'ensemble des DET forme une partie du
modèle dynamique du SI modélisé.
 les …………….………… qui le font passer d'un état à
un autre.
R. BOUAZIZ -- F. GARGOURI
116
R. BOUAZIZ -- F. GARGOURI
117
1
Sémantique

L’état d’un objet
Les conventions graphiques représentant un
changement (une transition) d’états sont :
Etat i
Evt([Att]) [Condition(s)]/Action

L’état d’un objet est une …………….……… donnée
durant la vie de cet objet.
 Dans un état donné, l’objet satisfait à des
conditions, réalise des actions, ou il est tout
simplement en attente d’événements.
Etat j
 L’état d'un objet est déterminé par l’ensemble des
Ta
valeurs de ses attributs et de la présence de liens
avec d’autres objets.
A l’instant Ta , suite à l’arrivée d’un événement Evt,
ayant les attributs Att, et sous certaines conditions
Conditions, l’objet passe de l’Etat i à l’Etat j par
l’activation de l’action Action.
R. BOUAZIZ -- F. GARGOURI
 Un état se caractérise par sa durée et sa stabilité.
118
L’état d’un objet
R. BOUAZIZ -- F. GARGOURI
119
L’état d’un objet
 Dans un DET, on distingue deux états particuliers :

Remarques :
 La seule opération possible, partant de l’état initial
est la …………….……..
L’état …...….…. : état avant la création de l’objet
 Aucune transition ne peut avoir comme origine
L’état ……..…. : état après la destruction de l’objet
l’état final.
 Les opérations conduisant à un état final sont, par
exemple, la …………….……………, le nettoyage, ...
1. L’état initial correspond à l’état dans lequel se trouve
l’objet avant sa création.
 Dans un DET, on peut ne pas avoir un état final,
comme on peut avoir plusieurs états finaux.
2. L’état final correspond à un état à partir duquel l’objet ne
peut plus évoluer.
R. BOUAZIZ -- F. GARGOURI
120
R. BOUAZIZ -- F. GARGOURI
121
2
Les événements

Les événements
Un …………….………. correspond à l’occurrence
d’un …….. particulier dans le domaine d’étude.

Evénement …………….…. :
 C’est une information instantanée.
 Typologie des événements :

Evénement …………….…. :
 Déclenché par un acteur externe au domaine
de l’application.
 Exemple : l’arrivée d’un bon de commande
client.
R. BOUAZIZ -- F. GARGOURI

122
Les événements


Déclenché par un acteur un objet interne du
domaine de l’application.

Exemple: une Demande d’Achat dans une
gestion des approvisionnements.
Evénement …………….……. :

Déclenché selon une condition temporelle.

Exemple : Supprimer toute réservation non
confirmée 24 heures avant la date de fin de
réservation.
R. BOUAZIZ -- F. GARGOURI
123
Les transitions

La spécification complète d’un événement
comprend :
 le nom de l’événement,
 la liste des paramètres éventuels,
 l’objet expéditeur,
 l’objet destinataire,
 la description de la signification de l’événement.
Une …………….……….. représente le passage
instantané d'un état vers un autre.
Etat i
Evt([Att]) [Condition(s)]/Action
Etat j
 Elle est déclenchée par un événement : c’est l'arrivée

Généralement :
d'un événement qui conditionne la transition.
 On se limite à donner le nom de l’événement.
R. BOUAZIZ -- F. GARGOURI
124
R. BOUAZIZ -- F. GARGOURI
125
3
Les transitions
Les transitions

 Elle peut être conditionnée à l'aide de " …………….." :
Une garde (ou condition de garde) :
 Est
une condition booléenne dont dépend le
déclenchement d’une transition lors de l’occurrence
d’un événement.
expressions booléennes, exprimées en langage
naturel,
 encadrées par des crochets.

Evt [Garde]
Etat A
Entrée Stock
Disponible
Sortie Stock
[QteDispo>=QteMin]
Sortie Stock
[QteDispo<QteMin]
 Est
évaluée dès l’arrivée de l’événement de
déclenchement.
¬ Disponible
Il fait trop
chaud [été]
Etat A
Climatisée
R. BOUAZIZ -- F. GARGOURI
126
Les transitions

Il fait trop
chaud [hiver]
Aérée
R. BOUAZIZ -- F. GARGOURI
127
Les transitions
Les …………….….

Les …………….……
 Une activité est un calcul non-atomique qui se
 Les actions spécifiées dans une transition sont les
produit pendant qu’un objet est dans un état
donné.
actions à exécuter lors du déclenchement de la
transition par l’événement.
 L’activité peut être interrompue par la survenance
 Chaque action est instantanée et atomique, donc
d’un nouvel événement.
ininterruptible.
 Exemple : quand un objet est en rupture de stock
 Une action peut comporter des appels d’opération,
et qu’une activité de réapprovisionnement a été
lancée, l’arrivée d’une entrée de stock peut
interrompre cette activité
(si QteDispo devient > QteMin)
la création ou la destruction d’un objet, ….
R. BOUAZIZ -- F. GARGOURI
Etat B
128
R. BOUAZIZ -- F. GARGOURI
129
4
Les transitions

Les transitions
 Les points de jonction
Les transitions …………….……………. :
gardes notées après le point d’interaction sont
évaluées ………… que la transition ne soit empruntée.
 factorisent et partagent des connexions :


OF :
Plusieurs transitions peuvent se rejoindre pour
partager des actions.
Une transition peut se ventiler en des connexions
mutuellement exclusives.
Vérification
Vérification
[pièces
manquantes]
[toutes les
pièces fournies]
Incomplet
 Les points de jonction
gardes situées après le point de jonction sont
évaluées …………….… le point de jonction est atteint.
Commande
En instruction
Validation/ somme := Prix()
Vérification
OU
[pièces
manquantes]
Incomplet
[toutes les
pièces
fournies]
[somme=0]
130
Concepts avancés sur les états
: action à exécuter dès l’entrée à un état.

…………….….
R. BOUAZIZ -- F. GARGOURI
131
On peut préciser les actions à exécuter quand l’objet est à
un état donné : Exemple
Nom de l’état
: activité à exécuter pendant qu’un objet
est dans un état particulier.

…………….

…………………….
: introduit une invocation d’un
sous-automate
Entrée / action en entrée
Sortie / action à la sortie
Faire / une activité
Inclure/ un sous-automate
action interne provoquée par un événement
sans provoquer un changement d’état.
R. BOUAZIZ -- F. GARGOURI
Compte à vérifier
Cde traitée
: action à exécuter lors de la sortie
d’un état.

Cde Annulée
Concepts avancés sur les états
On peut préciser les actions à exécuter quand un objet
est à un état donné :
……………..
[sinon]
[somme<500]
En instruction
R. BOUAZIZ -- F. GARGOURI

…………….….…. :
 Les
Ouvert
Ouvert
…………….…. :
 Les
En préparation
Entrée / choisirFournisseur()
Entrée / fixerQuantités()
Faire / modifierCommande()
Sortie / EnregistrerDateExpédition()
Etat « En préparation »
d’une commande
132
R. BOUAZIZ -- F. GARGOURI
133
5
Concepts avancés sur les états

Concepts avancés sur les états
Etat …………….………… (ou composé)
Exemple :
 Un état composite est décomposé en sous-états.
 Un sous-état est un état emboîté dans un état
Non-disponible
composite.
Disponible
 Les sous-états peuvent être emboîtés à n’importe
panne
[Irréparable]
En panne
quel niveau.
 plus de clarté apportée aux DET
Panne
Disponible
Réparation terminée
En cours de
réparation
[Irréparable]
Non Disponible
Réparation terminée
R. BOUAZIZ -- F. GARGOURI
134
Exemple

R. BOUAZIZ -- F. GARGOURI
135
Exemple
 Pour bien gérer les approvisionnements, on se fixe
Gestion commerciale :
une quantité minimale (QteMin) au dessous de
laquelle on commande systématiquement le
produit. QteMin servira à comparer la quantité
disponible (QteDispo) du produit.
 Quand on gère les stocks de produits, il est
nécessaire de prévoir, à tout moment, les
différents états possibles de chaque stock de
produit.
 Une fois commandé, on doit attendre la livraison du
 Généralement, quand on crée un nouveau produit,
produit pour qu’il redevienne disponible.
il est automatiquement mis "en rupture de stock".
Il ne sera disponible que s’il y a une entrée (une
livraison d’une commande de ce produit).
 Quand un produit est disponible, toute opération
d’ajout ne le fait pas changer d’état.
Donner, en utilisant les conventions UML, le diagramme
d’états-transitions de l’objet Produit.
R. BOUAZIZ -- F. GARGOURI
136
R. BOUAZIZ -- F. GARGOURI
137
6
Exemple
Exemple
Construction ()
Alarme de
voiture
DET d’un Produit
Entrée
Neutralisée
Sortie [QteDispo >= QteMin]
Activer()
Désactiver ()
Sortie [QteDispo < QteMin]
Disponible
En rupture
Activée
Bip()/ Clignotement Bip()/ Clignotement
ProduitMAJ(QteDeMAJ)
ProduitCommandé(QteCdée)
En rupture
Commandé
R. BOUAZIZ -- F. GARGOURI
Alarme
138
Super état

En veille
Effraction ()
LivrerProduit(QteLivrée)
En rupture
Livré
Neutraliser ()
Bip()/ Clignotement
R. BOUAZIZ -- F. GARGOURI
139
État historique
……………. état
Disjoints
Parallèle
État
État

 Lorsqu’une transition s’arrête à la frontière d’un
super état, l’objet revient dans le dernier sous-état
considéré.
A
A
B
• Un seul sous-état est actif
État ………….…….….
 Pseudo-état historique : indique l’état lors de la
première transition
(lorsqu’il n’y avait pas d’historique).
B
• Tous les sous-états sont actifs
• A et B peuvent être des super états
R. BOUAZIZ -- F. GARGOURI
140
R. BOUAZIZ -- F. GARGOURI
141
7
Exemple
Allumé
HeureCourante
HeureRéveil
Radio
CD
hHeureR
hHeureC
H
hRadio
Pseudo-état historique
On
hCD
Off
Eteint
R. BOUAZIZ -- F. GARGOURI
142
8
Téléchargement