Introduction BPMN
Introduction BPMN
Introduction BPMN
Production
E. Tranvouez
(erwan.tranvouez@univ-amu.fr)
Un peu de vocabulaire
C2C : Customer to Customer
Définition générale : Création d’une place de marché où des clients
particuliers peuvent réaliser des transactions commerciales
• Exemple : Ebay, LeBonCoin, …
Impact SI : place de marché virtuelle => E Commerce
A noter, ces places de marché s’ouvrent rapidement aux
entreprises …
Approche différentiées : marché ouvert, spécialisé …
Et pour votre culture …
B2G : Business to Gouvernement
• Caractérise les relations commerciales entre une entreprise et un
organisme gouvernemental
6
44
Définitions (rappel ?)
Exigence :
Besoin ou attente d’une organisation, d’un processus…
Peut s’appuyer sur des indicateurs ou toute mesure à même
de mesurer sa satisfaction.
Efficacité :
Capacité à atteindre des objectifs
Objectifs définis en termes de quantités, qualités, délais,
coûts….
Efficience :
Capacité à atteindre des objectifs tout en optimisant les
ressources employées (personnel, matériel, finances)
Contexte SI / BPM ? (see next)
Autour du BPMN :
approche processus
8
44
* Voir par exemple le cours de la Microsoft Virtual Academy sur l’utilisation de l’approche Kanban aux processus d’ingénierie
logicielle https://mva.microsoft.com/en-US/training-courses/using-kanban-jump-start-8659
14
44
Workflow…
Donc, BPMN pour la spécification…
… pour ensuite implémenter ceci
16
44
Source : http://www.processmodeling.info/
17
44
http://bpm.com/
18
44
http://bpm.com/
19
44
http://bpm.com/
Concepts et syntaxe du BPMN
21
44
Pourquoi BPMN
Plusieurs langage de modélisation de processus
Réseau de Petri : Avantages : formel, prouvable, simulable
IDEF0
OSSAD (Office Support System Analysis and Design)
UML
MERISE
Modèles propriétaires liés aux outils de conception et de
développement de Système de gestion de Workflow
Pour les mêmes raisons qu’UML, proposition d’un modèle
unifié
Risque ? Un nième modèle => d’où le regroupement d’acteurs
industriels au départ (BPMI) puis la puissance de frappe de l’OMG
22
44
Principe général
BPMN est une spécialisation du diagramme d’activité UML,
on retrouvera donc les concepts suivants :
Activité
Transition
Evénement (event)
Branchement(gateway)
Couloirs (swimlane)
2 types de couloirs
Pool : caractérise un participant, voire une organisation ou un département
d’une organisation. L’interaction entre 2 entreprises se représentera donc
avec 2 pools.
Lane : permet de subdiviser une Pool, lorsque plusieurs participants/acteurs
interviennent dans un processus.
Collaboration : Interaction entre 2 couloirs (pool), l’un décrivant
un acteur « externe » au processus dont on n’a pas à connaître le
processus interne => messages s’arrêtent au contour du couloir.
Une activité doit être dans un couloir (pas à cheval !)
24
44
Concept d’évènement
Quelque chose qui est extérieur au processus et qui aura un impact
sur le déroulement du processus.
3 types d’évènement principaux :
Concepts d’activité
Activité : correspond à un travail réalisé par l’organisation
modélisée dans le processus.
Peut être atomique (tâche)
ou composée (elle-même décrite par un sous-processus).
Exemple de tâches
• Envoi/réception de message
• Tâche manuelle :
Remind you
• Tâche réalisée par un service
of anything ?
=> MOT MERISE
26
44
Concept de Passerelle/Gateway
Permet de gérer les entrées/sorties multiples d’une
activité et les conditions s’y afférant.
=> détermine la fusion/coordination/synchronisation des
évènements ou résultats d’autres activités conduisant au
déclenchement de l’activité.
Différents types de passerelles (liste non exhaustive)
Passerelle exclusive (XOR) :
• 1 seul des flux entrant ou sortant possible)
Passerelle inclusive (OR) :
• Si au sein l’intérieur d’un même couloir (lane) => implique parallélisme
(et donc synchronisation)
• Toutes les conditions sont évaluées
Passerelle pour gérer les activités parallèles : pour le
lancement des activités // (fork) ou leur synchronisation
(join).
27
44
Input Output
Exemple 1 : Processus enregistrement 28
44
exemple
Rapide addendum : Cas du dialogue 32
44
On ne s’intéresse pas au
processsus interne du patient
33
44
=
36
Modélisation d’envoi de message : 44
ex em ple
Vérification/Validation de
processus exprimés en BPMN
Simulation !
Principe général de simulation : 38
44
« à la Petri »
Le déclenchement d’un évènement peut se traduire par la
création d’un jeton
Le jeton suit le chemin des flux de message et active les
activités/tâches qu’il rencontre.
Si Tâche :
• Il y reste le temps de la durée de la tâche
• Elle se termine « bien » => le jeton sort
• En cas d’erreur «lève » une erreur attrapée par l’événement
intermédiaire erreur (le jeton suit le chemin partant de cet
événement)
~ exception en Java.
Si Activité composite :
• Le jeton active l’évènement initial du processus interne
BIMP
Ressources :
Correspondant aux participants
Quantification
Coût (horaire)
Activités :
Coût, durée, ressources affectées
Passerelles
Probabilités d’occurrence des valeurs déclenchantes
Processus :
Nb d’instanciation du processus : revient à donner le nombre de
jetons à générer
Fréquence d’arrivée : distribution (loi) des n instances dans le
temps (pour détecter la robustesse des processus en cas de pics
d’activités / goulot d’étranglement).
43
44
Résultats
Scenario :
Accueil ouvert de 9h a 19h chaque jour (10h donc)
~300 clients se présentent par jour (rythme ~ toutes les 2’
donc ~30 par heure, 300 /j)
Définition de durées moyennes ou fixes par tâches
Simulation sur 1 journée …
Exemple simple de simulation avec 44
44
40’’
10’’
15%
150’’
=2’30’’
50%
30’’ 30’’
85%
30’’ 60’’
50%
180’’
80% =3’
60’’
150’’
20%
120’’
=2’
⇒ to the bat browser (bimp)
⇒ To the Bizagi Simulator Donc durée Mini = 40’’ & Maxi = 180’’
Si utilise « esperance » de temps=> 138,6’’
45
Simulation sans hypothèse de ressource 44
Nb jetons
générés
(R essource Analysis)
Hypothèse 1 : 1 employé disponible => risque de goulot d’étranglement
selon flux/fréquence arrivée clients (jetons)
+1
1 employé 3 employés
48
44
Minimum cycle Maximum cycle Average cycle Minimum cycle Maximum cycle Average cycle
time 26.7 min time 14.3 h time 35 min. time 10.1 s time 6.2 min time 3 min.
Average
Average Task name waiting
Task name
waiting time time
Donner jeton caddie 3.7 minutes Donner jeton caddie 0 seconds
Expression Besoin 3.4 minutes Expression Besoin 0 seconds
Identifier produit 3.5 minutes Identifier produit 0 seconds
Rembourser 2.5 minutes Rembourser 0 seconds
Remplacer produit 2.6 minutes Remplacer produit 0 seconds
Vérifier éligibilité Vérifier éligibilité
2.7 minutes 0 seconds
retour/garantie retour/garantie