La vitrine de diffusion des mémoires et thèses de l'ÉTS
RECHERCHER

Étude empirique sur l'utilisation des patrons JEE et leur impact sur la modifiabilité des applications JEE

Abdelkafi, Nesrine (2015). Étude empirique sur l'utilisation des patrons JEE et leur impact sur la modifiabilité des applications JEE. Mémoire de maîtrise électronique, Montréal, École de technologie supérieure.

[img]
Prévisualisation
PDF
Télécharger (1MB) | Prévisualisation
[img]
Prévisualisation
PDF
Télécharger (898kB) | Prévisualisation

Résumé

Les patrons de conception décrivent des pratiques qui permettent la conception de logiciels de qualité. Beaucoup de patrons de conception fournissent des solutions qui visent à promouvoir la maintenabilité des logiciels et, plus précisément, la modifiabilité en facilitant la mise en oeuvre de futurs changements du logiciel, ce qui réduit considérablement les coûts de la maintenance.

Plusieurs travaux visent à supporter l’utilisation des patrons de conception ou à identifier des occurrences de ces patrons dans des systèmes existants. Cependant, peu d’études empiriques évaluent l’impact des patrons JEE sur la modifiabilité des applications.

Dans ce mémoire, nous présentons une étude empirique sur l'utilisation des patrons JEE et leur impact sur la modifiabilité des applications JEE. Nous avons analysé 17 applications JEE libres pour identifier les patrons JEE qui sont utilisés et qui supportent la modifiabilité. Puis, nous avons évalué leur impact sur la modifiabilité de ces applications en étudiant les corrélations possibles entre l'utilisation de ces patrons et un ensemble de métriques liées à la modifiabilité. De plus, nous avons analysé différentes versions de trois de ces applications JEE afin d'évaluer l'évolution de la distribution des patrons appliqués et aussi l'impact de cette évolution sur la modifiabilité de ces applications. Afin de combler le manque d’outils qui permettent de détecter les patrons JEE, nous avons adapté l’outil Ptidej et nous avons développé un parseur basé sur l’arbre syntaxique du code source analysé. Une analyse manuelle des applications est effectuée pour valider les occurrences des patrons identifiés.

Les résultats de notre étude confirment qu’un bon nombre de patrons JEE supportant la modifiabilité sont utilisés dans les applications JEE. Ces patrons sont généralement ceux qui reflètent les bonnes pratiques d’une architecture en couches. Nous avons aussi constaté qu’il y a très peu de corrélations entre l’utilisation de ces patrons et la modifiabilité des applications. Les quelques corrélations observés suggèrent que l’application de certains patrons complexifient l’application. Cependant, notre analyse manuelle des applications JEE étudiées a permis de constater que l’utilisation de ces patrons facilite la compréhension du code et la délimitation des couches de l’architecture de ces applications.

Titre traduit

An empirical study of the use of JEE patterns and their impact on the modifiability of JEE Applications

Résumé anglais

Software design patterns codify practices that support the design of quality software. Many design patterns provide solutions that claim to promote software maintenability and, specifically, modifiability as they ease the implementation of future changes to the software, which greatly reduces the maintenance costs.

Many researchers have been working on providing support for applying design patterns or identifying occurrences of these patterns. However, there is little empirical evidence that design patterns really improve modifiability.

In this work, we describe a preliminary study that investigates the use of JEE patterns and their impact on the modifiability of JEE applications. We analyze 17 open-source JEE applications to identify the JEE patterns that are used in these applications and that support their modifiability. Then, we evaluate the impact of these patterns on the modifiability of these applications by studying the correlations between the use of these patterns and a set of metrics related to software modifiability. We also analyzed different available versions of three analyzed JEE applications to assess the evolution of the distribution of applied patterns through these versions and also to assess the impact of this evolution on the modifiability of these applications. To detect occurrences of JEE patterns, we adapted the Ptidej tool and we developed a new parser that is based on the abstract syntax tree (AST) built from the analyzed source code. We performed a manual analysis of applications to validate the detected occurrences of patterns.

The results of our study confirm that many JEE patterns supporting modifiability are used in JEE applications. These patterns are usually those that reflect the best practices of a layered architecture. We also noticed that there is a very little correlation between the use of these patterns and the modifiability of applications. The few observed correlations suggest that the implementation of some patterns complicate the application. However, our manual analysis of JEE applications reveals that the use of these patterns facilitates the understanding of the code and the delimitation of architecture layers of these applications.

Type de document: Mémoire ou thèse (Mémoire de maîtrise électronique)
Renseignements supplémentaires: "Mémoire présenté à l'École de technologie supérieure comme exigence partielle à l'obtention de la maîtrise avec mémoire en génie logiciel". Bibliographie : pages 125-129.
Mots-clés libres: Logiciels Modèles de conception. Java EE. Logiciels d'application Entretien et réparations. Mesure du logiciel. Logiciels Qualité Contrôle. Patrons JEE, maintenance des applications, modifiabilité des logiciels, métriques
Directeur de mémoire/thèse:
Directeur de mémoire/thèse
El boussaidi, Ghizlane
Co-directeurs de mémoire/thèse:
Co-directeurs de mémoire/thèse
Guéhéneuc, Yann-Gaël
Programme: Maîtrise en ingénierie > Génie
Date de dépôt: 10 sept. 2015 17:43
Dernière modification: 01 févr. 2016 19:47
URI: http://espace.etsmtl.ca/id/eprint/1501

Actions (Identification requise)

Dernière vérification avant le dépôt Dernière vérification avant le dépôt

Statistique

Plus de statistique...