A Process Engineering Method based on a Process Domain Model and Patterns Charlotte Hug - Agnès Front - Dominique Rieu LIG – SIGMA Université de Grenoble
Introduction Modèles et méta-modèles de processus orientés : Activité Produit Décision Contexte Stratégie
Introduction SPEM OPF Modèles et méta-modèles de processus : Mono-vue Orientés Activité Orientés Produit Orientés Décision Orientés Contexte Orientés Stratégie Nombreux Consensus partiel Trop spécifiques Non adaptables Activité, phase, rôle SPEM 1.1 (OMG, 2005), Open Process Framework (2005), OOSPICE (2002), SMSDM (AS, 2004), ISO/IEC 24744 (ISO, 2007) WorkDefinition Iteration LifeCycle Activity Phase SPEM WorkUnit Workflow Technique Activity Task OPF Produit, état, transition Statecharts (Harel, 1987), Entity process meta-model (Humphrey et al., 1989), State transition (Finkelstein et al., 1990), State Machines (OMG – UML 2.1, 2006) Issue, alternative, argument IBIS (Kunz et al.,1970), Potts & Brun (1988), Potts (1989) DAIDA (Jarke et al., 1992) Situation, intention NATURE (Rolland et al., 1995) Intention, stratégie MAP (Rolland et al., 1999)
Introduction Problèmes rencontrés par un ingénieur des méthodes : l’équipe de développement : utilise eXtreme Programming (orienté activité) a besoin de manipuler des buts et des sous buts Nécessité de construire un nouveau méta-modèle Besoin de modéliser : Buts et sous buts (en utilisant le formalisme KAOS par exemple) Phases composées d’activités exécutées par des acteurs (diagramme de cas d’utilisation) Produits crées pendant les activités (diagramme d’activités) Questions : Comment construire un unique méta-modèle de processus? Comment représenter tous les points de vue dans un méta-modèle unique? Comment adapter le méta-modèle de processus aux besoins de l’organisation?
Introduction Objectif : permettre aux ingénieurs des méthodes de construire des méta-modèles de processus: unifiés, adaptés, multi points de vue. Proposition : une méthode d’ingénierie de processus basée sur: un modèle de domaine des processus, des patrons, Composée de 2 phases : Sélection Raffinement. Modèle de domaine Sélection Méta-modèle de processus « brouillon » Patrons Raffinement Méta-modèle de processus
Phase de Sélection
Niveaux d’abstraction Modèle de domaine Différents points de vue d’un même processus Différents niveaux d’abstraction Stratégie Stratégie Intention Contexte Contexte Situation Décision Argument Alternative Issue Points de vue Produit WorkProduct Rôle Activité Condition WorkUnit Intentionnel Opérationnel Niveaux d’abstraction
Modèle de domaine Associations intra-niveau Liens de concrétisation Niveau d’abstraction « .. »
Phase de sélection En entrée : le modèle de domaine Sélection des concepts grâce à un questionnaire En sortie : le méta-modèle de processus « brouillon »
Phase de sélection Exemple d’un méta-modèle de processus « brouillon » : Intention (Besoin 1) Work Unit (Besoin 2) Role (Besoin 2) Work Product (Besoin 3) Associations et liens de concrétisation
Phase de Sélection Besoins non entièrement satisfaits : Composition d’une Intention (Besoin 1) Composition d’un Work Unit (Besoin 2) Distinguer une phase d’une activité (Besoin 2) La phase de Raffinement va permettre de compléter le méta-modèle de processus « brouillon »
Phase de Raffinement
Phase de Raffinement En entrée : méta-modèle de processus « brouillon » Imitation de patrons Ajout/suppression d’associations En sortie : méta-modèle de processus Start Complement strategy Select a concept to enrich Frequency of use strategy Improvement strategy Adequacy strategy Problem strategy Use the “Create a new pattern” pattern Improvement strategy Use the “Reuse a pattern” pattern Validation strategy Association strategy Add or delete association/ aggregation/ composition Validation strategy Complete meta-model Completion strategy Stop
Patrons Les patrons sont utilisés pour enrichir le méta-modèle de processus « brouillon » Les patrons peuvent être : Patrons de conception Composite (Gamma et al., 1995) Concept – Catégorie de Concept (Hug et al., 2007) Patrons métier = fragments de méta-modèles de processus MAP (Rolland et al., 1999) NATURE (Rolland et al., 1995) State-Transition (Finkelstein et al., 1990)
Phase de Raffinement Le méta-modèle de processus final Patron “Concept –Catégorie de Concept ” (Besoin 2) Ajout de composition (Besoins 1 et 2)
Instanciation
Besoin 3: Activité/Produit Besoin 2: Phase/Activité/Rôle Instanciation Extrait d’un modèle de processus comprenant le modèle de XP avec le niveau intentionnel, représenté comme un diagramme objet Phase Role Intention/goal Activity Besoin 1: but/sous-but Sub-Intention/subgoal Work product Besoin 3: Activité/Produit Besoin 2: Phase/Activité/Rôle
Instanciation Extrait du modèle de processus de niveau intentionnel avec le formalisme KAOS (Cediti, 2003) Determine the requirements Intention/goal A brief description of what the customer wants A specification of what the customer wants Sub-Intention/subgoal …
Instanciation Extrait du modèle de processus de niveau opérationnel représenté comme un diagramme d’activité avec le formalisme de SPEM (OMG, 2007) Work product Activity
Instanciation Extrait du modèle de processus de niveau opérationnel représenté comme un diagramme de cas d’utilisation avec le formalisme de SPEM (OMG, 2007) Phase Role Activity
Conclusion et perspectives
Conclusion Une méthode d’ingénierie de processus Basée sur un modèle de domaine des processus, Représentée par un système de patrons Patrons processus pour les phases de la méthode, Patrons métier pour chaque fragment de méta-modèle de processus, Patrons de conception Système de patrons instrumenté sous AGAP pour permettre un guide méthodologique pour le déroulement de la méthode. Permet la construction de méta-modèles de processus pour l’ingénierie des systèmes d’information: unifiés, adaptés, multi points de vue.
Perspectives Valider les méta-modèles de processus obtenus Trouver des patrons de méta-modélisation pour les processus d’ingénierie des systèmes d’information Implémenter un outil pour les processus d’ingénierie de systèmes d’information basé sur : notre méthode d’ingénierie de processus, en utilisant: des workflows AGAP.
Des questions?