Vous êtes sur la page 1sur 26

Module 9 :Programmation objet

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

− Savoir manipuler le diagramme de d’activités


− Savoir manipuler les diagramme d’états-transitions
− Etre capable d’exploiter ces diagrammes pour décrire
graphiquement la dynamique d’un objet ou d’élément de
système
Cours Génie Logiciel Copyright @ A. EL mezouary

Contenu de ce cours

Section 3
diagramme
Cours Génie Logiciel Copyright @ A. EL mezouary

d’activité

2
Diagramme d’activités

objectif

− Les diagrammes d’activités ont pour but, la modélisation de


processus métier d’un domaine ou le comportement interne des
opérations ou des cas d’utilisation.
→ spécifier les flux de contrôle, de données ou d’objets
− Il représente ces processus en tant qu’une activité composée de
plusieurs nœuds connectés.
− Il ressemble à un ordinogramme, montrant le flot de contrôle
d’action en action.
Cours Génie Logiciel Copyright @ A. EL mezouary

Diagramme d’activités

Qui-ce qu’un processus métier

− Un processus métier est les différentes étapes par lesquelles passe


une entreprise pour exécuter une activité,
→ Comme par exemple: l'embauche d'un employé ou la commande et
l'expédition d'un produit.
→ Elle montre le « qui », le « quoi », le « quand », le « où » et le
« comment » pour ces étapes et aide à analyser le « pourquoi »
− L'objectif est d'acquérir une compréhension détaillée du processus,
des personnes, des entrées, des commandes et des sorties,
→ pour ensuite potentiellement simplifier le tout, le rendre plus efficace
Cours Génie Logiciel Copyright @ A. EL mezouary

et/ou améliorer les résultats du processus.

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

→ 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 ;
→ une mise en attente…
9

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é

Activité qui représente le traitement d’une commande

connecteur
Nœud Initial

Nœud final
Nœud d’action

− Le nœud de démarrage d’une activité est appelé le nœud initial


Cours Génie Logiciel Copyright @ A. EL mezouary

− Alors, une activité se termine par un nœud final

14

7
Diagramme d’activités

Exemple diagramme d’activité

Chercher Des Produits

Sélectionner Les Produits


Cours Génie Logiciel Copyright @ A. EL mezouary

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

[Candidature rejetée] [Candidature retenue]


Cours Génie Logiciel Copyright @ A. EL mezouary

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é.

Commander Commander Commander


par messagerie par téléphone par e-mail
Cours Génie Logiciel Copyright @ A. EL mezouary

Nœud de fusion

Facturer

17

Diagramme d’activité

Nœud de bifurcation (fork)

− Un nœud de bifurcation (fork) permet à partir d’un flot unique


entrant de créer plusieurs flots concurrents en sortie de la barre de
synchronisation.
− Exemple : Une fois la commande est reçue , deux activité peuvent
être lancées en parallèle, une pour la vérification du paiement et
l’autre pour la préparation de marchandise

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

− Le nœud de jonction (join) permet fusionner des flux parallèles


→ Le nœud join est le symétrique du nœud de fork
− Dans l’exemple précédent
Recevoir
paiement Nœud fork

Préparation
comptabiliser marchandise
Cours Génie Logiciel Copyright @ A. EL mezouary

Envoyer Nœud join


commande
19

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

Nœud d’objet Développement

prototype

20

10
Diagramme d’activité

Nœud d’objet

− Lorsque les activités produisent beaucoup d’objets, il serait


intéressant de les organiser en pins d’entrée et des pins de sortie
− Un pin d’entrée ou de sortie représente un paramètre que l’on peut
spécifier en entrée ou en sortie d’une action.
→ Un nom de donnée et un type de donnée peuvent être associés au
pin.
→ Un paramètre peut être de type objet.
− Formalisme et exemple
Cours Génie Logiciel Copyright @ A. EL mezouary

21

Diagramme d’activité

Nœud d’objet

− Deux notations possibles pour modéliser un flot de données.


Cours Génie Logiciel Copyright @ A. EL mezouary

22

11
Diagramme d’activité

Nœud d’objet

− Exemple : pour modéliser l’activité d’authentification, le username


et le mot de passe sont des objets produits
→ Diagramme d’activité sans utilisation des pins
Authentifier
Entrer
Utilisateur
Utilisateur
Vérifier
Utilisateur

Entrer Mot De
Mot De Passe
Passe
Vérifier Mot DePasse

→ Diagramme d’activité avec utilisation des pins


Cours Génie Logiciel Copyright @ A. EL mezouary

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é

Représentation de diagramme d’activité


Partitions
− Dans un diagramme d’activité, Les activités sémantiquement liées
peuvent être regroupées en partitions
− Les partitions rendent un diagramme d’activité plus faciles à lire et
plus expressifs
− Les partitions peuvent être représentées d’une manière horizontale
ou verticale
Cours Génie Logiciel Copyright @ A. EL mezouary

25

Diagramme d’activité

Représentation de diagramme d’activité


− Exemple : pour valider une facture, le gestionnaire lance la
validation, le magasinier prépare le stock et enfin, le comptable
vérifie le paiement
Partitions

Gestionnaire Magasinier Comptable

Lancer la validation
Cours Génie Logiciel Copyright @ A. EL mezouary

Préparer le stock

Vérifier le virement

26

13
Diagramme d’activité

Représentation de diagramme d’activité


− Exemple 1 : diagramme
d’activité pour s’inscrire
dans une boutique en
ligne
Cours Génie Logiciel Copyright @ A. EL mezouary

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

Intérêt de diagramme d’état-transition


− Le diagramme d’états-transitions modélise le cycle de vie d’un objet
dit objet réactif
− Décrit le comportement d’un objet au moyen d’un automate d’états
associés à la classe
→ Décrit comment un objet réagit à des événements en fonction de son
état courant et comment il passe dans un nouvel état.
− Les état d’un objet représente l’ensemble des valeurs de ses
propriétés à un instant donné
→ Il y a un état initial, mais pas toujours d’état final
Cours Génie Logiciel Copyright @ A. EL mezouary

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

Exemple : Diagramme d’états-


transitions simple de l’objet
commande
Cours Génie Logiciel Copyright @ A. EL mezouary

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

État initial intermédiaire État final

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

Exemple 2 : Diagramme d’états-transitions version avancée de l’objet commande


Cours Génie Logiciel Copyright @ A. EL mezouary

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

→ Type écoulement du temps (temporel) : C’est un événement lié à une


condition de type after (durée) ou when (date)

35

Diagramme d’états-transitions

Exemple : états-transition d’un fichier


Cours Génie Logiciel Copyright @ A. EL mezouary

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

Exemple : états-transition d’un livre


Cours Génie Logiciel Copyright @ A. EL mezouary

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

− La transition de l’état 1 vers l’état 2 sera réalisée si la condition


cond est vraie quand l’événement arrive
→ Si la condition cond est fausse alors l’événement eve est perdu
Cours Génie Logiciel Copyright @ A. EL mezouary

» aucune transition spécifiée pour lui


− La garde est évaluée uniquement quand l’événement est déclenché

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

opération qui dure un certain exit : action de sortie


temps
do : activité séquentielle
→ Peut-être interrompue
→ Active une transition sortante
lorsque terminée
44

22
Diagramme d’états-transitions

Exemple

En classe

entry / marquer la présence


do / garder le silence
exit / signaler le départ
Cours Génie Logiciel Copyright @ A. EL mezouary

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

− Notation alternative pour l’état initial du composite


Cours Génie Logiciel Copyright @ A. EL mezouary

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

Vous aimerez peut-être aussi