SlideShare une entreprise Scribd logo
Diagramme
d’Etats-Transitions
Conception Orientée Objet (UML) – Chapitre 5
Amir Souissi
©2019
1
Institut Supérieur des Etudes Technologiques (ISET-Tunisie)
Niveau: 2ème année Licence Appliquée
Spécialité : DSI, RSI
Mr Amir
Souissi
© 2019
Plan
1. Introduction
 Les objets et leurs états
2. Notations de base
 Etats
 Transitions
 Evènements
3. Notations Avancées
 Etat Composite
 Etat Historique
 Régions Concurrentes
2
Chapitre5
Diagrammed’Etats-Transitions
Plan
Mr Amir
Souissi
© 2019
1. Introduction
En UML, le diagramme d’états (state machine diagram) permet de modéliser
avec précision des comportements et les cycles de vie complexes d’un objet et
ce dès l’analyse.
Le diagramme d'états-transitions (ou simplement d’états) permet de décrire les
changements d'états d'un objet (ou d'un composant ou d’un système pris dans
son ensemble), en réponse à des évènements.
Certaines classes du modèle statique requièrent un diagramme d’états pour
comprendre son comportement dynamique complexe.
3
Chapitre5
Diagrammed’Etats-Transitions
1.Introduction
:Panier
 Quels sont les états qu’elle peut prendre au cours de sa vie?
 Quels sont les causes de son passage d’un état
à un autre?
 Comment cette entité statique se comporte?
Mr Amir
Souissi
© 2019
Exemple: Choixdel’objet
 Pour réaliser un diagramme d’état, il ne faut pas choisir un objet qui n’a pas d’états ou qui
ne change pas d’états.
 On choisit les objets qui ont un cycle de vie particulièrement riche.
 On prend par exemple l’objet « panier » pour étudier son cycle de vie.
4
Chapitre5
Diagrammed’Etats-Transitions
1.Introduction
Panier
- NumPanier
- DatePanier
- PrixTotal
- Réglement
- AjouterProduit(P)
- Annuler()
- Valider()
- Payer(montant)
Client
- NumCli
Produit
- NumProd
- QtéStock
Produit_Par_Panier
- QtéRemplie
1 Possède * * concerne *
Mr Amir
Souissi
© 2019
Exemple: Etatsàmodéliser
 L’objet qui nous intéresse c’est le panier.
5
Chapitre5
Diagrammed’Etats-Transitions
1.Introduction
Éléments déclencheurs de l’état États de l’objet
 Le panier peut être créé par un client inscrit Créé
 le panier devient susceptible à une opération d’achat probable En attente
 Lorsqu’il ajoute un produit ou retire un produit, le panier devient
modifié.
Modifié
 Lorsqu’il vide le panier, il devient vidé Vidé
 Lorsque le client parcourt les produits du panier, il est consulté Consulté
 Lorsque le client valide les produits du panier, il est validé Validé
 Lorsque le client procède au paiement en ligne, le panier est payé Payé
 Lorsqu’une facture est envoyée au client, il devient facturé. Facturé
 Lorsque le client annule le panier, alors celui-ci est détruit. Détruit
Mr Amir
Souissi
© 2019
2. Notationsde base
Etat
Un état représente une situation durant le vie d’un objet pendant laquelle :
 il exécute une certaine activité
 ou bien, il attend un certain événement.
Un objet passe par une succession d’états durant son existence.
Un état a une durée finie.
L’état initial est l’état dans lequel l’objet se trouve lors de sa création.
L’état final correspond à la destruction de l’objet.
Un diagramme d’états a toujours un et un seul état initial. Il peut n’avoir aucun
état final ou plusieurs.
Après sa création, un objet passe par une série d’états « normaux ».
6
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Etat intermédiaire
État initial État final
Mr Amir
Souissi
© 2019
Transition
Une transition décrit la réponse d’un objet lorsqu’un événement se produit
provoquant le passage de l’objet d’un état (état source) dans un autre (état cible)
La transition est représentée par une flèche orientée de l’état source vers l’état
cible.
L'événement qui détermine le franchissement de la transition est indiqué sous
forme de texte.
Si aucun événement n'est spécifié, alors il s’agit d’une transition automatique.
Une transition n’a pas de durée, elle est franchie instantanément (on dit qu’elle
est déclenchée).
7
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Etat 1 Etat 2
Événement 1
Etat 3
Transition
État cibleÉtat source Transition automatique
Mr Amir
Souissi
© 2019
Exemple:Diagrammed’étatsdel’objet«Panier»
8
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
En Attente Modifié
Ajouter Produit
Supprimer
Produit
Vidé
Consulté
ValidéPayé
Facturé
Ajouter
Produit
Lister Produits
Vider le panier
Paiement en
ligne
Envoyer Facture
Mr Amir
Souissi
© 2019
Evénement
Un événement est un stimulus qui arrive à un moment précis et pouvant
déclencher une transition entre états.
La syntaxe de la structure de l’événement correspond aux détails de la transition :
 La transition n’est qu’un événement qui s’est produit avec une condition (garde)
vérifiée et déclenchant une action effectuée. 9
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Etat 1 Etat 2
Événement 1
Evénement Externe
Avec changement d’état
(Transition)
Événement [garde] [/ action]
événement : déclencheur ou trigger
Garde : condition avec valeur logique
(Vrai ou Faux)
Action : atomique, in-interruptible
Mr Amir
Souissi
© 2019
Exemples
Ascenseur
Compte Bancaire
10
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Arrêt En MarcheBouton_Appuyé (N°Etage) [poid < 200kg] / Bouger
Atteindre_Eatge (N°Etage) [N°Etage = Etage] / S’arrêter
Événement garde action
Ouvert
À
découvert
Premier versement
Retrait (Somme)
[solde –somme > 0]
Retrait (Somme)
[solde –somme < 0]
Retrait (Somme)
[solde –somme > 0]
Mr Amir
Souissi
© 2019
Typesd’Evénements
UML propose quatre sortes d’événements :
 Événement signal: (signal event) Correspond à la réception d’un signal asynchrone
émit par un autre objet ou par un acteur.
 Événement appel d’opération : (call event) Appel d’une méthode de l’objet courant par
un autre objet ou par un acteur. Il s’agit d’un message synchrone.
nom_événement [(paramètre1 [type1] ; paramètre2[type2]; ….)]
 Événement de changement : (change event) se produit lorsqu’une condition passe de
faux à vrai. (modélisé par le mot clé when suivi d’une expression booléenne)
when ( expression booléenne)
 Événement temporel : (time event) causé par l’expiration d’une temporisation.
(modélisé par le mot clé after suivi d’un expression représentant une durée)
when ( date = « expression date précise ») after (« expression d’une durée »)
11
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Mr Amir
Souissi
© 2019
Exemples
12
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Lampe avec minuterie
Produit en stock
Eteinte AlluméeBouton_Appuyé () / secondes ++
After (30 s)
Disponible Indisponible
When (0 < qté < 10)
Critique
Achat ()[qté>10] / qté ++
Achat () / qté ++ When ( qté = 0)
Mr Amir
Souissi
© 2019
EvénementInterne
 On peut avoir des états qui effectuent plusieurs activités successivement ou en parallèle.
 L’enchainement de ces activités à l’intérieur d’un même état peut être spécifié grâce aux
événements internes qui ont la même syntaxe que les événements externes.
 Les événements internes s’écrivent à l’intérieur de l’état, séparé du nom de l’état par un
trait.
 UML définit des mots clé correspondant à des événements internes particuliers :
 Entry / activité entrée : événement à l’entrée dans l’état.
 Do / activité : définit l’activité à exécuter dès que celle définie par entry est terminée.
 On event / activité : (optionnel) définit l’activité à exécuter à chaque fois que nous
avons un évènement particulier.
 Exit / activité sortie : événement à la sortie de l’état.
13
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Etat
Evénement [condition] / action
Evénement Interne
Sans changement d’état
Mr Amir
Souissi
© 2019
Exemples
14
Chapitre5
Diagrammed’Etats-Transitions
2.Notationsdebase
Etats d’un ascenseur arrêté à l’étage
Etats d’un produit disponible en stock
Arrêt
Entry / ouvrir_portes
Entry / armer_horloge (20 sec)
Do / attendre
On délai_passé / fermer_portes
Exit / RàZ_horloge (0 sec)
Déplacement
Appel (N°Etage) [Etage != N°Etage]
Appel (N°Etage) [Etage = N°Etage]
Disponible
Entry / Vérifier_qté
Do / MAJ_qté
On Erreur (qté) / afficher (Erreur)
Exit / afficher (qté_en_stock)
Indisponible
When (qté = 0)
Achat (qté) / qté ++
Mr Amir
Souissi
© 2019
3. NotationsAvancées
Etat Composite
Un état composite est un état décomposable en sous états.
Les sous-états sont des états composites ou élémentaires.
Correspond à une hiérarchisation (généralisation) d’un ensemble d’états.
Facilite la représentation lorsque le nombre de connexion à un état devient élevé
15
Chapitre5
Diagrammed’Etats-Transitions
3.NotationsAvancées
A
C
B
E1
E2 E2
A B
E1
C
E2
A B
E1
E2
E3 A
C
D B
E3
E2
E1
E
Mr Amir
Souissi
© 2019
Exemple
16
Chapitre5
Diagrammed’Etats-Transitions
3.NotationsAvancées
Mort
Vivant
Mariable
Marié
Naissance
Décès conjoint
Mariage [âge
atteint]
Célibataire
Veuf
Divorcé Divorce
décès
Mort
décès
Mariable Marié
Naissance
Mariage [âge
atteint]
Décès conjoint
Divorce
décès
Etat Composite
Etat Composite
Mr Amir
Souissi
© 2019
Etat Historique
L’état historique permet de mémoriser le dernier sous-état actif d’un état
composite.
Représenté par un cercle contenant H.
La transition qui cible l’état Historique a pour cible le dernier état visité de l’état
composite.
17
Chapitre5
Diagrammed’Etats-Transitions
3.NotationsAvancées
Etat Composite
Sous état 1 Sous état 2
Etat
E1
E2
H
E3Etat Historique
Mr Amir
Souissi
© 2019
Exemple
18
Chapitre5
Diagrammed’Etats-Transitions
3.NotationsAvancées
Nettoyage
Lavage rinçage
Attente
Démarrer After (4 min)
Arrêt d’urgence
After (2 min)
H
Reprise
Arrêt d’urgence
soit après un
lavage soit après
un rinçage
Etat Historique :
Le dernier état qui
était actif est ciblé
par la transition
« Reprise »
Mr Amir
Souissi
© 2019
RégionsConcurrentesd’unEtat
Dans certains cas, plusieurs états peuvent être actifs simultanément.
Représentés par des régions parallèles ou concurrentes.
Chaque région doit être initialisée.
L’état composite global est actif lorsque une ou plusieurs de ses régions est
active.
19
Chapitre5
Diagrammed’Etats-Transitions
3.NotationsAvancées
Régions concurrentes
Etat Composite
E1 E2
E3
Sous état initial
Mr Amir
Souissi
© 2019
Exemple
Distributeur automatique de boissons
On prépare la boisson et on rend la monnaie en même temps.
Représentation équivalente :
20
Chapitre5
Diagrammed’Etats-Transitions
3.NotationsAvancées
Préparation et Rendu monnaie
Préparation
Boisson
Gobelet en
attente
Rendu
monnaie
Préparation et Rendu monnaie
Préparation
Boisson
Gobelet en
attente
Rendu
monnaie

Contenu connexe

Tendances

Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Yasmine Lachheb
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
Karim Ben Alaya
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
Nassim Bahri
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
Zakaria Bouazza
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
Mansouri Khalifa
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
FaissoilMkavavo
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
jihene Ab
 
2 TUP
2 TUP2 TUP
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
Lilia Sfaxi
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
Lilia Sfaxi
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
Mohammed Amine Mostefai
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
Lilia Sfaxi
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
Ghodhbane Mohamed Amine
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
Ghizlane ALOZADE
 
Développement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médicalDéveloppement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médical
litayem bechir
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
Nadir Haouari
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
MOHAMMED MOURADI
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
Nader Somrani
 

Tendances (20)

Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
Rapport PFE BIAT Conception et mise en place d’une plate-forme de gestion des...
 
Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...Conception et développement d’une plateforme d'import-export avec paiement en...
Conception et développement d’une plateforme d'import-export avec paiement en...
 
PFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignementPFE :: Application de gestion des dus d'enseignement
PFE :: Application de gestion des dus d'enseignement
 
Méthodologie 2 Track Unified Process
Méthodologie 2 Track Unified ProcessMéthodologie 2 Track Unified Process
Méthodologie 2 Track Unified Process
 
UML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouriUML Part 3- diagramme de séquences mansouri
UML Part 3- diagramme de séquences mansouri
 
Conception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTSConception et Réalisation Application Web Laravel PFE BTS
Conception et Réalisation Application Web Laravel PFE BTS
 
Projet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatiqueProjet de fin d'etude gestion informatique
Projet de fin d'etude gestion informatique
 
2 TUP
2 TUP2 TUP
2 TUP
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
Chp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'UtilisationChp2 - Diagramme des Cas d'Utilisation
Chp2 - Diagramme des Cas d'Utilisation
 
Cours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vieCours Génie Logiciel - Cours 2 - Cycles de vie
Cours Génie Logiciel - Cours 2 - Cycles de vie
 
Chp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de ConceptionChp1 - Introduction aux méthodologies de Conception
Chp1 - Introduction aux méthodologies de Conception
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
Modele rapport pfe esprit
Modele rapport pfe  espritModele rapport pfe  esprit
Modele rapport pfe esprit
 
Conception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIREConception et Réalisation d’une application de Gestion SCOLAIRE
Conception et Réalisation d’une application de Gestion SCOLAIRE
 
Développement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médicalDéveloppement d’une application Web et mobile d’un annuaire médical
Développement d’une application Web et mobile d’un annuaire médical
 
CM processus-unifie
CM processus-unifieCM processus-unifie
CM processus-unifie
 
Présentation de mon PFE
Présentation de mon PFEPrésentation de mon PFE
Présentation de mon PFE
 
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
Rapport application web (Spring BOOT,angular4) et mobile(ionc3) gestion des a...
 
Présentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobilePrésentation pfe Développement d'une application bancaire mobile
Présentation pfe Développement d'une application bancaire mobile
 

Plus de Amir Souissi

Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
Amir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
Amir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
Amir Souissi
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
Amir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
Amir Souissi
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
Amir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
Amir Souissi
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
Amir Souissi
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
Amir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
Amir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
Amir Souissi
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
Amir Souissi
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
Amir Souissi
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
Amir Souissi
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
Amir Souissi
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
Amir Souissi
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
Amir Souissi
 

Plus de Amir Souissi (19)

Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptions
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfaces
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphisme
 
Chapitre 3 elements de base de java
Chapitre 3  elements de base de javaChapitre 3  elements de base de java
Chapitre 3 elements de base de java
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donnees
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intents
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objet
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generale
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques android
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement android
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1
 
Tp n 6 linux
Tp n 6 linuxTp n 6 linux
Tp n 6 linux
 
Tp n 5 linux
Tp n 5 linuxTp n 5 linux
Tp n 5 linux
 
Tp n 4 linux
Tp n 4 linuxTp n 4 linux
Tp n 4 linux
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Tp n 1 linux
Tp n 1 linuxTp n 1 linux
Tp n 1 linux
 
introduction à la modélisation objet
introduction à la modélisation objetintroduction à la modélisation objet
introduction à la modélisation objet
 

Dernier

Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
Txaruka
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
NadineHG
 
Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
TimogoTRAORE
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 

Dernier (7)

Auguste Herbin.pptx Peintre français
Auguste   Herbin.pptx Peintre   françaisAuguste   Herbin.pptx Peintre   français
Auguste Herbin.pptx Peintre français
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif1e Espaces productifs 2024.Espaces productif
1e Espaces productifs 2024.Espaces productif
 
Chap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdfChap1 Généralités sur les réseaux informatiques.pdf
Chap1 Généralités sur les réseaux informatiques.pdf
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 

Chap5 diagramme d'etats-transitions

  • 1. Diagramme d’Etats-Transitions Conception Orientée Objet (UML) – Chapitre 5 Amir Souissi ©2019 1 Institut Supérieur des Etudes Technologiques (ISET-Tunisie) Niveau: 2ème année Licence Appliquée Spécialité : DSI, RSI
  • 2. Mr Amir Souissi © 2019 Plan 1. Introduction  Les objets et leurs états 2. Notations de base  Etats  Transitions  Evènements 3. Notations Avancées  Etat Composite  Etat Historique  Régions Concurrentes 2 Chapitre5 Diagrammed’Etats-Transitions Plan
  • 3. Mr Amir Souissi © 2019 1. Introduction En UML, le diagramme d’états (state machine diagram) permet de modéliser avec précision des comportements et les cycles de vie complexes d’un objet et ce dès l’analyse. Le diagramme d'états-transitions (ou simplement d’états) permet de décrire les changements d'états d'un objet (ou d'un composant ou d’un système pris dans son ensemble), en réponse à des évènements. Certaines classes du modèle statique requièrent un diagramme d’états pour comprendre son comportement dynamique complexe. 3 Chapitre5 Diagrammed’Etats-Transitions 1.Introduction :Panier  Quels sont les états qu’elle peut prendre au cours de sa vie?  Quels sont les causes de son passage d’un état à un autre?  Comment cette entité statique se comporte?
  • 4. Mr Amir Souissi © 2019 Exemple: Choixdel’objet  Pour réaliser un diagramme d’état, il ne faut pas choisir un objet qui n’a pas d’états ou qui ne change pas d’états.  On choisit les objets qui ont un cycle de vie particulièrement riche.  On prend par exemple l’objet « panier » pour étudier son cycle de vie. 4 Chapitre5 Diagrammed’Etats-Transitions 1.Introduction Panier - NumPanier - DatePanier - PrixTotal - Réglement - AjouterProduit(P) - Annuler() - Valider() - Payer(montant) Client - NumCli Produit - NumProd - QtéStock Produit_Par_Panier - QtéRemplie 1 Possède * * concerne *
  • 5. Mr Amir Souissi © 2019 Exemple: Etatsàmodéliser  L’objet qui nous intéresse c’est le panier. 5 Chapitre5 Diagrammed’Etats-Transitions 1.Introduction Éléments déclencheurs de l’état États de l’objet  Le panier peut être créé par un client inscrit Créé  le panier devient susceptible à une opération d’achat probable En attente  Lorsqu’il ajoute un produit ou retire un produit, le panier devient modifié. Modifié  Lorsqu’il vide le panier, il devient vidé Vidé  Lorsque le client parcourt les produits du panier, il est consulté Consulté  Lorsque le client valide les produits du panier, il est validé Validé  Lorsque le client procède au paiement en ligne, le panier est payé Payé  Lorsqu’une facture est envoyée au client, il devient facturé. Facturé  Lorsque le client annule le panier, alors celui-ci est détruit. Détruit
  • 6. Mr Amir Souissi © 2019 2. Notationsde base Etat Un état représente une situation durant le vie d’un objet pendant laquelle :  il exécute une certaine activité  ou bien, il attend un certain événement. Un objet passe par une succession d’états durant son existence. Un état a une durée finie. L’état initial est l’état dans lequel l’objet se trouve lors de sa création. L’état final correspond à la destruction de l’objet. Un diagramme d’états a toujours un et un seul état initial. Il peut n’avoir aucun état final ou plusieurs. Après sa création, un objet passe par une série d’états « normaux ». 6 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Etat intermédiaire État initial État final
  • 7. Mr Amir Souissi © 2019 Transition Une transition décrit la réponse d’un objet lorsqu’un événement se produit provoquant le passage de l’objet d’un état (état source) dans un autre (état cible) La transition est représentée par une flèche orientée de l’état source vers l’état cible. L'événement qui détermine le franchissement de la transition est indiqué sous forme de texte. Si aucun événement n'est spécifié, alors il s’agit d’une transition automatique. Une transition n’a pas de durée, elle est franchie instantanément (on dit qu’elle est déclenchée). 7 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Etat 1 Etat 2 Événement 1 Etat 3 Transition État cibleÉtat source Transition automatique
  • 8. Mr Amir Souissi © 2019 Exemple:Diagrammed’étatsdel’objet«Panier» 8 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase En Attente Modifié Ajouter Produit Supprimer Produit Vidé Consulté ValidéPayé Facturé Ajouter Produit Lister Produits Vider le panier Paiement en ligne Envoyer Facture
  • 9. Mr Amir Souissi © 2019 Evénement Un événement est un stimulus qui arrive à un moment précis et pouvant déclencher une transition entre états. La syntaxe de la structure de l’événement correspond aux détails de la transition :  La transition n’est qu’un événement qui s’est produit avec une condition (garde) vérifiée et déclenchant une action effectuée. 9 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Etat 1 Etat 2 Événement 1 Evénement Externe Avec changement d’état (Transition) Événement [garde] [/ action] événement : déclencheur ou trigger Garde : condition avec valeur logique (Vrai ou Faux) Action : atomique, in-interruptible
  • 10. Mr Amir Souissi © 2019 Exemples Ascenseur Compte Bancaire 10 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Arrêt En MarcheBouton_Appuyé (N°Etage) [poid < 200kg] / Bouger Atteindre_Eatge (N°Etage) [N°Etage = Etage] / S’arrêter Événement garde action Ouvert À découvert Premier versement Retrait (Somme) [solde –somme > 0] Retrait (Somme) [solde –somme < 0] Retrait (Somme) [solde –somme > 0]
  • 11. Mr Amir Souissi © 2019 Typesd’Evénements UML propose quatre sortes d’événements :  Événement signal: (signal event) Correspond à la réception d’un signal asynchrone émit par un autre objet ou par un acteur.  Événement appel d’opération : (call event) Appel d’une méthode de l’objet courant par un autre objet ou par un acteur. Il s’agit d’un message synchrone. nom_événement [(paramètre1 [type1] ; paramètre2[type2]; ….)]  Événement de changement : (change event) se produit lorsqu’une condition passe de faux à vrai. (modélisé par le mot clé when suivi d’une expression booléenne) when ( expression booléenne)  Événement temporel : (time event) causé par l’expiration d’une temporisation. (modélisé par le mot clé after suivi d’un expression représentant une durée) when ( date = « expression date précise ») after (« expression d’une durée ») 11 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase
  • 12. Mr Amir Souissi © 2019 Exemples 12 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Lampe avec minuterie Produit en stock Eteinte AlluméeBouton_Appuyé () / secondes ++ After (30 s) Disponible Indisponible When (0 < qté < 10) Critique Achat ()[qté>10] / qté ++ Achat () / qté ++ When ( qté = 0)
  • 13. Mr Amir Souissi © 2019 EvénementInterne  On peut avoir des états qui effectuent plusieurs activités successivement ou en parallèle.  L’enchainement de ces activités à l’intérieur d’un même état peut être spécifié grâce aux événements internes qui ont la même syntaxe que les événements externes.  Les événements internes s’écrivent à l’intérieur de l’état, séparé du nom de l’état par un trait.  UML définit des mots clé correspondant à des événements internes particuliers :  Entry / activité entrée : événement à l’entrée dans l’état.  Do / activité : définit l’activité à exécuter dès que celle définie par entry est terminée.  On event / activité : (optionnel) définit l’activité à exécuter à chaque fois que nous avons un évènement particulier.  Exit / activité sortie : événement à la sortie de l’état. 13 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Etat Evénement [condition] / action Evénement Interne Sans changement d’état
  • 14. Mr Amir Souissi © 2019 Exemples 14 Chapitre5 Diagrammed’Etats-Transitions 2.Notationsdebase Etats d’un ascenseur arrêté à l’étage Etats d’un produit disponible en stock Arrêt Entry / ouvrir_portes Entry / armer_horloge (20 sec) Do / attendre On délai_passé / fermer_portes Exit / RàZ_horloge (0 sec) Déplacement Appel (N°Etage) [Etage != N°Etage] Appel (N°Etage) [Etage = N°Etage] Disponible Entry / Vérifier_qté Do / MAJ_qté On Erreur (qté) / afficher (Erreur) Exit / afficher (qté_en_stock) Indisponible When (qté = 0) Achat (qté) / qté ++
  • 15. Mr Amir Souissi © 2019 3. NotationsAvancées Etat Composite Un état composite est un état décomposable en sous états. Les sous-états sont des états composites ou élémentaires. Correspond à une hiérarchisation (généralisation) d’un ensemble d’états. Facilite la représentation lorsque le nombre de connexion à un état devient élevé 15 Chapitre5 Diagrammed’Etats-Transitions 3.NotationsAvancées A C B E1 E2 E2 A B E1 C E2 A B E1 E2 E3 A C D B E3 E2 E1 E
  • 16. Mr Amir Souissi © 2019 Exemple 16 Chapitre5 Diagrammed’Etats-Transitions 3.NotationsAvancées Mort Vivant Mariable Marié Naissance Décès conjoint Mariage [âge atteint] Célibataire Veuf Divorcé Divorce décès Mort décès Mariable Marié Naissance Mariage [âge atteint] Décès conjoint Divorce décès Etat Composite Etat Composite
  • 17. Mr Amir Souissi © 2019 Etat Historique L’état historique permet de mémoriser le dernier sous-état actif d’un état composite. Représenté par un cercle contenant H. La transition qui cible l’état Historique a pour cible le dernier état visité de l’état composite. 17 Chapitre5 Diagrammed’Etats-Transitions 3.NotationsAvancées Etat Composite Sous état 1 Sous état 2 Etat E1 E2 H E3Etat Historique
  • 18. Mr Amir Souissi © 2019 Exemple 18 Chapitre5 Diagrammed’Etats-Transitions 3.NotationsAvancées Nettoyage Lavage rinçage Attente Démarrer After (4 min) Arrêt d’urgence After (2 min) H Reprise Arrêt d’urgence soit après un lavage soit après un rinçage Etat Historique : Le dernier état qui était actif est ciblé par la transition « Reprise »
  • 19. Mr Amir Souissi © 2019 RégionsConcurrentesd’unEtat Dans certains cas, plusieurs états peuvent être actifs simultanément. Représentés par des régions parallèles ou concurrentes. Chaque région doit être initialisée. L’état composite global est actif lorsque une ou plusieurs de ses régions est active. 19 Chapitre5 Diagrammed’Etats-Transitions 3.NotationsAvancées Régions concurrentes Etat Composite E1 E2 E3 Sous état initial
  • 20. Mr Amir Souissi © 2019 Exemple Distributeur automatique de boissons On prépare la boisson et on rend la monnaie en même temps. Représentation équivalente : 20 Chapitre5 Diagrammed’Etats-Transitions 3.NotationsAvancées Préparation et Rendu monnaie Préparation Boisson Gobelet en attente Rendu monnaie Préparation et Rendu monnaie Préparation Boisson Gobelet en attente Rendu monnaie

Notes de l'éditeur

  1. Dès que le panier est créé, il passe par transition automatique en état initialisé. « Initialisé » est un état dans lequel le panier est identifié par un numéro unique et estampillé par une date de création à la seconde prés. Au login de l’utilisateur, le panier change d’état et devient authentifié, c.-à-d. que l’identifiant de l’utilisateur est affecté à ce panier. Si l’utilisateur se déconnecte, alors le panier redevient initialisé, c.-à-d. que le panier perd l’identifiant de l’utilisateur.