En fin de compte, le contenu d\'une application basée-processus

4. En fin de compte, le contenu d'une application basée-processus

Voici plus dans le détail tout ce qu'il faut définir lors de la création d'une application basée sur des processus.

Compte-tenu de tout ce qu'il y a à définir, on peut bel et bien parler d'application et de développement applicatif.

4.1. Au niveau des traitements de flux

Il est nécessaire de formaliser trois familles d'éléments :



4.1.1. Les états

Ce sont les positions qu'occupent un item dans son cycle de vie parcouru par le traitement de flux.

Les états sont un moyen de voir les données associées aux items pendant qu'ils sont à une étape particulière dans le traitement de flux. Un ou plusieurs utilisateurs sont responsables de cet item assurant ainsi que chacun puisse rendre compte de ses interventions.

4.1.2. Les transitions

Elles permettent aux utilisateurs de provoquer le passage d'un état à un autre,

  • soit indirectement par la mise à jour de certaines données d'un item, par exemple, la validation d'un test : OK ou KO,

  • soit directement par l'utilisation de boutons d'action présents dans l'interface utilisateur.

Dans les deux cas, la transition permet aussi de renseigner, de compléter ou de modifier certaines données spécifiques pour que l'item ait des données consistantes en arrivant sur son nouvel état.

4.1.3. Les étapes de décision

Ce sont des transitions automatiques et invisibles pour l'utilisateur permettant d'aiguiller l'item vers tel ou tel enchaînement d'état en fonction des données associées à l'item.

Par exemple, la sélection par un utilisateur de la valeur "matériel" dans un champ "Type d'item" déclenche automatiquement une transition "Envoyer à l'équipe Matériels" est exécutée. Lorsque les utilisateurs sélectionnent la valeur "Logiciel" dans ce même champ, une transition "Envoyer vers l'équipe Logiciels" est exécutée.

4.2. Au niveau des items

Le stockage des données est cruciale pour la gestion de processus.

Le module Serena Service Management propose deux types de tables ayant pour différence le fait que :

  • les tables primaires sont gérées au travers de traitements de flux (ils contiennent les données des items),

  • les tables auxilliaires contiennent des données annexes telle qu'une liste de codes et de libellés associés par ex. (il faut aussi les gérer dans la vraie vie).

Voici un exemple de table primaire transposée de mon outil PiloTI dans l'environnement de Serena Service Manager :



4.3. Au niveau des formulaires de saisie

Un formulaire permet de visualiser ou de modifier tout ou partie des données d'un item.

Tout système de traitement de flux devrait faire apparaître dans l'interface utilisateur un formulaire sur chacune des opérations suivantes :

  • initiation d'un processus (ou la soumission d'une occurrence) : l'utilisateur déclenchant le processus doit pouvoir saisir un minimum d'informations qui deviendront les données initiales de l'item

  • transition d'un état à un autre : l'utilisateur doit pouvoir compléter certaines données de l'item lors de cette transition

  • mise à jour de l'item sur un état (sans changement d'état) : l'utilisateur autorisé doit pouvoir compléter ou modifier certaines données liées à l'item

  • visualisation de certaines données de l'item : l'utilisateur autorisé doit pouvoir visualiser tout ou partie des données liées à l'item

Bien sûr, il doit aussi être possible de personnaliser le formulaire pour chacune de ces opérations et pour chacun des états ou transition d'un item.

Voici ce qu'il est possible de réaliser en quelques minutes avec l'environnement Serena sur l'item de service d'affaires :



Bien sûr, cela n'a rien d'idéal et il faut un peu plus de temps pour rendre attractive cette section de formulaire.

4.4. Au niveau des rôles

Les rôles sont des masques de privilèges qui seront ensuite associés à des utilisateurs ou des groupes d'utilisateurs.



En définissant des masques de privilèges cohérents, il est possible de définir des rôles permettant, par exemple :

  • visualiser les items d'un processus

  • déclencher une transition spécifique ou mettre à jour les items dans un état spécifique

  • visualiser ou mettre à jour des données dans certaines sections d'un formulaire

  • attacher des documents aux items

  • créer ou lancer des rapports sur les items

  • envoyer des messages électroniques à partir des items