Les événements BPMN
Des cercles, et les deux choses d'un cercle qui portent tout le sens : l'épaisseur de son bord et ce qui est dessiné dedans. Une fois ces deux idées séparées dans votre tête, tout le catalogue d'événements se réduit à une grille.
8 min de lectureBPMN 2.02 sur 7
La réponse courte
- Un événement BPMN porte deux faits indépendants : son bord dit où il se situe dans le flux, son glyphe dit de quel type il est.
- Bord fin pour un événement de début, double pour un intermédiaire, épais pour un événement de fin. Rien d'autre sur le cercle ne change cela.
- Un glyphe vide capte, un glyphe plein lance. La même enveloppe signifie attendre un message ou en envoyer un, selon le seul remplissage.
- L'événement frontière est la façon dont BPMN modélise l'exception : interruptif à bord plein, il annule l'activité ; non interruptif à bord pointillé, il tourne à côté d'elle.
01L'épaisseur du bord d'abord, le glyphe ensuite#
Chaque événement BPMN répond à deux questions indépendantes, et les lire séparément est toute l'astuce :
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Événement de début | bord simple fin | Là où une instance de processus commence. Rien ne peut y entrer. Un processus peut en avoir plusieurs, et chacun est une entrée distincte. |
| Événement intermédiaire | bord double | Quelque chose qui arrive pendant le processus : soit attendu, soit émis. Se place dans un flux de séquence, ou sur la bordure d'une activité. |
| Événement de fin | bord simple épais | Là où ce chemin s'achève. Rien ne peut en sortir. L'atteindre termine ce jeton, pas nécessairement tout le processus. |
| Glyphe intérieur | enveloppe, horloge, éclair | De quel type de chose il s'agit. Vide signifie "aucun" : non spécifié, et parfaitement respectable sur un modèle descriptive. |
02Les types d'événement qui valent la peine#
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Aucun | cercle vide | Non spécifié. Le bon choix sur un modèle descriptive où "le processus démarre" suffit à tout le monde. |
| Message | enveloppe | Quelque chose est arrivé d'un autre participant, ou lui est envoyé. Toujours associé à un flux de message franchissant une frontière de piscine. |
| Minuterie | horloge | Une date, une durée ou un cycle. En événement de début c'est le calendrier ; sur une bordure c'est une échéance. |
| Erreur | éclair | Un échec nommé. Émis par un événement de fin dans un sous-processus, capté par un événement de bordure posé dessus. C'est le try/catch de BPMN. |
| Signal | triangle | Une diffusion. Contrairement à un message il n'a pas de destinataire précis : tous ceux qui écoutent réagissent. |
| Conditionnel | page lignée | Se déclenche quand une condition sur les données devient vraie, pas à la fin d'une étape. |
| Escalade | flèche vers le haut | Comme une erreur, mais l'activité continue. "Prévenez quelqu'un de plus haut et poursuivez." |
| Terminaison | cercle plein | Événement de fin qui tue tous les jetons de l'instance, pas seulement le sien. Le seul événement de fin qui a des dents. |
Huit sur treize. Compensation, annulation, lien et multiple existent et sont assez rares pour être consultés le jour où on les rencontre.
03Les événements de bordure, ou : tout ce qui va de travers#
Un événement de bordure est un événement intermédiaire dessiné sur le bord d'une activité, et c'est la construction la plus utile de BPMN. Il dit : pendant que cette tâche tourne, cette autre chose peut arriver, et si elle arrive, sortez par ici.
Délais dépassés, annulations, erreurs, un client qui téléphone pour modifier sa commande - tout cela est un événement de bordure, et tout cela demanderait sinon une passerelle et un second chemin que le lecteur doit entrelacer mentalement avec le premier.
| Élément | Notation | Ce que cela signifie |
|---|---|---|
| Interruptif | bord double plein | L'activité est annulée et le jeton sort par la bordure. Un délai, une erreur, une annulation. |
| Non interruptif | bord double en tirets | L'activité continue et un second jeton part sur le chemin de bordure. Une escalade, une demande d'état, une relance. |
04Événements de début et de fin en pratique#
Un processus à plusieurs événements de début a plusieurs entrées réellement distinctes : un sinistre arrivant par courrier, par application et par téléphone. C'est en général plus clair qu'un seul événement de début suivi d'une passerelle demandant comment il est arrivé, car la passerelle laisse entendre que le canal est une décision du processus, alors que c'est un fait qu'on lui remet.
Pour les événements de fin, c'est l'inverse : en avoir plusieurs est en général juste, parce que le nom de l'événement de fin est le résultat. "Sinistre réglé" et "Sinistre refusé" en deux événements de fin en disent plus qu'un seul "Fin" précédé d'une passerelle. Le pilotage du processus comptera exactement ceux-là, donc bien les nommer paie deux fois.
À utiliser quand
- Plusieurs événements de début quand il y a réellement plusieurs déclencheurs
- Plusieurs événements de fin, chacun nommé d'après le résultat qu'il représente
- Un événement de fin de terminaison quand l'échec d'un chemin doit tout arrêter
- Un événement de bordure pour chaque exception que vous savez nommer
Préférer autre chose quand
- Une 'Fin' vide après une passerelle qui a déjà décidé du résultat
- Un événement intermédiaire sans type servant de jalon - prenez une annotation textuelle
- Un événement de début message sans flux de message dessiné vers lui
- Des événements de bordure sur une tâche qui ne peut pas plausiblement être interrompue
05Erreurs courantes#
- Un flux de séquence sortant d'un événement de fin. Rien ne suit un événement de fin. Jamais. Si quelque chose suit, c'était un événement intermédiaire.
- Un événement message sans flux de message. Le glyphe affirme qu'un autre participant existe ; dessinez la piscine et le flux, ou prenez un événement sans type.
- Émission et capture confondues. Le creux attend, le plein envoie. À l'envers, cela inverse le sens de toute la conversation.
- Des minuteries utilisées comme des attentes qui sont en fait des files. "Attendre 2 jours" veut d'ordinaire dire "cela dort dans la boîte de quelqu'un". Modélisez la tâche et posez la minuterie sur sa bordure.
- Un seul événement de fin pour tout. Les résultats disparaissent, et le pilotage avec eux.
Les événements se marient naturellement aux passerelles: une passerelle basée sur événement est précisément une course entre plusieurs événements captants, et c'est la construction qui rend "le premier qui arrive" exprimable.
En une ligne chacun
- 01L'épaisseur du bord dit quand : fin démarre, double arrive pendant, épais termine.
- 02Le glyphe intérieur dit quel type ; vide est une réponse légitime.
- 03Les glyphes creux captent, les pleins émettent.
- 04Un événement de bordure est la façon dont BPMN dit "et si cela tourne mal".
- 05L'interruptif annule l'activité ; le non interruptif tourne à côté d'elle.
- 06Nommez les événements de fin d'après les résultats : ils deviennent votre pilotage.
06Questions fréquentes#
Que signifient les différents bords d'événements BPMN ?
L'épaisseur du bord porte la position dans le flux. Un trait simple et fin est un événement de début, un trait double un événement intermédiaire, et un trait simple épais un événement de fin. Le glyphe intérieur porte le type : bord et glyphe sont donc deux choix indépendants.
Quelle différence entre un événement de lancement et de réception ?
Un événement de réception attend que quelque chose arrive et a un glyphe non rempli. Un événement de lancement le fait arriver et a un glyphe plein. Le même symbole d'enveloppe signifie donc attendre un message quand il est vide, et envoyer un message quand il est plein.
Qu'est-ce qu'un événement frontière en BPMN ?
Un événement intermédiaire accroché au bord d'une activité, qui capte quelque chose survenant pendant son exécution : un délai dépassé, une erreur, un message d'annulation. C'est ainsi que BPMN modélise les exceptions sans diagramme de gestion d'erreurs séparé.
Quelle différence entre événement frontière interruptif et non interruptif ?
Un événement frontière interruptif a un bord plein et annule l'activité à laquelle il est accroché quand il se déclenche. Un non interruptif a un bord pointillé et démarre un chemin parallèle pendant que l'activité continue : c'est ainsi que l'on modélise un avis d'escalade.
Quels sont les types d'événements BPMN les plus courants ?
Message, minuterie, erreur, signal et conditionnel couvrent la plupart des diagrammes réels. Message et minuterie à eux seuls en couvrent la majorité : quelque chose est arrivé, ou assez de temps s'est écoulé.
Dans cette série
À lire aussi
Fondamentaux
Référence de notation
Diagrammes de comportement
Référence de notation
Pratique de la modélisation
Pratique de la modélisation