Vous êtes sur la page 1sur 65

École Nationale des Sciences de l’Informatique

Analyse et conception orientées objet

Chapitre 2
II2-ENSI
PLAN DU COURS ACOO-II2

1. Diagramme de cas d´utilisation


2. Diagrammes structurels
a) Diagramme de classes (DC)

Cours « GL-ACOO » ENSI


b) Diagramme d’objets (DO)

3. Diagrammes comportementaux
a) Diagramme de séquence
b) Diagramme d’états-transitions
c) Diagramme d’activités

2
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

Classification selon le point de


P o si tio nn ement
vue/le niveau d’abstraction

Cours « GL-ACOO » ENSI


Algorithme du monde réel Algorithme du logiciel
(scénario) (scénario)

Objets du
monde Objets du Objets du
réel logiciel langage

De quoi parle-t-on ? Comment ‘logique’ ? Comment ‘physique’ ?


Analyse Conception Code
Modèle conceptuel Modèle logique Modèle physique 3
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

Positionnement Où se situent les diagrammes


comportementaux ?
Structurel

Cours « GL-ACOO » ENSI


Vue Vue de
logique développement

Vue des cas


d’utilisation

Fonctionnel Vue de
Vue physique
Processus

 Les diagrammes comportementaux sont des diagrammes


dynamiques qui représentent la vue de processus d’un système. 4
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Introduction

 Les diagrammes comportementaux :


 Montrent la dynamique du système.

Cours « GL-ACOO » ENSI


 Décrivent comment le système évolue dans le temps

 Le diagramme de séquence système, d’activités et d’états-

transitions sont les pièces maîtresses de la vue


comportementale au niveau d’analyse

5
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse dynamiques

Introduction

 La modélisation dynamique lors de l’analyse se base


sur :
 les diagrammes d’interaction

Cours « GL-ACOO » ENSI


 Diagramme de séquence
 Diagramme de séquence système
 Diagramme de séquence avec les objets d’analyse
 Diagramme de communication
 les diagrammes de comportement
 Diagramme d’activité
 Diagramme d’état-transition

6
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence

 Le diagramme de séquence système (DSS) décrit les


interactions entre les acteurs et le système selon un point de
vue temporel (l'accent est mis sur la chronologie des

Cours « GL-ACOO » ENSI


envois/réceptions de messages entre les acteurs et le
système).

 Le DSS permet la description de la dynamique du système


vu de l'extérieur où le système est vu comme une « boîte
noire ».

 Le système est donc vu de l'extérieur (par les acteurs) sans


préjuger de comment il sera réalisé. La « boîte noire » sera
ouverte (décrite) seulement en conception. 7
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence

 Le DSS est typiquement utilisé pour représenter le


fonctionnement d'un cas d'utilisation sous la forme d’une
séquence de messages échangés entre les acteurs et le

Cours « GL-ACOO » ENSI


système. Il représente la synthèse des scénarios liés aux cas
d'utilisation.
 Un scénario : une suite spécifique d'événements
(d'actions et d'interactions) entre les acteurs et le
système (les DSS sont toujours lus du haut vers le bas,
pour illustrer l'ordre dans lequel les messages sont
envoyés entre les acteurs et le système).

8
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les principaux concepts


Acteurs/Système

système
acteur
Ligne de vie

Cours « GL-ACOO » ENSI


E1

Barre d’activation

Messages
E2 (asynchrone ou
synchrone)
R1
commentaire

9
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les principaux concepts

 Les acteurs : on les retrouve dans le diagramme de cas


d’utilisation et ils interagissent avec le système. Une ligne
de temps verticale est associée à l’entité système et à chaque
autre acteur du cas d’utilisation qui représente la ligne de

Cours « GL-ACOO » ENSI


vie «lifeline».

 Le point de contrôle (barre d’activation) : il illustre la


période pendant laquelle une entité (acteur/système)
effectue une action. Sur les diagrammes de séquence, ce
point de contrôle peut être représenté graphiquement en
plaçant un rectangle au-dessus de la ligne de vie de l'objet.

 On peut aussi inscrire des commentaires sur le diagramme de


séquence système. Ces commentaires peuvent être reliés à
toute entité du diagramme.

10
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les principaux concepts

 Les messages : sont représentés par des flèches directionnelles.


Au-dessus des flèches directionnelles figure un texte informant
du message envoyé entre les entités. Ils peuvent être :

Cours « GL-ACOO » ENSI


 Synchrone : l’acteur appelant attend le message de retour avant
de continuer son exécution (équivalent d’une conversation
téléphonique)
 Asynchrone : l’objet appelant n’attend pas le message de retour
(équivalent à un échange de courriels)
 De retour : représente la réponse (la réaction)

Message synchrone

Message asynchrone

Message de retour
11
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les principaux concepts

Cours « GL-ACOO » ENSI


Types de message:
Exemple

12
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence
Un objet

 Il est possible de trouver :


 Messages récursifs: dans le cas
des messages récursifs, on

Cours « GL-ACOO » ENSI


dédouble la bande d’activation
de l’objet concerné n!  f(n)=n*f(n-1)
 Messages réflexifs: un objet
s’envoie un message à lui-
Compte
même (exemple : pour
indiquer des interactions VérifierSolde()
internes)

13
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les principaux concepts

Numérotation de message
 Les messages sont numérotés séquentiellement à partir de 1.
 Si un message est envoyé alors que le traitement du

Cours « GL-ACOO » ENSI


précédent n’est pas encore terminé, il est possible d’utiliser
une numérotation composée.
 La numérotation de message n’est pas obligatoire mais reste
pratique pour montrer les activations imbriquées.

Transmission de données
 La transmission de données est possible lors de l’envoi de
message.
 Il suffit de mettre ces données en paramètre dans le message

14
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence Exemple

Le bibliothécaire souhaite enregistrer un nouvel


ouvrage dans le système de gestion de l’inventaire de la
bibliothèque. Pour cela, il fournit au système le nom de

Cours « GL-ACOO » ENSI


l’auteur et le titre de l’ouvrage.
Le bibliothécaire sélectionne ensuite le type d’ouvrage à
enregistrer. Le système lui retourne la liste des
ouvrages de ce type qui ont été écrit par cet auteur et
qui sont déjà enregistrés dans le système.
Le bibliothécaire insère une description complète de
l’ouvrage. Le système retourne l’ensemble de la
description sous un format de lecture et confirme
l’enregistrement du nouvel ouvrage.
15
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence Exemple

Cours « GL-ACOO » ENSI


16
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les principaux concepts

La création et la destruction
d’objets
 Création: Lorsqu’un objet
est créé, on place la boîte

Cours « GL-ACOO » ENSI


qui le représente
légèrement en bas, à c1:ClasseA
l’endroit où il est créé.
1:new ClasseB(n) nouvelle
 Destruction: La
destruction d’un objet est :ClasseB
représentée par un X à la
fin de sa ligne de vie, là
où elle se termine. Si
l’objet est détruit par un 2:destroy()
autre objet (non par lui - X
même), un message issu
de l’objet destructeur
pointe sur le X.

17
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence b) Les fragments combinés

 Un fragment combiné représente des articulations


d'interactions. Il est défini par un opérateur et
des opérandes. L'opérateur conditionne la signification du
fragment combiné. Les fragments combinés peuvent faire

Cours « GL-ACOO » ENSI


intervenir l'ensemble des entités participant au scénario ou
juste un sous-ensemble.

 Les principaux opérateurs en UML 2.0 :


 Opérateur "Alternative"
 Opérateur "Option"
 Opérateur "Break"
 Opérateur "Parallel"
 Opérateur "Loop"

18
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence b) Les fragments combinés

 L'opérateur "alt" désigne un choix, une alternative. Il


représente des comportements possibles : c'est en quelque
sorte l'équivalent du SI...ALORS...SINON : donc, une seule

Cours « GL-ACOO » ENSI


des branches alternatives sera réalisée dans un scénario
donné.

 La condition d'exécution d'une des branches alternatives


(l'équivalent du SI) peut être explicite ou implicite.

 L'utilisation de l'opérateur else permet d'indiquer que la


branche est exécutée si la condition du alt est fausse.

19
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les fragments combinés

L'exemple ici montre un


opérateur "alt" : - soit

Cours « GL-ACOO » ENSI


l'utilisateur rentre un code
correct et dans ce cas le
diagramme de séquence relatif
à la vérification du code est
appelé, - soit l'utilisateur rentre
un code erroné, trois fois, et sa
carte est gardée.

20
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence a) Les fragments combinés

L'opérateur "opt" désigne un


fragment combiné optionnel
comme son nom l'indique : c'est

Cours « GL-ACOO » ENSI


à dire qu'il représente un
comportement qui peut se
produire... ou pas. Un fragment
optionnel est équivalent à un
fragment "alt" qui ne posséderait
pas d'opérande else (qui n'aurait
qu'une seule branche).

L'exemple ici montre un


opérateur "opt" : L'utilisateur, si
il est mécontent, peut se défouler
sur le distributeur de billets.

21
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence b) Les fragments combinés


L'opérateur "break" est utilisé pour représenter des scenarii d'exception. Les
interactions de ce fragment seront exécutées à la place des interactions
décrites en dessous. Il y a donc une notion d'interruption du flot "normal"
des interactions.

Cours « GL-ACOO » ENSI


L'exemple ici montre un
opérateur "break" :
L'utilisateur, lorsque le
distributeur lui
demande son code,
peut choisir de rentrer
son code ou de
consulter l'aide. S’il
choisit de consulter
l'aide, le flot
d'interaction relatif à la
saisie du code est
interrompu. 22
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence b) Les fragments combinés

 L'équivalent de ce diagramme de séquence sans


l'opérateur break correspond aux deux diagrammes de
séquence suivants :

Cours « GL-ACOO » ENSI


23
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence b) Les fragments combinés

L'opérateur "par" est utilisé pour représenter des interactions ayant lieu
en parallèle

Cours « GL-ACOO » ENSI


L'exemple ici montre
qu’un développeur
ayant accès à Internet
peut consulter en
parallèle, soit le site
http://www.developpez.
com soit le site
http://www.developpez.
net/forums/ sans
préférence d’ordre.
24
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence b) Les fragments combinés


L'opérateur "Loop" (boucle) est
utilisé pour décrire un ensemble
d'interaction qui s'exécutent en
boucle. En général, une
contrainte appelée garde indique

Cours « GL-ACOO » ENSI


le nombre de répétitions
(minimum et maximum) ou bien
une condition booléenne à
respecter.

L'exemple ici montre un exemple


pour l'opérateur "loop" : Le
diagramme de séquence indique
que lorsque l'utilisateur se
trompe trois fois de code, la carte
est gardée et le distributeur se
remet en mode d'attente d'une
carte. 25
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence c) Les références

 Une référence (interaction occurrence) peut être vue


comme un pointeur ou un raccourci vers un autre

Cours « GL-ACOO » ENSI


diagramme de séquence existant.

 Cela équivaut à copier le contenu du diagramme de


séquence pointé en lieu et place de la référence.

 Cela permet de factoriser des parties de comportement


utilisées dans plusieurs scénario.

26
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence Exemple

Cas d'utilisation principal : Jouer une partie de démineur


 Dans la boucle (loop) de jeu, il y a trois possibilités
(alt) : perte, gain ou cas normal. Les cas de perte ou de

Cours « GL-ACOO » ENSI


gain arrêtent la partie (break). Sinon, le joueur passe
son temps à découvrir ou (alt) marquer des cases.
 Ensuite, le joueur pourra (opt) entrer son nom dans les
meilleurs scores si ([]) il a le meilleur temps en fonction
du niveau choisi.
 On peut ajouter la configuration du jeu comme étape
optionnelle (opt) avant de commencer à jouer.

27
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence Exemple

Cours « GL-ACOO » ENSI


28
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

1. Le diagramme de séquence

Diagramme de séquence : 2 alternatives


Diagramme de séquence système : on
considère le système comme une boîte noire

Cours « GL-ACOO » ENSI


(verticalement on aura les acteurs et le
système à développer).
Diagramme de séquence avec les objets
d’analyse (verticalement on aura les acteurs et
les objets des classes d’analyse).

29
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

2. Diagramme de communication

 C’est une alternative au diagramme de séquence MAIS

 Il se focalise sur une représentation spatiale des objets

Cours « GL-ACOO » ENSI


pas temporelle

 Chaque objet intervient dans ce diagramme de la même


façon que dans le diag. de séquence mais sans avoir
une ligne de vie.

 Peut être utilisé en:


 Analyse
 En conception

30
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

2. Diagramme de communication

 Les messages sont placés le long des liens inter-


objets.
 Les messages sont OBLIGATOIREMENT numérotés
 Type et Sémantique des numérotations
 1, 2, 3, 4 : Numérotation simple

Cours « GL-ACOO » ENSI


 séquencement des messages
 1, 1.1, 1.2, 1.2.1, 1.2.2, 1.2.3 : Dot notation
 séquencement + un point : ne peut être terminé que si ses
sous points le sont aussi
 1, 1.1a, 1.1b, 1.2, 1.3 : Dot notation + concurrence
 idem dot notation, mais les points 1.1a et 1.1b peuvent être
effectués en parallèle

 Il est possible de transmettre des informations lors


de l’envoi de messages comme dans le diag. de
séquence.

31
Chapitre 2 Exemple: retrait
Les diagrammes d’analyse d ’a r g e n t d ’ u n D A B
client : Client dab : DAB b : Banque

1 : introduire carte()
2. Diagramme de communication 2 : demander code

3 : entrer code()
4 : Vérifier code
5 : demander montant

7 : traiter transaction()

Cours « GL-ACOO » ENSI


6 : entrer montant()

8 : résultat transaction
9 : libérer carte
10 : livrer argent

32
Chapitre 2 L’a l t e r n a t i v e e t l a
Les diagrammes d’analyse boucle

2. Diagramme de communication

 Les fragments combinés n’existent pas. UML


propose des mécanismes de test et de boucle au
niveau de l’envoi de messages:

Cours « GL-ACOO » ENSI


 L’alternative:
 Numéro: [condition] : message
 La boucle: 2 cas
 La boucle s’exécute tant que la condition est vérifiée:
Numéro * [condition] : message
 La boucle s’exécute pour les valeurs de la variable de la
boucle comprises entre deux limites inférieures et
supérieurs:
Numéro*[variableBoucle=limiteInf..limiteSup]:message

33
client : Client dab : DAB b : Banque
Chapitre 2
Les diagrammes d’analyse 1 : introduire carte()

2 : demander code

2. Diagramme de communication
loop [1, 3, code erroné]

3 : entrer code()
4 : Vérifier code
Exemple: retrait d ’argent d ’un 5 : demander code

DAB (version améliorée)


opt [code correct]
7 : traiter transaction()
6 : entrer montant()

Cours « GL-ACOO » ENSI


8 : résultat transaction
9 : libérer carte
10 : livrer argent

34
Chapitre 2
Les diagrammes d’analyse

2. Diagramme de communication Diagramme de


communication vs
 Séquence Diagramme de
séquence
 Aspect temporel des interactions
 Ordre évident des messages

Cours « GL-ACOO » ENSI


 Communication
 Aspect spatial des interactions : indique comment les
objets sont liés
 Ordre des messages doit être indiqué

35
Co n c l us io n:
Chapitre 2
mo d é l i s ati on d e s
Les diagrammes d’analyse
i n te r a c tio ns

2. Diagramme de communication

 Les diagrammes de séquence et de communication sont


importants:
 Illustrer et vérifier le comportement d’un ensemble

Cours « GL-ACOO » ENSI


d’objets (du système ou d’un sous système);
 Aider à la découverte des objets du système;
 Aider à la découverte des méthodes des objets.
 Les diagrammes de séquence mettent en avant les
aspects temporels tandis que les diagrammes de
communication montrent les liaisons entre les classes.

36
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

 Le diagramme d'états transition DET a pour objectif de


représenter des traitements permettant de gérer le
domaine étudié.

Cours « GL-ACOO » ENSI


 Les traitements sont positionnés par rapport à des
classes et plus précisément par rapport à des états de
classes.
 Le DET met en évidence l'enchaînement des différents
états d'une classe.
 Le DET est associé à une classe pour laquelle on gère
différents états : il permet de représenter tous les états
possibles, ainsi que les événements provoquant un
changement d'état.
37
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

 Un état est une situation durable dans laquelle peuvent


se trouver les objets d'une classe et à laquelle on
associe des règles de gestion.

Cours « GL-ACOO » ENSI


 Un état d’un objet est une situation stable dans la vie
de l’objet où il effectue une activité ou il attend un
événement.
 A un instant donné, un objet est dans un état.
 L'état est présenté dans un rectangle aux angles
arrondis.

38
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Transition
 une relation entre deux états signifiant qu'un passage
de l'un à l'autre est possible. En d'autres termes, une

Cours « GL-ACOO » ENSI


transition est une relation orientée entre deux états, à
laquelle est attaché un événement et qui indique qu'un
objet dans le premier état passera dans le second si
certaines conditions sont remplies.
 La transition est représentée par une flèche entre deux
états, accompagnée du nom de l'événement.

39
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Etats prédéfinis
 État initial : Il est obligatoire et unique (l'action de
création d’un objet est généralement associée à

Cours « GL-ACOO » ENSI


l'événement de sortie de cet état).
 État final : Un objet peut avoir plusieurs états finaux.
 Les événements conduisant à un état final sont
fréquemment associés à une action de destruction ou
d'archivage.

40
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Action
 Une action est une opération élémentaire et
instantanée.

Cours « GL-ACOO » ENSI


 C’est une réaction du système à un Événement qui
peut figurer sur une transition ou dans un état.

41
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

 Si l'on veut que l'action soit déclenchée au moment où


l'événement associé à la transition se produit, on
l'indiquera directement sur la transition, précédée d'un

Cours « GL-ACOO » ENSI


" / ".
 Lorsque l'événement se produit, si la condition est
vérifiée, alors l'action est effectuée

42
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

 Les actions figurant dans un état sont déclenchées par


trois types d'événements :
 L'entrée dans l' état

Cours « GL-ACOO » ENSI


 La sortie de l'état
 Un événement, appelé transition interne, qui laisse
l'objet dans le même état.

43
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Événements internes à l'état :


 Événement à l'entrée : Entry
 Événement à la sortie : Exit

Cours « GL-ACOO » ENSI


 Événement sans changement d'état : event
 Activité : Do

44
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

États composites
 Pour appréhender plus facilement la complexité des
traitements décrits, nous pouvons utiliser les concepts
de généralisation/spécialisation, déjà employés pour

Cours « GL-ACOO » ENSI


décrire la complexité des classes.
 Un état (le super état) va pouvoir se décomposer en
plusieurs états (les sous états).

 Objectifs :
 Hiérarchiser les états
 Structurer les comportements complexes
 Factoriser les actions

45
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Représentation graphique

Etat1

Cours « GL-ACOO » ENSI


Etat2

SousEtat21

SousEtat22

46
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions
É t a t c o mp o site
Achat d’un billet
( sé q u en tiel)
Exit / éjecter_carte()
insérer_carte

[identification_échouée]

Cours « GL-ACOO » ENSI


Identification

inactif [identification_réussie]/
Sélection Initialiser_sélection()
choisir(siège) /
ajouter_à_sélection(siège)

clic_acheter
clic_annuler Confirmation
clic_recommencer
clic_confirmer
À remarquer
•Transition interne Vente
•Transitions de complétion Entry / vendre()
•État intial
•État final
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

É t a t c o mp o site
( co n c u rren t) Diagramme d’état d’un cours

Cours non terminé

Cours « GL-ACOO » ENSI


lab_terminé lab_terminé Cours
Labo 1 Labo 2
réussi

Projet de projet_terminé [note >= 60]


semestre
[note < 60]

Examen réussite
final Cours
échoué
échec
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Exercice :
 Donner un diagramme d’états-transitions qui décrit la
situation professionnelle d’une personne et les

Cours « GL-ACOO » ENSI


transitions correspondantes.
 La personne peut être: étudiante, salariée, sans activité
ou retraitée. Au début de sa situation professionnelle,
une personne est étudiante. Ne prenez pas en compte la
possibilité d’avoir des activités simultanées (par
exemple étudiant et salariée)

49
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Etudiant

Fin des études : [ trouve un boulot ]

Cours « GL-ACOO » ENSI


Fin des études : [ Ne trouve pas un boulot ]

Sans activité trouver boulot Salariée

perdre boulot

passe à la retraite

Retraitée

50
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

3. Le diagramme d ’états-transitions

Active changer d'activité

Maintenant, il devient
possible pour une personne

Cours « GL-ACOO » ENSI


Devenir étudiant
d’être à la fois étudiant et Devenir salariée : [ trouver un boulot ]

salariée. Modification en Salariée Etudiante

conséquence du diagramme
précédent en passant par
deux états composites Aucune activitée pratiquée
Retrouver une activité
(Active ou Inactive).
Inactive

Age retraite
Perdre activité
Retraitée
Sans activité

51
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

 Un diagramme d'activités (activités et transitions) est une


variante du diagramme d'états-transitions (états et
transitions).

Cours « GL-ACOO » ENSI


 A la phase d’analyse, le diagramme d'activités visualise un
graphe d'activités qui modélise le comportement interne
d'un cas d'utilisation ou plus généralement d'un processus.

 Un diagramme d'activités représente l'état d'exécution d'un


mécanisme, sous la forme d'un déroulement d'étapes
regroupées séquentiellement dans des branches parallèles de
flots de contrôle. Il est utile pour la représentation des
processus métiers et les cas d'utilisation.

52
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Le diagramme d'activités comprend :


 des activités (une activité= une étape d'exécution, état-
activité). Une activité représente une exécution d'un
mécanisme, un déroulement d'étapes séquentielles. Le

Cours « GL-ACOO » ENSI


passage d'une activité vers une autre est matérialisé par
une transition.
 des transitions qui sont déclenchées à la fin d'une
activité et provoquent le début immédiat d'une autre.

 Notation :

53
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

nom_activité
Activité

Transition

Cours « GL-ACOO » ENSI


Marqueur d’état initial

Barre de synchronisation

Branchement

Condition [ cond ]
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Cours « GL-ACOO » ENSI


55
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Types de nœuds de contrôle


 Nœud initial : c’est un nœud de contrôle à partir duquel le
flot débute lorsque l’activité enveloppante est invoquée. Une
activité peut avoir plusieurs nœuds initiaux. Un nœud initial

Cours « GL-ACOO » ENSI


possède un arc sortant et pas d’arc entrant. Graphiquement,
un nœud initial est représenté par un petit cercle plein.

 Nœud de fin d’activité : lorsque l’un des arcs d’un nœud de


fin d’activité est activé, l’exécution de l’activité enveloppante
s’achève et tout nœud ou flot actif au sein de l’activité
enveloppante est abandonné. Graphiquement, un nœud de
fin d’activité est représenté par un cercle vide contenant un
petit cercle plein.

56
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

 Nœud de fin de flot : lorsqu’un flot d’exécution atteint un nœud de


fin de flot, le flot en question est terminé, mais cette fin de flot n’a
aucune incidence sur les autres flots actifs de l’activité enveloppante.

Cours « GL-ACOO » ENSI


Graphiquement, un nœud de fin de flot est représenté par un cercle
vide barré d’un X. Les nœuds de fin de flot sont particuliers et à
utiliser avec parcimonie. Dans l'exemple, le nœud de fin de flot n'est
pas indispensable : on peut le remplacer par un nœud d'union
possédant une transition vers un nœud de fin d'activité.

 Un nœud de décision ou branchement : c’est un nœud de contrôle


qui permet de faire un choix entre plusieurs flots sortants. Il possède
un arc entrant et plusieurs arcs sortants. Ces derniers sont
généralement accompagnés de conditions de garde pour conditionner
le choix. Graphiquement, on représente un nœud de décision par un
losange.

57
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

 Nœud de fusion (merge node) : c’est un nœud de

Cours « GL-ACOO » ENSI


contrôle qui rassemble plusieurs flots alternatifs
entrants en un seul flot sortant. Il n’est pas utilisé pour
synchroniser des flots concurrents (c’est le rôle du
nœud d’union) mais pour accepter un flot parmi
plusieurs. Graphiquement, on représente un nœud de
fusion, comme un nœud de décision, par un losange.

58
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

 Nœud de bifurcation (fork node) ou barre de synchronisation


de débranchement : une barre qui sépare un flot en plusieurs
flots concurrents. Un tel nœud possède donc un arc entrant et

Cours « GL-ACOO » ENSI


plusieurs arcs sortants. Les transitions de débranchement au
départ d'une barre de synchronisation sont déclenchées
simultanément.
 Nœud d’union (join node) ou barre de synchronisation de
jointure : une barre qui synchronise des flots multiples. Un tel
nœud possède donc plusieurs arcs entrants et un seul arc
sortant. Une barre de synchronisation ne peut être franchie que
lorsque toutes les transitions en entrée sur la barre sont
déclenchées.
 Graphiquement, on représente les barres de synchronisation (le
nœud de union et le nœud de bifurcation) par un trait plein.
59
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Couloirs d’activités (swimlanes)


 Il est possible de diviser un diagramme d'activités en
partitions ou couloirs d'activités (travées, swimlanes).

Cours « GL-ACOO » ENSI


Chaque partition montre quelles actions sont exécutées
par un acteur ou une unité organisationnelle.

60
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Exercice 1 :
Dans le domaine de gestion de stock, on considère le flot
de contrôle de réception d'une livraison suivant :

Cours « GL-ACOO » ENSI


 réception de la livraison,
 contrôle qualité et contrôle quantité
 Ensuite l’enregistrement de la livraison.

Proposez un diagramme d'activités représentant ce flot

61
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Cours « GL-ACOO » ENSI


62
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités

Exercice 2 :
On considère les activités suivantes du processus de
développement d’un logiciel:

Cours « GL-ACOO » ENSI


 Editer le code source
 Compiler
 Exécuter tests unitaires (quand la compilation se fait avec
succès)
 Exploiter le logiciel (quand les tests se font avec succès)
Elaborer le diagramme d’activités de ce processus
sachant que trois acteurs interviennent pour la
réalisation du processus: le développeur, le testeur et le
client.
63
Chapitre 2 Section 3
Les diagrammes
Les diagrammes d’analyse comportementaux

4. Le diagramme d’activités
Développeur Testeur Client

Editer le code source

Cours « GL-ACOO » ENSI


Compiler

[ erreur(s) de compilation ]
[ aucune erreur ] Exécuter les tests unitaires

[ tests non concluants ] [ tests concluants ] Exploiter le logiciel

64
ACOO

Fin Partie 3 II2-ENSI

65

Vous aimerez peut-être aussi