Gestion des patrons de conception

1 546 vues

Publié le

Diaporama sur les outils de gestion des patrons de conception

More info : http://www.lucas-nelaupe.fr/

Publié dans : Technologie
0 commentaire
1 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
1 546
Sur SlideShare
0
Issues des intégrations
0
Intégrations
720
Actions
Partages
0
Téléchargements
21
Commentaires
0
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Gestion des patrons de conception

  1. 1. Les environnements de gestion automatises des patrons de conception Etude du systeme PTIDEJ FERRAND Anthony NELAUPE Lucas TRAN Quang Dung VERDIER Frederic Universite Montpellier II 17 septembre 2014 1/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 1 /
  2. 2. Introduction Sommaire 1 Introduction Problematique 2 Etat de l'art Mesure de la qualite d'un patron Patrons de conception et les outils pour leur tracabilite 3 Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Mesure de la qualite d'un programme Detection d'un patron de conception 4 Notre contribution a PTIDEJ Le patron Bridge Creation du probleme et des entites Contrainte de nature d'une entite Contraintes de relation entre entites 5 Conclusion Critiques Nos perspectives 2/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 2 /
  3. 3. Introduction Introduction Patron de conception : Design patterns are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context. [Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (Gang of Four ), Design Patterns : Elements of Reusable Object-Oriented Softwares, 1994] Bref historique Invention de la notion de patrons de conception dans le domaine de l'Architecture [Christopher Alexander, Sara Ishikawa, Murray Silverstein, A Pattern Language : Towns, Buildings, Construction, 1977] Premier papier de recherche a propos de l'utilisation de patrons de conception en langage oriente objets [Kent Beck, Ward Cunningham, Using Pattern Languages for Object-Oriented Programs, 1987] 3/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 3 /
  4. 4. Introduction Problematique Figure: Diagramme UML d'un programme 4/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 4 /
  5. 5. Introduction Problematique Figure: Diagramme UML d'un programme incluant le pattern State 5/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 5 /
  6. 6. Introduction Problematique Notre problematique Chercher des solutions existantes pour gerer les patrons de conceptions. Detection des patrons de conceptions dans un programme. Generation de code squelette des patrons de conceptions. 6/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 6 /
  7. 7. Introduction Problematique Solutions logicielles existantes Rational Software Architect[RSA] (IBM) et Modelio (Modeliosoft) Genere le code et les diagrammes de classes UML issus de patrons de conceptions. Le logiciel PTIDEJ Solution ecace pour la detection des patrons de conceptions dans un programme. Mis a notre disposition. 7/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 7 /
  8. 8. Introduction Problematique Sommaire 1 Introduction Problematique 2 Etat de l'art Mesure de la qualite d'un patron Patrons de conception et les outils pour leur tracabilite 3 Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Mesure de la qualite d'un programme Detection d'un patron de conception 4 Notre contribution a PTIDEJ Le patron Bridge Creation du probleme et des entites Contrainte de nature d'une entite Contraintes de relation entre entites 5 Conclusion Critiques Nos perspectives 8/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 8 /
  9. 9. Etat de l'art Sommaire 1 Introduction Problematique 2 Etat de l'art Mesure de la qualite d'un patron Patrons de conception et les outils pour leur tracabilite 3 Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Mesure de la qualite d'un programme Detection d'un patron de conception 4 Notre contribution a PTIDEJ Le patron Bridge Creation du probleme et des entites Contrainte de nature d'une entite Contraintes de relation entre entites 5 Conclusion Critiques Nos perspectives 9/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 9 /
  10. 10. Etat de l'art Mesure de la qualite d'un patron Mesure de la qualite d'un patrons De
  11. 11. nitions : Qualite d'un programme : Appreciation globale d'un programme. Critere de qualite : Caracteristique liee a la qualite que l'on peut donner a un programme. Enjeux : Conna^tre les impacts de l'utilisation d'un patron permet de de
  12. 12. nir une strategie de developpement. Anticiper les limitations d'un programme lors de sa conception. 10/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 10
  13. 13. Etat de l'art Mesure de la qualite d'un patron Exemples de criteres de qualite Conception Extensibilite Simplicite (Comprendre le patron implemente) Reutilisabilite (Possibilite de l'inclure dans un autre patron) Implementation Comprendre le code source Modularite (fonctions independantes) Execution Fonctions d'executions independantes Portabilite (utilisable sur plusieurs con
  14. 14. gurations de machines) Robustesse 11/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 11
  15. 15. Etat de l'art Mesure de la qualite d'un patron Mesure de la qualite d'un patron Plusieurs approches possibles Par sondage des developpeurs (qualitative) [Foutse Khomh, Patterns and quality of Object-oriented Software Systems, 2010] Utilisant des metriques (quantitative) [Carl G. Davis, Jagdish Bansiya - A Hierarchical Model for Object-Oriented Design Quality Assessment, 2002] 12/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 12
  16. 16. Etat de l'art Mesure de la qualite d'un patron Mesure de la qualite d'un patron : Methode par sondage Figure: Extrait du sondage envoye aux inscrit sur la liste de diusion du Gang of Four [Foutse Khomh, Patterns and quality of Object-oriented Software Systems, 2010] 13/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 13
  17. 17. Etat de l'art Mesure de la qualite d'un patron Extrait du resultat du sondage precedent avec la comparaison de trois patrons Impact negatif Personnes ayant repondu l'inverse Estimation de l'impact de ces trois patrons de conception sur des attributs de qualite [Foutse Khomh, Patterns and quality of Object-oriented Software Systems, 2010] 14/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 14
  18. 18. Etat de l'art Mesure de la qualite d'un patron Etude du resultat du sondage avec Abstract Factory Figure: Extrait du tableau de resultat du sondage et diagramme UML de A. Factory 15/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 15
  19. 19. Etat de l'art Mesure de la qualite d'un patron Etude du resultat du sondage avec Poids-mouche Figure: Extrait du tableau de resultat du sondage et diagramme UML de Poids-mouche 16/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 16
  20. 20. Etat de l'art Mesure de la qualite d'un patron Autre approche : utiliser des metriques Figure: Calculs permettant l'evaluation
  21. 21. nale de la qualite d'un programme en fonction des criteres de qualite. [Carl G. Davis, Jagdish Bansiya - A Hierarchical Model for Object-Oriented Design Quality Assessment, 2002] 17/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 17
  22. 22. Etat de l'art Patrons de conception et les outils pour leur tracabilite Patrons de conception et les outils pour leur tracabilite Tracabilite d'un patron de conception : Possibilite d'identi
  23. 23. er dans un programme les elements correspondant a des patrons de conception, et de generer du code a partir de motifs de conception. Enjeux : Aider un mainteneur a comprendre un programme. 18/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 18
  24. 24. Etat de l'art Patrons de conception et les outils pour leur tracabilite Dicultes a surmonter Les dicultes ne concernent que la detection des patrons de conception dans un programme. La generation de code n'est pas un probleme. Il existe une in
  25. 25. nite d'implementations possibles pour un patron de conception. Certains programmes implementent des variantes plus ou moins eloignees du schema original. Diagramme de classes de Composite (a gauche) et d'une variantes (a droite). 19/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 19
  26. 26. Etat de l'art Patrons de conception et les outils pour leur tracabilite Techniques existantes Nous avons trouve 19 techniques permettant l'identi
  27. 27. cation de patrons de conception produites entre 1998 et 2009. Par identi
  28. 28. cation de restrictions [Marcel Birkner, Objected-oriented design pattern detection using static and dynamic analysis in java software, 2007] Utilisant des matrices de similitudes [Jakubk Jaroslav, Extension for Design Pattern Identi
  29. 29. cation Using Similarity Scoring Algorithm, 2009] ... 20/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 20
  30. 30. Etat de l'art Patrons de conception et les outils pour leur tracabilite Liste des techniques produites avant 2007 [Jing Dong, Yajing Zhao, Tu Peng, Architecture and Design Pattern Discovery Techniques - A Review] 21/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 21
  31. 31. Etat de l'art Patrons de conception et les outils pour leur tracabilite Approche utilisant des matrices de similitudes Solution decrite dans [N. Tsantalis, A. Chatzigeorgiou, G. Stephanides, S. Halkidis, Design Pattern Detection Using Similarity Scoring, IEEE transaction on software engineering, Vol. 32, 2006] et etendue dans [Jakubk Jaroslav, Extension for Design Pattern Identi
  32. 32. cation Using Similarity Scoring Algorithm, 2009]. Solution : Relever des caracteristiques d'architecture et d'execution du programme par classe et les enregistrer dans des matrices, une pour chaque caracteristique. Pour chaque caracteristique, comparer la matrice obtenue par analyse du programme avec celle correspondant au patron de conception souhaite donnant une matrice de similitude. 22/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 22
  33. 33. Etat de l'art Patrons de conception et les outils pour leur tracabilite Extension de l'approche utilisant des matrices de similitudes Extension : Raner la detection par : l'utilisation de poids pour donner de l'importance a certaines caracteristiques analysees dans un programme. analyse lexicographique du code (veri
  34. 34. cation du sens d'un nom de classe...) Point fort : detecte les variantes de patrons de conception car la detection est axee plus sur le r^ole des composants du programme plut^ot que l'architecture du code. Faiblesses : complexite et consommation memoire elevees Utilisation X matrices MxN (ou X est le nombre de fonctionnalites, M le nombre de classes du programme et N le nombre de classes du patron). Analyse des similitudes combinatoire : il faut veri
  35. 35. er la similitude de chaque combinaison de classes possibles dans le programme. 23/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 23
  36. 36. Etat de l'art Patrons de conception et les outils pour leur tracabilite Approche utilisant la programmation par contraintes avec explications Solution decrite dans la these [Yann-Gael Gueheneuc, Un cadre pour la tracabilite des motifs de conception, 2003]. Solution Modelisation d'un patron par un ensemble de contraintes. Utilisation d'un solveur de contraintes sur le programme. L'ensemble des solutions correspond a des occurrences de patrons dans le programme. Points forts : Temps d'execution plus faible et detection de variantes proches. Point faible : La detection de variantes trop eloignees necessite de creer un nouvel ensemble de contraintes. 24/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 24
  37. 37. Focus sur le logiciel PTIDEJ Sommaire 1 Introduction Problematique 2 Etat de l'art Mesure de la qualite d'un patron Patrons de conception et les outils pour leur tracabilite 3 Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Mesure de la qualite d'un programme Detection d'un patron de conception 4 Notre contribution a PTIDEJ Le patron Bridge Creation du probleme et des entites Contrainte de nature d'une entite Contraintes de relation entre entites 5 Conclusion Critiques Nos perspectives 25/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 25
  38. 38. Focus sur le logiciel PTIDEJ Focus sur le logiciel PTIDEJ Logiciel developpe par Yann-Gael Gueheneuc dans sa these [Un cadre pour la tracabilite des motifs de conception, 2003]. Le systeme permet de : Modeliser un programme sous forme d'un diagramme de classes UML. Evaluer la qualite d'un programme. Detecter les implementations de patrons de conception dans un programme. 26/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 26
  39. 39. Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Modelisation d'un programme par PTIDEJ Figure: Resultat de la modelisation d'une implementation jouet du patron Bridge par PTIDEJ. 27/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 27
  40. 40. Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ PADL : meta-modele pour decrire un programme Diagramme de classes UML simpli
  41. 41. e de PADL [Yann-Gael Gueheneuc, Un cadre pour la tracabilite des motifs de conception, 2003] 28/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 28
  42. 42. Focus sur le logiciel PTIDEJ Mesure de la qualite d'un programme Mesure de la qualite d'un programme PTIDEJ utilise les metriques decrites dans l'Etat de l'Art pour evaluer la qualite d'un programme. Figure: Diagramme UML de l'implementation de Abstract Factory que nous avons evalue. 29/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 29
  43. 43. Focus sur le logiciel PTIDEJ Mesure de la qualite d'un programme Resultats de l'evaluation de la qualite d'Abstract Factory Entite n Metrique Ecacite Extensibilite Flexibilite Fonctionnalite Reutilisabilite Comprehensibilite Abstract Factory 0.4 0 0 4.08 7.25 -6.27 Abstract Product 0.6 0.5 0.5 4.3 8 -5.61 Concrete Factory 0.27 0.7 0 3.3 6.5 -4.95 Concrete Product 0.3 -1.25 -1 3.3 5.5 -6.27 Moyenne 0.36 -0.1 -0.25 3.6 6.5 -5.72 Table: Tableau des resultats de l'evaluation de notre implementation Postulats : Chaque entite possede le m^eme impact sur la qualite du patron. Une entite indenombrable a le m^eme impact quelque soit le nombre de classes qu'elle represente. Resultats : Le plus gros point faible de ce patron est sa diculte a ^etre compris. L'evaluation indique que le patron est peu extensible alors que c'est selon nous un de ses principaux atouts. 30/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 30
  44. 44. Focus sur le logiciel PTIDEJ Detection d'un patron de conception Detection d'un patron de conception PTIDEJ detecte les patrons de conception dans un programme en utilisant la programmation par contraintes avec explications. Les patrons de conception sont representes par un ensemble de contraintes. Le solver de PTIDEJ est Ptidej Solver 4 Utilise en interne le solver de contraintes CHOCO [Laburthe, 2000 ; Laburthe et le projet OCRE (Outil Contraintes pour la Recherche et l'Enseignement), 2000] Traduit des requ^etes exprimees en Java vers le langage de programmation CLAIRE (Combining Logical Assertions, Inheritance, Rules and Entities) [Caseau et Laburthe, 1994] 31/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 31
  45. 45. Focus sur le logiciel PTIDEJ Detection d'un patron de conception Des contraintes utilisees pour la detection Contraintes sur la nature des entites AbstractEntityConstraint InterfaceEntityConstraint NoGhostEntityConstraint Contraintes sur les relations entre deux identites StrictInheritanceConstraint AssociationConstraint AggregationConstraint CompositionConstraint NotEqualConstraint 32/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 32
  46. 46. Notre contribution a PTIDEJ Sommaire 1 Introduction Problematique 2 Etat de l'art Mesure de la qualite d'un patron Patrons de conception et les outils pour leur tracabilite 3 Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Mesure de la qualite d'un programme Detection d'un patron de conception 4 Notre contribution a PTIDEJ Le patron Bridge Creation du probleme et des entites Contrainte de nature d'une entite Contraintes de relation entre entites 5 Conclusion Critiques Nos perspectives 33/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 33
  47. 47. Notre contribution a PTIDEJ Notre contribution a PTIDEJ Nous avons donne a M. Yann-Gael Gueheneuc des retours qui ont permis d'ameliorer PTIDEJ. Nous avons ajoute a PTIDEJ la detection des patrons de conception suivants,
  48. 48. gurant dans le livre [Gang of Four, Design Patterns : Elements of Reusable Object-Oriented Softwares, 1994]. Bridge ChainOfResponsability Facade Interpreter Mediator 34/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 34
  49. 49. Notre contribution a PTIDEJ Le patron Bridge Le patron Bridge Figure: Diagramme UML du patron Bridge 35/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 35
  50. 50. Notre contribution a PTIDEJ Creation du probleme et des entites Creation du probleme et des entites public final class BridgeMotif { public static Problem getProblem(final List allEntities) { final Problem pb = new Problem(90, Bridge Design Motif, allEntities); final Variable abstraction = new Variable(pb, Abstraction, true); final Variable refinedAbstraction = new Variable(pb, RefinedAbstraction, false); final Variable implementor = new Variable(pb, Implementor, true); final Variable concreteImplementor = new Variable(pb, ConcreteImplementor, false); // Ajout des contraintes return pb; } } 36/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 36
  51. 51. Notre contribution a PTIDEJ Contrainte de nature d'une entite Contraintes de nature d'une entite Interface pb.post(new InterfaceEntityConstraint( Implementor interface, , implementor, 100, DefaultNoApproximations .getDefaultApproximations())); 37/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 37
  52. 52. Notre contribution a PTIDEJ Contraintes de relation entre entites Contraintes de relation entre entites Heritage pb.post(new StrictInheritanceConstraint( RefinedAbstraction -|- Abstraction, , refinedAbstraction, abstraction, 50, TSE07ExtensibleInheritanceOrNoneApproximations .getDefaultApproximations())); 38/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 38
  53. 53. Conclusion Sommaire 1 Introduction Problematique 2 Etat de l'art Mesure de la qualite d'un patron Patrons de conception et les outils pour leur tracabilite 3 Focus sur le logiciel PTIDEJ Modelisation d'un programme par PTIDEJ Mesure de la qualite d'un programme Detection d'un patron de conception 4 Notre contribution a PTIDEJ Le patron Bridge Creation du probleme et des entites Contrainte de nature d'une entite Contraintes de relation entre entites 5 Conclusion Critiques Nos perspectives 39/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 39
  54. 54. Conclusion Conclusion Utiliser des patrons de conception permet d'ameliorer la qualite d'un programme seulement sur certains criteres. On peut mesurer la qualite d'un patron qualitativement ou quantitativement. Aucune solution n'a ete trouvee pour detecter tous les patrons de conception dans un programme. 40/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 40
  55. 55. Conclusion Critiques Critiques Critiques sur les approches analysees Mesures de qualite potentiellement subjectives. Detection des patrons de conception ecace mais limitee. Limitations de PTIDEJ PADL ne permet pas de representer la genericite parametrique. Detection des variantes eloignees d'un m^eme patron impossible sans rede
  56. 56. nir un nouvel ensemble de contraintes. 41/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 41
  57. 57. Conclusion Nos perspectives Nos perspectives Par manque de temps, nous n'avons pas pu mais aurions voulu : Ajouter un generateur de code a PTIDEJ. Etendre les motifs implementes aux variantes proposees par l'heritage multiple. Ameliorer PTIDEJ a
  58. 58. n detecter plus de patrons (exemple : le patron poid-mouche) Mettre a niveau PADL. Ajouter des contraintes. 42/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 42
  59. 59. Conclusion Nos perspectives Bibliographie [1] Marcel Birkner. Objected-oriented design pattern detection using static and dynamic analysis in java software. 2007. [2] Yann-Gael Gueheneuc Herve Albin-Amiot, Pierre Cointe. Un meta-modele pour coupler application et detection des design patterns. 2002. [3] Carl G. Davis Jagdish Bansiya. A Hierarchical Model for Object-Oriented Design Quality Assessment. 2002. [4] Jakubk Jaroslav. Extension for Design Pattern Identi
  60. 60. cation Using Similarity Scoring Algorithm. 2009. [5] Tu Peng Jing Dong, Yajing Zhao. Architecture and Design Pattern Discovery Techniques. 2007. [6] Gueheneuc Yann-Gael Khashayar Khosravi. A Quality Model for Design Patterns. 2004. [7] Foutse Khomh. Patterns and quality of Object-oriented Software Systems. 2010. [8] Naouel Moha. Detection et correction des defauts dans les systemes orientes objet. 2007. [9] G. Stephanides-S. Halkidis N. Tsantalis, A. Chatzigeorgiou. Design Pattern Detection Using Similarity Scoring, IEEE transaction on software engineering, Vol. 32, 2006. 2009. [10] Ralph Johnson John Vlissides The Gang of Four : Erich Gamma, Richard Helm. Design Patterns : Elements of Reusable Object-Oriented Software. 1994. [11] Gueheneuc Yann-Gael. Un cadre pour la tracabilite des motifs de conception. 2003. 43/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 43
  61. 61. Conclusion Nos perspectives Sites web utiles Site relatif aux travaux du Gang of Four : http://c2.com/cgi/wiki?GangOfFour Site web de l'equipe developpant PTIDEJ : http://www.ptidej.net/ Projet OCRE : http://www.emn.fr/dept info/recherche/equipe/contraintes/ocre /public/Welcome.html 44/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 44
  62. 62. Conclusion Nos perspectives Merci, Nous allons maintenant faire une demonstration du logiciel PTIDEJ. 45/45 FERRAND Anthony, NELAUPE Lucas TRAN Quang Dung, VERGDesItEioRnFdreesdepraictro(nUsMd2e)conception 17 septembre 2014 45

×