définitions relatives au diagramme d'états-transitions

30
- 28 - Définitions relatives au diagramme d'états-transitions Le diagramme d'états-transitions utilise des automates d’états finis pour modéliser le comportement d’objets remarquables du système d’information. Il décrit l’évolution des états successifs de chacun de ces objets remarquables. Il peut être initialisé au stade de l'analyse fonctionnelle (lorsque les objets candidats sont mis en évidence) et enrichi au stade de la conception fonctionnelle. La modélisation du diagramme d’états-transitions fait apparaître : Les états, Les événements Les transitions (externes et internes)...

Upload: others

Post on 28-Nov-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

- 28 -

Définitions relatives au diagramme d'états-transitions

Le diagramme d'états-transitions utilise des automates d’états finis pour modéliser le comportement d’objets remarquables du système d’information.

Il décrit l’évolution des états successifs de chacun de ces objets remarquables.

Il peut être initialisé au stade de l'analyse fonctionnelle (lorsque les objets candidats sont mis en évidence) et enrichi au stade de la conception fonctionnelle.

La modélisation du diagramme d’états-transitions fait apparaître :✔ Les états,✔ Les événements✔ Les transitions (externes et internes)...

- 29 -

L'état Un objet ayant un comportement présente

plusieurs états dans le temps mais un seul à un moment donné.

Un état :✔ Est toujours connu et intègre une notion de stabilité et de durée,✔ Dépend des états précédents et des événements générateurs des

changements d'état,✔ Accomplit une activité pendant qu'il attend un événement.

Par nature, les automates d’états finis ne sont pas ambigus. Ils possèdent :

✔ Un seul état initial,✔ Un ou plusieurs états

intermédiaires,✔ De 0 à n états finaux.

- 30 -

Exemples d'états

- 31 -

L'événement Un événement est quelque chose qui se produit pendant l'exécution

d'un système d'information et qui mérite d'être modélisé. Les diagrammes d'états-transitions permettent justement de spécifier les réactions d'une partie de ce SI face aux événements discrets.

Un événement se produit à un instant précis et est dépourvu de durée. Quand un événement est reçu, une transition peut être déclenchée et faire basculer l'objet dans un nouvel état. L'événement est donc instantané et doit être traité immédiatement.

On peut diviser les événements en plusieurs types explicites et implicites : signal, appel, changement et temporel.

- 32 -

Les différents types d'événements

Signal :✔ Réception d'un message asynchrone par l'objet concerné.

Événement d'appel :✔ Représente l'invocation d'une opération par l'objet. Il s'agit alors d'une

opération déclarée au niveau du diagramme de classes. Événement de changement :

✔ Un événement de changement est généré par la satisfaction d'une expression booléenne sur des valeurs d'attributs de l'objet.

✔ Un événement de changement est évalué continuellement jusqu'à ce qu'il devienne vrai, et c'est à ce moment-là que la transition se déclenche.

Événement temporel :✔ Date absolue : quand une date est dépassée par exemple,✔ Date relative : après une certaine durée.

- 33 -

La transition La transition définit la réponse d'un objet quand survient un

événement. Généralement, elle lie 2 états différents : un état source et un état cible. Cependant, elle peut s'appliquer à un seul et même état.

Les diagrammes d’états-transitions sont des graphes dirigés : les états sont reliés par les transitions qui indiquent les parcours possibles dans le graphe.

- 34 -

Exemple de transitions Les états et les transitions possibles pour l'objet « stage » sont les

suivants :

- 35 -

Syntaxe des transitions L'information textuelle sur une transition est facultative et respecte

cette syntaxe : <événement> [<condition>] /<activité>

Un événement est déclencheur d'une ou de plusieurs transitions quittant un même état. Chaque transition porteuse d'un même événement doit avoir une condition de garde différente.

Une condition de garde est une expression logique évaluée uniquement lorsque l’événement déclencheur se produit. Si l’expression est fausse à ce moment là, la transition ne se déclenche pas, si elle est vraie, la transition se déclenche et ses effets se produisent.

Une activité est l'effet qui s'exécute quand la transition se déclenche. Il s’agit généralement de l'envoi d'un signal ou de l'invocation d'une opération.

- 36 -

Exercice 4 Soit l'objet « stage » pour lequel le nombre d'inscriptions maximal est de

20 personnes. Quand ce nombre est dépassé, cet objet passe de l'état « accessible » à l'état « clos » et un message est envoyé au responsable de stage. Quelle information textuelle proposez-vous pour la transition ? Il y a 2 possibilités : un événement de changement et une activité ou un événement d'appel avec une condition de garde et une activité.

- 37 -

Transition externe vs transition interne

Une transition externe est une transition qui modifie l'état actif. Il s'agit du type de transition le plus répandu.. Celui que l'on a vu jusqu'à maintenant.

Les règles de déclenchement d’une transition interne sont les mêmes que pour une transition externe, excepté qu’une transition interne ne possède pas d’état cible et que l’état actif reste le même à la suite de son déclenchement.

Les transitions internes sont spécifiées dans un compartiment de leur état associé.

- 38 -

Syntaxe des transitions internes Les transitions internes possèdent des noms d’événement

prédéfinis correspondant à des déclencheurs particuliers : entry, exit, do et include qui prennent la place du nom de l’événement.

Il existe différentes manières de déclencher une transition interne : quand on arrive, quand on est dedans, quand on en sort et tant qu’on reste dans cet état :

entry : activité exécutée à l'entrée de l'état,

exit : activité exécutée à la sortie de l'état,

do : activité qui commence dès que l’activité entry est terminée, include : pour invoquer un sous-diagramme.

- 39 -

Exemple de transitions internes

- 40 -

Exercice 5 Modélisez, sous forme de diagramme d’états-transitions, le cycle de

nettoyage proposé par une station de lavage automatique pour voiture :

✔ Le lavage complet est composé d’un lavage et d’un lustrage réalisé 2 minutes après le lavage. Il est possible d’arrêter en urgence le lavage complet ; le cycle de nettoyage se termine 3 minutes après. Pendant ces 3 minutes, il est aussi possible de reprendre la procédure de lavage complet.

✔ Le séchage s’enclenche 4 minutes après le lustrage. Il peut à tout moment être arrêté manuellement sans possibilité de reprise. Le cycle de nettoyage est terminé 2 minutes après la fin du séchage

- 41 -

Solution de l'exercice 5

- 42 -

Sommaire Le diagramme de séquences

✔ Définitions et formalisme✔ Exemples de diagrammes

Le diagramme d'états-transitions✔ Définitions et formalisme

Le diagramme d'activités✔ Définitions et formalisme✔ Exemples de diagrammes

Modèle dynamique vs modèle statique

- 43 -

Définitions relatives au diagramme d'activités

Le diagramme d'activités est une variante du diagramme d'états-transitions, organisé par rapport aux actions.

Il est principalement destiné à représenter le comportement interne d'un processus métier, d'un cas d'utilisation ou d'une opération de classe, alors que le diagramme d'états-transitions est concentré sur le cycle de vie de l'objet.

Il exprime des flots d'activités (flots de contrôle) de type procédural, sous la forme d'un graphe d'activités.

- 44 -

L'action L'action est le plus petit traitement qui puisse être exprimé en

UML. Elle a une incidence sur l'état du système d'information ou en extrait une information.

La notion d'action est à rapprocher de la notion d'instruction élémentaire d'un langage de programmation comme C++ ou Java.

L'action peut être, par exemple :✔ Une affectation de valeur à des attributs,✔ Un accès à la valeur d'une propriété structurelle (attribut ou

terminaison d'association),✔ La création d'un nouvel objet,✔ Un calcul arithmétique simple,✔ L'émission ou la réception d'un signal...

- 45 -

L'activité L'activité définit un comportement décrit par un séquencement

organisé d'unités dont les éléments simples sont les actions.

Le flot d'exécution est modélisé par des nœuds reliés par des arcs (transitions). Le flot de contrôle reste dans l'activité jusqu'à ce que les traitements soient terminés.

- 46 -

Les nœuds d'activité (1/4) Les nœuds exécutables :

✔ Le nœud d'action représente une transformation ou un calcul quelconque dans le système modélisé. Les actions sont généralement liées à des opérations qui sont directement invoquées.

✔ Graphiquement, un nœud d'action est représenté par un rectangle aux coins arrondis qui contient sa description textuelle.

✔ Toutefois, certaines actions ont une notation spéciale comme dans la figure ci-dessous :

- 47 -

Les nœuds d'activité (2/4) Les nœuds de contrôle :

✔ Le nœud initial est un nœud à partir duquel le flot débute lorsque l'activité enveloppante est invoquée. Une activité peut avoir plusieurs nœuds initiaux. Un nœud initial possède un arc sortant et pas d'arc entrant.

✔ Avec le nœud de fin d'activité, l'exécution de l'activité enveloppante s'achève et tout nœud ou flot actif au sein de l'activité enveloppante est abandonné.

✔ Lorsqu'un flot d'exécution atteint un nœud de fin de flot, le flot en question est terminé, mais cette fin de flot n'a aucune incidence sur les autres flots actifs de l'activité enveloppante.

✔ Le nœud de décision permet de faire un choix entre plusieurs flots sortants. Il possède un arc entrant et plusieurs arcs sortants. Ces derniers sont accompagnés de conditions de garde pour conditionner le choix.

- 48 -

Les nœuds d'activité (3/4) Les nœuds de contrôle (suite) :

✔ Le nœud de fusion est un nœud de contrôle qui rassemble plusieurs flots alternatifs entrants en un seul flot sortant. Il n'est pas utilisé pour synchroniser des flots concurrents (c'est le rôle du nœud d'union), mais pour accepter un flot parmi plusieurs.

✔ Le nœud de bifurcation, également appelé nœud de débranchement, est un nœud qui sépare un flot en plusieurs flots concurrents. Un tel nœud possède donc un arc entrant et plusieurs arcs sortants.

✔ Le nœud d'union, également appelé nœud de jointure est un nœud de contrôle qui synchronise des flots multiples. Un tel nœud possède donc plusieurs arcs entrants et un seul arc sortant. Lorsque tous les arcs entrants sont activés, l'arc sortant l'est également.

- 49 -

Les nœuds d'activité (4/4) Les nœuds d'objet :

✔ Jusqu'ici, nous avons défini comment modéliser le comportement du flot de contrôle dans un diagramme d'activités. Le nœud d'objet permet de définir un flot d'objets dans un diagramme d'activités. Ce nœud représente l'existence d'un objet généré par une action et utilisé par d'autres actions.

✔ Pour spécifier ce flot d'objets, on utilise des nœuds d'objets appelés pins d'entrée ou de sortie.

- 50 -

La partition La partition, souvent appelée couloir d'activités du fait de sa

notation, permet un regroupement visuel des nœuds d'activité correspondant à la logique du « qui fait quoi ? ».

La partition correspond souvent à une unité organisationnelle du modèle :

✔ Un acteur du système d'information,✔ Une classe responsable de la mise en œuvre d'un ensemble de

tâches. Dans ce cas, la classe en question est responsable de l'implémentation du comportement des nœuds inclus dans ladite partition...

- 51 -

Sommaire Le diagramme de séquences

✔ Définitions et formalisme✔ Exemples de diagrammes

Le diagramme d'états-transitions✔ Définitions et formalisme

Le diagramme d'activités✔ Définitions et formalisme✔ Exemples de diagrammes

Modèle dynamique vs modèle statique

- 52 -

Représentationd'un processusmétier via undiagrammed'activités

- 53 -

Le diagramme d'activités pour décrire un cas d'utilisation

- 54 -

Sommaire Le diagramme de séquences

✔ Définitions et formalisme✔ Exemples de diagrammes

Le diagramme d'états-transitions✔ Définitions et formalisme

Le diagramme d'activités✔ Définitions et formalisme✔ Exemples de diagrammes

Modèle dynamique vs modèle statique

- 55 -

Exercice 6 Quels éléments du diagramme de séquences ci-dessous permettent

d'enrichir le diagramme de classes métier correspondant ?

- 56 -

Exercice 7 Quels éléments du diagramme d'états-transitions ci-dessous

permettent d'enrichir le diagramme de classes métier correspondant ?

Ministère de l'Écologie, du Développement durable et de l’Énergie

FIN