Cours UML 3
Cours UML 3
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]
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
David Harel
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.
M.BERRADA 2
ENSA de Fès 2015/2016
Transition
ENSAF 136 M.BERRADA ENSAF 137 M.BERRADA
Action Activité
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
M.BERRADA 3
ENSA de Fès 2015/2016
Auto-transition
⇒ exécution des activités d’entrée et de sortie
• 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
M.BERRADA 4
ENSA de Fès 2015/2016
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
Super-état Sous-état
ENSAF 152 M.BERRADA ENSAF 153 M.BERRADA
M.BERRADA 5
ENSA de Fès 2015/2016
U U
M M
L L
U U
M M
L L
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
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)
M.BERRADA 7
ENSA de Fès 2015/2016
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
Prêt
M.BERRADA 8
ENSA de Fès 2015/2016
U • En général, un U
M couloir M
L L
correspond à
une classe du
système
Exemple 1 Exemple 2
L L
A A
N N
G G
A A
G G
E E
U U
M M
L L
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
M.BERRADA 10