Metriques de Logiciels Chapitre 15 Lfi2 Automne 2008
Hierarchie d’Attributs Attributs de Qualite. On les sent, mais on ne sait pas les definir. Fonctions Quantitatives. On sait les definir, mais on ne sait pas les calculer. Metriques Calculables. On sait les calculer mais on ne sait pas ce qu’elles representent. AQ FQ: Relation de modelisation (partielle). FQ MC: Relation d’approximation.
Hierarchie d’Attributs
Exemple DefinitionRoleExemple Attributs qualitatifs Qualite intuitive Definit attribut pertinent Maintenabilite Fonctions quantitatives Fonction numerique Apprehende attribut Effort annuel de maint/ loc Metriques calculables MetriqueApproxime la fq Size, nesting, structures
Taille Nombre de lignes de code Indicateurs d’effort? Indicateurs de fonctionalite? En moyenne…
Mesure d’Effort Utilise dans COCOMO. Varie selon le langage?
Mesure de Fonction alite?
Taille Nombre de lexemes Lexeme: unite syntaxique (mot cle, symbole, separateur, operateur, variable, constante, etc). Permet de depasser la limitation de la variabilite des longueurs de lignes.
Exemple
Separation entre operateurs, operandes
Combining Compelemtary tokens
Exemple de Calcul void unsuccessfultest (int testnumber, indextype N, itemtype a[MaxSize], itemtype x) { teststream << "Test#" << testnumber << "was unsuccessful" << endl; teststream << "Initial Data N=" << N << "x=" << x << "a=" << endl; for (i=0; i<N; i++) {teststream << a[i];} teststream << endl; }
Operations
Operandes
Mesures de Profondeur Taille: dimension superficielle. Ne reflete pas la complexite logique. Ne reflete pas l’imbrication du code.
Contraste
Mesure de McCabe V = e – n + 1. Nombre de regions dans le graphe de flot du programme.
Mesure de McCabe
Mesure de Dunsmore: Profondeur
Prendre la moyenne des profondeurs. Dans le cas du programme pris pour exemple: Longueur: 7.