IFT3913 Qualité du logiciel et métriques. Chapitre 3



Documents pareils
LES DIFFERENTS TYPES DE MESURE

Statistiques Descriptives à une dimension

Utilisation des tableaux sémantiques dans les logiques de description

CHAPITRE 2. Les variables

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

Introduction au datamining

Le génie logiciel. maintenance de logiciels.

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

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

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

Évaluation et implémentation des langages

Introduction au Data-Mining

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

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

Rappels sur les suites - Algorithme

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

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

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

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

Traitement des données avec Microsoft EXCEL 2010

Travailler avec les télécommunications

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

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

Cours de Master Recherche

Mesures et incertitudes

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

Pourquoi l apprentissage?

V- Manipulations de nombres en binaire

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

Séries Statistiques Simples

BACCALAURÉAT PROFESSIONNEL SUJET

Les indices à surplus constant

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

Recherche dans un tableau

INF6304 Interfaces Intelligentes

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

UML et les Bases de Données

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

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

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

Représentation d une distribution

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

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

SERIE 1 Statistique descriptive - Graphiques

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

MATHÉMATIQUES. Mat-4104

Cours 1 : La compilation

Cours Fonctions de deux variables

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

Chapitre 3 : INFERENCE

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

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

La représentativité des sondages en ligne. LegerWeb.com

données en connaissance et en actions?

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

BACCALAUREAT GENERAL MATHÉMATIQUES

Big$Data$:$de$quoi$s agit0il$?$

Gestion des prestations Volontaire

Équations non linéaires

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

Cours3. Applications continues et homéomorphismes. 1 Rappel sur les images réciproques

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

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

ANGULAR JS AVEC GDE GOOGLE

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

Université de Bangui. Modélisons en UML

= constante et cette constante est a.

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

M2 IAD UE MODE Notes de cours (3)

Image d un intervalle par une fonction continue

Tableau récapitulatif de l analyse fréquentielle

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

THE FRENCH EXPERIENCE 1

Les probabilités. Chapitre 18. Tester ses connaissances

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

Annexe commune aux séries ES, L et S : boîtes et quantiles

Attitude des ménages face au risque. M1 - Arnold Chassagnon, Université de Tours, PSE - Automne 2014

Cours 1 : Qu est-ce que la programmation?

1 Recherche en table par balayage

F7n COUP DE BOURSE, NOMBRE DÉRIVÉ

UNIVERSITE DE YAOUNDE II

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

Représentation des Nombres

Techniques d interaction dans la visualisation de l information Séminaire DIVA

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

TEST PRATIQUE DU TEST DE LOGIQUE MATHEMATIQUE ET VERBAL

Moments des variables aléatoires réelles

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. .

Chapitre 1 Qu est-ce qu une expression régulière?

Portrait statistique de la population de représentant en épargne collective au Québec

L apprentissage automatique

Licence Sciences et Technologies Examen janvier 2010

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

Voici une demande qui revient régulièrement lors de mes rencontres avec les employeurs :

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

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

Tâche finale : communiquer avec un locuteur natif par webconference lors d activités menées en classe par petits groupes. Niveau : Cycle 3 CM1 /CM2

Probabilités conditionnelles Loi binomiale

Élément 424b Introduction à la statistique descriptive

Transcription:

IFT3913 Qualité du logiciel et métriques Chapitre 3 Théorie de la mesure Plan du cours Introduction Qualité du logiciel Théorie de la mesure Mesure du produit logiciel Mesure de la qualité du logiciel Études empiriques Collection et analyse des métriques Test du logiciel 2 1

C est quoi la 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, le temps de test écoulé). 3 C est quoi la mesure? Bleu 259 1998 23 203 6.000.000 22 6 Mathématiques Monde réel 4 2

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 Ce qu il faut retenir 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, 6 3

En résumé Ce qui n'est pas mesurable rendez le mesurable Galilée 1564-1642 I often say that 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 meagre and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely in your thoughts advanced to the state of Science, whatever the matter may be. Lord Kelvin, 1883 Vous ne pouvez pas contrôler ce que vous ne pouvez pas mesurer DeMarco, 1982 7 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 regardé 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 Quand il y a mesure, c est souvent non systématique, pas cohérente et incomplète 8 4

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 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 5

Condition de représentation Relation empirique La relation empirique doit, elle 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 du monde réel 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 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 6

Condition de représentation Exemple Soient E un ensemble de personnes et Yida et Yanis deux personnes Soit R la relation est_plus_grand_que. On sait que Yida est plus grand que Yanis Soit M la mesure de la taille en cm Soit O la relation > Par la mesure, on obtient M(Yanis) = 172 et M(Yida) = 181 est_plus_grand_que (Yida, Yanis) est vrai (monde réel) et M(Yida) > M(Yanis) est vrai (relation mathématique) Alors que est_plus_grand_que (Yanis, Yida) et M(Yanis) > M(Yida) sont tous les deux faux 13 Condition de représentation Conséquences La condition de représentation est valide pour notre exemple Ceci veut dire que 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 (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 7

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ée à 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 donc 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 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 le calcul qui implique d autres attributs ou entités en utilisant le modèle mathématique associé La mesure permet également la prédiction. Un système de prédiction permet, en utilisant un modèle mathématique avec des procédures de prédiction, de déterminer des paramètres inconnus et d 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 moyenne de la voiture) Le coût est une prédiction et non une mesure 16 8

É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 É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ésentations Une échelle A est dite plus riche qu une échelle B si les caractéristiques de B sont incluses dans celles de A 18 9

Types d échelles Il existe 5 types d échelles 1. Nominale 2. Ordinale 3. Intervalle 4. Ratio 5. Absolue Classification (1 à 4) proposée par Stevens en 1946 Chaque type d échelles autorise certains types de transformations 19 Échelle nominale La plus basse dans les niveaux de mesure Elle consiste en une classification simple Exemples Sexes : mâle (1) femelle (2) Couleurs : rouge, vert, Religions Processus de développement Langage de programmation Aucun ordre entre les classes même si ce sont des nombres 20 10

Échelle nominale Propriétés Les classes doivent être conjointement exhaustives Pour le langage de programmation, 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 É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 Tailles (petit, moyen, grand) Niveaux CMM 22 11

É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 distincts P1 et P2, il faut toujours avoir soit P1 > P2, soit P2 > P1 23 Échelle intervalle Permet d ajouter la notion de distance relative entre deux classes de mesures Pour deux valeurs successives quelconques vi et vj, vj-vi = d Exemple Température en Celsius ou en Fahrenheit Date de survenu d un faute 24 12

Échelle ratio Ajoute la notion de zéro absolu à l échelle intervalle Zéro absolu = absence de l attribut mesuré Exemples Température en Kelvin Temps entre 2 fautes 25 Échelle absolue L attribut ne peut être mesuré que d une seule façon Consiste généralement à compter Exemple Nombre de voitures dans le stationnement Nombre d erreurs trouvées lors du test d intégration 26 13

Transformations, significations et Transformations Soit x une 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 Java 1, C++ 2, C# 3 27 Transformations, significations et 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 14

Transformations, significations et 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 Transformations, significations et Transformations Types d échelle Transformations Exemples Nominale Fonctions un à un Sexe, religion Ordinale Fonctions monotones croissantes Échelle de Likert Intervalle f(x) = a x + b, a > 0 Degré Celcius Ratio f(x) = a x, a > 0 Degré Kelvin Absolue f(x) = x (identité) Nombre de 30 15

Transformations, significations et Signification Le type d échelle d une mesure détermine quelles sont les opérations possibles sur les données Par exemple, les analyses 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 qui les utilisent ne sont donc pas significatives 31 Transformations, significations et 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 que la moyenne est significative comme mesure globale de la satisfaction du groupe? 3 + 5 + 3 + 4 + 3 5 = 3,6 Sinon, quelles seraient les alternatives? 32 16

Transformations, significations et 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 Transformations, significations et Signification Exemple : la moyenne (suite) Le nombre de fautes a augmenté de 10% la première année, de 15% la seconde et de 5% la troisième Quelle est la moyenne de l augmentation? Moyenne arithmétique? (10% + 15% + 5%) / 3 = 10% Moyenne géométrique? (10%*15%*5%) 1/3 = 9,08% 34 17

Transformations, significations et Signification Type d échelle Moyenne Écart Nominale Mode Fréquence Ordinale Médiane Percentile Intervalle Moyenne arithmétique Écart type Ratio Moyenne géométrique Déviation géométrique Absolue Tout Tout 35 Transformations, significations et Autres exemples de signification Michel est deux fois plus grand que Vlad Significatif? 36 18

Transformations, significations et Autres exemples de signification Il a fait deux fois plus chaud le 22 juin dernier à 10h à Montréal qu à Ottawa Significatif? 37 Transformations, significations et Autres exemples de signification La différence de température entre Ottawa et Montréal a été 2 fois plus élevée le 22 juin que le 23 juin Significatif? 38 19

Transformations, significations et Choix d échelles Quand il faut mesurer les attributs d une entité, il faut en priorité choisir des mesures objectives Exemple : pour mesurer le couplage d une classe, utiliser une mesurer quantitative du couplage 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 39 Transformations, significations et 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) 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, 0.3), l autre le couple (12, 0.4), laquelle choisir? Problème de prise de décision multicritères 40 20

Transformations, significations et Signification des mesures indirectes Exemple (densité) d = M/V (masse sur le volume) M et V sont de type ratio Par transformation, M'/V' = (a M)/(b V) = (a/b) (M/V) = c d = d' c > 0, alors d est aussi considéré comme de type ratio En général, une mesure indirecte 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 41 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? 42 21

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 43 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 44 22

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 45 23