Documente Academic
Documente Profesional
Documente Cultură
MÉMOIRE
Présenté pour l’obtention du Diplôme de Magister
Spécialité : Informatique
Option : Ingénierie des Données et des Connaissances
Titre
11 / ……..…
Soutenu le ……..… 03 / ……………
2014 devant la commission de jury :
Mots-clés : Modèle, Système d’information, UML, Workflow, Processus métier, BPEL, Modélisation,
Validation, Représentation relationnelle, Activité budgétaire, Sonatrach/AVAL
Sommaire ii
1. Introduction ………………..…………………………….……..……………………………………………….……………….………….……31
2. Processus métier et fichier BPEL ………………..……….………….…………….……………….…………….……..……31
3. Concepts fondamentaux et syntaxe de BPEL ………………..…………..……….………………….….….… 31
3.1. Syntaxe des éléments de base …………..……………………………………………….…………………………….…32
3.2. Syntaxe des éléments basés sur les messages …………....……………………………………….………33
3.3. Syntaxe des éléments de contrôles structurés …………..……………………………………..…..……33
3.4. Syntaxe des éléments de contrôles évolués …………..………………………….………………………..34
1. Définition ………………..…………………………….……..…………………………………………………….……………….………...…… 37
2. Aspects à modéliser………………..……….……………………………………………………….…………..……..……………..……37
2.1. Aspect fonctionnel…………..………………………………………………………..………………….………...…………………37
2.2. Aspect comportemental …………..…………………………………………….……………….……………………….……37
2.3. Aspect informationnel …………..………………………………………………………………….………………………..…38
2.4. Aspect organisationnel …………..……………………………………………….……………….……………….…….….…38
3. Présentation du système à modéliser ………………..……….…………………………….…………….....……..…39
3.1. Les objectifs stratégiques de la société SONATRACH ……….……………………….….……38
3.2. Les différentes structures de SONATRACH …………….……………….…………………………...…39
3.2.1. L’activité AVAL …………..………………………………………………..………………..….…………………….………39
3.2.2. La Direction d’Informatique et de Systèmes d’Information ……….……..….………40
3.2.3. Le Département Systèmes Informatique …………….…………………………………....……………41
3.3. Présentation du cahier de charges …………….…………………………………….…………………………...…41
3.3.1. Description de la procédure de l’élaboration du budget PA et PMT de
département ‘Production’ …………..……………………..……..………………..….……………………..………41
Sommaire iv
5.1 Introduction…...……………………….……………………………………………………………………………………...…….…..….79
5.2 Génération des fichier de validation BPEL ………………………………………………...……….…..….79
5.2.1 Fichier BPEL du diagramme de processus métier de la fonction (P) …..….....82
5.2.2 Fichier BPEL du diagramme de processus métier de la fonction (F)……........85
5.2.3 Fichier BPEL du diagramme de processus métier de la fonction
validation des prévisions de consommations non gérées en stock (M)…....86
mentionnée. Les difficultés à ce niveau peuvent être vues classées en deux catégories : des
problèmes de gestion et des problèmes de contrôle.
D’autre part, la circulation des supports budgétaires se fait d’une manière manuelle et ainsi
les flux de communication deviennent moins contrôlables.
En contre partie, les problèmes liés au contrôle budgétaire concernent notamment la mise à
jour des fichiers Excel utilisés aux différents niveaux. Ces mises à jour sont achevées d’une
manière rudimentaire et aléatoire et le manque d’un mécanisme automatique pour ce
traitement (mise à jour des fichiers Excel) induit à une absence de traçabilité des historiques
des différents accès et opérations appliqués. En somme, toutes les transactions et les accès
effectués sur les fichiers à chaque niveau (service de validation) pour les différentes
structures ne sont pas pris en charge et l’unité budgétaire ne conçoit qu’une version finale
qui n’indique aucune trace des modifications antérieures.
Le problème lié au flux d’information de l’unité budgétaire a aussi un aspect sécurité :
identification des accès, gestion des authentifications et autorisation pendant les échanges
d’information au sein de l’unité de production, des divisions et direction.
Le projet de l’automatisation de la gestion et du contrôle budgétaire devient donc
une nécessité prioritaire.
Afin de permettre aux responsables de l’activité AVAL de la société nationale
SONATRACH de réaliser ce projet, nous allons concevoir un système d’information relatif à
l’élaboration des prévisions budgétaires des différentes structures de l’activité AVAL.
Mais tout d’abord quelle démarche pouvons nous suivre pour aboutir à notre
objectif ?
Selon [01], vu la complexité croissante des systèmes d’information, de nouvelles
méthodes et outils ont été créées. La principale avancée réside dans la programmation
orientée objet (P.O.O.).
Ce nouveau mode de programmation a rapidement montré les limites des méthodes de
modélisation classique (telle MERISE).
La prise de conscience de l'importance d'une méthode spécifiquement objet ("Comment
structurer un système sans centrer l'analyse uniquement sur les données ou uniquement sur
les traitements, mais sur les deux"), ne date pas d'hier. Plus de 50 méthodes objet sont
apparues durant le milieu des années 90 (Booch, Classe-Relation, Fusion, HOOD, OMT,
OOA, OOD, OOM, OOSE...). Aucune ne s'est réellement imposée.
Dans ce contexte et devant le foisonnement de nouvelles méthodes de conception «
orientée objet », l’OMG1 a eu comme objectif de définir une notation standard utilisable dans
les développements informatiques basés sur l’objet. C’est ainsi qu’est apparu UML (Unified
1
L’OMG (Object Management Group) est une association américaine à but non-lucratif créée en 1989 dont l’objectif est
de standardiser et promouvoir le modèle objet sous toutes ses formes. L’OMG est notamment à la base des
spécifications UML, MOF, CORBA et IDL. L’OMG est aussi à l’origine de la recommandation MDA [20].
Modified Language), qui est issu de la fusion des méthodes Booch, OMT (Object Modelling
Technique) et OOSE (Object Oriented Software Engineering).
Issu du terrain et fruit d'un travail d'experts reconnus, UML est le résultat d'un large
consensus. De très nombreux acteurs industriels de renom ont adopté UML et participent à
son développement.
En l'espace d'une poignée d'années seulement, UML est devenu un standard
incontournable pour élaborer des modèles objet indépendamment de tout langage de
programmation. Il permet tout à fait de modéliser les activités (c'est-à-dire la dynamique)
d'un processus, de décrire le rôle des acteurs du processus, la structure des éléments
manipulés et produits, etc…
Devant la diversité des langages de programmation orientée objet, UML apparaît
comme une espèce de standardisation graphique de ces langages, reprenant tous les
mécanismes de base de l’orienté objet, même si leur traduction dans ces langages diffère.
Cela permet aux personnes impliquées dans le développement logiciel de restreindre de
plus en plus leur apport à la seule conceptualisation et analyse, en se libérant des contraintes
syntaxiques propres aux langages et en différant de plus en plus les détails techniques liés à
l’implémentation [ 11].
Grâce à UML, les objets s’envolent. Concrètement, un programmeur C++ et un
programmeur Java, C#, Python ou PHP, pourront travailler, pour l’essentiel, dans un
langage graphique commun, et automatiser, autant que faire se peut, la traduction des
diagrammes dans les différents langages [11].
L’utilisation des workflow dans les entreprises permet l’automatisation des
différents processus de l’entreprise. Ceci conduit le concept de processus à occuper
aujourd’hui une place majeure dans le domaine des systèmes d’information [02].
Les entreprises se trouvant actuellement sur le marché ont bien compris les
avantages que l’utilisation des systèmes de gestion de workflow pouvait leur apporter :
gains de productivité, allocation plus efficace des ressources, maîtrise de la complexité
inhérentes à de grands projets [03].
Comme le définit [04], UML est un « langage graphique destiné à la modélisation
de systèmes et de processus et il consiste en une série de symboles et de connecteurs qui
peuvent être utilisés pour créer des diagrammes de processus». D’autre part, Les
diagrammes de processus métiers de workflow sont très comparables aux diagrammes
d’activité UML, de par leur fonctionnement et leur représentation.
Finalement, ces points forts spécifiques à UML nous ont encouragés de procéder à
une démarche basée sur la modélisation UML-Workflow afin de concevoir notre futur
système d’information.
1. Introduction
Selon [05], un modèle est une représentation abstraite et simplifiée (i.e. qui exclut
certains détails), d’une entité (phénomène, processus, système, etc.) du monde réel en vue de
le décrire, de l’expliquer ou de le prévoir. Modèle est synonyme de théorie, mais avec une
connotation pratique : un modèle, c’est une théorie orientée vers l’action qu’elle doit servir.
Concrètement, un modèle reflète ce que le concepteur croit important pour la
compréhension et la prédiction du phénomène modélisé, les limites du phénomène modélisé
dépendant des objectifs du modèle.
Modéliser un système avant sa réalisation permet de mieux comprendre le
fonctionnement du système.
C’est également un bon moyen de maîtriser sa complexité et d’assurer sa cohérence. Un
modèle est un langage commun, précis, qui est connu par tous les membres de l’équipe et il
est donc, à ce titre, un vecteur privilégié pour communiquer. Cette communication est
essentielle pour aboutir à une compréhension commune aux différentes parties prenantes
(notamment entre la maîtrise d’ouvrage et maîtrise d’œuvre informatique) et précise d’un
problème donné.
Un modèle définit une frontière entre la réalité et la vision du concepteur. Ce n’est pas la
réalité, mais une vue très subjective de la réalité[03].
Le choix du modèle a donc une influence capitale sur les solutions obtenues. Les systèmes
non triviaux sont mieux modélisés par un ensemble de modèles indépendants. Selon les
modèles employés, la démarche de modélisation n’est pas la même.
2.1 Introduction
Dans l’approche orientée objet, tout système est vu comme un ensemble d’objets
dissociés, identifiés et définis par des propriétés. Une propriété est soit un attribut (i.e. une
donnée caractérisant l’état de l’objet), ou entité élémentaire comportementale de l’objet. La
fonctionnalité du système émerge alors de l’interaction entre les différents objets qui le
constituent. L’une des particularités de cette approche est qu’elle rapproche les données et
leurs traitements associés au sein d’un unique objet [05].
Comme nous venons de le dire, un objet est caractérisé par plusieurs notions :
L’identité : L’objet possède une identité, qui permet de le distinguer des autres objets,
indépendamment de son état. On construit généralement cette identité grâce à un identifiant
découlant naturellement du problème (par exemple un produit pourra être repéré par un
code, une voiture par un numéro de série, etc.) [05].
Les attributs (Propriétés) : Ils représentent des variables stockant des informations sur l’état
de l’objet.
Les méthodes : L’ensemble des actions (opérations) que l’objet va réaliser est déterminé par
ses méthodes. Ces opérations permettent de faire réagir l’objet aux sollicitations extérieures
(ou d’agir sur les autres objets). De plus, les opérations sont étroitement liées aux attributs,
car leurs actions peuvent dépendre des valeurs des attributs, ou bien les modifier.
La difficulté de cette modélisation consiste à créer une représentation abstraite,
sous forme d’objets, d’entités ayant une existence matérielle (voiture, ampoule, personne,...)
ou bien virtuelle (client, temps,...).
Nous avons vu que l’approche objet rapproche les données et leurs traitements.
Cette approche manipule un ensemble de concepts importants [ 12]:
a. Classe et Objet : Une classe est la description formelle d’un ensemble d’objets ayant
une sémantique et des propriétés communes. Elle représente des éléments concrets
(ex. des départements), des éléments abstraits (ex. des formations) ou des
composants d’une application (ex. les boutons des boites de dialogue).
Un objet est une instance d’une classe. Il représente une entité du
monde réel. Par exemple, Finances est une instance de la classe département.
Notation graphique
Nom de la classe
- attribut_1 : Int
…
- attribut_n : String
+ opération_1() : void
…
+ opération_m() : void
Notation graphique
Nom d’association
Classe1 Classe2
Figure 1.2- Représentation graphique d’une association
Une association est dite réflexive si elle représente un lien entre des objets de
la même classe.
Personne
Est père de
c. Agrégation : C’est une forme particulière d’association où un tout est relié à ses
parties. Le tout (la classe du côté du losange) est appelé agrégat et la classe en
opposé est appelé agrégé (c.f : figure 1.4).
Produit Commande
Figure 1.4- Exemple de relation d’agrégation
Employé Etudiant
Date de recrutement Date d’inscription
Grade de l’employé Niveau d’inscription
Calculer le salaire(…) Spécialité d’étude
Calculer la moyenne annuelle(…)
3. UML
3.1 Introduction
Selon [05], les méthodes utilisées dans les années 1980 pour organiser la
programmation impérative (notamment Merise) étaient fondées sur la modélisation séparée
des données et des traitements. Lorsque la programmation par objets prend de l’importance
au début des années 1990, la nécessité d’une méthode qui lui soit adaptée devient évidente.
UML (Unified Modeling Language en anglais, soit langage de modélisation objet
unifié) est né de la fusion des trois méthodes qui s’imposaient dans le domaine de la
modélisation objet au milieu des années 1990 : OMT, Booch et OOSE. D’important acteurs
industriels (IBM, Microsoft, Oracle, DEC, HP, Rational, Unisys etc.) s’associent alors à l’effort
et proposent UML 1.0 à l’OMG (Object Management Group) qui l’adopte en novembre 1997
dans sa version 1.1 comme langage de modélisation des systèmes d’information à objets. La
version d’UML en cours à la fin de 2006 est UML 2.0 qui s’impose plus que jamais en tant
que langage de modélisation standardisé pour la modélisation des systèmes, utilisé sur des
centaines de projets dans le monde ; en conséquence, la connaissance d’UML est désormais
une des compétences qui sont exigées quasi systématiquement lors d’un recrutement.
Etudiant
1..* Travaille ► 1 1..*
Employé Organisme
1..* 1..1
Figure 1.7– Association binaire Module Enseignant
Enseignant Module
Enseigner
Nombre d’heures
D:Département
Département
nom : String= ’’Informatique’’
nom : String
1..* est affecté à est affecté à
est affecté à
est affecté à
1..*
Commande
Ligne de commande
BD
Département Utilisateur
administration
Serveur
BD Employé BD
BD Finance
Département
formation et
information
BD Client
Facturation Comptabilité
Retirer de
l’argent
Client << include >>
Effectuer un virement
Extension Points :
Vérification_solde (après : S’authentifier
avoir demandé le montant) << include >>
Condition :{si montant >100}
Point d’extension : << extend >>
vérification_solde
Vérifier le solde << include >>
Consulter comptes
c) Transition : Les transitions sont utilisées pour connecter les activités entre
elles, elles sont représentées par des flèches en traits pleins. Elles sont
déclenchées dès que l’activité source est terminée et provoquent
automatiquement et immédiatement le début 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 [05].
3.11.1 Introduction
a) Etat : Un état représente une période dans la vie d’un objet pendant laquelle ce
dernier attend un évènement ou accomplit une activité.
Dans un diagramme d’états-transitions, Un état simple (élémentaire) est
représenté par un rectangle aux coins arrondis (Cf. figure 1.17)
Arrêt
Figure 1.17 - Exemple d’état simple
L’état initial est un pseudo état qui indique l’état de départ, l’état final est un
pseudo état qui indique que le diagramme d’états-transitions, ou l’état
enveloppant, est terminé.
b) Transition : une transition représente le passage instantané d’un état vers un
autre [06]. Elle est automatique dans l’absence d’étiquette.
c) Etiquette : une transition peut être déclenchée par un évènement, conditionné à
l’aide de ’gardes’, et /ou être associée à une activité [06].
La syntaxe d’une transition est la suivante [05]:
[ <évènement> ][ ’[’ <garde> ’]’ ] [ ’/’ <activité> ]
Dont : - évènement est un déclencheur d’un changement d’état.
- garde est une condition booléenne exprimée en langage naturel.
- activité est un comportement exécuté pendant la transition.
3.12.1 Définition
Notation graphique
L’ordre d’envoi de message est déterminé par sa position sur l’axe vertical du
diagramme ; le temps s’écoule de haut en bas de cet axe.
La disposition des objets sur l’axe horizontal n’a pas de conséquence pour la
sémantique du diagramme [06].
Une flèche de message entrant dans X signifie qu’un participant supprime un autre.
Un X mis à la fin d’une ligne de vie montre qu’un participant se détruit lui-même
(autodestruction) [06].
: Ligne de : Produit
: Commande
commande
Calculer montant
Avoir produit
Avoir tarification
Calculer
somme
3.13.1 Définition
3.13.3 Exemple
Dans la figure 1.21 ci-dessous tirée de [06], l’envoi du message 1.2 suit
immédiatement celui du message 1.1 et ces deux messages font partie du flot des messages 1.
1 Calculer montant()
1.5 Calculer
réduction
1.1 Avoir quantité 1.3 Avoir tarification()
1.2 Avoir produit
Ligne de Produit
commande
4. Conclusion
Comme nous l’avons déjà dit, UML n’est qu’un langage de modélisation. En effet,
UML ne propose pas une démarche de modélisation explicitant et encadrant toutes les
étapes d’un projet, de la compréhension des besoins à la production du code de
l’application.
Bien qu’UML ne soit pas une méthode, ses auteurs selon [05], précisent néanmoins pour la
modélisation d’un système, qu’une méthode basée sur l’utilisation UML doit être itérative et
incrémentale, pilotée par les cas d’utilisation et en fin centrée sur une architecture conçue
principalement pour satisfaire les besoins exprimés dans les cas d’utilisation et prendre en
compte les évolutions futures et les contraintes de réalisation.
1. Historique
2. Introduction
3. Concepts clés
C’est la représentation d'un processus métier dans une forme qui supporte des
manipulations automatiques comme la modélisation ou l'exécution par un système de
gestion de workflow. Une telle définition consiste en un réseau d'activités, en des critères
pour indiquer le démarrage et la terminaison du processus, ainsi que des informations sur
les activités comme les participants, les applications et les données permettant la mise en
œuvre des processus.
3.3 Tâche
Un processus métier est constitué d’un ensemble de tâches liées par des
transitions[10]. Une tâche peut être manuelle ou automatique. Pour s'exécuter, elle utilise
des ressources humaines et/ou machines. Quand une ressource est requise, la réalisation de
l'activité est attribuée à un participant.
a. Tâche automatique : une activité qui s'exécute sur un ordinateur et qui est
entièrement contrôlée par le système de gestion de processus
b. Tâche manuelle : une activité non automatisée qui reste en dehors du contrôle du
système de gestion de processus.
Ces activités peuvent cependant être inclues dans la définition d'un processus à des
fins de modélisation.
3.4 Nœud : Action interne à l'application mais n'ayant pas d'interaction ni avec
l'utilisateur ni avec un élément externe.
3.6 Transitions : Elles sont utilisées pour relier tout ces nœuds, représentant le
changement d'un nœud à un autre au sein de l'instance.
Une transition est un point dans l'exécution d'une instance de processus où une
activité se termine et une autre démarre.
Une transition peut être inconditionnelle (la terminaison de l'activité précédente
déclenche le démarrage de l'activité (ou des activités) suivante(s)) ou
conditionnelle (ce déclenchement est gardé par une condition logique).
Pour [15], un Workflow est une représentation d’un processus métier dans un
format interprétable et compréhensible par la machine.
Pour illustrer la relation entre les termes ‘‘Workflow’’ et ‘‘processus métier’’, nous
pouvons dire que le premier s’intéresse à l’organisation d’un travail (métier ou autre)
représenté par la coordination automatisée des tâches. Il correspond à la représentation
schématique ou à la modélisation d’un processus métier, alors que le deuxième (processus
métier) représente le métier proprement dit de l’entreprise en termes d’activités, de rôles et
de règles métiers.
Donc, et selon [07], un processus Workflow est explicitement défini comme étant
un ensemble d’étapes. Chaque étape peut-être une activité, une tâche (activité atomique) ou
peut faire référence à un sous-processus. Les activités sont exécutées via les conditions de
transition. Une activité peut être manuelle ou automatisée. Elle est réalisée par un rôle qui
décrit les compétences et le savoir faire qu’un acteur (utilisateur du Workflow ou
participant) doit avoir au sein d’une organisation. L'exécution de ces activités demande
l’invocation de ressources (applications externes, outils informatiques, etc.), la manipulation
de données, ainsi que l’accès aux artefacts tels que documents, formulaires électroniques ou
feuilles de styles.
D’après [17], deux étapes sont nécessaires pour la mise en place d’un WF, à savoir:
Création des processus et gestion des processus. Dans la première étape, une description des
processus est élaborée en termes de composants et de moyens de support. Tant dis que La
gestion assure le suivi et le contrôle des instances de processus actifs dans le système.
Pour que les WFs puissent être utilisés de manière efficace, il est important qu’ils intègrent
les capacités suivantes [21]: supporter les changements des modèles de processus; permettre
la surveillance de l’exécution des processus; permettre la distribution des processus à travers
des domaines d’affaires; et supporter l’assignation des ressources et étapes des processus.
Selon [16], l’utilisation des WFs peut intervenir à plusieurs niveaux dans une organisation.
Ainsi, un WF destiné-image permettrait d’automatiser le flot de documents papiers qui
circulent dans l’organisation. Pour cela, les documents sont transférés en images digitales.
Un WF destiné-formulaire permettrait de router de manière intelligente les formulaires dans
l’organisation. Ces formulaires, différents des images digitales, contiennent des champs
d’édition dont les valeurs sont exploitées dans les opérations de routage. De plus, ce type de
WF peut notifier ou rappeler ses usagers de certaines actions spécifiques à prendre en
compte. Enfin, un WF destiné-coordination permettrait de faciliter l’accomplissement des
opérations nécessitant l’intervention de plusieurs personnes. Pour cela, un cadre de
collaboration basé sur les engagements pris par ces personnes est nécessaire.
Réseau WAN
(Internet)
Client WF (mobile)
Serveur WF
Selon [16], les WFs distribués sont des applications basées sur des processus qui
s’exécutent sur une infrastructure réseau à grande échelle (tel que l’Internet) et hétérogène.
Pour assurer le fonctionnement d’une telle infrastructure, certaines exigences doivent être
satisfaites [19] : hétérogénéité des composants faisant partie du WF, participation évolutive
et flexible au WF, support «Plug and Play» aux applications et BOs, discontinuité des
opérations et enfin, décomposition récursive et dynamique des WFs.
La figure 2.2 présente les composants de base du modèle de référence d’un WF ainsi que les
interfaces entre ces composants [19].
1. Outils de construction/définition des processus : outils utilisés pour spécifier dans une
notation abstraite la logique de fonctionnement des processus.
2. Serveur WF : centre nerveux du système WF, en étant responsable de la gestion des
processus et des WLs, des services de répertoire des participants et des invocations
d’applications externes.
3. Application client : application graphique destinée à la gestion des WLs d’un usager sur le
serveur WF.
4. Applications externes : ressources utilisées par le serveur WF pour compléter les activités
des processus.
5. Outils d’administration et de surveillance : outils utilisés pour suivre l’exécution des
processus.
Selon [16], un BO est une entité capable d’exécuter des opérations nécessaires à la
satisfaction des besoins de ses utilisateurs. Parmi ceux-ci, les WFs qui font souvent appel aux
BOs afin de supporter leurs processus métiers.
Dans l’objectif de structurer un BO de manière flexible et de lui assigner des responsabilités
bien spécifiques, une architecture à cinq niveaux est proposée dans [22]. Ces niveaux sont :
présentation, Processus métiers, entités d’affaires, accès aux données et stockage des données.
La couche présentation assure l’interaction entre les usagers et les entités d’affaires. Les
interactions se résument à un échange d’informations. Une entité d’affaires caractérise les
services qui sont communs à différentes opérations. Ces services sont représentés par des
règles d’affaires.
À titre d’exemple tiré de [16], une application de gestion de comptes bancaires intègre le
service «déduire un montant d’une balance». Un processus métier est une séquence de
traitement qui requiert les services de plusieurs entités d’affaires. La responsabilité d’une
entité d’affaires est de fournir les services reliés au domaine d’application. Cette entité ne
doit pas être concernée par le stockage et la récupération des caractéristiques de ce domaine.
Par conséquent, cette fonctionnalité est associée à la couche de stockage des données. La
couche de stockage des données intègre les fonctionnalités d’accès à une base de données
spécifique. Les entités d’affaires interagissent avec la couche de stockage de données grâce à
la couche d’accès aux données. La couche d’accès fournit les services aux entités d’affaires au
Selon [16], les WFs sont des processus métiers automatisés (pouvant aussi être partiellement
automatisés). Ils sont représentés comme des Use-Cases ou des instances de Use-Cases avec
le stéréotype «WorkFlow». Les rôles dans des équipes sont représentés par des objets et
classes d’UML. Les classes représentent des types de rôles, alors que les objets représentent
des personnes associées à des rôles spécifiques. Tous les symboles peuvent être ornés par un
stéréotype approprié, comme «BO», «Processus métier » et «Rôle dans Équipe».
Figure 2.3 - Représentation d'un BO, d'un processus métier et d'un rôle dans
une équipe dans UML
La figure 2.4 tirée de [16] est un diagramme de structure statique d’UML. Il montre une
structure d’équipe[23]. Les rôles dans l’équipe sont représentés comme des instances
d’objets, ce qui permet de spécifier le nombre de personnes dans chaque rôle. Dans
l’exemple de la figure 2.5, l’équipe de satisfaction des besoins des clients comporte trois
développeurs, deux testeurs et un gestionnaire de produits. Le regroupement des rôles est
représenté par le symbole d’un «package».
Figure 2.5 - Instance d'un processus métier par un diagramme de séquence d’UML
Dans la figure suivante tirée de [16] , le diagramme de Use-Cases d’UML représente les
relations statiques entre les processus métiers. Un processus métier décrit les collaborations
qui existent entre l’organisation et les clients.
La figure 2.7 tirée de [16] représente le diagramme d’activités d’UML, qui est utilisé dans la
définition d’un package de Use-Cases destiné à la gestion des factures.
Figure 2.7 - Chronologie des processus métiers par un diagramme d'activités UML
8. Conclusion
Dans ce chapitre, nous avons présenté de manière générale la technologie des WFs
et son importance dans la modélisation des processus métiers. Selon [16], un léger consensus
existe sur la définition d’un WF et de ses caractéristiques. Sous le terme de WF, les personnes
peuvent faire référence à un processus métier, à la spécification d’un processus, à un logiciel
qui implante et automatise un processus ou à un logiciel qui supporte simplement la
coordination et la collaboration de personnes implantant le même processus.
2
Selon MOF(Meta Object Facility), un méta-modèle définit la structure que doit avoir tout modèle conforme à ce méta-modèle. Tout modèle doit
respecter la structure définie par son méta-modèle.
Le Langage BPEL
Chapitre III - Langage d’exécution des processus métiers (BPEL) 31
1. Introduction
Selon [13], après une période très riche en création de nouveaux langages de
description comportementale, les acteurs majeurs tel que Sun, IBM, ou encore Microsoft se
sont associés pour écrire un nouveau langage, héritant des avantages des précédents. Ainsi,
la fusion des langages XLANG et WSFL a donné naissance à BPEL4WS connu sous le nom
de BPEL (Business Process Execution Language).
Avec BPEL nous pouvons définir des processus simples ou complexes. BPEL est similaire,
dans une certaine mesure, à des langages de programmation traditionnels. Il propose des
éléments de construction tels que boucles, branchements, variables, assignations, etc. ce qui
lui permet de définir les processus métiers de façon algorithmique. BPEL est un langage
spécialisé qui se concentre sur la définition et le développement de ces processus. Par
conséquent il offre d’un côté des éléments qui rendent cette définition relativement simple et
d’un autre côté, il est moins complexe que les langages de programmation traditionnels[14].
le service web BPEL et un nom de liaison bien précis du service BPEL. Ces liaisons
sont appelées partner et permettent ainsi d’identifier facilement les différents
services web utilisés.
– Une troisième partie permet la déclaration des fauthandlers : ce sont des processus à
déclencher en cas d’exception déclenchée pendant l’exécution du processus et non
interceptée avant.
– Enfin, la quatrième partie décrit le comportement du processus métier lui-même en
utilisant différents opérateurs dit de programmation.
L’élément vide : c’est l’élément de base le plus simple : il permet d’insérer une
opération vide dans un processus. Ceci signifie que le processus ne fait rien, mais
ne se termine pas complètement l’instruction suivante sera exécutée. Ce processus
est très utilisé dans le cadre de la synchronisation des activités parallèles : il
supporte la gestion des links.
<empty standard-attributes>
standard-elements
</empty>
<terminate standard-attributes>
standard-elements
</terminate>
L’élément déclenchant une exception : cet élément permet de lever une exception
qui pourra être interceptée à différents niveaux.
<sequence standard-attributes>
standard-elements
activity+
</sequence>
<switch standard-attributes>
standard-elements
<case condition="bool-expr">+
activity
</case>
<otherwise>?
activity
</otherwise>
</switch>
<flow standard-attributes>
standard-elements
<links>?
<link name="ncname">+
</links>
activity+
</flow>
L’élément Pick : Il regroupe différents processus dont l’exécution est gardée par :
- des évènements (nœud XML onMessage) : à l’arrivée d’un message, le processus
de la branche associée à ce message sera exécuté.
- un temps d’attente (nœud XML onAlarm) : au bout d’un temps d’attente donné,
le processus de la branche est exécuté.
L’élément scope : c’est un élément très similaire à l’élément pick, et appelé context
dans le langage XLANG. Il permet d’exécuter un processus de façon gardée. C’est-
à-dire qu’il permet de parer à l’éventualité :
– d’une exécution du processus principal trop longue (nœud XML
eventHandlers) : une alarme est alors déclenchée et un processus associé à cette
alarme est exécuté.
– d’une exécution du processus principal déclenchant une exception (nœud
XML faultHandlers) : un traitement associé à cette exception est alors exécuté.
Contribution à la Modélisation
d’un processus métier de l’activité
budgétaire par UML-WorkFlow
Chapitre IV - Modélisation d’un processus métier par UML-Workflow 37
Dans ce présent chapitre nous allons proposer une démarche progressive fondée
sur l’utilisation d’UML-Workflow pour la modélisation d’un Système relatif à l’élaboration
des prévisions budgétaires du plan annuel (PA) et plan à moyen terme (PMT).
Après avoir étudié le cahier de charge présenté par l’équipe AVAL en exploitant
toute information considérée utile nous avons pu déterminer les acteurs impliqués dans
l’élaboration des prévisions budgétaires, l’ensemble de données pertinentes ainsi que les
différentes actions nécessaires pour l’exécution de ce processus important, en tenant compte
les objectifs fixés par les responsables.
Une bref définition de la modélisation est donnée en premier point, suivie d’une
description des différents aspects à modéliser en deuxième point, puis nous allons présenter
le système à modéliser en troisième point, en suite vient la modélisation statique par UML
et en fin ; nous aborderons la modélisation par workflow des diagrammes des processus de
l’élaborations des différentes prévisions budgétaires et de validations. Ces diagrammes sont
basés sur le principes des diagrammes d’activités UML.
1. Définition
La modélisation est une activité qui précède toute décision ou formulation, elle
permet de représenter la description du système réel. Cette description comporte un certain
nombre d’aspects à modéliser que nous allons présenter ci-dessous.
2. Aspects à modéliser
L’aspect fonctionnel concerne l’identification des activités des processus que l’on
souhaite modéliser. Il est important de comprendre qu’il ne s’agit pas uniquement
d’identifier les fonctions des différents départements d’une organisation mais bien de
distinguer les activités composant un processus. La modélisation fonctionnelle doit
également permettre d’établir la hiérarchie des activités, c’est-à-dire d’exprimer de possibles
décompositions en termes de sous-processus. Enfin, le modèle fonctionnel doit aussi
représenter le flux de données associées aux activités et les interdépendances de données
entre les activités.
modélisation d’un contrôle de flux entre les activités. Ce dernier permet d’indiquer la
chronologie de l’exécution des activités, leur flux (séquentiel ou parallèle), les points de
synchronisation entre activités ou au contraire, les points de disjonction.
De plus, le modèle comportemental doit représenter les évènements qui permettent de
déclencher les activités. L’aspect comportemental est également appelé aspect de
coordination.
Cet aspect concerne l’ensemble des informations et des données qui sont associées
aux activités. Le modèle informationnel, souvent négligé lors de l’implémentation d’un
Workflow, décrit en détail les relations qui existent entre les données, leur type et leur
structure [08].
La recherche et l’exploration
Le développement et l’exploitation des gisements
PDG
Tableau descriptif
Acteur /
Action/ Description Destinataire Observation / support
Intervenant
EXP et dép. P Projet de Plan de production Plan de production
Frais bancaires
Prestations de services prévues par Finances.
- Informations (output) :
Tableau descriptif
Observation /
Acteur / Intervenant Action / Description Destinataire
support
Toutes les structures
de l’unité et autres Voir les informations exploitées (input) Dép. F
structures AVAL
1ère validation
- les prévisions sont saisies par les chefs de services, successivement et enregistrées
par centres de coûts jusqu’à leurs 1er validation.
- Affichage sur le tableau, seulement, des articles qui ont été quantifiés
(mouvementés).
- Les services valideront les prévisions enregistrées.
- La modification ou la suppression d’une prévision validée par le chef de service
nécessite le déverrouillage par le chef de département de rattachement.
2ème validation
Après 1ère validation des chefs de services, les prévisions validées des services seront
affichées par tableau (un tableau par service) au niveau du chef de département de
rattachement.
Apres la validation par tableau des prévisions de consommations quantitatives par
les chefs de structures (non rattache à D*E ou D*S) les prévisions seront exploitées
par le département M et peuvent être consultées par F.
La modification ou la suppression des prévisions validées par les chefs de
structure nécessite le déverrouillage par le chef de département M.
Comme nous l’avons vu au chapitre 1, une modélisation UML repose sur une
consolidation mutuelle de deux points de vue complémentaires : dynamique et statique. Les
aspects dynamiques sont représentés par des diagrammes d’activités. Tant dis que les
aspects statiques sont exprimés sous la forme de cas généraux dans le diagramme de classes.
Les diagrammes de flux et de données réalisés sont en nombre de vingt, parmi eux
seize sont relatifs aux processus de l’élaboration des prévisions budgétaires effectués par les
différents départements et directions et les autres quatre diagrammes décrivent les différents
processus de validation.
Nous allons présenter trois diagrammes d’activités correspondant aux procédures
d’élaborations des prévisions budgétaires PA et PMT des départements ‘Production’ et
‘Finance’, et celle de la validation des prévisions de consommations quantitatives pour les
articles non gérés en stocks (M) du plan annuel et PMT. Le reste des diagrammes se trouve
en annexe 01.
- l’acteur (P) transmettant à l’acteur département Finance (F) ses besoin en matière de
prestation de services pour prise en charge dans le budget de trésorerie.
- Il transmet aussi ses prévisions de missions à l’acteur département Moyens Généraux (M).
pour établir un état de missions détaillé.
- Si le consommable est de prévisions des énergies l’acteur (P) envoie ses prévisions à
l’acteur (F) pour qu’elles soient intégrées dans son budget de trésorerie.
- Si non, deux cas de figures peuvent se présenter :
- Si il s’agit de prévisions de consommation non liée à la fonction production, il transmet ses
prévisions à l’acteur (M) afin de lui permettre de compléter son budget d’achat (M).
- Si non, il transmet les prévision à l’acteur chef de service (CS). Ce dernier a pour rôle la
saisie et l’enregistrement des prévisions.
- Si l’acteur (CS) constate des anomalies il les communique à l’acteur (P) pour correction et
actualisation.
- Si non, exécution de la tâche de validation des prévisions par l’acteur ‘CS’.
- L’acteur ‘CS’ communique les prévisions validées à l’acteur ‘chef de département (CD)’
pour consultation.
- Si l’acteur (CD) constate des anomalies effectue un déverrouillage pour permettre à l’acteur
(CS) de faire les modifications ou suppression dans les prévisions validées.
- Si non, affichage des prévisions puis exécution de la tâche de validation des prévisions par
l’acteur ‘CD’.
- Si cet acteur est un chef de département non rattaché à D *E (Sous direction d’exploitation),
il communique les prévisions validées à l’acteur (F) pour consultation et à l’acteur
département Approvisionnement (A) pour prise en compte dans son budget achat A et
pour exploitation.
- Si non, il communique les prévisions validées à l’acteur (D *E) qui va procéder à une
troisième validation par tableau de consommations quantitatives.
- Si l’acteur (D*E) constate des anomalies il les communique à l’acteur ‘chef département A’
(CDA).
- l’acteur (CDA) effectue un déverrouillage et avise l’acteur ‘CS’ pour consulter, saisir et
enregistrer à nouveau les prévisions.
- Si non, l’acteur (D*E) transmet les prévisions validées à l’acteur (F) pour consultation et à
l’acteur (A) pour prise en compte dans son budget achat A et pour exploitation.
- L’acteur ‘Service AG’ (SAG) et après la validation des prévisions effectuée au niveau de
l’acteur ‘chef de département’ et celle effectuée au niveau de l’acteur (D *E), affiche les
prévisions puis il procède à la validation des entrées quantitatives, en suite il affiche
des articles quantifiés sur le tableau.
- Si l’acteur (SAG) constate des anomalies et après avoir obtenu le déverrouillage auprès de
l’acteur ‘Service AA’ (SAA), il effectue les modifications ou suppressions dans les
prévisions validées.
- Si non, l’acteur (SAG) communique les prévisions à l’acteur (SAA) qui va procéder à la
valorisation et au calcul des prévisions consolidées d’achat et de consommation, puis à
l’affichage et la vérification des entrées établies. En fin la procédure d’approbation du
budget est entamée.
- L’acteur (F) élabore puis transmet ses prévisions PA et PMT quantitatives de missions à
l’acteur (M). Ce dernier établie l’état des missions détaillé.
- L’acteur ( F) élabore aussi les prévisions quantitatives PA et PMT de consommation de
fournitures, en suite ; il les transmet à l’acteur (M) afin de compléter le budget achat M.
- L’acteur (F) élabore ses prévisions valorisées PA et PMT de prestations de services.
- Après la réception des prévisions valorisées de toutes les structures de l’unité, en se
basant sur le plan de production et consultant les soldes des comptes comptables de
dettes et créances par nature de dépenses , l’acteur (F) exécute la tâche de consolidation
des prévisions valorisées PA et PMT des produits pour élaborer les prévisions de
trésorerie de l’unité.
- Dès la réception des prestations inter-unités et des plans d’investissement,
d’approvisionnement et de consommations valorisées (A) et (M), l’acteur (F) élabore les
prévisions valorisées PA et PMT relatives aux Prévisions prestation inter-unité, aux
impôts et taxes, aux assurances, frais bancaires et aux valorisations des prévisions de
GN autoconsommé et à la dotation aux amortissements en se basant sur le listing des
véhicules légers et utilitaires réel, sur la Patrimoine à assurer et sur le prix GN
autoconsommé retenu comme norme.
Une tâche de consolidation des prévisions valorisées des charges et des produits est exécutée
par l’acteur (F) à l’issu de cette dernière.
Description du processus de validation des prévisions des articles non gérés en stock M:
- Dès la réception des prévisions, l’acteur ‘Chefs de services’ entame la procédure de
saisie des prévisions et des réalisations de consommations des articles non gérés en
stock M.
- Après affichage sur tableau des articles quantifiés (mouvementés), vient la première
validation des prévisions enregistrées.
- En cas d’anomalies, un déverrouillage par l’acteur ‘chef de département de
rattachement ‘ est indispensable pour modifier ou supprimer une prévision validée.
- Après la 1ère validation, les prévisions validées sont affichées par service dans un
tableau au niveau de l’acteur ‘chef de département de rattachement’.
- Ce dernier effectue une deuxième validation par tableau des prévisions de
consommations quantitatives.
- A l’issu de cette validation, les prévisions seront exploitées par l’acteur ‘M’,
consultées par l’acteur ‘F’ et affichées au niveau de l’acteur ‘D *S/D*E’.
- En fin, l’acteur ‘D*S/D*E’ procède à la validation des prévisions par tableau. Ces
prévisions validées seront exploitées par l’acteur ‘M’ et consultées par ‘F’.
Task Les activités (task) sont représentées par un rectangle aux coins
arrondis et indiquent la tâche qui doit être effectuée.
Ces différents éléments sont tous reliés entre eux grâce à trois
différents types d’objets de connexion. Les flux de séquence (sequence
flow) sont représentés par une flèche pleine et une ligne solide. Ils
indiquent les suites d’événements ou d’activités.
Les flux de message (message flow) quand à eux sont représentés avec
une flèche vide et une ligne traitillée. Ils indiquent quel message circule
entre deux participants.
Les associations consistent uniquement en une ligne traitillée utilisée
pour associer un fichier ou un texte à un objet.
Pool
Les swimlanes permettent d’organiser les tâches à l’intérieur de
différentes colonnes représentant chacune un acteur
Suite aux concepts cités dans le chapitre 2, nous allons modéliser vingt processus
workflow. Parmi eux seize sont relatifs aux processus de l’élaboration des prévisions
budgétaires effectués par les différents départements et directions et les autres quatre
diagrammes concernent les différents processus de validation.
Pour cela nous utiliserons les business process diagram (diagrammes des
processus métiers) qui sont très comparables aux diagrammes d’activités UML
(fonctionnement et représentation).
Pour ne pas rendre nos business process diagrams complexes, nous allons
utiliser pour chaque acteur un nœud de fin de processus. Mais dans la
validation nous devons utiliser un et un seul nœud.
Description du processus de validation des prévisions des articles non gérés en stock M:
- Dès la réception des prévisions, l’acteur ‘Chefs de services’ entame la procédure de
saisie des prévisions et des réalisations de consommations des articles non gérés en
stock M.
- Après affichage sur tableau des articles quantifiés (mouvementés), vient la première
validation des prévisions enregistrées.
- En cas d’anomalies, un déverrouillage par l’acteur ‘chef de département de
rattachement ‘ est indispensable pour modifier ou supprimer une prévision validée.
- Après la 1ère validation, les prévisions validées sont affichées par service dans un
tableau au niveau de l’acteur ‘chef de département de rattachement’.
- Ce dernier effectue une deuxième validation par tableau des prévisions de
consommations quantitatives.
- A l’issu de cette validation, les prévisions seront exploitées par l’acteur ‘M’,
consultées par l’acteur ‘F’ et affichées au niveau de l’acteur ‘D*S/D*E’.
- En fin, l’acteur ‘D*S/D*E’ procède à la validation des prévisions par tableau. Ces
prévisions validées seront exploitées par l’acteur ‘M’ et consultées par ‘F’.
- les prévisions consolidées de recettes liées aux retraits des cahiers de charges. Puis
il les transmet à l’acteur (F) pour les prendre en compte dans les prévisions de
produits d'exploitation.
- Dès réception de la directive cadre, l’acteur Conseil Syndical élabore puis transmet à
l’acteur (M) :
- les prévisions quantitatives de consommation de fournitures non gérées en stock et
non régies par une norme afin de compléter le budget achat M et de valoriser les
consommations.
- les prévisions de missions par destinations pour établir l’état détaillé des missions.
prévisions de missions à l’acteur département Moyens Généraux (M) qui va à son tour
établir un état des missions détaillé en tenant en compte les prévisions reçues.
Si il s’agit de prévisions de consommation non liée à la fonction maintenance,
l’acteur (G) transmet ses prévisions à l’acteur (M) afin de lui permettre de compléter son
budget d’achat M, si non il transmet les prévision au chef de service. Ce dernier a pour rôle
la saisie et l’enregistrement des prévisions. Un test est effectué à son niveau, dans le cas
d’anomalies il les communique à l’acteur (G) pour correction et actualisation. Une fois la
correction est faite et dans l’absence d’anomalies, une tâche de validation des prévisions est
exécutée par l’acteur ‘Chef de Service’. Dès que cette première validation est terminée, les
prévisions validées sont affichées au niveau de l’acteur ‘chef de département’. Ce dernier
effectue une deuxième validation. Si cet acteur est un chef de département non rattaché à
D*E, il communique les prévisions validées à l’acteur (F) pour consultation et à l’acteur (A)
pour prise en compte dans son budget achat A et pour exploitation. Si non (c à d. chef
département rattaché à D*E), il communique les prévisions validées à l’acteur ‘D *E’ qui va
procéder à une troisième validation par tableau de consommations quantitatives. Si il
constate des anomalies il les communique à l’acteur ‘chef de service’ pour consulter, saisir
et enregistrer à nouveau les prévisions. Si non (c à d pas d’anomalies constatées par l’acteur
‘D*E’), les prévisions validées vont être transmises à l’acteur (F) pour consultation et à
l’acteur (A) pour prise en compte dans son budget achat A et pour exploitation.
Description du processus (D*E et D*S) : Ce processus est le même que le processus (RT)
avec l’acteur (D*E et D*S) à la place de (RT).
l’enregistrement des prévisions. Un test est effectué à son niveau, dans le cas d’anomalies il
les communique à l’acteur (T) pour correction et actualisation. Une fois la correction est faite
et dans l’absence d’anomalies, une tâche de validation des prévisions est exécutée par
l’acteur ‘Chef de Service’. Dès que cette première validation est terminée, les prévisions
validées sont affichées au niveau de l’acteur ‘chef de département’. Ce dernier effectue une
deuxième validation. Si cet acteur est un chef de département non rattaché à D *E, il
communique les prévisions validées à l’acteur (F) pour consultation et à l’acteur (A) pour
prise en compte dans son budget achat A et pour exploitation. Si non, il communique les
prévisions validées à l’acteur ‘D*E’ qui va procéder à une troisième validation par tableau de
consommations quantitatives. Si il constate des anomalies il les communique à l’acteur
‘chef de service’ pour consulter, saisir et enregistrer à nouveau les prévisions. Si non, les
prévisions validées vont être transmises à l’acteur (F) pour consultation et à l’acteur (A) pour
prise en compte dans son budget achat A et pour exploitation.
Description du processus de validation des prévisions des articles non gérés en stock A :
Idem que le processus précédent, sauf que l’acteur ‘Service AG’ n’intervient
pas cette fois, et que l’acteur ‘Service AA’ a des tâches en plus, telle que l’affichage des
prévisions des consommations non gérées en stock A, la validation des prévisions
quantitatives et consolidées d'achat des articles non gérés en stock A et la
modification/suppression dans les prévisions validées.
établies. Dans le cas de non approbation des prévisions, il les transmet à l’acteur
‘structure concernée’.
- Après une modification des prévisions et acceptation des modification par
l’acteur ‘structure concernée’, un déverrouillage des tableaux de consommations
quantitatives M et des tableaux des départements concernés, puis un affichage des
entrées non approuvées des articles valorisés sont effectués par l’acteur ‘chef de
département (M)’.
- L’acteur ‘chef de service (M) et après approbations des prévisions établies ou
affichage des entrées non approuvées des articles valorisés valide les prévisions
enregistrées. Dans le cas d’anomalies il procède à une modification ou suppression dans
les prévisions validées après un déverrouillage effectué par l’acteur ‘chef de département
(M)’. Dans l’absence d’anomalies ou après modification, une validation des prévisions est
effectué par l’acteur ‘chef de département (M)’. Ce dernier et en cas d’anomalies , effectue
lui-même une modification ou suppression dans les prévisions validées après un
déverrouillage effectué par l’acteur après un déverrouillage effectué par l’acteur ‘D*S’.
- L’acteur D*E et après le résultat du test effectué par l’acteur ‘chef de
département (M)’ exécute une tâche de validation des tableaux des prévisions
consolidées d’achats et consommations pour les articles non gérés en stock (M), en suite
il communique les tableaux des prévisions validés à l’acteur ‘structure concernée’ pour
prise en charge dans le budget d’achat et à l’acteur (F) pour exploitation du tableau des
prévisions consolidées d’achats et consommations pour les articles non gérés en stock
(M).
5.1 Introduction
Cette étape consiste à l’élaboration des fichiers BPEL correspondant aux
diagrammes des processus métiers modélisés.
Pour cela nous avons utilisé le logiciel MagicDraw, qui rend possible l’exportation
de diagrammes des processus métiers vers du BPEL, il suffit d’utiliser la fonction « exporter
» puis « BPEL » dans l’onglet fichier pour qu’un fichier BPEL soit créé. Bien sûr cela n’est
effectuable uniquement si le diagramme ne contient aucune erreur. Dans le cas contraire
l’exportation n’est pas possible et le programme indiquera le type d’erreur soulevée.
Le fichier BPEL ainsi créé se présente sous la forme d’un fichier XML comme nous
l’avons vue dans le chapitre 3:
Figure 5.1- Création d’un nouveau projet nommé BPD_Finances à partir de la page d’accueil MagicDraw
Figure 5.2- Sélection d’un Star Event du menu principal du logiciel MagicDraw
Figure 5.3- Création d’un star Event avec un nœud fork/join et des nœuds d’activités
Figure 5.4- Création d’un processus métier relatif à l’élaboration des prévisions budgétaires des finances
Après avoir crée le modèle de processus métier sous l’éditeur MagicDraw, nous
passons à l’étape de sa validation en exécutant comme nous avons vu dans la section 5.1 la
fonction « exporter » puis « BPEL » dans l’onglet fichier et en fin nous obtiendrons les fichier
BPEL correspondants aux différents processus métiers que nous allons présenter ci dessous.
</switch>
<empty name="Validation des prévisions "></empty>
<empty name="Consultation des prévisions "></empty>
<switch name="">
<case condition="Cas d’anomalies">
<empty name="Déverrouillage"></empty>
<empty name="Modification ou suppression dans les prévisions validées">
</empty>
</case>
</switch>
<empty name="Affichage des prévisions validées"></empty>
<empty name="Validation des prévisions "></empty>
<sequence>
<switch name="">
<case condition="Chef de département rattaché à D*E">
<empty name="Affichage des prévisions validées"></empty>
<empty name="Validation par tableau de consommations quantitatives">
</empty>
<sequence>
<empty name="Affichage des prévisions des consommations gérées en
stock et du tableau des prévisions de consommations
quantitatives"></empty>
<empty name="Validation des entrées quantitatives"></empty>
<empty name="Affichage des articles quantifiés sur le tableau"></empty>
<switch name="">
<case condition="Cas d’anomalies">
<empty name="Déverrouillage"></empty>
<empty name="Modification ou suppression dans les prévisions
validées">
</empty>
</case>
</switch>
<empty name="valorisation et calcul des prévisions consolidées d'achat et
de consommation ">
</empty>
<empty name="Affichage et vérification des entrées établies "></empty>
</sequence>
<sequence>
<switch name="">
<case condition=" Cas d’anomalies ">
<empty name=" Déverrouillage "></empty>
<empty name=" Consultation, saisie et enregistrement des
prévisions ">
</empty>
</case>
<otherwise>
<switch name="">
<case condition="Pour finance">
<empty name="Consultation des prévisions validées">
</empty>
</case>
<otherwise>
<empty name="Prise en compte dans le budget Achat A et
exploitation des prévisions validées ">
</empty>
</otherwise>
</switch>
</otherwise>
</switch>
</sequence>
</case>
<otherwise>
<switch name="">
<case condition="Pour finance">
<empty name="Consultation des prévisions validées"></empty>
</case>
<otherwise>
<empty name="Prise en compte dans le budget Achat A et exploitation
des prévisions validées ">
</empty>
</otherwise>
</switch>
</otherwise>
</switch>
</sequence>
<sequence>
<empty name="Affichage des prévisions des consommations gérées en stock et du
tableau des prévisions de consommations quantitatives">
</empty>
<empty name="Validation des entrées quantitatives"></empty>
<empty name="Affichage des articles quantifié s sur le tableau "></empty>
<switch name="">
<case condition=" Cas d’anomalies ">
<empty name=" Déverrouillage "></empty>
<empty name="Modification ou suppression dans les prévisions validées">
</empty>
</case>
</switch>
<empty name="valorisation et calcul des prévisions consolidées d'achat et de
consommation "></empty>
<empty name="Affichage et vérification des entrées établies "></empty>
</sequence>
</otherwise>
</switch>
</otherwise>
</switch>
</sequence>
</flow>
</process>
<Flow name="">
<empty name=" Saisie des prévisions et des réalisations de consommations des articles non gérés
en stock M">
</empty>
<empty name="Affichage des articles quantifiés "></empty>
<empty name="Validation des prévisions enregistrées"></empty>
<switch name="">
<case condition=" Cas d’anomalies ">
<empty name="Dévrrrouillage "></empty>
<empty name="Modification /suppression dans les prévisions validées"></empty>
</case>
</switch>
<empty name="Affichage par tableau des prévisions validées "></empty>
<empty name="Validation par tableau de consommations quantitatives"></empty>
switch name="">
<case condition=" Cas d’anomalies ">
<empty name="Dévrrrouillage "></empty>
<empty name="Modification /suppression dans les prévisions validées"></empty>
</case>
</switch>
switch name="">
<case condition=" Département M ">
<empty name="Exploitation des prévisions"></empty>
</case>
<otherwise>
<switch name="">
<case condition="Département F">
<empty name="Consultation des prévisions"></empty>
</case>
<otherwise>
<empty name="Affichage des prévisions annuelles par tableau "></empty>
<empty name="Validation par tableau des prévisions de consommations
quantitatives">
</empty>
<sequence>
<empty name="Consultation des prévisions"></empty>
</Sequence>
<sequence>
<empty name=" Exploitation des prévisions "></empty>
</Sequence>
</otherwise>
</switch>
</otherwise>
</switch>
</Flow>
</Sequence>
</process>
1. Introduction
Dans ce chapitre nous allons présenter les vues partielles des architectures métiers
du système étudié enrichies d’une description textuelle de chaque architecture. En suite,
nous allons entamer la procédure de la représentation relationnelle du modèle statique que
nous avons conçu dans le chapitre IV.
à l’objet (F) ses prévisions valorisées de dotation, de consommation des articles non gérés en
stock et de ceux gérés en stock via respectivement les trois flux (A ’), (CC2) et (CC’2).
Concernant l’objet (M), les mêmes processus que dans la section 2.1.
Description de l’architecture du processus (I): Cette architecture est la même que celle du
processus (G).
Toute classe mère du diagramme de classes devient une table de la base de données
avec comme clé primaire l’identifiant de la classe.
Toute classe fille du diagramme de classes devient une table avec comme clé
primaire composée de la concaténation de son identifiant et ce lui de la classe mère
correspondante.
Toute classe associative devient une table avec comme clé primaire composée de la
concaténation de son identifiant et ceux des classes participant à l’association.
Conclusion générale
La suite de la contribution :
Modélisation des diagrammes
d’activités UML
Annexe 01 – Compléments des diagrammes d’activités modélisés 100
Sonatrach/Activité Aval
Direction Finances
Département Budget et Contrôle de Gestion
Projet de formalisation et
d’informatisation des processus
de gestion budgétaire et
reporting au sein de l’Activité
Aval/Sonatrach
Volets Exploitation et
Financement
Version 1.0
Sommaire
Principales étapes
Elaboration du PA et PMT
Octobre N
Transmission du PA et PMT consolidé AVAL à la DCGF/SH
Janvier N+1
Notification du Plan Annuel N+1
4. Etablissement des prévisions par centre de coût et/ou par centre de responsabilité
budgétaire, par nature et par mois pour les périodes N et N+1.
5. Amélioration de la fiabilité des prévisions budgétaires par la mise en place de
paramétrages entre objectifs opérationnels et prévisions de consommation de biens et de
services.
6. Instauration d’un système de validation des prévisions budgétaires (CC, CRB, Unité,
Division, Activité).
7. Etablissement des coûts d’exploitation prévisionnels par fonction (voir résultats projet
CAE pour intégration).
8. Etablissement d’une hiérarchisation et interdépendance des budgets (production,
investissement, charges par fonction, achats…).
9. Traitement et rapprochements automatisés des opérations inter-unités (prestations, PPC).
10. Modèle de présentation uniforme pour arbitrages.
2) Elaboration des documents de Reporting afférents aux volets exploitation et financement
1. Formalisation et uniformisation d’une procédure.
2. Automatisation du report des réalisations périodiques sur les canevas à partir des bases de
données existantes (CAE, CPT Gle, trésorerie).
3. Identification et explication des écarts par centre de coût.
4. Automatisation de la consolidation au niveau central (Direction Finances).
5. Mise en place de tableaux de bord pour suivi d’indicateurs clés de performance à identifier
3) Contrôle budgétaire
- Formalisation et uniformisation d’une procédure de contrôle et de suivi d’exécution des
budgets, par CC et/ou CRB. Ce contrôle à priori concerne, notamment :
Il est à relever que les Structures fonctionnelles de l’Activité Aval élaborent également leurs
prévisions budgétaires qui sont consolidées au niveau de la Direction Administration Générale/Aval
en tant qu’Unité comptable et budgétaire du Siège/Aval.
Ces Structures fonctionnelles sont également impliquées dans le processus d’élaboration du Plan
Annuel et PMT des Unités opérationnelles dans son volet Exploitation en tant que Structures
consolidantes, chacune dans son domaine.
Acteur /
Action / Description Destinataire Observation / support
Intervenant
RHU/Av
al, Dép.R Plan des effectifs (départs/recrutements)
et Dép.S
Elaboration et transmission des prévisions PA (par
mois pour N et N+1) et PMT (de N+2 à N+5) :
Salaires, charges patronales, AFC, STC et Dép. F Pour prise en compte dans le budget
gratification médailles valorisées. trésorerie .
Fournitures consommées en quantités, non Dép. M
gérée en stock et non régie par une norme Pour compléter budget achat M
Outillage médical et produits Dép. F (annexe).
pharmaceutiques valorisés Pour prise en compte dans le budget
Dép. S Prestations services valorisées Dép. F des charges (inter- unités OSL).
(Entretiens et réparations matériels et Pour prise en compte dans le budget
consultations médicales spécialisées) des charges (inter- unités OSL).
Nombre des missions de S par destinations. Dép. M Etat des missions détaillé (annexe).
Liste du nombre prévisionnel d’enfants des
bases de SONATRACH concernés par le Dép. M Liste nominative .
transport scolaire et universitaire.
Liste du nombre prévisionnel d’agents Dép. M Liste nominative.
concernés par les loyers et charges locatives
Gaz industriels
Consommables (pour système DCS, laboratoire)
Petits outillages
- Prévisions de prestations de services :
Contrôle technique réglementaire
Contrôle destructif et non destructif (test ultrason, radiographie, ressayage, ….)
Expertise pour les dérogations APV/APG
Etudes diverses
Mise à jour du système DCS (logiciels, formations, ….)
b) Budget et PMT de fonctionnement de la structure T :
- Fournitures consommées (non régies par une norme) : produits sociaux, outillages de
laboratoire et inspection
- Prestations de services :
- Nombre des missions par destinations.
Acteur /
Action / Description Destinataire Observation / support
Intervenant
Elaboration et transmission des prévisions quantitatives
PA (par mois pour N et N+1) et PMT (de N+2 à N+5)
Pour prise en compte dans le
Matières et fournitures gérées et non gérées en
budget achat A (annexe)
stock
Dép. A Pour compléter budget achat
Matières et fournitures pour fonctionnements
M (annexe)
Dép. T non régies par une norme, non gérées en
Dép. M
stock
Pour intégration dans le
Elaboration et transmission des prévisions valorisées de
budget trésorerie
prestation de services pour PA (par mois pour N et N+1)
Dép. F (annexe)
et PMT (de N+2 à N+5)
Etat des missions détaillé
Nombre des missions de T par destinations
Dép. M (annexe)
- Fournitures consommées (non régies par une norme) : Produits sociaux, consommations de
fournitures.
- Prestations de services :
Nombre des missions par destinations.
Acteur / Intervenant Action / Description Destinataire Observation / support
I, HSE/AVL, toutes
Plan HSE et Recommandations issues des audits
les structures
Elaboration et transmission des prévisions
quantitatives PA (par mois pour N et N+1) et PMT
Pour prise en compte
(de N+2 à N+5)
dans le budget achat A
Matières et fournitures gérées et non
Dép. A (annexe)
gérées en stock
Matières et fournitures pour
Dép. M Pour compléter budget
fonctionnements non régies par une
Dép. I achat M (annexe)
norme, non gérées en stock
Pour intégration dans le
Elaboration et transmission des prévisions
Dép. F budget trésorerie
valorisées de prestation de services pour PA (par
(Annexe)
mois pour N et N+1) et PMT (de N+2 à N+5)
Dép. M Etat des missions détaillé
Nombre des missions de I par destinations
(annexe )
Acteur /
Action/ Description Destinataire Observation / support
Intervenant
Toutes les Prévisions quantitatives des consommations de fournitures et SIG
structures consommables informatiques non régies par une norme
Elaboration et transmission des prévisions PA (par mois pour N
et N+1) et PMT (de N+2 à N+5)
Prévisions consolidées Unité consommations de
fournitures et consommables informatiques régies et Pour compléter budget
non régies par une norme gérées en stock Dép. M achat M (annexe) et
(prévisions quantitatives) valoriser les consommations
Prévisions consolidées Unité consommations de
fournitures et consommables informatiques non
régies par une norme et non gérées en stock
(prévisions quantitatives) Dép. M Pour compléter budget
SIG
Prévisions de consommations de matières et achat
fournitures pour fonctionnement non régies par
une norme et non gérées en stock (prévisions Pour compléter budget
quantitatives) Dép. M achat
Nombre des missions par destinations Dép. M Etat des missions détaillé
Acteur /
Action / Description Destinataire Observation / support
Intervenant
Toutes les Nombre de personnel et sous traitants ouvrant droit à
ASI
structures l’accès aux différentes zones
Elaboration et transmission des prévisions PA (par mois
pour N et N+1) et PMT (de N+2 à N+5) de consommation Dép. M Pour compléter budget achat
de fournitures non gérées en stock (prévisions (annexe) et valoriser les
quantitatives consommations
Nombre des missions par destinations Dép. M Etat des missions détaillé
(annexe)
Acteur /
Intervenant Action / Description Destinataire Observation / support
Acteur /
Action / Description Destinataire Observation / support
Intervenant
Conseil Elaboration et transmission des prévisions de
syndical consommations en fournitures pour fonctionnement non
régies par une norme gérées et non gérées en stock Pour compléter budget achat
(prévisions quantitatives) PA (par mois pour N et N+1) et Dép. M (annexe) et valoriser les
PMT (de N+2 à N+5) consommations
Nombre des missions par destinations Dép. M Etat des missions détaillé (annexe)
[01] J. Steffe. Cours UML. Ecole nationale des ingénieurs des travaux
agricoles de bordeaux, Mars 2005.
,
[14] M.B. Juric B. Mathew, P. Sarang. BPEL pour les services web,
deuxième édition, Packt Publishing Ltd, janvier 2006.
Mots-clés :
Modèle; Système D’information; UML; Workflow; Processus Métier; BPEL; Modélisation; Validation;
Représentation Relationnelle; Activité Budgétaire; Sonatrach/AVAL.