Cours : Modélisation Objet (UML2)
Chapitre 5 : Diagrammes Dynamiques
(Diagramme d’états-transitions)
Enseignante : Amina BOUSSEMA
Année universitaire : 2022-2023
Classe : DSI L2S3
1
Plan
Introduction
Définition
Eléments de base
États
Transitions
Evènements
Action dans un Etat
Etats composites
Etat historique
Régions concurrents d’un état 2
Introduction
Les diagrammes de classes et d'objets sont des descriptions statiques d'un objet ou
d'un ensemble d'objets
Pour décrire la vie d'un objet, on a besoin de diagrammes dynamiques.
Un objet a une vie :
▪ il naît dans certaines conditions;
▪ il change d'état en fonction de traitement d'évènements qui le concernent;
▪ enfin il meurt.
Les objets d’une classe ne sont pas figés :
✓ Ils peuvent évoluer et changer d’états au cours de leur cycle de vie (CV : intervalle
de temps entre la création et la suppression de l’objet)
✓ Un diagramme d’états – transitions (DET) 3
Définition
Le diagramme d'états-transitions :
Fait partie des modèles dynamiques
Permet d’étudier l’aspect dynamique d’une classe, compte tenu de
l’importance de son comportement.
Propre à une classe donnée. Il décrit :
▪ Les états des objets de cette classe
▪ Les événements auxquels ils réagissent
▪ Les transitions qu'ils effectuent
Les diagrammes d’états-transitions d’UML décrivent le comportement interne
d’un objet à l’aide d’un automate à états finis.
Ils présentent les séquences possibles d’états et d’actions qu’une instance de
classe peut traiter au cours de son cycle de vie en réaction à des événements
discrets (de type signaux, invocations de méthode).
4
Définition
Le diagramme d'états-transitions (ou simplement états):
Permet de décrire les changements d’états d’un objet en réponse à des
évènements
Certaines classes du modèles statique nécessite un diagramme d’états pour
comprendre son comportement dynamique complexe.
5
Exemple
Choix de l’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 dans cet exemple, l’objet « panier » pour étudier son cycle de vie.
6
Exemple
L’objet « panier » peut avoir plusieurs état durant son cycle de vie.
7
..
Eléments de base : Etat
L’état d’un objet est une situation donnée durant la vie de cet objet. Chaque objet
possède à un instant donné un état particulier
Un état se caractérise par sa durée finie et sa stabilité.
Dans un état donné, l’objet
exécute une certaine activité
ou il est tout simplement en attente d’événements.
Un objet passe par une succession d’états durant sa vie.
Dans un DET, on distingue deux états particuliers :
L’état initial : est l’état dans lequel se trouve l’objet avant sa création
L’état final : état après la destruction de l’objet, correspond à un état à partir duquel
l’objet ne peut plus évoluer.
Un diagramme d’état 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 intermédiaires.
..
Eléments de base : Etat
Exemple :
Dans les diagrammes suivants, nous représentons des personnes pouvant se
trouver dans l’un des états suivants :
▪ en activité,
▪ au chômage
▪ et à la retraite.
Le diagramme de classe lie une personne à une société. Le diagramme des objets
permet, par le biais de la valeur des attributs de retrouver l’état dans lequel se
trouve un objet.
une personne peut se trouver, à un moment donné, dans un des états suivants :
Question : Comment passer d’un état à un autre ?
..
Eléments de base : Transition
Transition : décrit la réponse d’un objet à un événement se produit provoquant le
passage de l’objet d’un état (état source) dans un autre état (état cible)
Une transition représente pour l'objet, le passage instantané d'un état à un autre
état.
Représenté 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 la
forme d’un texte.
Si aucun événement n’est spécifié, alors il s’agit d’une transition automatique
..
Eléments de base : Transition
Exemple 1 :
..
Eléments de base : Transition
Exemple 2 : diagramme d’état de l’objet « Panier »
..
Eléments de base : Evénement
Evènement: stimulus qui arrive à un moment précis et pouvant déclencher une
transition entre états.
Quand un événement est reçu, une transition peut être déclenchée et faire
basculer l’objet dans un nouvel état.
..
Eléments de base : Evénement
Une transition peut être conditionnée à l'aide d'une garde : expression booléenne
(exprimée en langage naturel) à vérifier pour franchir la transition
Si un événement déclencheur se produit et que la condition de garde est vérifiée,
l'objet passe de l'état source en état cible et exécute une activité (effet de
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
..
Eléments de base : Evénement
Exemple 1 :
..
Eléments de base : Evénement
UML propose 4 types d’événements:
Événement signal (signal event) correspond à la réception d’un signal
asynchrone émit par un objet ou un acteur
Événement appel (call event) appel d’une méthode de l’objet courant par un
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 lorsq’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’une expression représentant la durée).
When (date=« expression date précise ») after (date=« expression d’une durée»)
..
Eléments de base : Evénement
Exemples
..
Eléments de base : Action dans un
état
Les états peuvent également contenir des actions : États avec activités internes
L’enchainement des 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
internes.
▪ UML définit des mots clés correspond à des événements internes.
➢ 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é
➢ On event /activité : (optionnel) définit l’activité à exécuter à chaque fois
que nous avons un événement particulier (exécutée lors de l’occurrence
d’un événement qui ne conduit pas à un autre état)
➢ Exit /activité sortie :événement à la sortie de l’état.
..
Eléments de base : Action dans un
état
Exemple 1
..
Eléments de base : Action dans un
état
..
Etats composites
État regroupant un ensemble d'états
Peut être décrit lui même par un diagramme d'états-transitions.
Un tel état est appelé un état composé ou composite.
..
Etats composites
Un état composite correspond à une hiérarchisation d’un ensemble d’état.
Facilite la représentation lorsque le nombre de connexion à un état devient élevé.
..
Etats composites
Exemple 1
..
Etat historique
L’état historique permet de mémoriser le dernier sous-état actif d’un état composite
Représente par un cercle contenant H
..
Etat historique
..
Régions concurrents d’un état
Dans certains cas, plusieurs états peuvent être actifs simultanément.
Représenté par des régions parallèles ou concurrentes.
Chaque région doit être initialisé
L’état composite global est actif lorsque une ou plusieurs de ses régions est active
..
Régions concurrents d’un état
Exemple 1 : distributeur automatique des boissons
▪ On prépare le boisson et on rend la monnaie au même temps.
Question?
28
28