• Aucun résultat trouvé

Présentation de la notion de patron

CHAPITRE 3 : LE META-MODELE DE METHODES

5. Le Méta-Modèle de processus

5.2. Présentation de la notion de patron

Un modèle de processus est basé sur un ou plusieurs guides méthodologiques qui peuvent être de type directive ou patron. Le concept de patron a été introduit par Christopher Alexander [Alexander 77] qui a utilisé les patrons dans le domaine de l’architecture des bâtiments. Cet architecte a introduit l’idée d’un langage de patron permettant à des personnes non-spécialistes de construire leurs propres bâtiments. Ce langage est formé d’un ensemble de patrons où chacun donne la solution d’un problème particulier rencontré lors de la construction.

C. Alexander définit un patron comme « un problème qui se produit souvent dans notre

environnement et qui décrit alors le cœur de la solution à ce problème, d’une telle façon que l’on peut utiliser cette solution un million de fois, sans toutefois faire la même chose deux fois ».

Plusieurs autres définitions du terme de patron ont été proposées :

! Pour Peter Coad [Coad 92], un patron est une forme entièrement réalisée, originale ou un

modèle accepté ou proposé pour une imitation ; quelque chose qui est vue comme un exemple normatif pouvant être copié, archétypé ou utilisé comme exemple; un patron orienté

objet est une abstraction d’un doublet, un triplet ou autre petit groupe de classes qui peut

être utile encore et encore dans tout développement orienté objet.

! Dans [ACM 96] un patron a pour but de décrire avec succès des solutions à des problèmes

logiciels communs et d’aider les gens à réutiliser des pratiques vraies et résolues.

! Pour C. Rolland [Rolland 98], un patron est plus qu’une description d’un élément du monde

fois inclure une description de cet élément et une description de la démarche qui permet de générer cet élément.

L’idée principale des patrons est alors d’associer une solution générique et réutilisable à un problème récurrent dans un contexte bien identifié.

Les patrons sont un sujet largement abordé par la communauté orientée objet. Ce sont des recueils de solutions qui ont fait leur preuve dans des cas pratiques et qui visent à résoudre des problèmes fréquemment rencontrés dans les projets de développement de logiciels. De nombreux patrons ont été développés pour couvrir les problèmes récurrents de développement. Depuis, l’utilisation des patrons s’est généralisée pour d’autres activités comme la conception système et logicielle [Coplien 95], [Coplien 00], [Gamma 93] et [Vlissides 96], la modélisation des données [Hay 96] et plus récemment, dans l’analyse des systèmes [Fowler 97a]. Tous ces efforts conduisent à réutiliser les meilleurs atouts d’une méthode dans une autre.

• La structure de patron

La structure de patron retenue dans ce travail est présentée à la Figure 21.

Patron Composé Atomique Problème Solution Situation Intention Partie de produit Solution simple Solution complexe Étape 1..* Étape Patron Etape indépendante 1 1 1 1 1 1..* 1 1 1 1 * Appelle 1..* 1..* Guide méthodologique Action 1..*

Figure 21. Structure de patron

Un patron est composé de deux parties le problème et sa solution. La partie problème est composée d’une situation et d’une intention. La situation est définie sur la base d’une ou plusieurs parties de produit, elle exprime une situation typique correspondant à un problème récurrent dans la construction du produit de la méthode. L’intention exprime un but qu’on souhaite atteindre par l’application du patron, la formalisation de cette intention respecte la structure (Verbe + Paramètres) définie ci-dessus. « Résoudre les conflits entre le MCD et MCT » est un exemple d’intention de la

méthode Merise pour laquelle on peut définir un patron permettant de guider le concepteur dans la réalisation de cette intention.

Un patron peut être composé ou atomique. Un patron composé correspond à un problème complexe qui nécessite d’être décomposé et peut être résolu par appel à d’autre patrons. Un patron atomique ne se décompose pas.

La solution d’un patron décrit la route à suivre pour obtenir la ou les parties de produit cible de l’intention à partir de la ou les partie de produit décrivant la situation. La définition de cette solution passe par la décomposition de l’intention du patron en un ensemble d’actions atomiques permettant la transformation du produit.

Comme le montre la Figure 21, un patron atomique possède une solution simple composée d’une ou plusieurs étapes indépendantes. Une étape indépendante est composée d’une ou plusieurs actions atomiques.

Un patron composé possède une solution complexe composée d’étapes qui peuvent être des étapes

indépendantes et des étapes patron. Une étape patron contient une action de délégation permettant

d’invoquer l’application d’un patron composant.

6. Conclusion

Nous avons consacré ce chapitre à la présentation du méta-modèle de méthode servant de base à ce travail. La méthode MIME que nous proposons est une instance de ce méta-modèle ; toute méthode devant être transformé par MIME doit aussi être une instance de ce méta-modèle.

Notre méta-modèle met en avant la notion de processus que la méthode propose par rapport à celle du produit qu’elle permet de construire. Il est essentiellement ciblé sur les notions de directive et de

patron. La richesse de la structure de directive permet de représenter n’importe quel type de

démarche en commençant par la plus simple (une instruction en langage naturel) jusqu’au modèle complexe de processus multi-démarches ayant une structure de graphe.