Elément de modèle géré en workflow

Dans un modèle, seuls certains éléments seront en pratique gérés en Workflow. En effet, tous les éléments d’un modèle ne requièrent pas une gestion de leur cycle de vie.
En général la gestion du cycle de vie d’un élément dans un modèle n’a de pertinence que pour les éléments de haut niveau, typiquement des packages, composants ou autres artefacts. Ces éléments sont en général complexes parce que constitués de nombreuses parties et autres sous-éléments.

Par exemple, un designer ne s’intéressera probablement pas au cycle de vie d’un simple attribut particulier d’une classe. En revanche le cycle de vie du composant contenant cette classe et de nombreuses autres et constituant la base de production d’une librairie bénéficiera probablement d’une gestion de son état : dev en cours, prêt pour les tests, validé etc…

Toutefois, Modelio Workflow n’impose pas de limite « à priori » sur la nature des éléments gérables en Workflow dés lors que ces éléments sont susceptibles d’être stéréotypés c’est-à-dire en pratique qu’il soient des ModelElement . Cette contrainte technique liée aux techniques de modélisation utilisées en interne par Modelio Workflow n’a pas d’impact sur l’expérience utilisateur.

Etat

Lorsqu’un élément est géré en Workflow, il possède à chaque instant un état appelé son état courant .

Les états possibles sont en nombre fini pour un Workflow donné, cette liste d’états possibles constituant la définition même du Workflow.

Le concepteur du Workflow choisit normalement des état significatifs et pertinents pour le cycle de développement et la méthodologie utilisés.

Transition

Une transition représente le changement de l’état courant E d’un élément de modèle géré par le workflow W à un autre état E’ .

On notera que :

  1. l’état E appartient par définition au workflow W

  2. l’état E’ appartient également au workflow W

  3. tous les états possibles du workflow ne sont pas systématiquement accessibles depuis l’état E courant. C’est le principe et l’intérêt la gestion en Workflow.

En résumé, un workflow définit certaines transitions permettant de passer d’un de ses états à un autre de ses états.

Workflow

Le workflow est en pratique le graphe des états et transitions possibles applicables à un élément.

La figure ci-dessous montre un exemple de workflow pour un document soumis à un cycle de revue avant publication:

Diagramme du workflow des exigences.png

Sur ce Workflow on peut suivre l’évolution du document et son cycle de revue. Les rectangles correspondent aux états, les flèches aux transitions possibles.

Ainsi un document peut passer de l’état « Rédaction en cours » à l’état « Prêt pour revue », ce qui sera probablement fait par le rédacteur lorsqu’il considérera que son travail de rédaction est terminé et que le document peut être revu. En revanche ce même rédacteur ne peut pas passer l’état du document directement à « Publiable » car aucune transition n’existe entre « Rédaction en cours » et « Publiable ».

Dans le cadre de l’application de ce workflow, il est vraisemblable qu’un intervenant avec le rôle de relecteur pourra, après relecture du document, choisir de mettre le document dans l’état « A corriger » ou « Publiable » selon le résultat de la relecture.

On voit apparaître ici une notion importante dans l’exploitation d’un workflow, à savoir qu’une transition possible n’est pas forcément réalisable par n’importe quel acteur.

Au niveau du vocabulaire nous distinguerons ces deux situations en parlant de transition possible lorsqu’il s’agit du graphe et de transition autorisée lorsque les droits de l’utilisateur entrent en ligne de compte. On remarquera qu’une transition autorisée est toujours une transition possible mais que la réciproque n’est pas vraie.

Diversité des Workflows

Les méthodes de travail susceptibles de bénéficier de l’exploitation d’un workflow, sont nombreuses et diversifiées, au moins autant que les métiers et les organisations qui les mettent en œuvre. En effet, chaque métier, chaque organisation a ses méthodes de travail, sa méthodologie, ses besoins propres.

Modelio Workflow permet de définir à volonté autant de workflows différents que nécessaires. Ces workflows sont d’abord modélisés par un "concepteur de workflow" puis déployés dans les projets où ils sont nécessaires.

Mise en oeuvre d’un workflow dans un projet

La mise en œuvre d’un workflow dans un projet passe par les phases suivantes:

  1. Identification et obtention du workflow à utiliser

  2. soit un workflow existant sur étagère

  3. soit développement d’un workflow "custom"

  4. Déploiement du workflow dans le(s) projet(s)

  5. Utilisation du workflow déployé dans le projet par les utilisateurs