Académique Documents
Professionnel Documents
Culture Documents
Analyse et
Ali EL MEZOUARY – elmezouaryali@gmail.com
conception objet
Cours 4 : Diagramme
d’activités & diagramme
d’états-transitions
Contenu de ce cours
Section1
diagramme
d’activité
Section 2
Diagramme
d’état-transition
Cours Génie Logiciel Copyright @ A. EL mezouary
1
Objectifs du cours
Contenu de ce cours
Section 3
diagramme
Cours Génie Logiciel Copyright @ A. EL mezouary
d’activité
2
Diagramme d’activités
objectif
Diagramme d’activités
3
Diagramme d’activités
− Les diagrammes d’activités est parmi les solutions les plus utilisées
pour modéliser un PM.
Cours Génie Logiciel Copyright @ A. EL mezouary
Diagramme d’activités
− À l'instar d'autres types de diagrammes, ce diagramme utilise des
symboles définis comme des cercles, des rectangles, des losanges
et des flèches pour représenter les activités métier.
Cours Génie Logiciel Copyright @ A. EL mezouary
4
Diagramme d’activités
Actions
− Une action correspond à un traitement qui modifie l’état du
système
→ Il peut être appréhendée à un niveau élémentaire proche d’une
instruction
→ Ou bien à un niveau global qui correspondant à une ou plusieurs
opérations
− Une 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) ;
Cours Génie Logiciel Copyright @ A. EL mezouary
Diagramme d’activités
Nœud d’actions
− Une action est représentée par un nœud d’action représenté par un
rectangle dont les coins sont arrondis qui contiens sa description
textuelle
− Exemple
Cours Génie Logiciel Copyright @ A. EL mezouary
10
5
Diagramme d’activités
Nœud d’actions
− Certaines actions de communication ont une notation spéciale
comme montré ci-contre :
→ l'action "accept event" lorsque le système reçoit un signal
→ L’action "send signal" lorsque le système envoie un signal
→ L'action "time event" est un événement temporel déclenché après
l'écoulement d'une certaine durée.
− Exemple
Cours Génie Logiciel Copyright @ A. EL mezouary
11
Diagramme d’activités
Transition et flot de contrôle
− Dès qu’une action est achevée, une transition automatique est
déclenchée vers l’action suivante.
− le flot de contrôle est l’enchaînement d’une succession des actions
− Le formalisme de représentation d’une transition est comme
suivant
Transition
Action 1 Action 2
Cours Génie Logiciel Copyright @ A. EL mezouary
12
6
Diagramme d’activités
Activité
− Une activité représente le comportement d’une partie du système
en termes d’actions et de transitions.
− Une activité est un réseaux composés de nœuds et de connecteurs.
− Trois types de nœuds peuvent être distingués
→ Nœud d’exécution (action, transition), représente une unité de travail
atomique (indivisible)
→ Nœud de contrôle (nœud initial, nœud final, nœud de décision, nœud
de fusion, nœud de bifurcation, Nœud de jonction) qui contrôle le flux
au sein d’une activité
→ Nœud d’objet qui représente un objet manipulé dans l’activité
Cours Génie Logiciel Copyright @ A. EL mezouary
13
Diagramme d’activités
Exemple d’activité
connecteur
Nœud Initial
Nœud final
Nœud d’action
14
7
Diagramme d’activités
Enregistrer La Commande
15
Diagramme d’activité
Nœud de décision
− Un nœud de décision est un connecteur qui a un seul flot en entrée
et de deux (ou plusieurs) flots sortant.
Nœud de décision
Critères candidature
16
8
Diagramme d’activité
Nœud de fusion
− Un nœud de fusion permet d’avoir plusieurs flots entrants possibles
et un seul flot sortant.
− Le flot sortant est exécuté dès qu’un des flots entrants est activé.
Nœud de fusion
Facturer
17
Diagramme d’activité
Réception
paiement Nœud fork
Cours Génie Logiciel Copyright @ A. EL mezouary
comptabiliser Préparation
marchandise
18
9
Diagramme d’activité
Nœud de jonction
Préparation
comptabiliser marchandise
Cours Génie Logiciel Copyright @ A. EL mezouary
Diagramme d’activité
Nœud d’objet
− Les nœuds d’objet sont des nœuds spéciaux qui indiquent que des
instances d’une classe données sont disponible à un point donné
dans le temps
→ Ils permettent de représenter le flot de données véhiculé entre les
actions.
− Exemple : Dans une activité industrielle,
la spécification produit un cahier de Spécification
charges et le développement
produit un prototype cahier des charges
Cours Génie Logiciel Copyright @ A. EL mezouary
prototype
20
10
Diagramme d’activité
Nœud d’objet
21
Diagramme d’activité
Nœud d’objet
22
11
Diagramme d’activité
Nœud d’objet
Entrer Mot De
Mot De Passe
Passe
Vérifier Mot DePasse
Entrer Authentifier
Utilisateur
Utilisateur
Vérifier
Utilisateur
Entrer Mot De
Passe
Mot de Vérifier Mot DePasse
passe
23
Diagramme d’activité
Exemple 1
Cours Génie Logiciel Copyright @ A. EL mezouary
24
12
Diagramme d’activité
25
Diagramme d’activité
Lancer la validation
Cours Génie Logiciel Copyright @ A. EL mezouary
Préparer le stock
Vérifier le virement
26
13
Diagramme d’activité
27
Diagramme d’activité
− Exemple 2
Cours Génie Logiciel Copyright @ A. EL mezouary
28
14
Section 4 :
Diagramme
Cours Génie Logiciel Copyright @ A. EL mezouary
d’état-transition
29
Diagramme d’états-transitions
30
15
Diagramme d’états-transitions
définition
− Le diagramme d’états-transitions est un graphe :
→ Nœuds = états possibles des objets
→ Arcs = les transitions entre les états
31
Diagramme d’états-transitions
Notion d’état
− Un état = étape dans le cycle de vie d’un objet
− Chaque objet possède à un instant donné un état particulier
− Chaque état est identifié par un nom.
− Un état est stable et durable
− Il est possible de n’avoir aucun état final : un système qui ne s’arrête
jamais.
État
Cours Génie Logiciel Copyright @ A. EL mezouary
32
16
Diagramme d’états-transitions
Notion de transition
− Une transition est la réaction de l’objet sous l’effet d’une
occurrence d‘un évènement
→ Un événement correspond à l’occurrence d’une situation donnée
dans le domaine étudié
→ Un événement est une information instantanée qui doit être traitée à
l’instant où il se produit
→ Un évènement est l’exécution d’une action particulière qui se
déclenche sous des conditions spécifiques
− Événement : élément déclencheur de la transition
− Action: opération réalisée lorsqu’une transition est exécutée
Cours Génie Logiciel Copyright @ A. EL mezouary
Evènement/action
Etat 1 Etat 2
33
Diagramme d’états-transitions
34
17
Diagramme d’états-transitions
Types d’événements
− Il existe quatre types d’événements :
→ Type appel d’opération : C’est le type le plus courant que nous
traiterons dans la suite de la présentation.
Syntaxe : Op(p1:type, pé:type, …)
→ Type signal : (ex: clic de souris, interruption d’entrées-sorties… La
modélisation de la réception ou l’émission d’un signal est traitée dans
le diagramme d’activité.
→ Type changement de valeur (vrai/faux) : C’est le cas de l’évaluation
d’une expression booléenne.
Syntaxe : when(condition)
Cours Génie Logiciel Copyright @ A. EL mezouary
35
Diagramme d’états-transitions
36
18
Diagramme d’états-transitions
Types d’actions
− Affectation: cible:=expression
− Appel / envoi de message: object.opname(arg, …)
→ Synchrone
→ Peut retourner une valeur
− Création d’instance: new Cname(arg, …)
− Destruction d’instance: object.destroy()
− Séquence: action1; action2; …
Cours Génie Logiciel Copyright @ A. EL mezouary
37
Diagramme d’états-transitions
38
19
Diagramme d’états-transitions
Garde
− Une transition peut être conditionnelle à l’évaluation d’une
condition appelée « garde »
− Formalisme garde
eve[cond]
Etat 1 Etat 2
39
Diagramme d’états-transitions
exemple
Cours Génie Logiciel Copyright @ A. EL mezouary
40
20
Diagramme d’états-transitions
Le pseudo-état de jonction
− Lorsque l’on veut relier plusieurs états vers d’autres états, un état
de jonction permet de décomposer une transition en deux parties
en indiquant si nécessaire les gardes propres à chaque segment de
la transition.
− Dans l’exemple ci-dessous, pour emprunter un chemin, toutes les gardes le long
de ce chemin doivent s'évaluer à vrai dès le franchissement du premier segment
Cours Génie Logiciel Copyright @ A. EL mezouary
41
Diagramme d’états-transitions
Le pseudo-état de jonction
− Avec un état de jonction, on peut simplifier les transitions de
l’exemple précédent, en partageant des segments de transition
Cours Génie Logiciel Copyright @ A. EL mezouary
→ un seul parcours sera emprunté, c’est celui pour lequel toutes les
conditions de garde seront satisfaites.
− Les états de jonction Ils ne sont qu'un raccourci d'écriture.
→ Ils permettent des représentations plus compactes.
42
21
Diagramme d’états-transitions
Le pseudo-état de choix
− Un pseudo-état de choix exprime un ou plusieurs choix
mutuellement exclusifs
→ Chaque garde après le point de choix est évaluée au moment où elle
est atteint.
→ Contrairement aux points de jonction, les points de choix ne sont pas
de simples raccourcis d'écriture.
Cours Génie Logiciel Copyright @ A. EL mezouary
43
Diagramme d’états-transitions
Activité
− Une activité est une opération qui peut être exécutées dans un état
− Quatre types d’activités marquantes
→ «entry» / activité : action exécutée à l'entrée de l'état
→ «exit» / activité : action exécutée à la sortie de l'état
→ «on» /activité : lorsqu’une occurrence d’événement interne (on)
survient Etat
→ «do» / activité : action récurrente
ou significative, exécutée dans entry : action d’entrée
l'état. on e1 : action
→ Activité non instantanée :
Cours Génie Logiciel Copyright @ A. EL mezouary
22
Diagramme d’états-transitions
Exemple
En classe
45
Diagramme d’états-transitions
Exemple
Cours Génie Logiciel Copyright @ A. EL mezouary
46
23
Diagramme d’états-transitions
État composite
− Un état peut contenir des sous-états
→ Permet de factoriser les transitions de sortie du composite
− Exemple
47
Diagramme d’états-transitions
État composite
− Lorsqu’un état composite est activé, un de ses sous états est
nécessairement activé
− Entrer et sortir d’un état composite
→ Une transition entrante est implicitement conduite vers son état
initial
→ Une transition vers l’état final active implicitement une transition
sortante
Cours Génie Logiciel Copyright @ A. EL mezouary
48
24
Diagramme d’états-transitions
État historique
− L’état historique d’un état composite permet d’indiquer à un état
composite la réutilisation du dernier état historisé en cas de besoin
− Formalisme d’un état historique est donné dans cet exemple :
Cours Génie Logiciel Copyright @ A. EL mezouary
49
Diagramme d’états-transitions
Exercice
Après le recrutement, une personne est considérée en activité dès sa
prise de fonction dans l’entreprise. Au cours de sa carrière, nous
retiendrons seulement les événements : congé de maladie et prise de
congé annuel. En fin de carrière, nous retiendrons deux situations : la
démission et la retraite.
Question : Représenter le diagramme d’état-transition de l’objet
personne en suivant les événements de gestion depuis le
recrutement jusqu’à la mise en retraite.
Cours Génie Logiciel Copyright @ A. EL mezouary
50
25
Cours Génie Logiciel Copyright @ A. EL mezouary
Exercice
Diagramme d’états-transitions
51
26