UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L'UNIVERSITÉ DU QUÉBEC À TROIS-RIVIÈRES

UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L'UNIVERSITÉ DU QUÉBEC À TROIS-RIVIÈRES COMME EXIGENCE PARTIELLE DE LA MAÎTRISE EN MATHÉMATIQUES ET INFORMATIQUE APPLIQUÉES PAR ALIOUNE BADARA GUEYE COHÉSION DES CLASSES DANS LES SYSTÈMES ORIENTÉS OBJET: ÉTUDE EXPÉRIMENTALE ET VALIDATION TROIS-RIVIÈRES, JUILLET 2007 ©droits réservés de Alioune Badara Gueye Université du Québec à Trois-Rivières Service de la bibliothèque Avertissement L’auteur de ce mémoire ou de cette thèse a autorisé l’Université du Québec à Trois-Rivières à diffuser, à des fins non lucratives, une copie de son mémoire ou de sa thèse. Cette diffusion n’entraîne pas une renonciation de la part de l’auteur à ses droits de propriété intellectuelle, incluant le droit d’auteur, sur ce mémoire ou cette thèse. Notamment, la reproduction ou la publication de la totalité ou d’une partie importante de ce mémoire ou de cette thèse requiert son autorisation. COHÉSION DES CLASSES DANS LES SYSTÈMES ORIENTÉS OBJET: ÉTUDE EXPÉRIMENTALE ET VALIDATION Alioune Badara GUEYE SOMMAIRE Un large nombre de métriques ont été proposées pour mesurer les propriétés des systèmes orientés objet comme la taille, le couplage ou la cohésion. Par ailleurs, la validation de la changeabilité des systèmes logiciels est un point majeur de plusieurs recherches en génie logiciel. Une manière d'approcher le problème est d'investiguer la dépendance entre la changeabilité des systèmes logiciels et leur architecture avec pour but de trouver les métriques caractérisant les propriétés architecturales des systèmes qui peuvent être utilisées comme indicateurs de changeabilité. Dans le domaine des systèmes orientés objet, plusieurs expérimentations ont été menées montrant que la taille et le couplage entre classes, par exemple, représentaient de bons indicateurs de changements contrairement aux métriques de cohésion utilisées. Dans cette recherche, nous tenterons d'explorer si la cohésion, à travers plusieurs métriques, est corrélée avec la changeabilité. Il s'agira également de déterminer, si l'hypothèse est vérifiée, parmi les métriques de cohésion utilisées laquelle représente le meilleur indicateur. Nous avons retenu plusieurs métriques de cohésion parmi celles proposées dans la littérature. Nous nous sommes également intéressés à étendre, dans un but de raffinement, certaines d'entre elles. Nous avons également considéré, dans le cadre de notre recherche, le couplage et la taille des systèmes logiciels orientés objet. Nous avons mené une étude expérimentale d'envergure, sur plusieurs systèmes. Les différentes étapes de l'expérimentation ainsi que les résultats obtenus sont discutés dans ce mémoire. ii CLASS COHESION IN OBJECT-ORIENTED SYSTEMS: EXPERIMENTAL STUDY AND VALIDATION Alioune Badara GUEYE ABSTRACT A large number of metrics have been proposed in the literature to assess quality attributes of object-oriented systems such as size, complexity, coupling and cohesion. Moreover, the assessment of software changeability is a major issue and has been the subject of several researches in software engineering domain. Several metrics have been proposed in this context. A way of approaching the problem of validation of the se metrics is to investigate, for example, dependences between software changeability and sorne metrics characterizing its architecture which can be used as indicators of changeability. In the field of object-oriented systems, many experiments were carried out showing that size and coupling metrics are good indicators of changeability. In this research, we explored whether cohesion, using several metrics, is correlated with the changeability. The goal consisted also of determining, if the case where the hypothesis is confirme d, among the cohesion metrics which one represents the best indicator of changeability. We retained in our study several cohesion metrics among those proposed in literature. We were also interested to extend, with an aim of refinement, sorne of them. We also considered, within the framework of our research, coupling and size metrics. We conducted an experimental study on several complex and large-scale Java systems. The various steps of the experimentation as weIl as the results obtained are discussed in this dissertation. III REMERCIEMENTS Je tiens à exprimer toute ma gratitude à mes directeurs de recherche, Les professeurs Linda Badri et Mourad Badri, pour leur soutien, leurs conseils et leurs encouragements, sans lesquels ce travail n'aurait pu aboutir. Je tiens également à remercier tous ceux sans lesquels ce travail n'aurait pas été possible, ainsi que toutes les personnes du département de mathématiques et d'informatique. Je voudrais aussi remercier toutes les personnes qui me sont chères, qui m'ont aidé par leurs encouragements, leurs conseils ou tout simplement leur affection, et tout particulièrement : Mes frères et sœurs: Abdourahmane, Mohamed, Maïmouna, Mariéme et Nafissatou. Ma Tante et son mari: Aminata Lountandi Gueye et Moustapha Diop. Une personne particulière: Mariame Diaw, pour ton amour, ta patience et ton soutien constant. Mes amis: je ne peux vous citer tous, mais vous vous reconnaitrez. Ce mémoire n'aurait pu voir le jour sans l'affection, les sacrifices, la confiance de mes parents Birahim Gueye et Marne Fatou Diop, qui m'ont permis d'aller au bout de mes études et de réaliser ce mémoire. Qu'ils trouvent ici l'expression de toute mon affection et de ma reconnaissance. Je vous le dédie, avec tout mon amour. iv TABLE DES MATIÈRES Page SOMMAIRE ............................................................................................................. i ABSTRACT ............................................................................................... " ............. ii REMERCIEMENTS ................................................................................................ iii TABLE DES MATIÈRES ....................................................................................... .iv LISTE DES TABLEAUX ......................................................................................... vi LISTE DES FIGURES .......................................................................................... viii LISTE DES ABRÉVIATIONS ET SIGLES ............................................................ .ix CHAPITRE 1 INTRODUCTION ............................................................................. 1 1.1 Contexte .................................................................................................. l 1.2 Problématique ......................................................................................... 1 1.3 Objectifs .................................................................................................. 2 1.4 Cheminement du mémoire ....................................................................... 3 CHAPITRE 2 REVUE DE LA LITTÉRA TURE ...................................................... .4 CHAPITRE 3 QUELQUES MÉTRIQUES ORIENTÉES OBJET ............................. 7 3.1 Introduction ............................................................................................. 7 3.2 Les métriques de taille ........................................................................... 10 3.3 Les métriques de couplage ..................................................................... 11 3.4 Les métriques de cohésion ..................................................................... 13 CHAPITRE 4 PROPOSITION D'UN NOUVEAU CRITERE DE COHÈSION ...... 17 4.1 Définition d'un nouveau critère pour les métriques de cohésion ............. 17 4.1.1 Relation directe entre les méthodes ....................................................... 18 4.1.2 Relation indirecte entre les méthodes .................................................... 18 4.1.3 Nouvelle définition de la cohésion ........................................................ 19 4.1.3.1 Relation directe entre les méthodes ...................................................... 19 4.1.3.2 Relation indirecte entre les méthodes ................................................... 20 4.2 Sélection des systèmes ........................................................................... 21 4.3 Environnement ...................................................................................... 22 4.4 Résultats ................................................................................................ 23 4.5 Validation des métriques étendues (test statistique) ................................ 27 4.6 Conclusion ............................................................................................ 31 CHAPITRE 5 RELATION ENTRE LE COUPLAGE ET LA COHÉSION ............. 32 v 5.1 Introduction ............................................................................................ 32 5.2 Procédure expérimentale ......................................................................... 35 5.3 Environnement ....................................................................................... 36 5.4 Résultats ................................................................................................. 38 5.4.1 Étude de régression ................................................................................. 38 5.4.2 Étude de la corrélation de Spearman (statistique de rang) ........... " ........... .41 5.5 Analyse ................................................................................................... 43 5.6 Conclusion .............................................................................................. 44 CHAPITRE 6 L'IMPACT DE CHANGEMENT ................................................... .45 6.1 Introduction ............................................................................................. 45 6.2 Les modèles de changements ................................................................... 46 6.3 Le Modèle retenu .................................................................................... 51 CHAPITRE 7 ENVIRONNEMENT DES EXPÉRIMENTATIONS ....................... 55 7.1 Description des environnements .............................................................. 55 7.2 Les systèmes Sélectionnés ....................................................................... 57 7.3 Sélections des métriques .......................................................................... 57 7.4 Les données de changement.. ................................................................... 58 7.5 Les données métriques ............................................................................. 58 CHAPITRE 8 ÈTUDE(S) EMPIRIQUE(S) ............................................................. 59 8.1 Contexte - Objectifs ................................................................................ 59 8.2 Corrélation entre les métriques ................................................................ 59 8.3 Modèle d'analyse de régression ............................................................... 62 8.4 Relation entre les métriques et les changements - méthode de régression 63 8.5 Corrélation de rang de Spearman entre les métriques et les changements. 76 8.6 Relation entre les métriques et le changement avec la corrélation de rang 78 8.7 Discussion et interprétation des résultats .................................................. 78 CONCLUSIONS GLOBALES ................................................................................ 82 BIBLIOGRAPHIE ................................................................................................... 84 VI LISTE DES TABLEAUX Page TableauI Analogie entre les relations mesures de couplage et conception 00 ..... 12 Tableau II Principales métriques de cohésion existantes [BAD 03] ...................... 15 Tableau III Valeurs moyennes de cohésion ........................................................... 24 Tableau IV Comparaison entre DCd et DCd* ....................................................... 29 Tableau V Comparaison entre DCi et DCi* ......................................................... 30 Tableau VI Nombre de classes des systèmes testés ............................................... 37 Tableau VII Valeur de R2 au niveau des différents systèmes ................................ .40 Tableau VIII R2 obtenu par log du couplage ......................................................... .41 Tableau IX Résultats de la méthode des statistiques de rang (Spearman) ............. .42 Tableau X Changements considérés par Li et Henry ........................................... .47 Tableau XI Les différents changements considérés par Kung .............................. .48 Tableau XII Changements considérés par Kabaili ................................................ .49 Tableau XIII Changements pour un système java .................................................. 50 Tableau XIV Les principaux changements au niveau abstraction ........................... 52 Tableau XV Les principaux changements sur les variables et les méthodes .......... 53 Tableau XVI Les principaux changements pour la cohésion .................................. 54 Tableau XVII Liste des métriques retenues ............................................................ 58 Tableau XVIII Matrice de corrélation pour XXL. .................................................... 60 Tableau XIX Matrice de corrélation pour MoneyJar .............................................. 61 Tableau XX Matrice de corrélation pour FujabaUml. ........................................... 61 Tableau XXI Description statistique: Statistiques de rang de Spearman ................ 77 vii Tableau XXII Valeurs de R2 dans les modèles de régression ................................. 79 viii LISTE DES FIGURES Page Figure 1 Architecture de l'environnement de calcul des métriques .......................... 23 Figure 2 Représentation des valeurs moyennes dans FujabaUml. ........................... 25 Figure 3 Comparaison des valeurs moyennes dans FujabaUml. ............................. 26 Figure 4 Représentation des valeurs moyennes dans Wbemservices ...................... 26 Figure 5 Comparaison des valeurs moyennes dans Wbemservices ......................... 27 Figure 6 Courbes de distribution couplage - cohésion dans Gnujsp uploads/Litterature/ metriques.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager