<!-- Slide number: 1 -->
Diagramme dactivit s(Activity Diagram)
! (Picture6.jpg)
Mme CHALOUAH Anissa
ISET Bizerte

CHALOUAH Anissa
1
Notes:
<!-- Slide number: 2 -->
Positionnement
! (Picture2.jpg)
CHALOUAH Anissa
2
<!-- Slide number: 3 -->
Introduction
Un diagramme dactivit d crit une s quence dactions relatives une t che (activit ) particuli re.
Ils permettent de mettre laccent sur les traitements.
Un diagramme dactivit s peut tre rattach :
Un cas dutilisation
un diagramme de ca dutilisation
la r alisation dune op ration,
un processus impliquant lutilisation dun ou de plusieurs objets.
CHALOUAH Anissa
3
<!-- Slide number: 4 -->
Introduction
Le DA est une variante du diagramme d tats - transitions
Un DA correspond un diagramme d tats vu sous forme proc durale , avec une mise en vidence des actions/activit s
Les diagrammes d' tats-transitions sont d finis pour chaque classeur et n'en font pas intervenir plusieurs.
A l'inverse, les diagrammes d'activit s permettent de repr senter les encha nements entre les activit s de diff rents objets.
CHALOUAH Anissa
4
<!-- Slide number: 5 -->
Diagramme dactivit s : Exemple
! (Picture2.jpg)
CHALOUAH Anissa
5
<!-- Slide number: 6 -->
Diagramme dactivit s : Exemple

CHALOUAH Anissa
6
<!-- Slide number: 7 -->

CHALOUAH Anissa
7
<!-- Slide number: 8 -->
Activit et transition
CHALOUAH Anissa
8
<!-- Slide number: 9 -->
Activit (activity)
Les activit s d crivent un traitement.
Une activit est la sp cification d'une s quence param tr e de comportements.
Une activit est repr sent comme un rectangle coins arrondis enfermant toutes les actions, les flux de contr le et d'autres l ments qui composent l'activit .
CHALOUAH Anissa
9
<!-- Slide number: 10 -->
#

CHALOUAH Anissa
10
<!-- Slide number: 11 -->
Activit (activity)
Le flot de contr le reste dans l'activit jusqu' ce que les traitements soient termin s.
Les activit s peuvent tre imbriqu es hi rarchiquement : on parle alors d'activit s composites.

CHALOUAH Anissa
11
<!-- Slide number: 12 -->
Action
Une action repr sente un pas(une tape) seul(simple) dans une activit .
Cest le plus petit traitement qui puisse tre exprim en UML.
Une action a une incidence sur l tat du syst me ou bien en extrait une information.
Les actions sont des tapes discr tes partir desquelles se construisent les comportements.
La notion daction est rapprocher de la notion dinstruction l mentaire dun langage de programmation (comme C++ ou Java).
CHALOUAH Anissa
12
Publicité
<!-- Slide number: 13 -->
Action
Une action peut tre, par exemple :
une affectation de valeur des attributs ;
un acc s la valeur dune propri t structurelle (attribut ou terminaison dassociation) ;
la cr ation dun nouvel objet ou lien ;
un calcul arithm tique simple ;
l mission dun signal ;
la r ception dun signal ;
CHALOUAH Anissa
13
<!-- Slide number: 14 -->

CHALOUAH Anissa
14
<!-- Slide number: 15 -->
Actions de communication
Certaines activit s impliquent parfois des interactions avec des l ments externes (personnes, autre syst me, autre processus).
Dans un diagramme dactivit s, ces interactions sont repr sent es par des actions de communications.
Les actions de communication g rent
le passage et le retour de param tres,
les m canismes d'appels d'op rations synchrones et asynchrones.
CHALOUAH Anissa
15
<!-- Slide number: 16 -->
Actions de communication
Il sagit de messages pouvant tre envoy s ou re us.
On distingue graphiquement les actions associ es a une communication :
send signal
accept event
accept time event
Cela permet de mieux mettre en valeur les changes entre les diagrammes



CHALOUAH Anissa
16
<!-- Slide number: 17 -->
Actions de communication
send signal : Un signal mis est un signal envoy un participant externe.
accept event : Un signal re u d clenche une action du diagramme dactivit s.
accept time event : action sur v nement temporel

CHALOUAH Anissa
17
<!-- Slide number: 18 -->
Actions de communication : Exemple

CHALOUAH Anissa
18
<!-- Slide number: 19 -->
Transition
Une transition repr sente le passage dune activit une autre.
Les transitions sont repr sent es par des fl ches pleines qui connectent les activit s entre elles.
Une transition peut tre automatique ou gard e.
CHALOUAH Anissa
19
<!-- Slide number: 20 -->
Transition automatique
Elles sont d clench es d s que l'activit source est termin e.
Elles provoquent automatiquement le d but imm diat de la prochaine activit d clencher (l'activit cible).
Contrairement aux activit s, les transitions sont franchies de mani re atomique, en principe sans dur e perceptible.

CHALOUAH Anissa
20
<!-- Slide number: 21 -->
Transition gard
Une transition gard e est franchie quand lactivit pr c dente est finie et si la condition est v rifi e

CHALOUAH Anissa
21
<!-- Slide number: 22 -->
Transition gard : Exemples

CHALOUAH Anissa
22
<!-- Slide number: 23 -->
It ration : Exemple
CHALOUAH Anissa
Publicité
23
<!-- Slide number: 24 -->
NSuds de contr les
CHALOUAH Anissa
24
<!-- Slide number: 25 -->
NSuds de contr les
Un noeud de contr le (control node) est un nSud dactivit s abstrait utilis pour coordonner les flots entre les nSuds dune activit .
Il existe plusieurs types de nSuds de contr le :
nSud initial (initial node) ;
nSud de fin d'activit (final node) ;
nSud de fin de flot (flow final) ;
nSud de d cision (decision node) ;
nSud de fusion (merge node) ;
nSud de bifurcation (fork node) ;
nSud d'union (join node).
CHALOUAH Anissa
25
<!-- Slide number: 26 -->
NSuds de contr les : Exemple
! (Picture2.jpg)
CHALOUAH Anissa
26
<!-- Slide number: 27 -->
NSud initial (initial node)
nSud initial (initial node)
Est un nSud de contr le partir duquel le flot d bute lorsque lactivit est invoqu
Une activit peut avoir plusieurs nSuds initiaux.
Un nSud initial poss de un arc sortant et pas d'arc entrant.

CHALOUAH Anissa
27
<!-- Slide number: 28 -->
NSud final
Un nSud final est un nSud de contr le poss dant un ou plusieurs arcs entrants et aucun arc sortant. dactivit .
Il existe deux sortes de noeuds finaux :
les noeuds finaux dactivit (activity final node)
les nSuds finaux de flot (flow final node).
CHALOUAH Anissa
28
<!-- Slide number: 29 -->
NSud final
NSud de fin d'activit (final node) :
Tous les flots de lactivit s sont stopp s.
NSud de fin de flot (Flow Final)
Un flot de contr le qui atteint un nSud de contr le de type flow final est d truit.
Les autres flots de contr le ne sont pas affect s.


CHALOUAH Anissa
29
<!-- Slide number: 30 -->
Synchronisation : NSud de bifurcation
NSud de bifurcation (Fork Node) :
Une transition entrante et plusieurs transitions sortantes.
les transitions au d part de la barre de synchronisation sont d clench es simultan ment.
Les activit s 2 et 3 sex cutent parall lement.

CHALOUAH Anissa
30
<!-- Slide number: 31 -->
Synchronisation : NSud d'union
NSud d'union (Join Node) :
Plusieurs transitions entrantes et une transition sortante.
franchi que lorsque toutes ses transitions en entr e sont d clench es.

lactivit 4 na lieu que lorsque toutes les activit s entrantes (2 et 3) ont atteint la jointure.
CHALOUAH Anissa
31
<!-- Slide number: 32 -->
Synchronisation : Exemples

NSud de bifurcation (fork Node)
NSud dunion
(Join Node)
CHALOUAH Anissa
32
<!-- Slide number: 33 -->
NSud de d cision (decision node)
Publicité
Un nSud de d cision est un nSud 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 nSud de d cision par un losange
CHALOUAH Anissa
33
<!-- Slide number: 34 -->
NSud de fusion (merge node)
Un nSud de fusion est un nSud de 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 nSud d'union), mais pour accepter un flot parmi plusieurs.
Graphiquement, on repr sente un nSud de fusion, comme un nSud de d cision, par un losange
CHALOUAH Anissa
34
<!-- Slide number: 35 -->
Les partitions(swimlines)
CHALOUAH Anissa
35
<!-- Slide number: 36 -->
Partitions (swimlines)
Les diagrammes dactivit s peuvent tre d coup s en partitions (ou couloirs dactivit ou swimlines) pour montrer les responsabilit s au sein dun m canisme ou dune organisation.
Les partitions permettent d'attribuer les activit s des l ments particuliers du mod le.
Les partitions permettent d'organiser un diagramme d'activit s
CHALOUAH Anissa
36
<!-- Slide number: 37 -->
Partitions (swimlines)
Le partitionnement peut se faire en fonction :
Des endroits g ographiques (ou des services) o les activit s se d roulent
Service client, service comptabilit , service facturation, &
Des personnes responsables des activit s (qui ex cutent les actions) :
Le client, le caissier, le g rant, &
Des entit s logiques du syst me
R seau, Base de donn es, Syst me de paiement, &
Dun mixte des trois
Le client, le caissier, le syst me de paiement, le service de facturation, &
CHALOUAH Anissa
37
<!-- Slide number: 38 -->
Partitions (swimlines)
Pour sp cifier qu'une activit est effectu e par un classeur particulier, on la positionne dans la partition correspondante.
Chaque activit appartient une seule trav e,
mais les transitions peuvent passer dune trav e lautre.
Une partition peut elle-m me tre d compos e en sous-partitions
Les partitions permettent de faire apparaitre les objets qui initient /sont utilis s par/sont modifi s par des actions
CHALOUAH Anissa
38
<!-- Slide number: 39 -->

Partition (SwimLines) Exemple
CHALOUAH Anissa
39
<!-- Slide number: 40 -->

Partition multidimensionnelle
CHALOUAH Anissa
40
<!-- Slide number: 41 -->
Les nSuds dobjets
CHALOUAH Anissa
41
<!-- Slide number: 42 -->
Flot dobjets (flot de donn es)
Jusqu'ici, nous avons montr comment mod liser le comportement du flot de contr le dans un diagramme d'activit s.
Or, les flots de donn es n'apparaissent pas et sont pourtant un l ment essentiel des traitements (arguments des op rations, valeurs de retour&).
Un flot d'objets permet de passer de donn es d'une activit une autre.
CHALOUAH Anissa
42
<!-- Slide number: 43 -->
Flot dobjets : Notation
UML 2 propose deux notations quivalentes pour les flots d'objets :
Les pins : un arc qui a pour origine et destination un pin correspond un flot de donn es.
Les nSuds dobjets : C'est un conteneur typ qui permet le transit des donn es.

! (Picture2.jpg)
CHALOUAH Anissa
43
<!-- Slide number: 44 -->
Pins
Pour sp cifier les valeurs pass es en argument une activit et les valeurs de retour, on utilise des nSuds d'objets appel s pins (pin en anglais) d'entr e ou de sortie.
Publicité
L'activit ne peut d buter que si l'on affecte une valeur chacun de ses pins d'entr e. Quand l'activit se termine, une valeur doit tre affect e chacun de ses pins de sortie.
Les valeurs sont pass es par copie.

CHALOUAH Anissa
44
<!-- Slide number: 45 -->
NSud dobjet
Un nSud dobjet permet de d finir un flot dobjet (c'est- -dire un flot de donn es) dans un diagramme dactivit s.
Ce nSud repr sente lexistence dun objet g n r par une action dans une activit et utilis par dautres actions.
un nSud d'objets est repr sent par un rectangle
CHALOUAH Anissa
45
<!-- Slide number: 46 -->
Concepts avanc s du diagramme dactivit
CHALOUAH Anissa
46
<!-- Slide number: 47 -->
Gestion dexception
Une exception est g n r e quand une situation anormale entrave le d roulement nominal dune t che.
Elles assurent une gestion plus propre des erreurs qui peuvent se produire au cours d'un traitement.
On utilise des pins d'exception (avec un triangle) un pour g rer l'envoi d'exceptions et la capture d'exceptions.

! (Picture2.jpg)
CHALOUAH Anissa
47
<!-- Slide number: 48 -->
Gestion dexception
Un gestionnaire d'exceptions est une activit poss dant un pin d'entr e du type de l'exception qu'il g re
Il est li l'activit qu'il prot ge par un arc en zigzag ou un arc classique orn d'une petite fl che en zigzag.
Le gestionnaire d'exceptions doit avoir les m mes pins de sortie que le bloc qu'il prot ge
! (Picture2.jpg)
CHALOUAH Anissa
48
<!-- Slide number: 49 -->
Gestion dexception : Exemple(1)
! (Picture2.jpg)
CHALOUAH Anissa
49
<!-- Slide number: 50 -->
Gestion dexception : Exemple(2)

CHALOUAH Anissa
50
<!-- Slide number: 51 -->
R gions interruptibles
Une r gion d'activit interruptible entoure un groupe d'actions, qui peuvent tre interrompues.
Une r gion interruptible est repr sent e par un cadre arrondi en pointill s.
Si l' v nement d'interruption se produit, toutes les activit s en cours dans la r gion interruptible sont stopp es
Le flot de contr le suit la fl che en zigzag qui quitte la r gion.
CHALOUAH Anissa
51
<!-- Slide number: 52 -->
R gions interruptibles : Exemple

CHALOUAH Anissa
52
<!-- Slide number: 53 -->
R gion dexpansion
Une r gion dexpansion est un nSud dactivit structur qui sex cute une fois pour chaque l ment dans une collection dentr e.
Les entr es et sorties de la collection (nSuds dexpansion)sont mat rialis s sur la fronti re de la bo te par des petits rectangles divis s en plusieurs compartiments.

CHALOUAH Anissa
53
<!-- Slide number: 54 -->
R gion dexpansion
Le mot-cl "it rative", "parallel" ou " stream" est affich dans le coin en haut gauche de la r gion.
Parallel : Les ex cutions de l'activit interne sur les l ments de la collection sont ind pendantes et peuvent tre r alis es dans n'importe quel ordre ou m me simultan ment.
Iterative : Les occurrences d'ex cution de l'activit interne doivent s'encha ner s quentiellement, en suivant l'ordre de la collection d'entr e.
Stream : Les l ments de la collection sont pass s sous la forme d'un flux de donn es l'activit interne, qui doit tre adapt e aux traitements de flux.
CHALOUAH Anissa
54
<!-- Slide number: 55 -->
R gion dexpansion : Exemple
Exemple dun checkout dun ensemble de livre dans une biblioth que.

CHALOUAH Anissa
55