UNIVERSITÉ DU QUÉBEC À MONTRÉAL LES MÉTRIQUES APPLIQUÉES DANS LA CONSTRUCTION DE LOGICIEL MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE DE LA MAÎTRISE EN INFORMATIQUE PAR HAO WANG MAl 2007 UNIVERSITÉ DU QUÉBEC À MONTRÉAL Service des bibliothèques Avertissement La diffusion de ce mémoire se fait dans le respect des droits de son auteur, qui a signé le formulaire Autorisation de reproduire et de diffuser un travail de recherche de cycles supérieurs (SDU-522 - Rév.01-2006). Cette autorisation stipule que «conformément à l'article 11 du Règlement no 8 des études de cycles supérieurs, [l'auteur] concède à l'Université du Québec à Montréal une licence non exclusive d'utilisation et de publication de la totalité ou d'une partie importante de [son] travail de recherche pour des fins pédagogiques et non commerciales. Plus précisément, [l'auteur] autorise j'Université du Québec à Montréal à reproduire, diffuser, prêter, distribuer ou vendre des copies de [son] travail de recherche à des fins non commerciales sur quelque support que ce soit, y compris l'Internet. Cette licence et cette autorisation n'entraînent pas une renonciation de [la] part [de l'auteur] à [ses] droits moraux ni à [ses] droits de propriété intellectuelle. Sauf entente contraire, [l'auteur] conserve la liberté de diffuser et de commercialiser ou non ce travail dont [il] possède un exemplaire.» REMERCIEMENTS En premier lieu, je voudrais remercier profondément mon directeur de recherche, M. Philippe Gabrini, de m'avoir donné son soutien scientifique et moral, ses compétences ainsi que ses suggestions pertinentes et judicieuses durant la rédaction de mon mémoire; Ensuite, je tiens également à remercier chaleureusement M. Roger Villemaire, directeur de maîtrise en informatique et à Mme Sylvie Bisson, assistante à la gestion de programmes des cycles supérieurs, un chaleureux remerciement pour leur aide et soutien; Enfin, j'adresse ma gratitude à mes parents et ainsi à toute ma fa11Ùlle; je n'aurais pu réaliser mon mémoire sans leur amour, leur compréhension et leurs encouragements. TABLE DES MATIÈRES LISTE DES FIGURES vi LISTE DES TABLEAUX viii LISTE DES ACRONyMES.... ix RÉSUMÉ................................................. . XJ INTRODUCTION 1 CHAPITRE 1: LA MESURE EN GÉNIE LOGICIEL DANS LE CONTEXTE DE LA GESTION DE PROJET 4 t.1 La planification du projet de construction 5 1.2 Processus de contrôle du projet cie construction 5 1.3 Facteurs influençant le processus de construction de logiciels 6 1.3.1 Le facteur humain 6 1.3.2 Le facteur du processus logiciel..... 8 1.3.3 Les facteurs du matériel infonnatigue 10 1.3.4 Les facteurs du produit 10 1.4 Concepts fondamentaux d'estimation du développement logiciel JO 1.4.1 Les caractéristiques liées à l'estimation logicielle Il 1.4.2 Le processus d'estimation logicielle 12 1.4.3 Revue des techniques d'estimation Je la taille logicielle et des métriques appliquées 14 IV 1.4.4 Modèles d'estimation des efforts de développement , 23 1.5 Conclusion du chapitre . . 27 CHAPITRE II : REVUE ET ANALYSE DES MÉTRIQUES LOGICIELLES 29 2.1 Conception du processus de mesure en génie logiciel. 29 2.1.1 Le cadre d'établissement de la mesure logicielle 30 2.1.2 Une conception des métriques logicielles 34 2.1.3 La classification des métriques logicielles 36 2.1.4 Les métriques appliquées dans la construction du logicieL 38 2.2 Revue des métriques logicielles 43 2.2.1 Métriques pour mesurer la dimension logicielle 43 2.2.2 Métriques de taille de l'objet logiciel.. 44 2.2.3 La mesure de la taille fonctionnelle logicielle 50 2.2.4 La mesure de la complexité logicielle 54 2.2.5 Les mesures dans le paradigme orienté objet 62 CHAPITRE III: MESURE DE LA PROGRESSION DE LA CONSTRUCTION DE LOGICIEL . 68 3.1 Relation entre mesure de progression et contrôle clu développement du projet 68 3.2 Conclusion pour la relation entre la mesure de progression et Je contrôle du projet.. .. 73 3.3 Revue des mesures pour la progression de la construction 74 3.3.1 Mesurer la progression par le jalonnemenr......................... . 77 3.3.2 Mesurer la progression par le suivi de la taille du projet. 79 3.3.3 Mesurer la progression en adaptant les métriques de processus 82 3.3.4 Mesurer la progression par la méth'odologie EVM 88 v 3.3.5 Conclusion pom les métriques ue progression 93 3.4 Les métriques sous les différents modèles de développement. . 3.4.2 Le modèle de développement en spirale .. ...99 3.4.3 Le modèle Agile 103 3.4.4 Mesures utilisées dans le développement Agile 107 3.4.5 Conclusion 113 CONCLUSION 115 BIBLIOGRAPHIE 120 LISTE DES FIGURES Figure 1.1 Relation entre l'interdépenclance et la performance de l'équipe 8 Figure 1.2 Les moyennes de productivité dans les différents langages de programmation ..... 9 Figure 1.3 Les incerti tudes dans l'estimation logicielle 12 Figure lA Le processus d'estimation d'un projet logiciel 13 Figure 1.5 Les phases dans le cycle de vie d'un système logiciel 15 Figure 2.1 Exemple d'utilisation de la méthode du délai dynamique 36 Figure 2.2 La gestion du projet conduite par les métriques 40 Figure 2.3 Statistiques des moyennes de NCLOC cie chague application 46 Figure 204 Exemple d'un graphe de contrôle de flux.. 56 Figure 2.5 Exemple de la démonstration cles interrelations entre des unités fonctionneJles .. 58 Figure 3.1 Intégration du programme de mesure dans le processus cie développement ....... 69 Figure 3.2 Cadre de la phase de gestion de construction 71 Figure 3.3 Exemple de diagramme de Gant! appliquant le jalonnement 78 Figure 3.4 Le schéma référentiel d'intégration cie coele c1'un système logiciel 80 Figure 3.5 Les schémas référentiels de quatre projets X, Y, A qui sont complétés et B au début cie son développement 82 VII Figure 3.6 Le tableau de bord de la progression de l'activité cJe test logiciel R4 Figure 3.7 Les schémas référentiels cJ'apparùions de défaut 85 Figure 3.8 Le suivi des pourcentages de défauts cie niveaux cie sévérité 1 ou 2 dans les différentes mises en production 86 Figure 3.9 Le diagramme de Pareto présentant les ditlérents types de défaut apparus le plus fréquemment dans le code source 86 Figure 3.10 Le suivi de la densité de défauts 88 Figure 3.11 Les métriques adoptées dans l'approche EVM 89 Figure 3.12 Exemple d'utilisation des mesures SV et CV dans un projet 90 Figure 3.13 Exemple d'utilisation des mesures SPI et CPI dans un projet.. ~ 1 Figure 3.14 Exemple de calcul de la valeur de mesure ES 92 Figure 3.]5 a) Le modèle de développement en cascade b) Le modèle de développement incrémentiel.. 97 Figure 3.16 Le modèle en Spirale , lOO Figure 3.17 Exemple de structure de ['organigramme d'un projet Agile ]09 Figure 3.18 Exemple des Stories et de leurs poids pondérés 109 Figure 3.l9 La supervision de mesure RTF illustrée J 11 LISTE DES TABLEAUX Tableau 1.1 Un exemple de matrice de jugement M 18 Tableau 1.2 Tableau de la comparaison 26 Tableau 2.1 Composants du processus de la mesure logicielle 3 J Tableau 2.2 Démonstration de l'exemple en utilisant l'approche GQM 32 Tableau 2.3 Les cinq niveaux de maturité et leur description dans le modèle CMMI... ........ 33 Tableau 2.4 Comparaison entre la méthode des points de fonction et celle du nombre de lignes de code 52 Tableau 3.1 La comparaison entre le modèle en cascade et le modèle incrémelHiel 98 Tableau 3.2 Tableau de comparaison entre les trois modèles de développement. 101 Tableau 3.3 Les caractéristiques de gestion d'un projet Agile ]07 LISTE DES ACRONYMES ACWP Actual Cost of Work Performed BCWS Budget Cost of Work Schedule BCWP Budget Cost of Work Performed BAC Budget At Completion BV Business Value CBO Coupling Between Objects CMM Capacity Maturity Madel COCOMO Constructive Cost Model DIT Depth In The Tree DSDM Dynamic System Development Method EBV Earned Business Value EMD EJementary Mental Discrimination EVM Earned Value Management ES Earned Schedule FDD Feature-Ori ven Deve lopl11ent GQM Goal Question Meu"ie KLOC Thousand Lines of Code LOC Lines of Codes
Description: