Vous êtes sur la page 1sur 34

Fournisseur de GED en Tunisie - WORKFLOW - EDITIQUE > Blog > Workflow, workflow documentaire

quest-ce que cest ?


Publi le 14 mars 2014

Le workflow est un terme de plus en plus frquent en entreprise. On entend


aussi bien parler de workflow documentaire, workflow de formulaire, workflow
mtier sans pour autant cerner la vraie diffrence, ni savoir si cest la mme
chose.
Avant de nous intresser la dfinition du workflow documentaire, essayons
de mieux cerner cette nouvelle
notion de workflow A quoi cela rpond-il ?

Quest-ce que le workflow


Le workflow est un processus qui fait apparaitre une suite de tches et
doprations effectues par une personne, ou par une entit (groupe,
organisme). Il sagit de modliser lensemble des tches accomplir et de
mettre en vidence les diffrents acteurs qui y sont impliqus dans le cadre
dun processus mtier (interactions sous forme dchange dinformations
entre les diffrents acteurs dune entreprise).
Plusieurs types de workflow
A ce stade, nous comprenons quun workflow doit dcrire un circuit de tches
ou doprations et faire apparaitre les modes de validation de chaque tche
ainsi que les dlais respecter. Il fournit, en outre, chacun des acteurs, les
informations ncessaires pour la ralisation de sa tche. La mise en place du
workflow permet de traiter plus rapidement et moindres cots les diffrents
processus dans lentreprise
Nanmoins, il faut faire la diffrence entre workflow de document (dans le
cadre des GED) ou workflow de contenu (dans le cadre des CMS). Dans ce
sens, nous allons nous intresser la premire catgorie celle qui reprsente
la suite des tches et oprations ralises sur les documents gres par loutil
GED.
Le workflow documentaire

Aujourdhui, une entreprise comptitive doit veiller la bonne circulation de


linformation et faire diffuser les documents ncessaires et en faire bon
usage. Le workflow documentaire est le processus qui a pour objectif de faire
circuler des documents dun utilisateur un autre au sein de lentreprise. Il
dvoile les diffrents acteurs et la modalit dintervention.
On parle de moteur de workflow quand il sagit dun dispositif logiciel qui
permet dexcuter une ou plusieurs dfinitions de workflow.

http://archiveyourdocs.com/workflow-workflow-documentaire-quest-ceque-cest

Processus et Workflow quelles


diffrences?
Par Damien AndrieuMthode et technologiePas de commentaires

11 mai 2015

Aujourdhui, remettons nouveau lordre du jour un article diffus


par le pass dans le blog, et toujours dactualit.
En effet, avec lutilisation de plus en plus courante de termes
informatiques lis au BPM, la collaboration et la gestion de
donnes de manire gnrale, on rencontre souvent des
approximations et des amalgames.
Les termes workflow et processus en sont des exemples
caractristiques. Pour de nombreuses personnes ces deux termes sont
quivalents ou en tout cas la diffrence est loin dtre claire alors
quil est important de les distinguer.
Workflow et processus quelles diffrences ?
Un processus est un ensemble dactivits lies qui transforme des
lments dentre en lments de sortie. Ainsi quasiment toute action,
projet, programme peut tre vu comme un processus. Quant
au workflow au sens logiciel cest lareprsentation dune suite de
tches ou doprations effectues par un ou plusieurs acteurs
(personne, groupe, socit). Un moteur de workflow permet donc de
modliser informatiquement le processus.
Exemple de logigramme pour un processus de demande de dossier
technique produit :

Le workflow sert ainsi dcrire le processus et sa structure : les tches


rpartir entre les diffrents acteurs mais aussi les dlais, les modes de
validation, et les informations fournir chaque acteur.
Les processus peuvent donc tre modliss sous forme de workflow,
cest--dire reprsents sous forme dune suite de tches
structures, mais la valeur mtier est porte par le processus. Do la
notion de processus mtier
Je reconnais que la distinction demande de prendre du recul mais au
niveau conceptuel elle est bien l!
Cette distinction mne dailleurs directement une question : Dans les
outils informatiques, les workflows sont-ils un choix dimplmentation par
dfaut pour prendre en compte les processus de lentreprise?
Une question importante dont nous avons dj discut dans un
prcdent article : Les workflows rigides sont-ils un choix
dimplmentation par dfaut des processus?

http://www.blogplm.com/2015/05/11/processus-vs-workflow/

Workflow - Gestion des processus mtiers


Posez votre question
US ES DE FR IT BR

Aot 2016

Workflow

Typologies de workflow

Moteur de workflow

A lire aussi: Workflow

Workflow
On appelle "WorkFlow" (traduisez littralement "flux de travail") la modlisation et la
gestion informatique de l'ensemble des tches accomplir et des diffrents acteurs
impliqu dans la ralisation d'un processus mtier (aussi appel processus
oprationnel). Le terme de Workflow pourrait donc tre traduit en franais par Gestion
.lectronique
des
processus
mtier

Un processus mtier reprsente les interactions sous forme d'change d'informations


: entre divers acteurs tels que

des humains,

des applications ou services,

des processus tiers.

: De faon pratique, un WorkFlow peut dcrire

le circuit de validation,

les tches accomplir entre les diffrents acteurs d'un processus,

les dlais respecter,

les modes de validation

Il fournit en outre, chacun des acteurs, les informations ncessaires pour la ralisation
de sa tche. Pour un processus de publication en ligne par exemple, il s'agit de la

modlisation des tches de l'ensemble de la chane ditoriale, de la proposition du


rdacteur la validation par le responsable de publication :

L'exemple ci-dessus est une reprsentation trs schmatique de ce que pourrait tre un
workflow de publication de document sur un intranet l'aide d'une interface de
: publication

Le rdacteur propose un article au chef de rubrique

Le chef de rubrique regarde le document et le valide

Le rdacteur en chef trouve que le document possde des lments


incompatibles avec l'actualit et retourne le document au rdacteur

Le rdacteur revoit sa copie et la soumet au chef de rubrique

Le chef de rubrique corrige quelques coquilles et transmet l'article au rdacteur


en chef

Le rdacteur en chef valide le document pour une publication en ligne

Typologies de workflow
: On distingue gnralement deux types de Workflow

Le workflow procdural (aussi appel workflow de production ou workflow


directif) correspondant des processus mtiers connus de l'entreprise et faisant
l'objet de procdures pr-tablies : le cheminement du workflow est plus ou moins
fig ;

Le workflow ad hoc bas sur un modle collaboratif dans lequel les acteurs
interviennent dans la dcision du cheminement : le cheminement du workflow est
dynamique.

Moteur de workflow
Le moteur de workflow est l'outil permettant de modliser et d'automatiser les processus
mtiers de l'entreprise. Ce type d'outil permet ainsi de formaliser les rgles mtier de
l'entreprise afin d'automatiser la prise de dcision, c'est--dire la branche du workflow
.choisir, en fonction du contexte donn

http://www.commentcamarche.net/contents/332-workflow-gestion-desprocessus-metiers

Workflow ou comment automatiser les processus IT

Michel 0 20/07/2013

Dans toutes les structures IT, on a une foule de


processus rcurrents, qui prennent plus au moins du temps. Pour autant que
cela soit possible, on cherche automatiser certains dentre eux mais cela
savre parfois assez complexe. Il existe des produits qui permettent daider
gagner du temps et de la transparence dans ce concept. On appelle cela
des Workflows (techniquement parlant en anglais, il sagit de schmas), qui
vont dpeindre les tapes des processus que lon a dans lentreprise. Nous
allons creuser un peu ce sujet et voir quelles sont les solutions qui existent et
dans quel contexte cela peut aider les administrateurs denvironnements
.informatiss
? On dessine.quoi
Un Workflow doit, le plus prcisment possible, reprsenter sur un dessin, les

tapes de fonctionnement

dun processus que

lon souhaite automatiser. Il doit pouvoir galement indiquer les points de


dcisions, les conditions selon les rponses programms, les actions mener
pour

chaque

tape.

Ce

type

de

diagramme

va

galem

ent indiquer si des interactions avec dautres lments (logiciels tiers,


lments spcifiques dinfrastructures) vont tre sollicits. On appelle
lanalyse des processus le Business Process Management (BPM). Un exemple
pourrait tre larriv dun nouvel employ dans une entreprise. Il faut ce
moment lui attribuer un ordinateur, crer un compte AD, mail, un partage

rseau, lui attribuer des logiciels et licences, des droits daccs aux
ressources partags, etc

Toutes ces tapes font partie dun processus dintgration et de gestion IT, qui
pourraient tre automatiss. Cela demande avant tout de mettre plat
chacune des tapes, didentifier les interactions avec les divers logiciels
dadministrations IT et de pouvoir tablir des validations par les personnes
devant autoriser chaque action (administrateur systme et/ou rseau, le
.responsable direct du nouvel employ, des RH, de la direction, etc)
? Comment on analyse tout a
Lanalyse de processus existants demande plus de travail, on appelle cela
lanalyse rcursive. Il faut identifier chaque tape de chaque processus, avant
de pouvoir tablir les relations et connexions avec les lments techniques. Il
y a ensuite la consultation individuelle avec chaque partie prenante, devant
apporter les points de dcisions dans les divers processus, pour tablir la
forme de validation de chaque tape (un email valide lacceptation dune
tape ou faut-il aussi dautres types dentrs dans le processus pour laval ou
le rejet dune tape dun processus ?). Une fois la mcanique interne
dpouille, on peut loptimiser et ce moment, on peut partir la recherche
.dune solution
Il est aussi possible de dessiner de faon plus impose des processus
rcurrents, quand ceux-ci nont pas encore une forme dfinie dans une
entreprise. Cela peut parfois poser des problmes de comprhension, surtout
auprs de personnes nayant pas ou peu de relations dans les sphre

dcisionnelles (le frein vient souvent de lIT, qui voit cela comme une
.tentative de leur enlever du travail)
? On a des dessins..maintenant on fait quoi
Une fois les premires bauches raliss, il va falloir trouver une solution qui
va permettre de concrtiser lautomatisme global. Cest ce moment
quentrent en jeu les solutions dites de Workflow IT. Les logiciels sont lgions
mais nous allons nous attarder sur quelques-un et voir comment on procde
.une mise en route
:Voici une liste de logiciels de WorkFlow multi-modules intgrs
ProcessMaker
(produit Open Source, avec possibilit de support commercial payant )

OpManager
Produit permettant dintgrer des produits tiers dinfrastructures (VMware,
Microsoft) et de gnrer des crans sur du XML (reporting, crans de saisies,
etc)
:Une petite vido pour se faire une ide et des exemples pratiques
Rocket

IT

Workflow

Automation

.Un autre produit permettant une liaison multi-systmes

10

Symantec

Workflow

Solution

Directement li ses propres produits de gestion de parc, il est possible


dimporter des fichiers XML de processus et dajouter des relations avec
dautres lments dinfrastructures. Un Framework administratif (Notification
Server, Bas sur un mlange de Java, Silverlight et .NET), permet la
publication de portails de saisies de donnes paramtrables). Cet lment fait
.partie de la suite IT Management de Symantec

11

L aussi, une vido (en anglais) dun trs bon reviewer technique va
:permettre de se faire une ide des possibilits du produit
? En rsumon prend quoi
Cette question est aussi complexe que de dire qui est mieux de Microsoft ou
?

les

autres

Cela va dpendre des besoins et de la complexit des processus, ainsi que de


la taille de linfrastructure globale. La partie sur laquelle on a tendance ne
pas voir le travail est le consulting et la tche danalyse initiale de tous les
processus. Cest une opration longue et fastidieuse, qui demande une
grande impartialit pour obtenir les meilleurs rsultats. On ne peut pas
simproviser spcialiste dans ce domaine et il faut tre en mesure daussi bien
analyser le fonctionnement de toutes les interactions IT que les oprations
transversales (inter-dpartements, points dcisionnels, facturation interne,
mode de financement des oprations IT, etc). Mais une fois le travail ralis,
la maintenance se ralise trs aisment et mme les modifications de
processus peuvent se faire, grce un contrle automatise des interactions
et des impacts sur les processus modifis. Cela permet de gagner en
autonomie pour lIT et de pouvoir se concentrer sur la veille technologique et
lamlioration continue des services. On peut donc dire que le retour sur
investissement se fera sur une trs longue priode de temps pour les
.entreprises qui dmarrent cette approche de la gestion des processus

12

https://www.demoniak.ch/workflow-ou-comment-automatiser-lesprocessus-it/

13

Workflow
ProcessMaker
2012.18.06
: ,

,
,
!
)


(Open Source ProcessMaker
,
.
ProcessMaker
:
, :
.



! ,

ProcessMaker
,

.
ProcessMaker :
7 :

-1

14


ProcessMaker

-2
-3
-4

-5

-6
.

, ) (

.
,
API ,Web Service Adds on
. ProcessMaker
ProcessMaker
.
SMS .
PHP MySQL
% 99 .

, :

workflow :
) .. .(
) (
) (
) (
) , ,
(
,

15

:

, ProcessMaker

Read more: http://www.monzerosama.com/?p=1119#ixzz4GjOOV5Cr

16

Business Procedures
2010.4.07
: ,

:
) (Process .
,
,
.



.


.

.

. Workflow ERP

Business Procedure
, Business Process ) ( ,
.

)
(

Process .

17

,
.


:
Process Owner: 1.
,
,
.
Middle Managers .
Process Expert: 2.

. Supervisor
Process Worker: 3.
End User .
:

ERP

!
:
!.

ERP !
,
.

18

, .

Read more: http://www.monzerosama.com/?p=506#ixzz4GjP0enZ8

19

Business Process Improvement


2010.15.07
: ,

Business Procedures
.

,

,
,
.

:
PO :
. 1.
. 2.
. 3.
ERP ,
.
:

: 1.
+ ,
.
: 2.

.
.
: 3.
,
,


,
). (
: 4.
,
!
.

.

20

: 5.
,
:
1.

- ,
! ,
. ) (
2.
,
.
3.
,
,
. , ,
\ 4.
,
.

Read more: http://www.monzerosama.com/?p=532#ixzz4GjPN2HGd

21

10 rgles pour bien modliser vos


processus
Chronique de Guy Boizard
Rhapsodies Conseil
17/09/12 10:00

Twitter
LinkedIn
Facebook
Email
La modlisation des processus s'est rpandue au cours des dernires annes. Elle est
un exercice dlicat, surtout pour des personnes peu prpares. Cette chronique
propose 10 rgles pratiques et prouves pour produire des modles utiles, et les
raliser rapidement.
Lintrt de la modlisation des processus nest plus dmontrer. Du ct des
informaticiens, de nombreuses dmarches de conception, durbanisation, darchitecture
dentreprise se fondent sur la modlisation des processus ; ces mthodes commencent se
diffuser du ct des utilisateurs et attirer lattention des dcideurs. En parallle, de
nombreuses entreprises refondent en permanence leurs processus pour les optimiser et les
adapter aux volutions de leur mtier.
Toutefois, bien modliser nest pas donn tout le monde. Rcemment, jai t tmoin de
lexprience suivante : dans une grande entreprise, la Direction des Oprations avait demand
3 personnes de modliser le mme processus. A larrive, elle a obtenu trois rsultats
compltement diffrents ! Imagine-t-on un architecte fournir trois plans diffrents pour un
mme btiment, ou un constructeur de PC fournir 3 plans diffrents de la mme carte-mre
son fabricant ?
Bien modliser nest pas un problme doutillage, mais de mthode : la vritable difficult
est dappliquer des rgles simples, pour aboutir un modle qui soit la fois fidle et utile. Il ne
suffit pas de matriser les notations BPMN ou UML : comme pour la musique, savoir lire
une partition ne fait pas de vous un Bach ou un Gainsbourg du jour au lendemain !
Pour remdier cette situation, il convient d'appliquer les dix rgles concrtes de modlisation
des processus :
1) Distinguer processus et procdure : cette rgle bien connue est dans les faits trs mal
applique. Rappelons les dfinitions de lAFNOR : un processus est un ensemble d'activits
corrles ou interactives qui transforme des lments d'entre en lments de sortie alors
quune procdure est la manire spcifie daccomplir une activit.
Bref, le processus dcrit uniquement les invariants, cest--dire les rgles universelles
applicables toutes les organisations, indpendamment des moyens utiliss pour son
excution. Les moyens sont dcrire dans les procdures. Par exemple, une entreprise peut
dcider de mettre en place un processus unique et multi-canal pour traiter les rclamations de
ses clients. Ce processus se dclinera ensuite selon diffrentes procdures, selon que la
communication avec le client se fait par courrier, par e-mail, ou par tlphone.
Distinguer processus et procdure est la condition indispensable pour identifier les rgles
communes que lentreprise simpose ou que le monde extrieur lui impose -, et bien les
sparer des contraintes lies aux moyens utiliss.

22

2) Se contenter de 3 niveaux de description : on rencontre parfois de superbes chanes de


valeur o les processus se dcomposent en poupes russes. Il est frquent de devoir explorer 6
ou 7 niveaux de profondeur. Dautres modlisateurs sont des adeptes de la rcursivit : un seul
concept est mis en uvre, par exemple lactivit, et une activit peut contenir des activits, et
ainsi de suite
Problme : dans les deux cas, ces modles savrent trs vite inexploitables. Par exemple, il
est trs difficile au modlisateur de dterminer si laction contacter le client devrait se situer
au niveau 4, 5 ou 6. Consquence : le rfrentiel des processus de lentreprise contient de
nombreux doublons, alors que chaque tche et chaque activit ne devraient tre dcrites quune
seule fois.
Nous recommandons de nutiliser que trois lments pour dcrire les processus : au
niveau le plus dtaill, la tche, puis l'activit, et enfin le processus lui-mme. Un quatrime
niveau de description est utile lorsque lon veut dcrire les procdures : nous
recommandons dintroduire la notion dopration. Chaque tche est alors dcrite comme une
suite doprations. Par exemple, contrler lidentit dune personne se dcline en plusieurs
oprations selon les pays et les supports (carte didentit, badge, passeport biomtrique)
3) Dfinir les tches par la transformation dun objet Mtier : toute tche doit modifier
un objet Mtier. Par objet Mtier, Rhapsodies Conseil entend un lment manipul au quotidien
par les acteurs de lEntreprise. Il est assez facile de dresser une liste des principaux
objets Mtiers. Ce sont souvent les mmes dune entreprise lautre : des produits, des
commandes, des contrats, des matriels La rgle permet alors de dterminer quelles sont
les tches qui sont vraiment ncessaires. En effet, comme on lentend souvent dire, une tche
doit avoir une valeur ajoute. Un moyen concret de sen assurer, est de vrifier que la tche a
effectivement modifi un objet. A linverse, toute action qui ne modifie rien na pas de
valeur ajoute, il est donc totalement inutile de la dcrire.
Laction lire le courrier par exemple na aucune valeur ajoute : ce qui importe vraiment,
cest de dterminer les tches excuter suite la rception de ce courrier.
4) Faire porter toutes les rgles de gestion par des tches : cette rgle dcoule de la
prcdente. Soit une tche T1, qui permet de faire passer un objet O dun tat E1 un tat E2.
Pour cela, elle doit obir une srie de rgles de gestion. La tche suivante aura pour but de
traiter tous les objets O qui sont dans ltat E2. A ce niveau de description, il est totalement
inutile dajouter une rgle (ou pire, une tche, comme on le voit parfois) pour indiquer que
lorsque la tche T1 est termine, alors il faut excuter la tche T2. Ainsi, ds le dpart, on isole
tout naturellement les rgles denchanement, ce qui facilite lutilisation doutils dorchestration
de processus (BPM, workflow).
5) Appliquer une dmarche bottom-up : cest--dire dcrire dabord le niveau le plus fin,
les tches. Celles-ci seront ensuite regroupes en activits, en fonction de rgles prcises. Ceci
vitera de reproduire lorganisation et les rgles existantes : il suffit didentifier lobjet
Mtier en jeu, ltat final de cet objet, pour dterminer de proche en proche les tapes
ncessaires et les autres objets manipuls.
Exemple : pour un processus de recrutement, la dernire tche peut tre exprime par
confirmer ladquation du candidat au poste . On en dduit les tches antrieures : contrat
sign, poste de travail configur, recrue forme, Comme on le voit dans cet exemple, on
transcende les frontires de lorganisation, qui le plus souvent confie la formation une entit,
la signature du contrat dembauche une autre, la configuration du poste de travail une
troisime.
6) Utiliser les vnements avec parcimonie : dans la grande majorit des cas, il est inutile
de conserver une trace spare des vnements. Il suffit dhistoriser les tats successifs par
lesquels lobjet Mtier est pass, ce qui revient exactement au mme. Par exemple, il est bien
vident que la tche valider une facture fait passer la facture ltat valid ; il ne sert
donc rien denregistrer dans le systme dinformation un vnement facture valide. Il suffit
23

de mmoriser la date laquelle la facture a t valide, et ce, seulement si on en a vraiment


besoin. Cette approche simplifie la mise en uvre du pilotage de lactivit (BAM) en se
concentrant directement sur les rsultats, et non sur les vnements.
Bien entendu, certains vnements doivent figurer dans le modle de processus.Cest en
particulier le cas des vnements indpendants de tous les acteurs : par exemple, la fin du mois,
pour dclencher un arrt comptable.
7) Faire porter les activits sur un objet mtier unique : une activit est une suite de tches
qui portent sur un mme objet, et qui a pour but de faire passer cet objet par des tats successifs
de son cycle de vie. La raison de ce critre de regroupement est purement conomique : dans
lidal, cette srie de tches devrait pouvoir tre confie un mme agent, de manire viter
les ruptures de charge, toujours coteuses.
8) Dterminer les rles partir des activits, et non linverse : un rle doit tre vu comme
lensemble des privilges ncessaires un mme agent (personne, systme) pour pouvoir
excuter les tches qui lui sont confies.
Dans lidal, comme on la vu prcdemment, il est plus conomique de faire excuter une
activit de bout en bout par le mme agent. Toutefois, ceci nest pas toujours souhaitable, en
particulier pour des raisons de scurit et de contrle. Lexemple classique est le traitement des
factures Fournisseurs : lagent qui valide une facture ne peut pas dclencher le rglement de
celle-ci. Ceci aboutit dfinir deux rles distincts.
Contrairement lapproche couramment pratique, ce ne sont donc pas les rles qui doivent
dterminer les activits, mais bien les activits qui doivent dterminer les rles.Le titre de
Contrleur de Gestion par exemple, ne permet pas de dterminer les diffrentes
activits dont un contrleur de gestion a la charge : celles-ci varient fortement dune
organisation lautre. Par exemple, dans certaines entreprises, le contrleur de gestion approuve
les commandes dinvestissement; dans dautres, il valide les factures.
9) Distinguer les pouvoirs des comptences : les comptences ncessaires
laccomplissement des activits nont pas intervenir lorsquil sagit de dcrire un processus.
Ces comptences seront prendre en compte dans un deuxime temps seulement, au moment
de dfinir les moyens ncessaires pour excuter les tches, cest--dire lorsque lon dclinera les
procdures.
Choisir de spcialiser ou non des agents en fonction de leur comptences est une dcision
purement conomique : dans beaucoup de restaurants, le client va se servir lui-mme. Et dans
certains restaurants, le client cuit lui-mme son repas !
10) Tenir compte des intrts de toutes les parties prenantes : ce sera notre critre principal
pour dterminer les bornes dun processus. Un processus nest que lun des chemins possibles
parmi toutes les activits qui figurent au catalogue de lentreprise : il ne sarrte que lorsque
les intrts de toutes les parties prenantes sont satisfaits.
Par exemple, il y a quelques annes, un oprateur de tlphonie mobile prenait la peine
dappeler ses clients dans les 48 heures suivant leur achat dun nouveau coffret, de manire
sassurer quils arrivaient bien lutiliser. Par ailleurs, on oublie trop souvent les intrts de
ltat, du partenaire qui il faut verser une commission, Bien entendu, il ne sagit pas de dire
que toute lEntreprise peut se rduire un seul processus !
En conclusion, ces quelques rgles basiques garantissent un rfrentiel de processus
homogne : viter davoir 200 actions pour dcrire un processus alors que 15 suffisent, viter
des doublons du type accorder un prt et octroyer un crdit Avantage tout
aussi important, elles amnent se poser les bonnes questions au moment de modliser un
processus : et en particulier, distinguer ce qui est vraiment invariant, de ce qui dpend des
moyens utiliss. Un modle construit avec ces rgles permettra lorganisateur de trouver des
leviers doptimisation, et linformaticien, de trouver les fonctions implmenter dans le
systme informatique.
24

http://www.journaldunet.com/solutions/expert/52335/10-regles-pour-bienmodeliser-vos-processus.shtml

25

6. Chapitre 6 Diagramme d'activits (Activity diagram)


6-1. Introduction au formalisme
6-1-1. Prsentation
Les diagrammes d'activits permettent de mettre l'accent sur les traitements. Ils sont donc
particulirement adapts la modlisation du cheminement de flots de contrle et de flots
de donnes. Ils permettent ainsi de reprsenter graphiquement le comportement d'une
.mthode ou le droulement d'un cas d'utilisation
Les diagrammes d'activits sont relativement proches des diagrammes d'tats-transitions
dans leur prsentation, mais leur interprtation est sensiblement diffrente. Les
diagrammes d'tats-transitions sont orients vers des systmes ractifs, mais ils ne
donnent pas une vision satisfaisante d'un traitement faisant intervenir plusieurs classeurs
et doivent tre complts, par exemple, par des diagrammes de squence. Au contraire,
les diagrammes d'activits ne sont pas spcifiquement rattachs un classeur particulier.
On peut attacher un diagramme d'activits n'importe quel lment de modlisation afin
.de visualiser, spcifier, construire ou documenter le comportement de cet lment
La diffrence principale entre les diagrammes d'interaction et les diagrammes d'activits
est que les premiers mettent l'accent sur le flot de contrle d'un objet l'autre, tandis que
.les seconds insistent sur le flot de contrle d'une activit l'autre

6-1-2. Utilisation courante


Dans la phase de conception, les diagrammes d'activits sont particulirement adapts la
description des cas d'utilisation. Plus prcisment, ils viennent illustrer et consolider la
description textuelle des cas d'utilisation (cf. section 2.5.3). De plus, leur reprsentation
sous forme d'organigrammes les rend facilement intelligibles et beaucoup plus accessibles
que les diagrammes d'tats-transitions. On parle gnralement dans ce cas de
modlisation de workflow. On se concentre ici sur les activits telles que les voient les
acteurs qui collaborent avec le systme dans le cadre d'un processus mtier. La
modlisation du flot d'objets est souvent importante dans ce type d'utilisation des
.diagrammes d'activits
Les diagrammes d'activits permettent de spcifier des traitements a priori squentiels et
offrent une vision trs proche de celle des langages de programmation impratifs comme
C++ ou Java. Ainsi, ils peuvent tre utiles dans la phase de ralisation, car ils permettent
une description si prcise des oprations qu'elle autorise la gnration automatique du
code. La modlisation d'une opration peut toutefois tre assimile une utilisation d'UML
comme langage de programmation visuelle, ce qui n'est pas sa finalit. Il ne faut donc pas
y avoir recours de manire systmatique, mais la rserver des oprations dont le
.comportement est complexe ou sensible

26

6-2. Activit et Transition


6-2-1. Action (action)
Une action est le plus petit traitement qui puisse tre exprim en UML. Une action a une
incidence sur l'tat du systme ou en extrait une information. Les actions sont des tapes
discrtes partir desquelles se construisent les comportements. La notion d'action est
rapprocher de la notion d'instruction lmentaire d'un langage de programmation (comme
: C++ ou Java). Une action peut tre, par exemple

une affectation de valeur des attributs ;

un accs la valeur d'une proprit structurelle (attribut ou terminaison


d'association) ;

la cration d'un nouvel objet ou lien ;

un calcul arithmtique simple ;

l'mission d'un signal ;

la rception d'un signal ;

Nous dcrivons ci-dessous les types d'actions les plus courants prdfinis dans la
notation UML.
Action appeler ( call operation )

L'action call operation correspond l'invocation d'une opration sur un objet de


manire synchrone ou asynchrone. Lorsque l'action est excute, les paramtres
sont transmis l'objet cible. Si l'appel est asynchrone, l'action est termine et les
ventuelles valeurs de retour seront ignores. Si l'appel est synchrone, l'appelant
est bloqu pendant l'excution de l'opration et, le cas chant, les valeurs de
retour pourront tre rceptionnes.
Action comportement ( call behavior )

L'action call behavior est une variante de l'action call operation car elle invoque
directement une activit plutt qu'une opration.
Action envoyer ( send )

Cette action cre un message et le transmet un objet cible, o elle peut


dclencher un comportement. Il s'agit d'un appel asynchrone (i.e. qui ne bloque
pas l'objet appelant) bien adapt l'envoi de signaux (send signal).
Action accepter vnement ( accept event )

L'excution de cette action bloque l'excution en cours jusqu' la rception du type


d'vnement spcifi, qui gnralement est un signal. Cette action est utilise pour
la rception de signaux asynchrones.
Action accepter appel ( accept call )

27

Il s'agit d'une variante de l'action accept event pour les appels synchrones.
Action rpondre ( reply )

Cette action permet de transmettre un message en rponse la rception d'une


action de type accept call.
Action crer ( create )

Cette action permet d'instancier un objet.


Action dtruire ( destroy )

Cette action permet de dtruire un objet.


Action lever exception ( raise exception )

Cette action permet de lever explicitement une exception.

.Graphiquement, les actions apparaissent dans des nuds d'action, dcrits section 6.3.1

6-2-2. Activit (activity)


Une activit dfinit un comportement dcrit par un squencement organis d'units dont
les lments simples sont les actions. Le flot d'excution est modlis par des nuds relis
par des arcs (transitions). Le flot de contrle reste dans l'activit jusqu' ce que les
.traitements soient termins
Une activit est un comportement (behavior en anglais) et ce titre peut tre associe
.des paramtres

6-2-3. Groupe d'activits (activity group)


Un est une activit regroupant des nuds et des arcs. Les nuds et les arcs peuvent
appartenir plus d'un groupe. Un diagramme d'activits est lui-mme un groupe
.d'activits (cf. figure 6.2)

6-2-4. Nud d'activit (activity node)

Figur
e 6.1 : Reprsentation graphique des nuds d'activit. De la gauche vers la droite, on
trouve : le nud reprsentant une action, qui est une varit de nud excutable, un
nud objet, un nud de dcision ou de fusion, un nud de bifurcation ou d'union, un

28

nud initial, un nud final et un nud final de flot.


Figure 6.2 : Exemple de diagramme d'activits modlisant le fonctionnement d'une borne
bancaire.
Un nud d'activit est un type d'lment abstrait permettant de reprsenter les tapes le
: long du flot d'une activit. Il existe trois familles de nuds d'activits

les nuds d'excutions (executable node en anglais) ;

les nuds objets (object node en anglais) ;

et les nuds de contrle (control nodes en anglais).

La figure 6.1 reprsente les diffrents types de nuds d'activit. La figure 6.2 montre
.comment certains de ces nuds sont utiliss pour former un diagramme d'activits

6-2-5. Transition

Figure

6.3 :

Reprsentation

graphique d'une transition.


Le passage d'une activit vers une autre est matrialis par une transition. Graphiquement
les transitions sont reprsentes par des flches en traits pleins qui connectent les activits
entre elles (figure 6.3). Elles sont dclenches ds que l'activit source est termine et
provoquent automatiquement et immdiatement le dbut de la prochaine activit
dclencher (l'activit cible). Contrairement aux activits, les transitions sont franchies de
.manire atomique, en principe sans dure perceptible
.Les transitions spcifient l'enchanement des traitements et dfinissent le flot de contrle

29

6-3. Nud excutable (executable node)


Un nud excutable est un nud d'activit qu'on peut excuter (i.e. une activit). Il
possde un gestionnaire d'exceptions qui peut capturer les exceptions leves par le nud,
.ou un de ses nuds imbriqus

6-3-1. Nud d'action

Figure 6.4 : Reprsentation graphique d'un nud d'action.


Un nud d'action est un nud d'activit excutable qui constitue l'unit fondamentale de
fonctionnalit excutable dans une activit. L'excution d'une action reprsente une
transformation ou un calcul quelconque dans le systme modlis. Les actions sont
gnralement lies des oprations qui sont directement invoques. Un nud d'action
.doit avoir au moins un arc entrant
Graphiquement, un nud d'action est reprsent par un rectangle aux coins arrondis
(figure 6.4) qui contient sa description textuelle. Cette description textuelle peut aller d'un
simple nom une suite d'actions ralises par l'activit. UML n'impose aucune syntaxe
pour cette description textuelle, on peut donc utiliser une syntaxe proche de celle d'un
.langage de programmation particulier ou du pseudocode

Figure

6.5 :

Reprsentation particulire des nouds d'action de communication.


.Certaines actions de communication ont une notation spciale (cf. figure 6.5)

6-3-2. Nud d'activit structure (structured activity node)


Un nud d'activit structure est un nud d'activit excutable qui reprsente une portion
structure d'une activit donne qui n'est partage avec aucun autre nud structur,
.l'exception d'une imbrication ventuelle

30

Les transitions d'une activit structure doivent avoir leurs nuds source et cible dans le
mme nud d'activit structure. Les nuds et les arcs contenus par nud d'activit
.structur ne peuvent pas tre contenus dans un autre nud d'activit structur
Un nud structur est dnot par le strotype structured et identifi par un nom
.unique dcrivant le comportement modlis dans l'activit structure
Graphiquement, le contour d'un nud d'activit structure est en pointill. Une ligne
horizontale
en
trait
continu
spare
le
compartiment
contenant
le
.strotype structured et le nom de l'activit structure du corps de l'activit structure

6-4. Nud de contrle (control node)

Figure
6.6 :
Exemple de diagramme d'activit illustrant l'utilisation de nuds de contrle. Ce
diagramme dcrit la prise en compte d'une commande.
Un nud de contrle est un nud d'activit abstrait utilis pour coordonner les flots entre
.les nuds d'une activit
: Il existe plusieurs types de nuds de contrle

nud initial (initial node en anglais) ;

nud de fin d'activit (final node en anglais) ;

nud de fin de flot (flow final en anglais) ;

nud de dcision (decision node en anglais) ;

nud de fusion (merge node en anglais) ;

nud de bifurcation (fork node en anglais) ;

31

nud d'union (join node en anglais).


.La figure 6.6 illustre l'utilisation de ces nuds de contrle

6-4-1. Nud initial


Un nud initial est un nud de contrle partir duquel le flot dbute lorsque l'activit
enveloppante est invoque. Une activit peut avoir plusieurs nuds initiaux. Un nud
.initial possde un arc sortant et pas d'arc entrant
.Graphiquement, un nud initial est reprsent par un petit cercle plein (cf. figure 6.6)

6-4-2. Nud final


Un nud final est un nud de contrle possdant un ou plusieurs arcs entrants et aucun
.arc sortant

6-4-2-a. Nud de fin d'activit


Lorsque l'un des arcs d'un nud de fin d'activit est activ (i.e. lorsqu'un flot d'excution
atteint un nud de fin d'activit), l'excution de l'activit enveloppante s'achve et tout
nud ou flot actif au sein de l'activit enveloppante est abandonn. Si l'activit a t
invoque par un appel synchrone, un message (reply) contenant les valeurs sortantes est
.transmis en retour l'appelant
Graphiquement, un nud de fin d'activit est reprsent par un cercle vide contenant un
.petit cercle plein (cf. figure 6.6)

6-4-2-b. Nud de fin de flot


Lorsqu'un flot d'excution atteint un nud 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
.Graphiquement, un nud de fin de flot est reprsent par un cercle vide barr d'un X
Les nuds de fin de flot sont particuliers et utiliser avec parcimonie. Dans l'exemple de
la figure 6.6, le nud de fin de flot n'est pas indispensable : on peut le remplacer par un
.nud d'union possdant une transition vers un nud de fin d'activit

6-4-3. Nud de dcision et de fusion

6-4-3-a. Nud de dcision (decision node)


Un nud de dcision est un nud de contrle qui permet de faire un choix entre plusieurs
flots sortants. Il possde un arc entrant et plusieurs arcs sortants. Ces derniers sont
gnralement accompagns de conditions de garde pour conditionner le choix. Si, quand le
nud de dcision est atteint, aucun arc en aval n'est franchissable (i.e. aucune condition
de garde n'est vraie), c'est que le modle est mal form. L'utilisation d'une
garde [else] est recommande aprs un nud de dcision, car elle garantit un modle
bien form. En effet, la condition de garde [else] est valide si et seulement si toutes les

32

autres gardes des transitions ayant la mme source sont fausses. Dans le cas o plusieurs
arcs sont franchissables (i.e. plusieurs conditions de garde sont vraies), seul l'un d'entre
.eux est retenu et ce choix est non dterministe
.Graphiquement, on reprsente un nud de dcision par un losange (cf. figure 6.6)

6-4-3-b. Nud de fusion (merge node)


Un nud de fusion est un nud de contrle qui rassemble plusieurs flots alternatifs
entrants en un seul flot sortant. Il n'est pas utilis pour synchroniser des flots concurrents
.(c'est le rle du nud d'union), mais pour accepter un flot parmi plusieurs
Graphiquement, on reprsente un nud de fusion, comme un nud de dcision, par un
.losange (cf. figure 6.6)
Graphiquement, il est possible de fusionner un nud de fusion et un nud de
dcision, et donc d'avoir un losange possdant plusieurs arcs entrants et
sortants. Il est galement possible de fusionner un nud de dcision ou de
fusion avec un autre nud, comme un nud de fin de flot sur la figure 6.6,
ou avec une activit. Cependant, pour mieux mettre en vidence un
branchement conditionnel, il est prfrable d'utiliser un nud de dcision
.(losange)

6-4-4. Nud de bifurcation et d'union

6-4-4-a. Nud de bifurcation ou de dbranchement (fork node)


Un nud de bifurcation, galement appel nud de dbranchement est un nud de
contrle qui spare un flot en plusieurs flots concurrents. Un tel nud possde donc un arc
entrant et plusieurs arcs sortants. On apparie gnralement un nud de bifurcation avec
.un nud d'union pour quilibrer la concurrence (cf. figure 6.2)
.Graphiquement, on reprsente un nud de bifurcation par un trait plein (cf. figure 6.6)

6-4-4-b. Nud d'union ou de jointure (join node)


Un nud d'union, galement appel nud de jointure est un nud de contrle qui
synchronise des flots multiples. Un tel nud possde donc plusieurs arcs entrants et un
.seul arc sortant. Lorsque tous les arcs entrants sont activs, l'arc sortant l'est galement
Graphiquement, on reprsente un nud d'union, comme un nud de bifurcation, par un
.trait plein (cf. figure 6.2)
Graphiquement, il est possible de fusionner un nud de bifurcation et un
nud d'union, et donc d'avoir un trait plein possdant plusieurs arcs entrants
.et sortants (cf. figure6.6)

33

6-5. Nud d'objet


6-5-1. Introduction
Jusqu'ici, nous avons montr comment modliser le comportement du flot de contrle dans
un diagramme d'activits. Or, les flots de donnes n'apparaissent pas et sont pourtant un
.lment essentiel des traitements (arguments des oprations, valeurs de retour)
Justement, un nud d'objet permet de dfinir un flot d'objets (i.e. un flot de donnes)
dans un diagramme d'activits. Ce nud reprsente l'existence d'un objet gnr par une
.action dans une activit et utilis par d'autres actions

6-5-2. Pin d'entre ou de sortie

Figure 6.7 : Reprsentation des pins d'entre et de sortie


sur une activit.
Pour spcifier les valeurs passes en argument une activit et les valeurs de retour, on
utilise des nuds d'objets appels pins (pin en anglais) d'entre ou de sortie. L'activit ne
peut dbuter que si l'on affecte une valeur chacun de ses pins d'entre. Quand l'activit
.se termine, une valeur doit tre affecte chacun de ses pins de sortie
Les valeurs sont passes par copie : une modification des valeurs d'entre au cours du
.traitement de l'action n'est visible qu' l'intrieur de l'activit
Graphiquement, un pin est reprsent par un petit carr attach la bordure d'une activit
(cf. figure 6.7). Il est typ et ventuellement nomm. Il peut contenir des flches indiquant
sa direction (entre ou sortie) si l'activit ne permet pas de le dterminer de manire
.univoque

6-5-3. Pin de valeur


Un pin valeur est un pin d'entre qui fournit une valeur une action sans que cette valeur
ne provienne d'un arc de flot d'objets. Un pin valeur est toujours associ une valeur
.spcifique
Graphiquement, un pin de valeur se reprsente com

http://laurent-audibert.developpez.com/Cours-UML/?page=diagrammeactivites

34

Vous aimerez peut-être aussi