LE MÉTA-MODÈLE UML-PP (UML FOR PROCESS PATTERNS)

Télécharger le fichier pdf d’un mémoire de fin d’études

FORMALISME DE MODÉLISATION DE PROCÉDÉS

Un modèle de procédé doit être représenté en un certain langage. En fait, les premiers efforts de modélisation de procédés avec des langages informels sont assez anciens, comme par exemples les modèles de cycle de vie proposés dans [Royce70] et [Boehm88]. Mais à partir de la proposition de Osterweil [Osterweil87] sur la représentation explicite des procédés par des langages exécutables, la notion de Langage de Description de Procédés (LDP) a commencé à émerger. Depuis, deux générations de LDP1 ont été développées [Conradi97] [Sutton97][ACuna01].
Un Langage de Description de Procédés est un formalisme de modélisation développé ou adapté pour décrire les procédés. Il définit les concepts dédiés aux procédés, et fournit une syntaxe et un système de notations pour représenter des modèles de procédé en utilisant ces concepts. Dans la suite, nous présentons les propriétés attendues d’un LDP et une classification des LDP existants.

Propriétés d’un Langage de Description de Procédés

Les propriétés attendues d’un LDP sont discutées dans plusieurs études [Armenise93][Ambriola97][Derniame99]. Nous présentons ci-après celles qui nous semblent les plus importantes :
Formalisation : cette propriété reflète le niveau de rigueur de la définition de la syntaxe et de la sémantique d’un LDP. Il y a trois degrés de formalisation (dans l’ordre croissant) : informel, semi-formel et formel. Un langage informel est intuitivement défini, un langage semi-formel dispose d’une syntaxe formellement définie, et un langage formel dispose d’une syntaxe ainsi que d’une sémantique formellement définies. L’intérêt d’un LDP ayant un degré de formalisation élevé est qu’il permet une représentation précise des procédés et donc supporte plus facilement l’analyse et la vérification de modèles.
Expressivité : l’expressivité d’un LDP reflète sa capacité à représenter les procédés. Pour avoir une riche expressivité, un LDP doit fournir tous les concepts nécessaires pour exprimer directement les éléments de procédé et selon différentes perspectives.
Compréhensibilité : il y a deux facteurs qui influencent la compréhensibilité d’un LDP : sa notation et son degré de standardisation. Un LDP peut proposer des notations textuelles ou graphiques pour représenter les concepts qu’il définit. Au niveau de la notation, on aura tendance à privilégier les solutions graphiques dont les qualités sont indéniables ; la standardisation, quant à elle, favorise la compréhensibilité dans la mesure où elle favorise le partage de concepts et de notations communs par une communauté.
Abstraction et Modularité : il est souhaitable qu’un LDP propose des mécanismes d’abstraction et d’agrégation pour permettre de structurer les procédés. Un LDP supportant l’abstraction et la modularité facilite la réutilisation de procédés.
On considère que les LDP développés avant 1996 appartiennent à la première génération et ceux datés après 1996 constituent la deuxième génération.
Exécutabilité : pour être exécutable, un LDP doit permettre de représenter les modèles avec une sémantique opérationnelle.
Évolutivité : c’est la capacité de supporter l’évolution de modèles de procédé. La réflexion est une caractéristique importante d’un LDP pour atteindre l’évolutivité.
Il n’est pas facile pour un LDP de satisfaire tous ces besoins, car il y a souvent des conflits entre eux. Par exemple, il peut être contradictoire d’exiger qu’un LDP soit à la fois compréhensible et exécutable [Kellner91]. Par conséquent, dans la pratique, un LDP ne peut souvent viser qu’un sous-ensemble des propriétés ci-dessus.

Approches de définition de langages de description de procédés

Il y a différentes classifications des approches de définition de LDP, comme par exemple celles basées sur les paradigmes du langage [Armenise93][Ambriola97], sur le degré de formalisation du langage [Huff96][Zamli01] ou sur la finalité du langage [ACuna01].
Dans cet état de l’art, nous choisissons l’aspect formalisation pour catégoriser les approches de définition de LDP. Comme nous l’avons expliqué dans la section I.3.1, le degré de formalisation d’un LDP est mesuré par la rigueur de sa définition.
Les LDP peuvent être classifiés en trois catégories : informels, semi-formels et formels. Langages informels
Un LDP informel est un langage qui n’est pas défini explicitement et formellement. Plus précisément, les LDP informels emploient certaines notations pour représenter les procédés, mais ils ne sont pas définis avec des concepts, une syntaxe et une sémantique qui donnent les règles de construction de modèles de procédé. Par conséquent, les modèles décrits par des LDP informels peuvent être imprécis, ambigus. Ils sont donc difficiles à analyser et non exécutables.
Les notations utilisées peuvent être textuelles (par exemple, langage naturel) ou graphiques (par exemple, les diagrammes de PERT ou de Gantt).
Au début du génie logiciel, les langages informels ont été largement utilisés pour décrire des modèles de cycle de vie, comme par exemple dans [Royce70][Boehm88]. Bien qu’imprécis, les langages informels sont néanmoins expressifs et donc encore employés pour décrire les procédés complexes, comme les modèles de procédé proposés par l’approche CMMI [CMMI02] et la norme ISO 12207 [ISO95].

MÉTHODES DE MODÉLISATION DE PROCÉDÉS

La section précédente nous a permis de synthétiser des travaux sur la représentation de modèles de procédés. Dans cette section nous nous intéressons à la conception de modèles de procédé. Nous étudions donc des travaux qui proposent des méthodes pour élaborer des modèles de procédé.
Du point de vue de l’ingénierie, l’élaboration et l’assistance à l’évolution de modèles1 de procédé logiciel2 est aussi un procédé. Ce procédé est appelé méta-procédé [Finkelstein94][Derniame99]. Dans la suite, nous discutons la définition de la notion de méta-procédé et présentons les travaux existants relatifs aux méta-procédés.

Notion de Méta-procédé

Bien que les définitions de méta-procédé dans [Finkelstein94] et [Derniame99] soient légèrement différentes, fondamentalement, un méta-procédé est un procédé pour élaborer, raffiner, modifier, et contrôler les modèles de procédé.
Activités du méta-procédé
Un méta-procédé est composé de plusieurs méta-activités qui manipulent les modèles de procédé. D’après [Conradi94b], il n’est pas possible d’identifier un méta-procédé universel pour tous les procédés logiciels, car il y a plusieurs façons de construire et de composer les méta-activités. Cependant, il est possible de définir certaines méta-activités de base qui constituent le squelette de tout méta-procédé.
Les méta-activités généralement admises [Finkelstein94][Derniame99] sont les suivantes :
Analyse des besoins de procédé (Process Requirements Analysis) : Cette méta-activité a pour objet de fixer l’objectif de la modélisation et d’analyser les caractéristiques d’un procédé à modéliser.
Conception du procédé (Process Design) : cette méta-activité est effectuée pour créer statiquement le modèle d’un nouveau procédé ou pour modifier le modèle d’un procédé existant. Le modèle résultant de cette activité peut comporter plusieurs sous-modèles selon la méthode de conception.
Implémentation du procédé (Process Implementation) : Cette méta-activité a pour but d’instancier un modèle de procédé et d’exécuter cette instance, autrement dit d’assister le processus correspondant.
Évaluation du procédé (Process Assessment) : cette méta-activité fournit des informations quantitatives et qualitatives concernant la performance d’un procédé. Ces informations peuvent permettre de définir de nouveaux besoins pour améliorer le procédé.
Besoins attendus d’un méta-procédé
En général, une méthode d’élaboration et d’évolution de procédé devra satisfaire les besoins suivants [Avrilionis95][Derniame99]:
Couvrir toutes les étapes de l’élaboration du modèle de procédé ;
Supporter l’évolution statique et dynamique de modèles ;
Prendre en compte la réutilisation de modèles de procédés ;
Faciliter l’apprentissage et l’utilisation du méta-procédé par une description simple et claire ;
Faciliter la réalisation du méta-procédé par une description réalisable et complète.
Pour être complet, un méta-procédé doit guider l’élaboration (statiquement) et l’évolution (dynamiquement) de modèles tout au long de leur vie. Cependant, dans le cadre de cette thèse, nous mettons l’accent sur le support statique du méta-procédé. Le terme «méta-procédé» est donc utilisé dans le sens d’un procédé qui guide la modélisation de procédés.

Méta-procédés existants

Nous précisons d’abord la sémantique de la modélisation de procédés. Si le procédé à modéliser existe, la modélisation comprend la représentation de ce procédé dans un LDP approprié. Si la connaissance de développement n’est pas structurée en tant que procédé, la modélisation comprend la définition d’un procédé et la représentation du procédé défini sous forme de modèle(s).
Dans les deux cas, modéliser un procédé comporte des activités d’élicitation et de transformation de connaissances tacites de procédé en connaissances explicites. Ces activités sont complexes, la nécessité des méthodes pour guider la modélisation de procédés est donc évidente [Madhavji90][Nguyen94]. Cependant, à ce jour, peu d’efforts ont été faits sur ce sujet.
Les guidages méthodologiques concernant les procédés peuvent être classés en deux catégories : les méthodes de modélisation de procédés, et les standards d’évaluation et d’amélioration de procédés [Derniame99].
Méthodes de modélisation de procédés
Ce sont des méta-procédés qui définissent comment élaborer et faire évoluer les modèles de procédé. Ces méthodes proposent un ensemble de méta-activités et une démarche pour guider la modélisation et éventuellement l’exécution de procédés.
Plusieurs ateliers de génie logiciel centrés procédé disposent de leur propre méthode de modélisation et d’exécution de modèles de procédé (par exemple, SPADE[Bandinelli94], EPOS [Conradi94a], PWI [Bruynooghe94]), mais ces méta-procédés sont généralement implicites et codés en dur.
Parmi les travaux les plus significatifs au niveau méthodologique, on peut citer les projets PRISM[Madhavji90], ProcessEngineeringFramework [Kawalek94], Elicit[Turgeon96], la proposition de [Hollenbach96], les approches PERFECT[Birk97] et RHODES[TranDT01].
Les méthodes proposées dans les travaux ci-dessus sont représentées sous forme de méta-procédés qui couvrent les principales étapes de développement de modèles de procédé. PRISM et RHODES favorisent les modèles prescriptifs, tandis que ProcessEngineeringFramework, Elicit et PERFECT se focalisent sur les modèles descriptifs.
Méthodes d’évaluation de la qualité des procédés
Les travaux classés dans cette catégorise fournissent des guidages méthodologiques pour améliorer les procédés par l’évaluation de leur niveau de maturité1. Bien que leur objectif primaire ne soit pas le développement de modèles de procédé, ils préconisent certaines exigences ou activités de l’ingénierie des procédés concernant la définition et la modélisation de procédés.
Le travaux les plus représentatifs de cette catégorise sont la norme IEEE 1047 [IEEE97], les procédés organisationnels de la norme ISO/CEI 15504 (ORG 1-5 [ISO98]), les secteurs clés OPF (Organisational Process Focus), OPD (Organisational Process Definition) concernant la gestion de procédés organisationnels du modèle CMMI [CMMI02].

PROBLÉMATIQUE DE L’INGÉNIERIE POUR LA RÉUTILISATION DE PROCÉDÉS

L’objectif de l’ingénierie pour la réutilisation de procédés est de développer des méthodes supportant la production des connaissances de procédé réutilisables. La problématique de l’ingénierie pour la réutilisation de procédés concerne trois facettes :
l’identification des connaissances candidates à la réutilisation;
leur représentation sous forme d’artéfacts réutilisables ;
leur organisation au sein de systèmes de réutilisation.
Dans la suite, nous analysons ces facettes et identifions leurs valeurs possibles.

Identification des connaissances de procédé

Différents types d’informations réutilisables de procédés sont identifiés et discutés dans plusieurs travaux [Basili91][Arbaoui96][Kellner96][Hollenbach96][Groenewegen96] [Jørgensen00][Neu03]. Ces informations sont considérées comme des connaissances de procédé1.
Nous proposons deux attributs pour caractériser les connaissances de procédé : la nature de la connaissance et la couverture de la connaissance.
Nature d’une connaissance de procédé
Les connaissances de procédé sont des savoirs et des savoir-faire acquis pendant la définition de procédés. Elle englobe des résultats de définition de procédé, et des expériences sur la définition de procédé. Nous distinguons donc deux formes de nature de connaissance de procédé :
Connaissances de procédé de développement : Ces sont des connaissances relatives à la conception et à la production de produits logiciels. Ce type de connaissance est inclus dans les résultats de la définition de procédés c’est-à-dire les procédés logiciels eux-mêmes. De telles connaissances concernent la spécification des éléments de procédé (c.f. I.2), la définition du contenu et de la réalisation de ces éléments (par exemple la décomposition d’un produit, les actions d’une tâche), et des relations entre eux (par exemple l’ordre d’exécution des tâches, les relations d’impact entre produits).
Parmi les travaux les plus connus qui décrivent la connaissance de procédé de développement, on peut citer les modèles de développement comme Spiral [Boehm88], VMethode [SFB501], et Unified Process [Jacobson99], les normes ISO12207[ISO95], PSS-05[Mazz94], le modèle de maturité CMMI [CMMI02].
Connaissances de modélisation de procédés : Ces sont des connaissances relatives à la définition de procédés[Rupprecht00]. Plus concrètement, ce sont des expériences accumulées durant la modélisation de procédés. Elles reflètent les solutions techniques ou méthodologiques pour décrire les procédés. Ces connaissances seront très utiles si elles peuvent être identifiées, formalisées, structurées et mises à la disposition des concepteurs de procédé.
Dans ce type de connaissance, on peut trouver par exemple des méta-procédés (comme PRISM[Madhavji90], PERFECT[Birk97]), des solutions de description de procédés (par exemple les Workflow Patterns [v.d.Aalst03]) ou des solutions d’organisation et de structuration de procédé (par exemple [Harrison96][Malone03][Penker00]).
Couverture d’une connaissance de procédé
La couverture d’une connaissance correspond aux domaines dans lesquels sa réutilisation est possible, voire pertinente. Nous distinguons trois types de couverture de connaissance pour les procédés :
Dépendante d’un projet : Les connaissances ayant cette couverture ne sont réutilisables, telles quelles, que pour un nombre restreint de projets ayant un ensemble commun de caractéristiques, notamment les produits.
En anglais on parle de «process asset» ou «process experience».
Par exemple, la connaissance de procédé pour produire les logiciels impliqués dans l’équipement aéronautique d’Airbus est dépendante d’un projet.
Dépendante d’un domaine : Les connaissances ayant cette couverture sont réutilisables au sein des procédés d’un même domaine, quel que soit leurs produits spécifiques.
Par exemple, la procédure de révision d’artéfacts logiciels peut s’appliquer dans tous les procédés logiciels sur des produits différents ; les démarches de vente d’un produit peuvent être appliquées pour vendre un produit quelconque.
Indépendante du domaine : Les connaissances ayant cette couverture peuvent être réutilisées au sein de n’importe quel procédé, quel que soit son domaine. Ce sont des connaissances de procédé génériques.
Par exemple, une solution pour synchroniser des activités parallèles peut être employée aussi bien pour organiser un procédé logiciel qu’un procédé métier.

Représentation des connaissances de procédé réutilisables

Une fois les connaissances utiles identifiées, il faut trouver un moyen pour les représenter sous une forme réutilisable.
La modélisation de procédés a pour rôle principal d’expliciter les connaissances en développement (c.f. I). Quant aux connaissances relatives à la définition de procédés, elles sont généralement représentées de façon informelle sous forme de conseils ou de guidages (comme dans [Coplien94][Foote95][Malone03]).
Sur la base des besoins attendus d’un formalisme de description de procédés (c.f. I.3.1) et de la caractérisation présentée ci-avant (c.f. II.1.1), nous identifions ci-dessous les attributs importants d’une représentation favorisant la réutilisation de procédés :
Expressivité
Cet attribut caractérise la capacité de représentation de la connaissance de procédé d’un formalisme. Nous distinguons deux niveaux d’expressivité selon que l’on considère :
Les éléments de procédé : un formalisme à ce niveau permet de représenter les éléments de procédé et leurs relations.
Les éléments de procédé réutilisables : un formalisme à ce niveau permet de représenter non seulement les éléments de procédé, mais aussi les éléments réutilisables ainsi que la manière de les réutiliser (appliquer) dans la description de procédés.
Modularité
La représentation modulaire de connaissances rend leur application flexible et sélective. Elle permet la définition de procédés par l’assemblage de fragments de procédé existants. En considérant cet attribut, un formalisme peut avoir l’une des valeurs suivantes :
Absence de mécanisme de modularisation : le formalisme ne supporte pas la modularité.
Existence d’un mécanisme de modularisation : le formalisme supporte la modularité.
Cet attribut a pour but d’indiquer si un formalisme permet de représenter les connaissances de diverses couvertures pour promouvoir la réutilisation de procédés. Les valeurs possibles de cet attribut sont :
Un niveau d’abstraction : le formalisme supporte la représentation de procédés à un seul niveau d’abstraction.
Plusieurs niveaux d’abstraction : le formalisme supporte la représentation de procédés à différents niveaux d’abstraction.
Standardisation de la représentation
La compréhensibilité d’un formalisme dépend du type d’interface et du degré de standardisation de concepts et de notations utilisées (c.f. I.3.1). Dans le cas de connaissances réutilisables, l’aspect standardisation de la représentation est important pour faciliter la communication des connaissances représentées. Les valeurs associées à cet attribut sont ainsi :
Non-standardisée : les concepts et les notations du formalisme sont spécifiques.
Standardisée : le formalisme utilise des concepts et des notations standardisés.
Formalisation
Le degré de formalisation d’un formalisme est important dans le cas des connaissances réutilisables car il conditionne le développement d’outils de réutilisation de procédés. Nous retenons les valeurs classiquement adoptées pour cette formalisation :
Informelle : le formalisme est intuitivement défini.
Semi-formelle : le formalisme dispose d’une syntaxe formelle.
Formelle : le formalisme dispose d’une syntaxe formelle et d’une sémantique formelle.

Organisation des connaissances de procédé réutilisables

Pour faciliter la sélection, l’adaptation et l’application de connaissances réutilisables, une approche de réutilisation devra fournir une solution pour d’un côté, modulariser les connaissances, de l’autre établir les liens entre les modules de connaissance.
Nous proposons donc les deux attributs suivants pour caractériser cette facette :
Type d’encapsulation de modules de connaissance
Cet attribut caractérise le type d’encapsulation des connaissances capturées. Nous distinguons deux types de conteneur de connaissances de procédé réutilisables :
Composant de procédé : un composant de procédé encapsule une connaissance de développement en utilisant le principe de la boîte-noire (black-box). Il fournit donc un fragment de procédé autonome sans montrer son contenu. Aucune connaissance de guidage n’est généralement associée au composant pour expliquer son utilisation. On peut citer certains travaux sur les composants de procédé comme [Avrilionis96][Lindquist97] [Bergner98][TranDT01].
Patron de procédé : un patron de procédé capitalise la connaissance de procédé en utilisant le principe de la boîte-blanche (white-box) pour apporter une guidage méthodologique à la définition de procédé. Il décrit explicitement la connaissance capturée ainsi que la manière de l’appliquer. Les patrons de procédé sont étudiés dans des travaux comme [Buschmann96][Ambler98][Vasconcelos98][Firesmith01].
Structuration des connaissances
Cet attribut caractérise l’organisation d’un ensemble de connaissances réutilisables pour faciliter la sélection des connaissances à réutiliser. Nous distinguons deux approches pour organiser les connaissances :
Bibliothèque de connaissances : les entités réutilisables sont stockées dans une structure indicée qui permet de regrouper les connaissances selon leur sujet. C’est le cas des approches basées sur Experience Factory [Basili94] ou [Henninger98][CMMI02].
Carte de connaissances : les relations entre différentes entités réutilisables sont explicitement définies. Grâce à ces relations, une carte des connaissances peut être établie pour faciliter la navigation dans les connaissances. Parmi les travaux adoptant cette approche, on peut citer [Ambler98][Conte02][Deneckere01][Firesmith01] .

PROBLÉMATIQUE DE L’INGÉNIERIE PAR LA RÉUTILISATION DE PROCÉDÉS

Supposons maintenant que les connaissances réutilisables aient été capturées sous forme d’entités réutilisables. L’objectif de l’ingénierie par la réutilisation de procédés est de développer des méthodes pour réutiliser ces entités dans le but de construire de nouveaux procédés ou d’enrichir des procédés existants. Nous distinguons trois facettes de la problématique de l’ingénierie par la réutilisation de procédés :
opérateurs de manipulation d’entités réutilisables;
guidage méthodologique pour réutiliser systématiquement les entités réutilisables dans l’élaboration des modèles de procédé;
outils support pour faciliter l’application des entités réutilisables de procédé.
Dans la suite, nous proposons des attributs pour chaque facette et identifions leurs valeurs possibles.

Opérateurs de manipulation d’entités réutilisables

Pour faciliter l’élaboration de modèles basés sur des entités réutilisables, une approche par la réutilisation devra fournir des opérateurs permettant la manipulation (plus précisément la recherche, la sélection, l’adaptation et la composition) des entités réutilisables ainsi que du modèle construit. Nous proposons deux attributs pour caractériser cette facette :
Mécanisme de réutilisation
La réutilisation des connaissances contenues dans les entités réutilisables peut être réalisée par plusieurs mécanismes. Nous identifions trois façons de réutiliser des connaissances de procédé : Spécialisation : les connaissances fournies sont adaptées par spécialisation pour le procédé en cours de modélisation.
Paramétrisation : l’entité à réutiliser est associée à un ensemble de paramètres. Lors de la modélisation d’un procédé, la réutilisation des connaissances capturée dans l’entité est réalisée par le choix de valeurs pour les paramètres. On peut dire que c’est une adaptation guidée et contrainte.
Composition : les connaissances fournies sont associées les unes aux autres de façon cohérente afin de former un (fragment de) procédé complet.
Mode de définition
Cet attribut indique comment les opérateurs de manipulation sont intégrés à la représentation et à la manipulation des entités réutilisables. Nous distinguons deux modes de définition d’opérateurs : Définition implicite : les opérateurs sont définis implicitement et séparément du formalisme de description de procédés. Par conséquent, l’application d’entités réutilisables dans les modèles de procédé est implicite.
Définition explicite : les opérateurs sont définis comme des éléments du langage de description de procédés. Par conséquent, on peut les utiliser pour élaborer les modèles de procédé basés sur les entités réutilisables. Autrement dit, leur application est explicite.

Guidage méthodologique

Pour guider les concepteurs dans la réutilisation systématique de connaissances existantes au cours de la modélisation de leurs procédés, un guidage méthodologique est nécessaire. Nous caractérisons cette facette par les attributs suivants :
Type de guidage
Cet attribut reflète la nature du guidage proposé. Nous distinguons deux types de guidage :
Conseils pour la réutilisation d’une entité : le guidage décrit le contexte d’application d’une entité réutilisable et les situations recommandées pour la réutiliser.
Démarche de réutilisation : le guidage propose une véritable démarche pour mettre en oeuvre la réutilisation.
Spécification du guidage
Cet attribut reflète la façon de décrire le guidage proposé. Nous distinguons deux niveaux de spécification de guidage :
Gros grains : le guidage est décrit de manière générale, sans structuration particulière.
Grains fins : le guidage est décrit de manière détaillée, éventuellement implantable.

Outils support

Des outils support peuvent supporter la modélisation de procédés par la réutilisation et ainsi augmenter la cohérence de l’application des entités réutilisables. Nous caractérisons cette facette par deux attributs :
Catégorie
Tous les outils supportant la modélisation offrent un certain nombre de fonctionnalités. Cependant, tous ne prennent pas en charge de façon équivalente la réutilisation d’entités. Deux catégories d’outils peuvent être identifiées avec cet objectif :
Gestion de bibliothèque de composants : ce type d’outil fournit une collection de composants réutilisables. Il gère la persistance des composants et offre des interfaces de recherche qui exploitent, quand elle existe, l’organisation interne des composants. Dans cette approche, la sélection de composants, leur adaptation et leur intégration dans un procédé en cours de modélisation sont à la charge du concepteur.
Environnement de modélisation par la réutilisation : ce type d’outil de modélisation de procédés intègre des fonctions de réutilisation. Il ne fournit pas seulement la gestion d’une collection de composants réutilisables, mais aussi des fonctions pour sélectionner, adapter et appliquer des composants réutilisables à un modèle de procédé.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

CHAPITRE I. ÉTAT DE L’ART
I. MODÉLISATION DE PROCÉDÉS
I.1. Objectifs et apports de la modélisation
I.2. Modèle de procédé
I.3. Formalisme de modélisation de procédés
I.3.1. Propriétés d’un langage de description de procédés
I.3.2. Approches de définition de langages de description de procédés
I.4. Méthodes de modélisation de procédés
I.4.1. Notion de méta-procédé
I.4.2. Méta-procédés existants
I.5. Synthèse
II. RÉUTILISATION DE PROCÉDÉS
II.1. Problématique de l’ingénierie pour la réutilisation de procédés
II.1.1. Identification des connaissances de procédé
II.1.2. Représentation des connaissances de procédé réutilisables
II.1.3. Organisation des connaissances de procédé réutilisables
II.2. Problématique de l’ingénierie par la réutilisation de procédés
II.2.1. Opérateurs de manipulation d’entités réutilisables
II.2.2. Guidage méthodologique
II.2.3. Outils support
II.3. Synthèse
III. PATRONS DE PROCÉDÉ
III.1. Notion de patron de procédé
III.1.1. Définitions existantes
III.1.2. Intérêt des patrons de procédé
III.1.3. Bilan
III.2. Patrons de procédé existants
III.2.1. Le langage de patrons de procédé OOSP
III.2.2. Open Process Framework (OPF)
III.2.3. Le langage de patrons de Bergner
III.2.4. Le Catalogue SIP
III.2.5. WorkFlow Patterns de Van der Aalst
III.2.6. Autres catalogues de patrons de procédé
III.2.7. Bilan
III.3. Formalisation de patrons de procédé
III.3.1. Le framework Living Software Development Process
III.3.2. Process Pattern Description Language (PPDL/PROPEL)
III.3.3. PROMENADE
III.3.4. Software Process Engineering Metamodel (SPEM)
III.3.5. Bilan
III.4. Utilisation de patrons de procédé
III.4.1. Compositional patterns
III.4.2. Mécanismes de réutilisation de modèles de procédé dans PROMENADE
III.4.3. Réutilisation de méthodes de développement en SPEM 2.0
III.4.4. Le méta-procédé de RHODES
III.4.5. Bilan
III.5. Synthèse
IV. CONCLUSION
CHAPITRE II. FORMALISATION DU CONCEPT DE PATRON DE PROCÉDÉ
I. NOTRE APPROCHE
I.1. Notre terminologie en modélisation de procédés
I.2. Concept de patron de procédé
I.2.1. Problème
I.2.2. Solution
I.2.3. Contexte
I.3. Typologie des patrons de procédé
I.4. Applications de patrons de procédé
I.5. Principe de formalisation du concept de patron de procédé
II. LE MÉTA-MODÈLE UML-PP (UML FOR PROCESS PATTERNS)
II.1. Paquetage ProcessStructure
II.1.1. Élément de Procédé
II.1.2. Relations entre éléments de Procédé
II.1.3. Produit
II.1.4. Rôle
II.1.5. Tâche
II.1.6. Modèle de Procédé
II.2. Paquetage ProcessPattern
II.2.1. Patron de Procédé
II.2.2. Problème
II.2.3. Contexte
II.2.4. Solution
II.2.5. Typologie de Patrons de Procédé
II.3. Paquetage PatternRelationship
II.3.1. Relations d’application de Patrons de Procédé
II.3.2. Relations d’organisation de Patrons de Procédé
III. CONCLUSION
CHAPITRE III.MÉTHODE DE MODÉLISATION DE PROCÉDÉS À BASE DE PATRONS RÉUTILISABLES
I. PRINCIPE DE NOTRE APPROCHE
I.1. Besoin d’une méthode de modélisation de procédés à base de patrons
I.2. Terminologie
II. OPÉRATEURS DE RÉUTILISATION
II.1. Définition des opérateurs de réutilisation
II.1.1. Opérateurs de recherche
II.1.2. Opérateurs d’adaptation
II.1.3. Opérateurs d’imitation
II.2. Sémantique operationnelle des opérateurs de réutilisation
II.2.1. Opérateurs de recherche de patrons de procédé
II.2.2. Opérateurs d’imitation de patrons de procédé
II.2.3. Synthèse
III. LE MÉTA-PROCÉDÉ PATPRO
III.1. Description générale du méta-procédé PATPRO
III.2. Les rôles du méta-procédé
III.3. Les méta-tâches du méta-procédé
III.3.1. Analyser les Besoins
III.3.2. Modéliser un Procédé
III.3.3. Simuler un Procédé
III.3.4. Évaluer un Procédé
IV. CONCLUSION
CHAPITRE IV. RÉALISATION DE L’ENVIRONNEMENT PATPRO-MOD
I. PRINCIPE DE L’IMPLÉMENTATION
I.1. Architecture de l’environnement patpro-mod
I.1.1. Gestion des Patrons de Procédé
I.1.2. Modélisation de procédés
I.2. Environnement de développement
II. ÉTUDE DE CAS
II.1. Base de patrons de procédé
II.2. Spécification du procédé VUP
III. GESTION DES PATRONS DE PROCÉDÉ DANS PATPRO-MOD
III.1. Création d’un patron de procédé
III.2. Manipulation d’un patron de procédé
IV. MODÉLISATION DE PROCÉDÉS DANS PATPRO-MOD
IV.1. Modélisation d’un procédé «from scratch»
IV.2. Réutilisation exacte d’un patron de procédé
IV.3. Réutilisation avec adaptation d’un patron de procédé
IV.4. Dépliage d’un modèle basé sur des patrons
V. CONCLUSION
CONCLUSION GÉNÉRALE
BIBLIOGRAPHIE

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *