Académique Documents
Professionnel Documents
Culture Documents
UFR SAT/UGB
Plan 2
Plan 3
Diagramme Diagramme
De structure comportemental
Diagramme Diagramme de
De séquence communication
Diagramme Diagramme
Vue d'ensemble De timing
Des interactions
Rôle
permettent de décrire les changements d’états d’un objet ou d’un
composant, en réponse aux interactions avec d’autres
objets/composants ou avec des acteurs
Utilité
Spécifier le comportement d’un objet :
en définissant explicitement les événements auxquels peut
répondre un objet en fonction de l’état dans lequel il se trouve,
et donc en définissant les événements auxquels il ne peut pas
répondre dans certains états.
Etat
un état de l’automate à états finis.
Représente une période de la durée de vie de l’objet (attente
d’un évènement, ou action).
Un état se caractérise par sa durée et sa stabilité, il représente
une conjonction instantanée des valeurs des attributs d’un
objet
Les états sont représentés par des rectangles aux coins arrondis
transition
Une transition représente le passage instantané d’un état vers un
autre
Les transitions sont représentées par des arcs orientés liant les états
entre eux.
David Célestin FAYE Modélisation avec UML 10/96
Les diagrammes d’états transitions (vue dynamique)
Les diagrammes d’activités
événement
Une transition est déclenchée par un événement : c’est l’arrivée
d’un événement qui conditionne la transition
action
Une action est exécutée sur l’objet spécifié à l’entrée du nouvel état
Etat initial
évènement
Etat final
évènement (paramètre)
évènement[Cond]
État intermédiaire État intermédiaire
évènement
évènement/action
Etat final
Allumé
on off
Eteint
off
si la lampe est dans l’état « Allumé », l’évènement « off » la
fait passer à l’état « Eteint »
si la lampe est dans l’état « Eteint », l’évènement « on » la
fait passer à l’état « Allumé »
David Célestin FAYE Modélisation avec UML 14/96
Les diagrammes d’états transitions (vue dynamique)
Les diagrammes d’activités
ouverte
normal maximisée
maximiser()
init2
maximiser()
init1
positionner()
H
dimensionner() History
minimiser() minimiser()
minimisée
Evénement déclencheur
Les transitions d’un diagramme d’états-transitions sont déclenchées
par des événements déclencheurs qui peuvent être :
événement de type call généré par l’ appel de méthode sur
l’objet courant .
événement de type change généré implicitement par le passage
de faux à vrai de la valeur de vérité d’une condition booléenne
événement de type signal généré par la réception d’un signal
asynchrone, explicitement émis par un autre objet
un événement de type after généré par l’écoulement d’une
durée déterminée après un événement donné . Par défaut, le
temps commence à s’écouler dès l’entrée dans l’état courant.
[non cond]
Etat 2b
Point de décision
Les points de jonction
pseudo-états particuliers (petit cercle plein) permettant de
partager des segments de transition.
Objectifs : représenter des alternatives pour le franchissement
d’une transition.
un raccourci d’écriture permettant des représentations plus
compactes.
[b>0]
Etat 3
Etat 1 e1[a>
0]
[b=0]
Etat 4
>0]
Etat 2 e2[a [b<0]
Etat 5
/afficher
[étudiant trouvé] code étudiant
Chercher étudiant inscrire étudiant
[Else]
Afficher
problème
rencontre
entry/bonjour
exit/au revoir
salut/serrer main
E1
SE1 T1
E2
T3
T2
SE1
Composer numéro
Debut Numéroter
[numero.valide()]
entry/tonalité « prêt » chiffer(n) entry/numero.append(n)
exit/cesser tonalité
chiffer(n)
Entrer PIN
[pin OK]
éteindre
[pin OK]
Rechercher réseau
éteindre
réseau trouvé
Prêt Eteint
éteindre
Rechercher réseau
éteindre
réseau trouvé
Prêt Eteint
éteindre
créée
ouverte
normal maximisée
maximiser()
init2
maximiser()
init1
positionner()
H
dimensionner() History
minimiser() minimiser()
minimisée
Historique
Par défaut un automate n’a pas de mémoire
Un pseudo-état historique est noté par un H cerclé.
la notation H offre un mécanisme pour mémoriser le dernier
sous-état visité et pour le rejoindre lors d’une transition
entrant dans le super-état qui l’englobe
Une transition ayant pour cible le pseudo-état historique est
équivalente à une transition qui a pour cible le dernier état
visité dans la région contenant le H.
+60 ans
En activité
Retraite
Perte d'emploi embauche
+60 ans
Chômage
En activité
+60 ans
Perte d'emploi embauche Retraite
Chômage
États concurrents
Dans un même état, plusieurs automates peuvent s’exécuter
en parallèle
L’exécution d’un automate peut être contrainte par l’exécution
d’un autre
L’exécution peut-être synchronisée
Un objet peut alors être simultanément dans plusieurs états
concurrents.
A
B C
BE1 CE1
T4
T1 T2
T3
T5
BE2
CE2
BE3 T6
T7
A
B C
BE1 CE1
T4[in CE1]
T1 T2
T3
T5
BE2
CE2
BE3 T6
T7
fork join
E2 E4
T1
E4
E4 E5
Plan 48
Diagramme Diagramme
De structure comportemental
Diagramme Diagramme de
De séquence communication
Diagramme Diagramme
Vue d'ensemble De timing
Des interactions
Action
traitement qui modifie l’état du système ou en extrait une
information
La notion d’action proche de la notion d’instruction
élémentaire d’un langage de programmation.
Les actions sont des étapes discrètes à partir desquelles se
construisent les comportements.
Exemple d’action
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 ou lien ;
un calcul arithmétique simple ;
l’émission d’un signal ;
la réception d’un signal ;
...
Commander un produit
Régler la facture
Recevoir le produit
transition
action1 action2
Activité
Une activité représente le comportement d’une partie du
système en termes d’actions et de transitions.
Une activité est composée de trois types de nœuds :
nœud d’exécution(action,transition),
nœud de contrôle (nœud initial, nœud final, flux de sortie,
nœud de bifurca- tion, nœud de jonction, nœud de fusion-test,
nœud de test-décision, pin d’entrée et de sortie),
nœud d’objet.
Une activité peut recevoir des paramètres en entrée et en
produire en sortie.
Noeud s de contrôle
Commander un produit
Régler la facture
Nœud de contrôle
Un nœud de contrôle est un nœud d’activité abstrait utilisé pour
coordonner les flots entre les nœud d’une activité.
Formalisme et exemple
Formalisme et exemple
Examen candidature
transition
Entretien
x:int
res=x+y res:int
y:int
Flot d’objet
Un nœud d’objet permet de représenter le flot de données
véhiculé entre les actions.
Les objets peuvent se représenter de deux manières
différentes : soit en utilisant le pin d’objet soit en représentant
explicitement un objet.
le type du pin récepteur doit être identique ou parent (au sens
de la relation de généralisation) du type du pin émetteur.
On peut également préciser des contraintes entre accolades,
soit à l’intérieur, soit en dessous du rectangle du nœud d’objet.
Flot de données
Action 1 Action 2
: type1 : type1
Nœud d'objet
{contrainte}
Résumé 92
MERISE vs UML 93
MERISE vs UML 94
Z Solution UML :
centrée sur les besoins utilisateurs (cas d’utilisation),
itérative et incrémentale,
le même concept d’objet peut parcourir tout le cycle
d’abstraction.
Z démarche MERISE :
proche du cycle de développement en cascade (on procède une
phase après l’autre),
conduite par les différents modèles proposés