FAQ BPMN
L'équipe pédagogique met à jour cette page au fur et à mesure des questions pertinentes postées sur le forum par rapport à la pratique de BPMN, qui peuvent profiter à tous et à toutes les activités.
Séance 1
- Quand l'évènement "terminate" est-il utile ?
- Combien doit-il y avoir d'évènements de fin dans un diagramme ?
- Dans quel cas plusieurs flux peuvent-ils être en entrée sur une activité ou un évènement ?
- Une passerelle peut-elle être porteuse d'activité ?
- Comment choisir entre un évènement d'envoi de message et une activité d'envoi de message ?
- Quand je demande une information, dois-je attendre la réponse en retour ?
- Une passerelle peut-elle à la fois servir à réunir et à éclater les flux de séquence ?
- Quelle différence y a t-il entre un évènement de type message et un évènement de type signal ?
- Comment bien distinguer un évènement de type catch et un évènement de type throw ?
- Lors de l'utilisation d'une passerelle exclusive, comment choisir entre une passerelle vide et une passerelle avec une croix ?
1- Quand l'évènement "terminate" est-il utile ?
Réponse : L'évènement de fin de type terminate a pour objectif de mettre fin à tous les flux en cours dans un processus. La S2 présente qu'il est possible d'avoir des flux (chemins) en parallèle. L'évènement terminate est un peu comme un "tueur de flux" (vidéo C1.5 - 4'33). Il n'est donc pas utile dans le cas où les chemins sont exclusifs, c'est à dire qu'il n'y a, à un moment, donné qu'un seul chemin en exécution.

2- Combien doit-il y avoir d'évènements de fin dans un diagramme ?
Réponse : C'est une bonne pratique (voir parfois une nécessité) de modéliser des fins différentes lorsque les évènements de fin ne sont pas les mêmes. Le nombre d'évènements de fin dépend donc du nombre de cas différents qui mettent fin au processus.
3- Dans quel cas plusieurs flux peuvent-ils être en entrée sur une activité ou un évènement ?
Réponse : Nous avons vu dans le cours qu’une passerelle exclusive sert à reconstituer un flux à partir de plusieurs chemins exclusifs. Il existe une autre possibilité qui permet notamment d’alléger le diagramme de certaines passerelles : dans le cas d’une exclusivité des flux (pas de synchronisation), il est possible de connecter les différents flux directement sur une activité (ici en exemple) ou sur un évènement (voir A1.4).

4- Une passerelle peut-elle être porteuse d'activité ?
Réponse : Une passerelle ne réalise pas d'activité. Sa fonction est uniquement de réunir ou de diviser des flux, en fonction d’une condition dans le cas d’une passerelle exclusive par exemple. Ce n’est donc pas son rôle de demander ou calculer une information, de décider ou de contrôler. L'information qu'elle teste doit être connue en amont. Si ce n’est pas le cas, la passerelle doit donc être précédée d’une activité dédiée à cela (par une tâche de demande d’information, de calcul de résultat, de contrôle ou de prise de décision...).

5- Comment choisir entre un évènement d'envoi de message et une activité d'envoi de message ?

Réponse : La réponse à la question se situe dans la nature même de la différence entre une activité et un évènement. Une activité réalise des actions alors que l’évènement non. Un évènement est quelque chose qui se passe. Lors d’un évènement message de type throw (envoi), cela entame une interaction entre l’émetteur et le destinataire. Il ne pourra pas contenir par exemple l’action de rédaction du message, de publipostage, etc… Si c’est ce que vous pensez derrière le terme « d’envoi », il faudra alors utiliser une activité.
6- Quand je demande une information, dois-je attendre la réponse en retour ?
Réponse : Cela parait logique finalement ? Effectivement, la bonne pratique veut que lorsqu’on demande une information, il y a une interaction. Il y a donc une réponse attendue qui peut être immédiate ou différée. Celle-ci doit être modélisée par un évènement message de type catch qui met le processus en attente de cette réponse.

7- Une passerelle peut-elle à la fois servir à réunir et à éclater les flux de séquence ?
Réponse : La norme BPMN n’interdit pas qu’une passerelle soit utilisée à la fois pour une réunion et une division de flux. Cependant, dans la pratique, cela n’est pas préconisé pour deux raisons :
Cela ajoute une possible ambiguïté au diagramme car on ne sait pas si les informations associées à la passerelle sont pour la réunion ou la division.
L’implémentation du processus est plus difficile car la passerelle doit être paramétrée pour deux fonctions distinctes. D’ailleurs, le logiciel Bizagi interdit purement cette pratique.

8- Quelle différence y a t-il entre un évènement de type message et un évènement de type signal ?

Réponse (reprise de jpb59) : Les deux concepts impliquent des interactions entre un émetteur et un ou des destinataires.
1) un message possède UN émetteur et UN destinataire qui appartiennent obligatoirement à des processus différents. C'est une communication UN à UN (ou point à point).
2) un signal possède un ou plusieurs destinataires potentiels qui n'appartiennent pas obligatoirement à des processus différents. C'est une communication qui peut être de type diffusion, c'est à dire que l'émetteur diffuse le message sans connaitre les destinataires intéressés. On appelle cela un broadcast qui est le principe utilisé par exemple pour la radio.
9- Comment bien distinguer un évènement de type catch et un évènement de type throw ?

Réponse : Pour savoir si notre évènement est de type catch ou throw, on doit se mettre à la place du processus. Prenons l'exemple du message : Si je reçois le message, c'est que je "l'attrape" donc "catch". Si j'envoie le message, c'est que je le "lance" donc "throw". Une fois que l'on connait le type d'évènement, il faut utiliser le bon formalisme BPMN pour les distinguer (le pictogramme à l'intérieur du cercle sera différent - voir mémento BPMN).
10- Lors de l'utilisation d'une passerelle exclusive, comment choisir entre une passerelle vide et une passerelle avec une croix ?

Réponse : La passerelle exclusive peut être écrite de deux façons : soit vide à l'intérieur, soit avec une croix. Que vous voyez l'un ou l'autre dans un processus, il s'agit d'une passerelle exclusive. Maintenant, la bonne pratique veut que dans un processus, on s'en tienne au même formalisme pour éviter les confusions.