0% ont trouvé ce document utile (0 vote)
119 vues10 pages

Cours UML 3

Transféré par

Jawad El Hajjami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
119 vues10 pages

Cours UML 3

Transféré par

Jawad El Hajjami
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

ENSA de Fès 2015/2016

ENSAF
2ème année Filière : Génie Informatique
Année Universitaire 2015/2016
L L
A A
N
G
Langage de Modélisation N
G
A
G
UML
A
G Diagramme d’Etats-
E E

U (Partie 3) U
Transitions
M M
L L

Mohammed Berrada
[email protected]

ENSAF 124 M.BERRADA ENSAF 125 M.BERRADA

Plan 6 Que représente-t-on dans le modèle dynamique ?


• Le modèle dynamique représente les séquences d’événements
d’événements, d’états
• Présentation et de réactions qui doivent survenir dans le système.

L • Etats & Evénements L


A A • Il est intimement lié au modèle objet et décrit les aspects de contrôle
• Conditions & Transitions d’un système en prenant compte du temps
temps,, du séquencement des
N N
G • Actions vs Activités G opérations et des interactions entre objets
A A
G
• Effets & Activités G
• Deux diagrammes fondamentaux :
E • Transitions E
– Diagramme Etats-
Etats-Transitions
U • Généralisation d’états U – Diagramme d’activités
M • Points de choix M
L L
• Exemples

ENSAF 126 M.BERRADA ENSAF 127 M.BERRADA

Définition Etats
• Un diagramme Etats
Etats--Transitions (ou Automate
Automate) : • Chaque objet est à un moment donné dans un état particulier :
– décrit l’évolution au cours du temps d’une instance d’une classe en réponse – Etat Initial : état d’une instance juste après sa création (un seul état initial)
aux interactions avec d’autres objets – Etat Intermédiaire : un objet est toujours dans un état donné pour un certain
L – est forcément associé à une classe,
classe mais toutes les classes n’en ont pas L temps
A besoin A
– Etat Final : état d’une instance juste avant sa destruction (un automate
N N
– est un graphe orienté d’états
’états (noeuds) connectés par des transitions (arc infini peut ne pas avoir d’état final)
G G
orientés)
A A
G G
E • Source: Les Statecharts de David Harel E

U U état initial état intermédiaire état final


M • Vocabulaire : M
L – Événements L
– États
– Transitions et conditions de franchissement

David Harel

ENSAF 128 M.BERRADA ENSAF 129 M.BERRADA

M.BERRADA 1
ENSA de Fès 2015/2016

Exemple 1 Exemple 2
• Entrée dans l’état initial à la création de l’objet
• Cette figure montre un exemple • Destruction de l’objet à l’état final
L
simple d’automate à états finis L
A • Cet automate possède deux états A
N (Allumé et Eteint) et deux N
G G
A transitions correspondant au A
G même évènement : la pression G
E sur un bouton d’éclairrage E

U domestique. U
M • Lorsque l’on appuie sur un bouton d’éclairrage, la réaction M
L L
de l’éclairage associé dépendra de son état courant (de son
historique) : s’il la lumière est allumée, elle s’éteindra, si
elle est éteinte, elle s’allumera.

ENSAF 130 M.BERRADA ENSAF 131 M.BERRADA

Évènements Évènement de signal


• Occurrence ou fait ayant lieu à un moment donné • Signal : transmission d’information explicite et
L • Modification intervenue dans l’environnement L
unidirectionnelle d’un objet à un autre
A – Ex. Réservation annulée A • Regroupement des signaux dans des classes de signaux
N N
G • Vérification de conditions d’erreur G • Évènement de signal : événement d’envoi ou de réception
A – Ex. nombre d’emprunts > 6 A d’un signal
G G
E • Vocabulaire : E
– Évènements concurrents : événements sans relation de causalité,
U sans effet l’un sur l’autre, dont l’exécution peut se chevaucher dans U
M le temps M
L L
– Évènement de signal
– Évènement de changement
– Évènement temporel

ENSAF 132 M.BERRADA ENSAF 133 M.BERRADA

Évènement de changement et temporel Etat vs Événement


• Évènement de changement : Évènement engendré par la État vs Événement :
L
satisfaction d’une expression booléenne L • Évènement : représentation d’un moment précis dans le
A • Passage de l’expression de faux à vrai ⇒ déclenchement de A temps
N l’événement de changement N
G G • État : intervalle séparant la réception de deux événements
A when (nombre d’étudiants > capacité de la salle) A par un objet
G when (nombre d’étudiants < 10) G
E E • Notation complète
when (nombre d’absences en TD > 3)
U • Évènement temporel : Évènement engendré par U
M l’occurrence d’un temps absolu ou l’écoulement d’une M
L L
durée
when (date < 18/12/2005)
after (15 minutes)

ENSAF 134 M.BERRADA ENSAF 135 M.BERRADA

M.BERRADA 2
ENSA de Fès 2015/2016

Caractérisation d’un état Transition, Condition


• Transition : relation entre 2 états indiquant qu’un objet dans le premier
état va exécuter une action et entrer dans le deuxième état quand un
événement apparaîtra
L L • Condition : expression booléenne devant être vérifiée pour permettre la
A A
N N
transition
G G
A A Etat initial Etat final
G G
E E Condition
U U Evénement
M M
L L
anniverssaire [age=18 ans]
Mineur Majeur

Transition
ENSAF 136 M.BERRADA ENSAF 137 M.BERRADA

Transition, Condition (2) Action, Activité


• Transition : passage instantané d’un état à un autre • Action : opération atomique (non interruptible) déclenchée par une
• Condition de franchissement (guard condition) : expression transition
booléenne devant être vraie pour le franchissement de la transition • Activité : opération qui dure un certain temps (interruptible) dans un
L L
état particulier
A A
N N – entry : action exécutée chaque fois que l’on rentre dans l’état
G G – exit : action exécutée chaque fois que l’on quitte l’état
Remarque : Condition de franchissement ≠ Événement
A A
G • Condition de franchissement évaluée une seule fois G
E • Événement de changement évalué en permanence E

U U Arret Appui bouton étage( N° )[ N°!=étage courant ] Marche


M M /démarrer moteur entry: tourner moteur
L L

Action Activité

ENSAF 138 M.BERRADA ENSAF 139 M.BERRADA

Notation Complète Notation Complète


• Exemple1 : fonctionnement d’une montre digitale • Exemple 2 : diagramme d’états d’un emprunteur

Evénement
L L
Appui bouton avance / avancer minute
A A
N
Etat initial N
G G
A Affichage heure Mofication minute A
G Appui bouton mode entry: clignoter minute G
E E
Appui bouton mode
U Appui bouton mode U
M M
L Appui bouton avance / avancer heure
Activité L

Modification heure
entry: clignoter heure
Action

ENSAF 140 M.BERRADA ENSAF 141 M.BERRADA

M.BERRADA 3
ENSA de Fès 2015/2016

Effets et activités Activités d’entrée et de sortie


• Effet : Référence à un comportement exécuté en Activité associée au mot-clé do :
L réponse à un événement – noté par / suivi du nom de L • Activité continue ou séquentielle exécutée sur une longue
A l’activité A durée
N N
• Associée uniquement à un état (et non à une transition)
G • Activité : Comportement réel invoqué par un nombre G
A A • Pouvant être exécutée sur tout ou partie de la durée pendant
G quelconque d’effets G
E E laquelle un objet est dans l’état
– Effectuée suite à une transition, à l’entrée ou à la sortie
• Pouvant être interrompue par un événement reçu pendant son
U d’un état, ou suite à un autre événement au sein d’un état U
M M
exécution
– Pouvant représenter des opérations de contrôle internes
L L
(Ex. affectation de valeur à un attribut ou génération d’un
autre événement)

ENSAF 142 M.BERRADA ENSAF 143 M.BERRADA

Activités d’entrée et de sortie (2) Activités (ordre d’éxécution)


Activité d’entrée ou de sortie : Ordre d’exécution des activités pour un état :
• exécutée à l’entrée (entry /) ou à la sortie d’un état (exit /) 1. Activités de la transition entrante
L L
A A 2. Activités d’entrée
N N 3. Activités do
G G
4. Activités de sortie
A A
G G 5. Activités de la transition sortante
E E • Si événement provoquant des transitions hors de l’état
U U ⇒ Interruption des activités do
M M ⇒ Mais exécution de l’activité de sortie
L L

Auto-transition
⇒ exécution des activités d’entrée et de sortie

ENSAF 144 M.BERRADA ENSAF 145 M.BERRADA

Transitions d’achèvement Transitions d’envoi de signaux

• Transition automatique, sans événement associé, exécutée • Envoi de signaux : Interaction du système d’objets par
L
à la fin de l’exécution des activités d’un état L
échange de signaux
A A
N N send cible.S(attributs)
G Notes G
A • Condition de franchissement testée une seule fois. A
G G
E • Si vérification d’aucune condition de franchissement ⇒ E • Condition de concurrence critique (race condition) :
état toujours actif ou objet « bloqué » au sein de l’état état final affecté par l’ordre d’exécution des signaux reçus
U U
M • Pour prévoir toutes les conditions possibles : else M
L L

ENSAF 146 M.BERRADA ENSAF 147 M.BERRADA

M.BERRADA 4
ENSA de Fès 2015/2016

Conseils pratiques Généralisation d’états


• Dans le cas d’un comportement dynamique complexe
complexe, les diagrammes
• Ne construire de diagrammes d’états que pour les classes d’états sur un niveau deviennent rapidement illisibles
ayant un comportement temporel significatif, i.e. les • Pour éviter ce problème, il est nécessaire de structurer les diagrammes
L L d’états en:
A classes répondant différemment à différents événements ou A
– super
super--états : états généraux
N ayant plus d’un état N
G G – sous
sous--états : héritent des caractéristiques des états généraux
A • Pas de nécessité de construire un diagramme d’états pour A
G toutes les classes G
E E E1
A B E1
• Bien concevoir les conditions de franchissement pour ne A B

U pas bloquer un objet dans un état U E2 E2


M M
L • Faire attention aux conditions de concurrence quand un L
E2
C
état peut recevoir des signaux de plus d’un objet = C

Même evt Super-état Sous-état

ENSAF 148 M.BERRADA ENSAF 149 M.BERRADA

Exemple Historique
• Par défaut, un automate n’a pas de mémoire
• Exemple d’état composite modélisant l’association d’une • La notation H offre un mécanisme pour mémoriser le dernier sous-état
commande à un client. qui l’englobe
L L
A A • Exemple : cycle de lavage d’un lave vaisselle
N N
G G
Rinçage Lavage Séchage
A A
G G
E E H
U U
M M Porte ouverte

L L Porte fermée

Attente
• Notation abrégée d’un état composite.
Historique

ENSAF 150 M.BERRADA ENSAF 151 M.BERRADA

Notation Complète Points de choix


• Exemple : transmission d’une automobile
• Les points de choix de représenter des alternatives pour le
L R enclenché L
franchissement d’une transition
Point Mort (N) Marche arrière (R)
A A
N enclenché
N N
G G • On utilise pour cela des pseudo-états particuliers
F enclenché
A N enclenché A 1. les points de jonction (représentés par un petit cercle
G G
E E plein).
Marche avant (F)
2. les points de décision (représenté par un losange).
U rapport sup rapport sup U
M Première Seconde Troisième M
L L
rapport inf rapport inf

Super-état Sous-état
ENSAF 152 M.BERRADA ENSAF 153 M.BERRADA

M.BERRADA 5
ENSA de Fès 2015/2016

Les points de jonction Les points de décision


• Un point de jonction peut avoir plusieurs segments de • Un point de décision possède une entrée et au moins deux sorties.
L
transition entrante et plusieurs segments de transition L
• Contrairement à un point de jonction, les gardes situées après le
A sortante. A point de décision sont évaluées au moment où il est atteint. Cela
N N permet de baser le choix sur des résultats obtenus en franchissant
G G le segment avant le point de choix
A • Par contre, il ne peut avoir d’activité interne ni des A
G G • L’utilisation d’une clause [else] est recommandée après un point
transitions sortantes dotées de déclencheurs d’événements. de décision car elle garantit un modèle bien formé.
E E

U U
M M
L L

ENSAF 154 M.BERRADA ENSAF 155 M.BERRADA

Concurrence (états orthogonaux) Concurrence (transitions complexes)


• Les diagrammes d’états-transitions permettent de décrire • Il est également possible de représenter ce type de
L
efficacement les mécanismes concurrents grâce à l’utilisation L
comportement au moyen de transitions concurrentes,
A d’états orthogonaux A qualifiées de complexes.
N • Un état orthogonal est un état composite comportant plus N • Les transitions complexes sont représentées par une barre
G G
A d’une région, chaque région représentant un flot d’exécution A épaisse et peuvent, éventuellement, être nommées.
G G
E E

U U
M M
L L

ENSAF 156 M.BERRADA ENSAF 157 M.BERRADA

Plan 7
• Présentation
L L • Objectifs
A A • Diagramme d’activités
N N
G G • Etat action, état activité
A A
G G
• Sous-diagramme d’activités
E E • Couloirs d’un diagramme d’activités
U
Diagramme d’Activités U • Exemples
M M
L L

ENSAF 158 M.BERRADA ENSAF 159 M.BERRADA

M.BERRADA 6
ENSA de Fès 2015/2016

Présentation Objectifs
• Apport en grande partie de la méthode OMT (Rumbaugh) • Déterminer les activités induites par un flot de contrôle
L L
transverse au système
A • Le diagramme d’activités est utilisé pour modéliser le flot de A  La modélisation objet incite à utiliser la délégation
N N entre objets et de ce fait rend difficile la lecture des flots de
G contrôle entre activités, alors que les diagrammes G
A d’interaction modélisent le flot de contrôle entre objets A contrôle au travers du système
G G
E E
• Diagramme très peu utilisé car d’un formalisme peu adapté à • Définir avec précision les traitements qui ont cours au
U U sein du système
M
la description de gros algorithmes M
L L  Certains algorithmes ou calculs nécessitent de la part
• Diagramme gagnant à être connu : possibilité de l’utiliser pour du modélisateur une description poussée
décrire des processus métier de haut niveau (= équivalent du
MOT MERISE)

ENSAF 160 M.BERRADA ENSAF 161 M.BERRADA

Objectifs (2) Définition


• Représenter les interactions synchrones au sein du • Le diagramme d’activité est un diagramme états-
L
système L
transitions simplifié pour lequel les états se réduisent à de
A  Certains types d’application développent de lourds A simples actions ou activités et dont les transitions se
N algorithmes ou calculs séquentiels et n’ont pas recours à N déclenchent automatiquement avec éventuellement des
G G
A des communications asynchrones entre objets A
gardes
G G
E E
• Le diagramme d’activité est composé de deux sortes
U U d’états :
M M – Les états d’action ne contenant qu’une action en entrée
L L
– Les états d’activité ne contenant qu’une activité en leur sein
• Les notions d’action et d’activité dont il est question ici
sont identiques à celles utilisés par les diagrammes états-
transitions
ENSAF 162 M.BERRADA ENSAF 163 M.BERRADA

Digramme (Notation) Pourquoi un diagramme d’activités ?


• Le diagramme d’activités • Un diagramme d’activités peut être utilisé pour décrire une
simplifie l’écriture des fonctionnalité induisant un flot de contrôle traversant le
L diagrammes états-transitions L
A A système
N N En particulier, il est une alternative aux diagrammes
G • Un état action est étiqueté par G
A le nom de l’action en entrée A d’interaction pour la description d’un cas d’utilisation
G Il est atomique et non G
E redécomposable E
• Un diagramme d’activités peut être utilisé pour décrire
U U avec précision le contenu d’une opération d’une classe
M • Un état activité est étiqueté M
L par le nom de l’activité L
Il n’est pas atomique et peut • Un diagramme d’activités peut être utilisé pour décrire
se redécomposer en un autre avec précision une activité incluse dans un diagramme
diagramme d’activités états-transitions

ENSAF 164 M.BERRADA ENSAF 165 M.BERRADA

M.BERRADA 7
ENSA de Fès 2015/2016

Syntaxe Syntaxe (2)


• Branche conditionnelle • Couloir d’activités
Couloir 1: Couloir 2:
L Activité1 L
A A Activité 1

N [else]
N
G [condit ion1]
G Activité 2

A Activité2 Activité3 A
G G
E E

U • Barre de synchronisation U
M M • Flux d’objets
L L
Refroidir
Activité1 Activité1

Arrêter le chauffage Aérer Objet en entrée:


Objet en sort ie:

ENSAF 166 M.BERRADA ENSAF 167 M.BERRADA

Syntaxe (3) Exemple


• Signal
L L
A A
N Exécuter séquence de démarrage N
G G
A Accep ter connexion de l'utilisateur A
G G
E Demander validation E
réseau:
U Attente de rép onse U
M M
L L
recevoir confirmation

Prêt

ENSAF 168 M.BERRADA ENSAF 169 M.BERRADA

Mode d’utilisation Sous-diagramme d’activités


• Une transition sur un diagramme • Un état activité figurant
d’activités est représentée par une sur un diagramme
L flèche éventuellement étiquetée par L
A une garde A d’activité peut être
N
• Un branchement conditionnel est
N redécomposé dans un
G G
A représenté par un losange d’où A
sous-diagramme
G partent toutes les alternatives G d’activité
E obligatoirement exclusives E
• On utilise des fourches et des
U jonctions pour synchroniser les U • La terminaison du sous-
M M diagramme entraîne le
activités entre-elles
L L
• Etat initial et final peuvent être déclenchement de la
représentés sur le diagramme transition en sortie de
l’activité décomposée

ENSAF 170 M.BERRADA ENSAF 171 M.BERRADA

M.BERRADA 8
ENSA de Fès 2015/2016

Couloirs d’un diagramme d’activités Flux d’objets


• Chaque couloir • Visualisation des relations entre une opération et les objets
L
possède un nom L
apparaissant en arguments ou en résultat de l’opération
A • Il n’est pas A
N obligatoire que N
G G
A ce nom ait une A
G sémantique G
E particulière E

U • En général, un U
M couloir M
L L
correspond à
une classe du
système

ENSAF 172 M.BERRADA ENSAF 173 M.BERRADA

Émission et réception de signaux Recommandations


• Utiliser le diagramme d’activité pour décrire un processus
L L
métier de haut niveau (= équivalent du MOT MERISE)
A A
N N
G G • Ne pas utiliser le diagramme d’activités si l’on souhaite
A A modéliser des interactions asynchrones entre objets
G G
E E
• Préférer le diagramme d’activités à un diagramme
U U
M M
d’interaction pour décrire un cas d’utilisation purement
L L algorithmique (cas des batchs)

• Privilégier l’utilisation d’un pseudo-code pour décrire les


algorithmes trop imposants

ENSAF 174 M.BERRADA ENSAF 175 M.BERRADA

Exemple 1 Exemple 2

L L
A A
N N
G G
A A
G G
E E

U U
M M
L L

ENSAF 176 M.BERRADA ENSAF 177 M.BERRADA

M.BERRADA 9
ENSA de Fès 2015/2016

Exemple 3 Exemple 4

L L
A A
N N
G G
A A
G G
E E

U U
M M
L L

ENSAF 178 M.BERRADA ENSAF 179 M.BERRADA

M.BERRADA 10

Vous aimerez peut-être aussi