25 octobre 2023

BPMN le retour : le mode avancé de la modélisation

Sur la route de la modélisation de processus, nous avions commencé en abordant les bases de BPMN. Maintenant, notre agence de la région Lilloise est de retour afin de former les fines lames de la modélisation ! Des éléments indispensables tels que les tâches, les sous-processus ou encore les piscines seront abordés pour permettre à tout un chacun de s’approprier la majorité des processus.

LES TÂCHES

On ouvre le bal avec l’élément tâche qui vient enrichir ce que l’on connaissait déjà des activités. Pour définir au mieux ce composant BPMN, il conviendra de le définir comme une unité élémentaire ou atomique de notre flux de séquence. C’est-à-dire que ce type d’activité ne peut pas être décomposé. La réalisation de la tâche peut être confiée à 3 types d’acteurs différents :

Personne / Machine / Application

La spécification d’une tâche va se modéliser de la manière suivante :

Tâches de type catch et throw

Tâches de type catch et throw © Goweb

Pour spécifier des tâches, il suffit de modifier le pictogramme présent en haut à gauche de notre item. On peut par exemple pour une tâche précisée si elle est :

  • Utilisateur : réalisation par un acteur humain via une application informatique
  • Manuelle : réalisation par un acteur humain sans aucune application
  • Service : réalisé de manière automatique sans intervention humaine
  • Script : réalisé de manière automatique et conçu spécifiquement pour la gestion du processus

LES SOUS-PROCESSUS

Contrairement à une tâche, le sous-processus est une activité composée par une séquence d’activités.

Version réduite et étendue d’un sous-processus

Version réduite et étendue d’un sous-processus ©Goweb

Point syntaxe, le sous-processus :

  • Est désigné par le substantif d’un verbe
    « Préparer point client » devient « Préparation point client »

  • Est connecté avec les flux de séquence par sa frontière

  • Possède un événement de début et un événement de fin
Sous-processus intégré dans un flux de séquence

Sous-processus intégré dans un flux de séquence ©Goweb

On peut se demander quels sont les avantages d’utiliser cet élément dans notre modélisation plutôt qu’une série d’activités. La question est vite répondue :

  • Simplification du processus avec une meilleure visualisation
  • Modélisation avec une approche top-down (affinement progressif du niveau de détail)
  • Modélisation d'une séquence d’activités impactée par le même événement

On peut et on va même aller plus loin dans l’utilisation des sous-processus ! En abordant différentes formes dites parallèles, appelées, ad-hoc et événementielles :

On commence doucement avec les sous-processus appelés qui ont la particularité d’être réutilisables et hors du processus principal. On va pouvoir décrire un processus indépendamment et l’utiliser dans les différents flux de séquence.

Modélisation d’un sous-processus à utilisation unique et réutilisable

Modélisation d’un sous-processus à utilisation unique et réutilisable ©Goweb

À présent, on va vous présenter les exceptions du modèle BPMN, car les sous-processus parallèles et ad-hoc ne possèdent ni événement de début ni événement de fin.

Modélisation d’un sous-processus parallèle

Modélisation d’un sous-processus parallèle ©Goweb

C’est un ensemble d’activités généralement déconnectées les unes des autres. On se demanderait presque comment ça fonctionne ?
C’est en réalité assez simple, les activités vont démarrer en parallèle, elles peuvent s’exécuter dans n’importe quel sens et pour que le processus se termine, il va falloir attendre que toutes les activités soient achevées.
À noter qu’il n’y a pas de marqueurs spécifiques pour ce sous-processus et que les activités ne se sont pas reliées par un flux de séquence, ce qui le rend reconnaissable.

Une autre exception du modèle BPMN va être le sous-processus ad-hoc.

Modélisation d’un sous-processus ad-hoc ©Goweb

Modélisation d’un sous-processus ad-hoc ©Goweb

Comme pour le sous-processus parallèle, les activités sont exécutées en simultané et dans n’importe quel ordre. Cependant, toutes les activités n’ont pas besoin d’être achevées pour mettre fin au processus. C’est à l’acteur exécutant le sous-processus de prendre la décision. Cette structure informelle permet de garder en flexibilité dans la décision ou l’exécution d’une part, et d’autre part elle a pour désavantage de rendre compliquée l’automatisation.
On termine cette partie avec le sous-processus événementiel, la pépite de la modélisation !

Modélisation d’un sous-processus événementiel interruptif

Modélisation d’un sous-processus événementiel interruptif ©Goweb

Ce sous-processus a la particularité de ne pas faire partie de la séquence normale du processus parent. Cela implique qu’il n’y a ni de flux entrant ni de flux sortant. Pour le déclencher, il va donc être instancié par un événement donné comme un message ou un timer. Il ne peut y avoir qu’un élément déclencheur qui sera spécifié par son pictogramme en haut à gauche de l’élément.
Ce sous-processus peut être interruptif ou non interruptif et il peut se déclencher une fois, plusieurs fois ou même aucune fois.

Sous-processus événementiel interruptif et non interruptif

Sous-processus événementiel interruptif et non interruptif ©Goweb

LES BOUCLES et MULTI-INSTANCES

 

Dans cette partie, on va trouver deux types d’activités :

Les boucles

Ce sont des activités qui permettent de spécifier la répétition sur la base d’une condition.
L’activité se répète tant que la condition est vraie, lorsque la condition devient fausse alors on continue sur le flux de séquence.
Afin d’éviter une boucle infinie, il est d’usage de préciser le plafond d’itération en commentaire. 

Modélisation d’une activité de type boucle

Modélisation d’une activité de type boucle ©Goweb

Les multi-instances :

Ce type d’activité permet de définir un nombre d’exécution de l’instance et elle peut être en parallèle ou en séquence. Lorsque le nombre d’instances définies est exécuté, le flux de séquence peut continuer. Il est d’usage de préciser en commentaire le nombre d’instances à exécuter.

Activités multi-instance en séquence et parallèle

Activités multi-instance en séquence et parallèle ©Goweb

LES PISCINES ET COULOIRS

 

Pour représenter les participants à une collaboration sur un projet, on utilise des piscines. Elles peuvent être de différentes natures comme une entité ou tout simplement un rôle. Les piscines sont des conteneurs à processus lorsqu’on connaît le processus du participant sinon on l’appelle boîte noire.

Modélisation de piscines (conteneur de processus/boîte noire)

Modélisation de piscines (conteneur de processus/boîte noire) ©Goweb

Une piscine peut être composée de ce que l’on va nommer couloirs. Ils vont permettre d’organiser les activités au sein d’une piscine et ils servent à représenter des sous-entités ou encore des rôles spécifiques.

Modélisation de couloirs

Modélisation de couloirs ©Goweb

Pour connaître la meilleure manière de modéliser les piscines en BPMN, il faut que l’on s’arrête sur les flux de message.
Ils permettent de communiquer entre deux piscines, car dans notre modélisation, un flux de séquence doit rester dans sa piscine. On va donc utiliser les flux de message pour mettre en relation deux piscines comme ici :

Modélisation de flux de message entre deux piscines

Modélisation de flux de message entre deux piscines ©Goweb

Équipé pour le grand bain !

Ça y est, maintenant la modélisation avec BPMN a dévoilé la quasi-totalité de ses secrets. Il ne reste plus qu’à mettre en pratique en respectant les règles d’usage des différents éléments pour modéliser des processus en adéquation avec les besoins du projet.
BPMN reste une base vivante qui continue d’évoluer et des éléments beaucoup plus spécifiques peuvent être utilisés pour certains cas.

Envie de mettre en place cette modélisation pour vos processus, contactez-nous !