SlideShare une entreprise Scribd logo
1  sur  20
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

TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsMohamed Ayoub OUERTATANI
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Ben Abdelwahed Slim
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATSiwar GUEMRI
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriMansouri Khalifa
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...Ramzi Noumairi
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Addi Ait-Mlouk
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrigeAmineMouhout1
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebHarrathi Mohamed
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Mohamed Aziz Chetoui
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
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 BTSFaissoilMkavavo
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop amat samiâ boualil
 
1601896849 rapport fluttercopie
1601896849 rapport fluttercopie1601896849 rapport fluttercopie
1601896849 rapport fluttercopieRamiJOUDI2
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Sofien Benrhouma
 

Tendances (20)

TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
Présentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clientsPrésentation PFE: Système de gestion des réclamations et interventions clients
Présentation PFE: Système de gestion des réclamations et interventions clients
 
Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2Rapport Pfe Application Web e-commerce Symfony2
Rapport Pfe Application Web e-commerce Symfony2
 
rapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSATrapport PFE ingénieur génie logiciel INSAT
rapport PFE ingénieur génie logiciel INSAT
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
UML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouriUML Part2- diagramme des uses cases_mansouri
UML Part2- diagramme des uses cases_mansouri
 
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
Projet de fin étude  ( LFIG : Conception et Développement d'une application W...Projet de fin étude  ( LFIG : Conception et Développement d'une application W...
Projet de fin étude ( LFIG : Conception et Développement d'une application W...
 
Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...Conception et réalisation d'une application de gestion intégrée au sein de la...
Conception et réalisation d'une application de gestion intégrée au sein de la...
 
Exercices uml-corrige
Exercices uml-corrigeExercices uml-corrige
Exercices uml-corrige
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Ma présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site WebMa présentation PFE : Application Android & Site Web
Ma présentation PFE : Application Android & Site Web
 
Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...Conception et développement d'une application de gestion de production et de ...
Conception et développement d'une application de gestion de production et de ...
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
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
 
Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop Rapport projet: relisation d'une app desktop
Rapport projet: relisation d'une app desktop
 
1601896849 rapport fluttercopie
1601896849 rapport fluttercopie1601896849 rapport fluttercopie
1601896849 rapport fluttercopie
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
Rapport Projet De Fin D'étude Développent d'une application web avec Symfony2
 

Plus de Amir Souissi

Chapitre 6 traitement des exceptions
Chapitre 6  traitement des exceptionsChapitre 6  traitement des exceptions
Chapitre 6 traitement des exceptionsAmir Souissi
 
Chapitre 5 classes abstraites et interfaces
Chapitre 5  classes abstraites et interfacesChapitre 5  classes abstraites et interfaces
Chapitre 5 classes abstraites et interfacesAmir Souissi
 
Chapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeChapitre 4 heritage et polymorphisme
Chapitre 4 heritage et polymorphismeAmir 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 javaAmir Souissi
 
Chapitre 4 persistance des donnees
Chapitre 4  persistance des donneesChapitre 4  persistance des donnees
Chapitre 4 persistance des donneesAmir Souissi
 
Chapitre 3 activites et intents
Chapitre 3   activites et  intentsChapitre 3   activites et  intents
Chapitre 3 activites et intentsAmir Souissi
 
Chapitre 2 classe et objet
Chapitre 2   classe et objetChapitre 2   classe et objet
Chapitre 2 classe et objetAmir Souissi
 
Chapitre 1 introduction generale
Chapitre 1   introduction generaleChapitre 1   introduction generale
Chapitre 1 introduction generaleAmir Souissi
 
Chapitre 2 elements graphiques android
Chapitre 2   elements graphiques androidChapitre 2   elements graphiques android
Chapitre 2 elements graphiques androidAmir Souissi
 
Chapitre 1 decouverte du developpement android
Chapitre 1  decouverte du developpement androidChapitre 1  decouverte du developpement android
Chapitre 1 decouverte du developpement androidAmir Souissi
 
Atelier symfony n 3
Atelier symfony n 3Atelier symfony n 3
Atelier symfony n 3Amir Souissi
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2Amir Souissi
 
Atelier symfony n 1
Atelier symfony n 1Atelier symfony n 1
Atelier symfony n 1Amir Souissi
 

Plus de Amir Souissi (18)

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
 

Dernier

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...Nguyen Thanh Tu Collection
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfAmgdoulHatim
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKNassimaMdh
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdftrendingv83
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetJeanYvesMoine
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxShinyaHilalYamanaka
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxabdououanighd
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxikospam0
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesUnidad de Espiritualidad Eudista
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLElebaobabbleu
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...Universidad Complutense de Madrid
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Technologia Formation
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxrajaakiass01
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxhamzagame
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkRefRama
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcourshalima98ahlmohamed
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesMohammedAmineHatoch
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaireTxaruka
 

Dernier (19)

GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 

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.