IFT3903 Qualité du logiciel et métriques



Documents pareils
Statistiques Descriptives à une dimension

Introduction au datamining

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

LES DIFFERENTS TYPES DE MESURE

Précision d un résultat et calculs d incertitudes

Le génie logiciel. maintenance de logiciels.

= constante et cette constante est a.

Correction du baccalauréat ES/L Métropole 20 juin 2014

CHAPITRE 2. Les variables

Utilisation des tableaux sémantiques dans les logiques de description

Notion de fonction. Résolution graphique. Fonction affine.

Traitement des données avec Microsoft EXCEL 2010

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Nombres, mesures et incertitudes en sciences physiques et chimiques. Groupe des Sciences physiques et chimiques de l IGEN

Mesures et incertitudes

Séries Statistiques Simples

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

INF6304 Interfaces Intelligentes

t 100. = 8 ; le pourcentage de réduction est : 8 % 1 t Le pourcentage d'évolution (appelé aussi taux d'évolution) est le nombre :

Introduction au Data-Mining

Travailler avec les télécommunications

IFT6251 : Sujets spéciaux en génie logiciel

Les indices à surplus constant

Le scoring est-il la nouvelle révolution du microcrédit?

Annales du Contrôle National de Qualité des Analyses de Biologie Médicale

Nouvelles de la société et du secteur 30 décembre 2014 au 2 janvier 2015

Relation entre deux variables : estimation de la corrélation linéaire

Modèles à Événements Discrets. Réseaux de Petri Stochastiques

Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie

BACCALAURÉAT PROFESSIONNEL SUJET

Rappels sur les suites - Algorithme

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

Notes de lecture : Dan SPERBER & Deirdre WILSON, La pertinence

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Compléter le formulaire «Demande de participation» et l envoyer aux bureaux de SGC* à l adresse suivante :

Méthode : On raisonnera tjs graphiquement avec 2 biens.

Représentation d une distribution

Analyses de Variance à un ou plusieurs facteurs Régressions Analyse de Covariance Modèles Linéaires Généralisés

CHOIX OPTIMAL DU CONSOMMATEUR. A - Propriétés et détermination du choix optimal

MATHÉMATIQUES. Mat-4104

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

La demande Du consommateur. Contrainte budgétaire Préférences Choix optimal

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

Projet du service «ON DEMAND BUS» à Kashiwa (Japon)

TESTS D HYPOTHÈSE FONDÉS SUR LE χ².

Classe de première L

Évaluation et implémentation des langages

Grandes tendances et leurs impacts sur l acquisition de produits et services TI.

Cours Fonctions de deux variables

Chapitre 3 : INFERENCE

3. Caractéristiques et fonctions d une v.a.

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Actuariat I ACT2121. septième séance. Arthur Charpentier. Automne charpentier.arthur@uqam.ca. http ://freakonometrics.blog.free.

Data Mining. Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne. Data Mining. V. Augusto.

BACCALAUREAT GENERAL MATHÉMATIQUES

Les équations différentielles

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Etude d un cas industriel : Optimisation de la modélisation de paramètre de production

Gestion des prestations Volontaire

La définition La méthode. Les échelles de mesure L ENQUETE PAR SONDAGE : LA METHODE

CEG4566/CSI4541 Conception de systèmes temps réel

Face Recognition Performance: Man vs. Machine

Cours de Master Recherche

La fonction exponentielle

THE FRENCH EXPERIENCE 1

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Le verbe avoir (to have) infinitif = avoir. j ai nous avons tu as vous avez. Exemples: J ai une copine à Montréal.

MODÉLISATION DU FONCTIONNEMENT EN PARALLELE À DEUX OU PLUSIEURS POMPES CENTRIFUGES IDENTIQUES OU DIFFERENTES

M2 IAD UE MODE Notes de cours (3)

SPF FIN. Patris Spécification de Use Case: 15-UC01 Obtenir de l'information patrimoniale. Version 1.1

Mesure agnostique de la qualité des images.

Régime de retraite de la Corporation de l École Polytechnique ASSEMBLÉE ANNUELLE 14 JUIN 2010

Chapitre 2. Eléments pour comprendre un énoncé

V- Manipulations de nombres en binaire

Élément 424b Introduction à la statistique descriptive

PHOTO PLAISIRS. La Lumière Température de couleur & Balance des blancs. Mars 2011 Textes et Photos de Bruno TARDY 1

Instructions Mozilla Thunderbird Page 1

Licence Sciences et Technologies Examen janvier 2010

Représentation des Nombres

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

EXPLOITATIONS PEDAGOGIQUES DU TABLEUR EN STG

SERIE 1 Statistique descriptive - Graphiques

Etudier l influence de différents paramètres sur un phénomène physique Communiquer et argumenter en utilisant un vocabulaire scientifique adapté

ACTUARIAT 1, ACT 2121, AUTOMNE 2013 #4-5

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

STATISTIQUES DESCRIPTIVES

FICHE 1 Fiche à destination des enseignants

MESURE ET PRECISION. Il est clair que si le voltmètre mesure bien la tension U aux bornes de R, l ampèremètre, lui, mesure. R mes. mes. .

Biostatistiques Biologie- Vétérinaire FUNDP Eric Depiereux, Benoît DeHertogh, Grégoire Vincke

Comment optimiser l utilisation des ressources Cloud et de virtualisation, aujourd hui et demain?

BACCALAURÉAT GÉNÉRAL SESSION 2012 OBLIGATOIRE MATHÉMATIQUES. Série S. Durée de l épreuve : 4 heures Coefficient : 7 ENSEIGNEMENT OBLIGATOIRE

Sondage de référence 2005 sur la satisfaction des clients du CRSH

Chapitre 1 : Évolution COURS

Quatre axes au service de la performance et des mutations Four lines serve the performance and changes

I ntroduction. Coffrets pour la régulation de la température et de l hygrométrie. Caractéristiques et avantages

ANGULAR JS AVEC GDE GOOGLE

Transcription:

IFT3903 Qualité du logiciel et métriques Yann-Gaël Guéhéneuc Hiver 2006 Chapitre 3 Théorie de la mesure (Tiré du cours de Houari Sahraoui) GEODES Ptidej Team OO Programs Quality Evaluation and Enhancement using Patterns Group of Open, Distributed Systems, Experimental Software Engineering Department of Informatics and Operations Research University of Montreal Yann-Gaël Guéhéneuc

Plan du cours 1. Introduction 2. Développement logiciel 3. Qualité du logiciel 4. Théorie de la mesure 5. Études empiriques 6. Mesure du logiciel 7. Analyse des mesures 2/44

C est quoi une mesure? Définitions Mesure : processus qui consiste à affecter des nombres et des symboles aux attributs des objets du monde réel pour les décrire selon des règles clairement définies Une entité : un objet (par exemple personne, salle) ou un événement (par exemple voyage, phase de test) dans le monde réel Un attribut : une propriété d'une entité (par exemple la couleur de la salle, le coût du voyage, la durée d exécution des test) 3/44

C est quoi la mesure? Bleu 259 1998 23 203 6.000.000 22 6 Mathématiques Monde réel 4/44

Mais La définition de la mesure n'est pas précise Le bleu est-il une mesure de la couleur d'une salle? La taille est un attribut d'une personne qui peut être mesuré, mais qu en est-il de l'intelligence? Qu est ce qui détermine l exactitude de la mesure? Comment détecter les erreurs dans la mesure? Quelle échelle utiliser, m ou cm? Quels calculs sur des résultats des mesures (par exemple moyennes) sont valides? 5/44

En résumé La mesure est une quantification directe, le calcul est indirecte Mesurer permet de mieux comprendre et donc de mieux mesurer QI, points décathlon, scores des tests de langues, Ce qui n'est pas mesurable rendez le mesurable (Galilée 1564 1642) 6/44

En résumé Vous ne pouvez pas contrôler ce que vous ne pouvez pas mesurer (DeMarco, 1982) Ce qui n'est pas mesurable rendez le mesurable (Galilée, 1564 1642) «When you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot measure it, when you cannot express it in numbers, your knowledge is of a meager and unsatisfactory kind: it may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the state of science.» (William Thompson, Lord Kelvin, Popular Lectures and Addresses [1891-1894], Bartlett's Familiar Quotations, 14 th edition, 1968, p. 723a) 7/44

La mesure pour le génie logiciel Longtemps la mesure a été considérée comme un luxe dans les projets de développement du logiciel Quelques mythes On sait à peu près où on va On va utiliser certains composants pour le développement mais on n a pas vraiment regarder pour le coût On n a pas une idée précise sur la qualité du produit final (fiabilité, portabilité), mais ça devrait être bon On va utiliser la technologie X car il paraît que la compagnie Y l utilise avec succès Le code est écrit à 90% Quand il y a mesure, c est souvent non systématique, pas cohérent et incomplet 8/44

Relations empiriques Exemples Ce café est meilleur que celui d hier La classe A est plus facilement maintenable que la classe B L algorithme de tri X est plus efficace que l algorithme Y L être humain n est pas toujours capable de formuler des relations empiriques correctes (barrière de l intelligence, Kirz 1988?) 9/44

Approche de mesure Objets du monde réel Mesure Nombres et symboles Barrière de l intelligence Statistiques Relations empiriques Interprétation Nombres dérivés 10/44

Condition de représentation Relation empirique La relation empirique doit aussi être représentée par des nombres ou des symboles Condition de représentation Le choix de la représentation par des nombres ou des symboles doit préserver la relation empirique Exemple X est plus grand que Y Mesure de la taille par la valeur en kilogrammes de l individu Ne préserve pas la relation empirique 11/44

Condition de représentation Définition formelle Soient E un ensemble d entités, R une relation empirique entre les entités de E, M une méthode de mesure et O une relation entre les mesures Nous avons (E, R) (E, M, O) Soient x et y deux entités de E, la condition de représentation est définie par R(x, y) O(M(x), M(y)) 12/44

Condition de représentation Exemple Soient E un ensemble de personnes Audrey et Béatrice deux personnes Soit R la relation est_plus_grand_que On sait que Audrey est plus grande que Béatrice Soit M la mesure de la taille en cm Soit O la relation > Par la mesure, on obtient M(Audrey) = 162 et M(Béatrice) = 173 est_plus_grand_que(béatrice, Audrey) est vrai (monde réel) et M(Béatrice) > M(Audrey) est vrai (relation mathématique) est_plus_grand_que(audrey, Béatrice) et M(Audrey) > M(Béatrice) sont tous les deux faux 13/44

Condition de représentation Conséquences La condition de représentation est valide dans l exemple La relation formelle peut être utilisée pour raisonner sur le monde réel En introduisant la mesure de la taille en cm, on peut définir de nouvelles mesures qui n ont pas d équivalent dans le monde réel (ex. : taille moyenne d un ensemble de personnes) La relation > permet de définir plus précisément la relation est_plus_grand_que et permet d élargir la gamme de raisonnement qu on peut faire à partir de cette relation 14/44

Modèle Un modèle est une abstraction de réalité qui permet d'éliminer les détails et de voir une entité ou un concept à partir d'une perspective particulière Une mesure est toujours associé à un modèle, par exemple la mesure doit se faire debout, avec appui sur les talons, sans chaussures et sans chapeau Le modèle détermine comment associer les attributs du monde réel aux éléments du système numérique Le fait de donner un nom à une mesure ne veut pas dire que la mesure mesure bien ce que l on veut mesurer (taille) 15/44

Modèle La mesure directe d un attribut ne doit pas impliquer d autres attributs ou entités, elle doit être une évaluation de quelque chose qui existe Par opposition, la mesure indirecte permet un calcul qui implique d autres attributs ou entités en utilisant le modèle mathématique La mesure permet également la prédiction en utilisant un modèle mathématique avec des procédures de prédiction pour déterminer des paramètres inconnus et pour analyser les résultats Exemple Le coût d un voyage en voiture de Montréal à Toronto Coût = s * c / d s (distance), c (le prix d un litre d essence) et d (consommation par litre de la voiture) Le coût est une prédiction et non une mesure 16/44

Échelles de mesure Définition On appelle échelle de mesure l ensemble constitué de la méthode de mesure M et les systèmes des relations empiriques et numériques Questions Comment déterminer si un système de relations numériques est meilleur qu un autre? Peut-on toujours trouver un système de relations numériques? Comment faire quand il existe différentes représentations possibles dans le même système de relations empiriques? 17/44

Échelles de mesure Réponse pragmatique Utiliser des nombres réels quand c est possible Problème de représentation Pour certains problèmes (systèmes de relations empiriques) une seule représentation est possible, pour d autres, différentes échelles de mesure peuvent être appliquées Plus il y a de relations empiriques à préserver, moins il y a de possibilités de représentions Une échelle A est dite plus riche qu une échelle B si les caractéristiques de B sont incluses dans celles de A 18/44

Types d échelles Il existe 5 types d échelles Nominale Ordinale Intervalle Ratio Absolue Chaque type d échelles autorise certains types de transformations 19/44

Échelle nominale La plus basse dans les niveaux de mesure Elle consiste en une classification simple Exemples Sexes : mâle (1) femelle (2) Couleurs Religions Processus de développement Aucun ordre entre les classes même si c est des nombres 20/44

Échelle nominale Propriétés Les classes doivent être conjointement exhaustives Pour la religion, par exemple, utiliser une classe «autre» pour être exhaustif Les classes doivent être mutuellement exclusives Une personne ne peut pas être en même temps catholique et protestante 21/44

Échelle ordinale Permet de rajouter la notion d ordre à l échelle nominale La notion d ordre peut être établie aussi bien entre les nombres que les symboles Exemples Classes sociales Niveaux CMM Âges (enfant, jeune, ) Tailles (petit, moyen, grand) 22/44

Échelle ordinale Propriétés Transitivité Considérant la relation > qui définit un ordre entre les entités, si P1 > P2 et P2 > P3 alors P1 > P3 Exemple CMM : une organisation au niveau défini est plus mature qu une organisation au niveau initial Complétude Pour deux entités P1 et P2, il faut toujours avoir soit P1 > P2 soit P2 > P1 23/44

Échelle intervalle Permet d ajouter la notion de distance relative entre deux classes de mesures Exemple Température en Celsius Nombre de fautes par KLOC 24/44

Échelle ratio Ajoute la notion de zéro absolu à l échelle intervalle Exemples Nombre de fautes Température en Kelvin 25/44

Échelle absolue Consiste uniquement à compter Exemple Nombre d erreurs trouvées lors du test d intégration Nombre de voitures dans le stationnement 26/44

Transformations, significations et statistiques Transformations Soit x un entité et M(x) une mesure sur x Chaque type d échelle autorise un certain type de transformations T sur M : T(M(x)) Échelle nominale Uniquement les transformations un vers un Exemple la langue 27/44

Transformations, significations et statistiques Transformations Échelle ordinale Toute transformation qui préserve l ordre (toute fonction monotone croissante) Exemple : transformation de labels dans une échelle de Likert (1 très satisfait, etc.) Échelle intervalle Toute transformation de la forme T(M(x)) = a M(x) + b, a>0 Exemple : conversion Celsius Fahrenheit F = 9/5 C + 32 28/44

Transformations, significations et statistiques Transformations Échelle ratio Toute transformation de la forme T(M(x)) = a M(x), a>0 Exemple : Conversion de monnaie CAD = 0.6.EUR Échelle absolue Uniquement la transformation «identité» T(M(x)) = M(x) 29/44

Transformations, significations et statistiques Transformations Types d échelle Nominale Ordinale Intervalle Ratio Absolue Fonctions un à un Fonctions monotones croissantes f(x) = a x + b, a > 0 f(x) = a x, a > 0 f(x) = x Transformations (identité) Exemples Sexe, religion Échelle de Likert Degré Celcius Degré Kelvin Nombre de 30/44

Transformations, significations et statistiques Signification Le type d échelle d une mesure détermine quelles sont les opérations possibles sur les données Par exemple, les analyses statistiques utilisent les opérateurs arithmétiques (+,,, ) Ces opérations ne sont pas permises sur des données de type échelles nominale et ordinale, les analyses statistiques qui les utilisent ne sont donc pas être significatives 31/44

Transformations, significations et statistiques Signification Exemple : la moyenne Lors des tests d acceptabilité, à la question «êtes vous satisfait de la qualité de l interface», 5 utilisateurs ont répondu suivant une échelle de Likert à 5 choix de réponses : 3, 5, 3, 4, 3 Est ce la moyenne est significative comme mesure globale de la satisfaction du groupe? 3 + 5 + 3 + 4 + 3 5 = 3,6 Si non, quelles seraient les alternatives? 32/44

Transformations, significations et statistiques Signification Exemple : la moyenne (suite) La médiane (= 3) peut être utilisée dans ce cas La médiane ne peut pas être utilisée dans le cas d une échelle nominale (pourquoi?) Le mode (= 3) peut être utilisé dans le cas d une échelle nominale 33/44

Transformations, significations et statistiques Signification Type d échelle Nominale Ordinale Intervalle Ratio Absolue Moyenne Mode Médiane Moyenne arithmétique Moyenne géométrique Tout Écart Fréquence Percentile Écart type Coefficient de variation Tout 34/44

Transformations, significations et statistiques Autres exemple de signification Michel est deux fois plus grand que Vlad Significatif? 35/44

Transformations, significations et statistiques Autres exemple de signification Il fait deux fois plus chaud aujourd hui à 10h à Montréal qu à Ottawa Significatif? 36/44

Transformations, significations et statistiques Autres exemple de signification La différence de température entre Ottawa et Montréal est 2 fois plus élevée aujourd hui qu hier Significatif? 37/44

Transformations, significations et statistiques Choix d échelles Quand il faut mesurer les attributs d une entité, il faut en priorité choisir des mesures objectives Exemple : pour mesurer la cohésion d une classe, utiliser une mesurer quantitative de la cohésion plutôt qu une échelle de Likert (subjective) Les mesures subjectives sont acceptables s il est difficile de définir des mesures objectives et si l imprécision est bien comprise 38/44

Transformations, significations et statistiques Cas des attributs non mesurables directement L attribut est décomposé en sous-attributs directement mesurables Cas de la qualité d une conception : elle peut être représentée par le couple (couplage, cohésion) (mais pas toujours ) Il est préférable d avoir un faible couplage et une forte cohésion Pour une classe A, j ai deux conceptions possibles, l une donne le couple (10, 3), l autre le couple (12, 4), laquelle choisir? Problème de prise de décision multicritères 39/44

Transformations, significations et statistiques Signification des mesure indirectes Exemple (densité) d = m/v (masse sur le volume) M et V sont de type ratio Par transformation, m /V = (am)/(bv) = (a/b)(m/v) = cd = d c > 0, alors d est aussi considéré comme de type ratio En général, une mesure indirect ne peut pas être plus riche que les mesures directes qui la composent Efficacité des tests T = D/E ou D est le nombre de fautes trouvées (absolue) et E l effort en personnes mois (ratio) T est donc de type ratio Pour changer l échelle de T, changer la mesure de l effort E 40/44

Validation des mesures La validation d une mesure du logiciel consiste à s assurer que la mesure est une caractérisation numérique correcte de l attribut mesuré Exemple Une mesure de taille d un programme ne doit pas contredire toute notion intuitive sur la taille Si un programme P1 est plus grand qu un programme P2 alors M(P1) > M(P2) Si P1 ; P2 alors M(P1;P2) = M(P1) + M(P2) Si M(P1) = 9 et M(P2) = 7 alors M(P1;P2) = 16 Nombre de classe? Nombre de ligne de code? 41/44

Validation des mesures Une façon efficace de valider une mesure est de montrer qu elle fait partie d un système de prédiction valide 42/44

Validation d un système de prédiction La validation d un système de prédiction, dans un environnement donné, consiste à montrer que les prédictions faites par le système en utilisant des moyens empiriques sont correctes En d autres termes, comparer les prédictions avec les données connues 43/44

Validation d un système de prédiction Méthodes Expérimentation Utilisation effective Outils de base Statistiques Probabilités Autres outils Arbres de décision Réseaux de neurones Logique floue Algorithmes génétiques 44/44