• Aucun résultat trouvé

Patrons de conception et identification automatique

N/A
N/A
Protected

Academic year: 2022

Partager "Patrons de conception et identification automatique"

Copied!
3
0
0

Texte intégral

(1)

Patrons de conception et identification automatique

Responsables

Yann-Ga¨el Gu´eh´eneuc, local 2345, poste 6782,guehene@iro.umontreal.ca Naouel Moha, local 2355, poste 1805, mohanaou@iro.umontreal.ca

1 B´ en´ efices attendus

En choisissant ce projet, les ´etudiants approfondiront leur connaissance de la programmation orient´ee-objets et du langage de programmation Java.

Ils approfondiront ´egalement leur connaissance des patrons de conception, des techniques de r´etro-conception des programmes et de programmation par contraintes. De plus, ils apprendront `a utiliser l’environnementEclipse.

Ces connaissances apporteront aux ´etudiants un avantage ind´eniable sur le march´e du travail ou dans la poursuite de leurs ´etudes : les pa- trons de conception sont un sujet important dans la recherche et un gage de d´eveloppements de qualit´e dans l’industrie. De plus, Eclipse est deve- nue la plate-forme de d´eveloppement de r´ef´erence dans l’industrie (IBM WebSphere) et dans les milieux universitaires. La r´etro-conception est omni-pr´esente dans tout projet logiciel moderne et la programmation par contraintes est une technique tr`es r´epandue dans de nombreux domaines (aide `a la d´ecision, g´enie logiciel, finance. . .)

Du point de vue des responsables du projet, le travail r´ealis´e permettra de r´epondre rigoureusement `a la question des caract´eristiques de qualit´e des solutions des patrons de conception, de leur identification automatique et de leur impact sur la qualit´e des programmes `a objets.

1

(2)

2 Contexte

La qualit´e est un facteur essentiel de la p´erennit´e des programmes. Des programmes avec de bonnes caract´eristiques de qualit´e coˆutent moins cher car ils prennent moins de temps `a d´evelopper et sont plus faciles `a maintenir.

La maintenance repr´esentant maintenant 90% du coˆut des programmes, la qualit´e des programmes a un impact direct sur leur coˆut !

La qualit´e des programmes se mesure `a l’aide de m´etriques directes, telles la complexit´e cyclomatique, et de mod`eles pr´edictifs de qualit´e qui permettent d’interpr´eter les r´esultats des m´etriques directes pour donner une mesure indirecte de la qualit´e des programmes : stabilit´e, maintenabilit´e, extensibilit´e...

Depuis plusieurs ann´ee, la qualit´e des programmes a ´et´e grandement am´eliorer par l’introduction des patrons de conception [2]. Les patrons de conception d´ecrivent de bonnes solutions `a des probl`emes r´ecurrents de conception des programmes `a objets. Les solutions propos´ees par les pa- trons de conception sont reconnues comme ayant de bonne caract´eristiques de qualit´e.

3 Constat

Pourtant, `a ce jour et `a notre connaissance, aucune ´etude n’a pu prou- ver positivement l’impact des patrons de conception sur la qualit´e des pro- grammes `a objets. Au contraire, plusieurs ´etudes (par exemple [3]) ont montr´e qu’une utilisation abusive des patrons de conception d´egradait la maintenabilit´e des programmes.

De plus, il est reconnu que l’utilisation de patrons de conception d´egrade les m´etriques orient´ees-objets traditionnelles (par exemple Chidamber et Kemerer [1]) et qu’aucun mod`ele pr´edictif de qualit´e ne rend compte de la pr´esence des patrons de conception d’une mani`ere positive.

C’est pourquoi il est aujourd’hui important de caract´eriser clairement l’impact des patrons de conception sur la qualit´e des programmes `a objets.

4 Travail demand´ e

D’abord, le travail consiste `a analyser (possiblement un sous ensemble) des programmes Java :

– Gantt Project v1.10.2 (cf.ganttproject.sourceforge.net/) ; – HolubSQL v1.0 (cf. www.holub.com/software/holubSQL/) ;

2

(3)

– JSettlers v1.0.5 (cf. sourceforge.net/projects/jsettlers) ; – JTans v1.0 (cf.jtans.sourceforge.net/) ;

– Juzzle v0.5 (cf.www.juzzle.com/) ;

– Risk v1.0.7.5 (cf. sourceforge.net/projects/jrisk) ;

et d’identifier manuellement (par analyse manuelle, au travers de la docu- mentation. . .) les patrons de conception utilis´es pour la conception et l’im- plantation de ces programmes.

Ensuite, apr`es avoir identifi´e les patrons de conception utilis´es, le travail consiste `a comparer les patrons de conception identifi´es manuellement avec ceux identifi´es automatiquement par l’outil Ptidej (cf. www.ptidej.net) puis d’expliquer les raisons pour lesquelles certains patrons sont identifi´es automatiquement l`a o`u il n’y en a pas et pour lesquelles certains patrons ne sont pas identifi´es automatiquement.

Enfin, il s’agit de proposer des solutions pour am´eliorer les syst`emes de contraintes de Ptidej pour am´eliorer les m´ecanismes d’identification automatique.

5 Environnement de travail

Le travail sera effectu´e par autant de groupes possible d’au plus quatre

´etudiants, en Java, avec l’environnement de d´eveloppement pour Java fourni avec la plate-formeEclipse.

R´ ef´ erences

[1] Shyam R. Chidamber and Chris F. Kemerer. A metrics suite for object- oriented design. Technical report E53-315, MIT Sloan School of Man- agement, December 1993.

[2] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides.

Design Patterns – Elements of Reusable Object-Oriented Software.

Addison-Wesley, 1st edition, 1994. isbn: 0-201-63361-2.

[3] Peter Wendorff. Assessment of design patterns during software reengi- neering: Lessons learned from a large commercial project. In Pedro Sousa and J¨urgen Ebert, editors,proceedings of5th Conference on Soft- ware Maintenance and Reengineering, pages 77–84. IEEE Computer Society Press, March 2001.

3

Références

Documents relatifs

En outre, dans un contexte d’industrialisation de la conception de scénarios, cette méthode permet d’identifier des regroupements transversaux à plusieurs modèles de

particulièrement des serveurs, dans un système distribué peut souvent être améliorée en traitant les requêtes de service de façon asynchrone. Lorsque le traitement asynchrone

 Au mois de juin, après avoir de nouveau rencontré le professeur, celui-ci nous a fourni de nouveau noms de projet et nous nous sommes lancé dans leur analyse (JSettler, JHotDraw

• Après notre rencontre à la mi-juillet avec le professeur, nous avions déjà produit des résultats de qualité, mais le nombre des patrons découverts restait mince, nous avons

Le projet consiste à se familiariser avec les patrons de conception ainsi que la plateforme de travail Eclipse, trouver une méthode de recherche efficace qui permettra

Ce qui fait de l'Observateur un patron de conception est qu'il abstrait les architectures statiques et dynamiques d'une solution donnée pour résoudre un problème particulier dans

Grâce à cette méthodologie, les étudiants sont guidés dans la structuration de leur code, et l’IHM est séparée efficacement du noyau fonc- tionnel, montrant ainsi aux

Pour améliorer la capacité des équipes pédagogiques à pouvoir spécifier, et même implémenter, des scénarios pédagogiques, dans une approche basée sur les