Vous êtes sur la page 1sur 13

EXPOSE – Chapitre 4 Qualité du logiciel et métriques

Plan du chapitre

Introduction
Définition de la qualité du logiciel
Qualité du logiciel et métriques Les principaux modèles de qualité
McCall
La Norme ISO 9126
Goal Question Metrics GQM
Présenté par : Les métriques de code
Farah LAHAMAR
Amira LAJIMI

Qualité du logiciel et métriques Qualité du logiciel et métriques


Introduction Introduction

Pourquoi évaluer la qualité est important? Cycle de vie = 1 cycle de développement + k cycles
de maintenance
En général
À un moment donné du cycle de vie on a besoin
Auto-estimation ou auto-diagnostique pour ensuite établir des plans
d'amélioration
Prise de place et concurrence
Maîtrise des coûts D’évaluer ce qui s’est passé (processus) / ce qui est produit
Crédibilité et certification(standards) (produit)
En génie logiciels De prévoir ce qui va se passer ou se produire
75% des efforts pour faire la maintenance
Maintenance : correction, perfectionnement, adaptation, prévention, nouvelles
versions Faire la bonne chose la première fois
Cause : performance, fiabilité, nouveaux besoins, etc. Étant donné les changements constants des besoins, un logiciel
avec un niveau de qualité élevé est plus facile à maintenir .

2 3
Qualité du logiciel et métriques Qualité du logiciel et métriques
Définition de la qualité du logiciel Définition de la qualité du logiciel

Un logiciel de qualité s’entend comme un logiciel capable de


répondre parfaitement aux attentes du client, le tout sans défaut
d’exécution et cela suite à une démarche qualité qui prend en
La qualité du logiciel est définie par l'ANSI comme compte :
« l'ensemble des attributs et caractéristiques d'un
la qualité de son processus de développement (coûts, délais, méthodes,
produit ou d'un service qui portent sur sa capacité à organisation, personnel, techniques, outils),
satisfaire des besoins donnés » .
la qualité intrinsèque du produit (modularité, simplicité, ...),

la qualité du service fourni par le logiciel en exploitation.

4 5

Qualité du logiciel et métriques Qualité du logiciel et métriques


Concept de la qualité logicielle Les principaux modèles de qualité
Motivation

L’augmentation de la taille du logiciel rend le développement


plus complexe et augmente le risque de l’échec
Cette même complexité rend toute forme de prédiction ou
d’estimation (coût et qualité) extrêmement difficile
Nécessité de construire des modèles prédictifs de qualité

6 7
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Le Modèle de McCall: Facteurs Critères Métriques (FCM) Les principaux facteurs de qualité d'un logiciel
McCall a crée ce modèle pour évaluer la qualité d’un système.
Son modèle est composé de trois couches : les métriques, les
Disponibilité
critères et les facteurs.
Les facteurs représentent la vision externe de la qualité, celle de l’utilisateur
Ergonomie
sont assimilés aux caractéristiques du logiciel (disponibilité ) . Fiabilité
Les critères représentent la vision interne de la qualité, celle du développeur. Flexibilité
Intégrité
La métrique est la mesure d'une propriété d'un critère. (par exemple, la taille Maintenabilité
d’un module pour le critère "Simplicité").

8 9

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux facteurs de qualité d'un logiciel Les principaux facteurs de qualité d'un logiciel

Disponibilité
Aptitude du logiciel à assurer sa fonction pendant une période Ergonomie :
de temps donnée. D'une manière générale, l'ergonomie vise l'adaptation des machines et du
travail à l'homme en permettant la conception d'outils qui puissent être
utilisés avec le maximum de confort, d'efficacité et de sécurité.

10 11
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux facteurs de qualité d'un logiciel Les principaux facteurs de qualité d'un logiciel

Fiabilité : Flexibilité:
Aptitude du logiciel à accomplir sans défaillance l'ensemble des fonctions
spécifiées, à fonctionner dans des conditions anormales sans mettre en Caractère d'un logiciel qui définit la facilité avec laquelle des
cause ni les informations du système, ni leur cohérence fonctions peuvent être ajoutées, supprimées ou modifiées dans un
programme opérationnel.

12 13

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux facteurs de qualité d'un logiciel Les principaux facteurs de qualité d'un logiciel

Intégrité : Maintenabilité :
Protection des données contre les intrusions . Caractère d'un logiciel qui définit la facilité avec laquelle un défaut peut être
localisé, identifié et corrigé.
.

14 15
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux critères de qualité logiciel Les principaux critères de qualité logiciel

Cohérence Cohérence
Complétude Etat du logiciel tel que les conventions préétablies ont été respectées.

Compréhensibilité
Contrôle des accès
Modularité
Protection des accès
Simplicité

16 17

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux critères de qualité logiciel Les principaux critères de qualité logiciel

Complétude
Etat du logiciel tel que toutes les exigences spécifiées sont réalisées. Compréhensibilité
Facilité avec laquelle un programme peut être compris par la lecture de son
code source.

18 19
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux critères de qualité logiciel Les principaux critères de qualité logiciel

Contrôle des accès Modularité


Existence de dispositifs qui permettent une protection contre les accès non Aptitude d'un logiciel à être structuré en composants ou modules
autorisés. indépendants. Evaluer la modularité revient à juger de la pertinence de la
fonction de chaque module et de ses interactions avec les autres modules.

20 21

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les principaux modèles de qualité Les principaux modèles de qualité
McCall McCall

Les principaux critères de qualité logiciel Les principaux critères de qualité logiciel

Protection des accès Simplicité


Existence de dispositifs destinés à protéger le code et les données contre Caractéristique d'un logiciel qui exprime la manière (avec simplicité ou
toutes dégradations. complexité) dont sont implémentées ses différentes fonctions et qui
représente la difficulté que peut rencontrer un individu pour analyser et
comprendre un programme.

22 23
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les principaux modèles de qualité Les principaux modèles de qualité
McCall La Norme ISO 9126
La Norme ISO 9126
Rapport avec logiciel ?
Facteur Critère La norme Iso 9126 définit la qualité comme : "l’objectif à atteindre
pour obtenir la qualité nécessaire et suffisante pour répondre aux
besoins réels des utilisateurs."
La norme ISO 9126 distingue 3 catégories de qualité:
Comptage
La qualité interne
Métrique qualifie la qualité du logiciel à partir de mesures statiques du code.
Mesure directe
La qualité externe
Comment évaluer ? repose sur les mesures externes. Il s’agit des mesures effectuées lors de
Métriques obtenue simulation d’exécution du logiciel, lors des phases de tests par exemple.
Enquête
La qualité de fonctionnement
Par des enquêtes
est mesurée lors de l’utilisation du logiciel. Il s’agit de la qualité ressentie par
l’utilisateur dans des conditions spécifiques et dans un environnement
spécifique.

24 25

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les principaux modèles de qualité Les principaux modèles de qualité
La Norme ISO 9126 La Norme ISO 9126

La norme a défini un modèle hiérarchique inspiré du


modèle de McCall .
Ce modèle répartit les attributs de qualité en six
caractéristiques .
Celles-ci sont divisées en sous caractéristiques
mesurées à partir de métriques internes et externes.
Cette figure présente les liens entre les besoins (needs), les exigences
(requirements) et la qualité, dans le but d'expliquer le processus
d'évaluation de la qualité.

26 27
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les principaux modèles de qualité Les principaux modèles de qualité
La Norme ISO 9126 Goal Question Metrics GQM

Qualité interne & Goal Question Metrics GQM :


externe
Il s’agit d’une approche de l’évaluation de la qualité reposant sur 3 niveaux.
Les niveaux sont les suivants :

Capacité Facilité Portabilit


Fiabilité Rendement Maintenabilité le niveau conceptuel, le GoalLevel .
fonctionnelle d’utilisation é
le niveau opérationnel, le Question Level .
le niveau quantitatif, le Metrics Level.
Facilité de
Facilité
compréhensio Facilité d’adaptatio Cette approche a pour but de déterminer quelles sont les métriques utiles pour évaluer si le but souhaité
n d’analyse n par l’entreprise a été atteint.
Pertinence Maturité Comportem
Facilité Facilité de Facilité
Facilité de ent temporel d’installatio
Exactitude d’apprentissa modification Le premier travail consiste à déterminer les attentes de l’entreprise, il s’agit du but à atteindre : the Goal.
récupération ge Utilisation n
Interopérabilité Stabilité La seconde étape consiste à déterminer les bonnes questions répondant aux buts définis précédemment :
Conformité Facilité des Coexistenc
Sécurité d’exploitation ressources Testabilité the Questions.
Tolérance e
Conformité Conformité La dernière étape passe par le calcul des métriques qui répondent aux questions de l’étape
aux pannes Facilité Conformité Interchange
d’attractivité précédente : the Metrics.
abilité
Conformité
Conformité

28 29

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les principaux modèles de qualité Les métriques du code
Goal Question Metrics GQM

Exemple : Définition :
Une métrique de code est une mesure appliquée à une
partie d’un logiciel, à l’intégralité du logiciel ou encore à ses
spécifications fonctionnelles.
Elle permet de mesurer de manière la plus objective
possible une propriété du logiciel et fournit aux développeurs
des détails sur la qualité du code développé.
Les métriques aident à cibler les parties de code à améliorer
ou encore comprendre l’état actuel du logiciel.

30 31
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les métriques du code Les métriques du code
Les métriques primitives Les métriques primitives

Complexité cyclomatique :
Nous qualifions du terme métriques primitives les métriques
définies pour les langages procéduraux ,utilisées et testées La complexité cyclomatique est une mesure, noté v(g), définie par Thomas McCabe
en 1976, aussi appelée complexité de McCabe.
depuis longtemps . Elle mesure le nombre maximum de chemins linéairement indépendants qu’il est
possible d’emprunter dans un module de programme.
On nomme parfois cette mesure la complexité conditionnelle car elle revient également
Complexité cyclomatique . à mesurer le nombre de point de décision du programme, à savoir les conditions et
Les lignes de code branchements if, while, for, etc. auquel on ajoute 1 pour comptabiliser le chemin
principal.
La complexité cyclomatique d’un programme a pour valeur minimum 1 puisqu’il y a
toujours au moins un chemin possible.

32 33

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les métriques du code Les métriques du code
Les métriques primitives Les métriques primitives

Complexité cyclomatique : Les lignes de code :


La définition de la complexité cyclomatique est la suivante : La composition d’une ligne de code varie et le moyen de compter les lignes de codes
V (G) = e - n + p n’est pas toujours compris de la même manière.
où e correspond au nombre de nœuds, n au nombre d’arcs et p au nombre de Prenons l’exemple suivant pourtant très simple :
composants connectés. for(i = 0; i < 10; i+ = 1)printf("helloWorld"); // une ligne de code avec une boucle

Cette métrique donne une indication de la complexité du programme : plus le nombre Cet exemple contient une ligne de code mais plusieurs instructions et également un
est élevé et plus il est difficile pour un développeur de comprendre sa structure et les commentaire.
résultats attendus.
On peut donc considérer que cette ligne contient :
Un programme ayant une trop grande complexité cyclomatique comporte plus de – Une ligne physique
risques d’introduction de bugs. – Deux lignes logiques
– Une ligne de commentaires

Cet exemple illustre donc les différentes métriques que nous pouvons appliquer aux
lignes de code.
34 35
Qualité du logiciel et métriques Qualité du logiciel et métriques
Les métriques du code Les métriques du code
Les métriques de packages Les métriques de packages

Les principes des packages: Les principes des packages:


Release / Reuse Equivalence principle (REP) : le principe d’équivalence. Acyclic Dependencies Principle (ADP) : Les dépendances entre packages ne
Un bon package doit contenir des classes réutilisables entre elles. doivent pas former de cycles.
Common Closure Principle (CCP) : les classes qui changent ensemble Stable Abstractions Principle (SAP) : des packages stables devraient être des
vont ensemble. Afin de modifier le nombre de package impactés lors packages abstraits. Pour améliorer la flexibilité des applications, les packages
d’une modification, il faut regrouper les classes qui changent ensemble. instables doivent être facilement modifiables et les packages stables devraient être
Common Reuse Principle (CRP) : les classes qui ne sont pas utilisées facilement étendus, donc avoir un degré élevé d’abstraction.
entre elles ne doivent pas être mise ensemble. Stable Dependencies Principle (SDP) : la stabilité est liée à la quantité de travail
requise pour effectuer une modification des dépendances. Par conséquent, elle est
liée à la taille package et à sa complexité, mais aussi au dépendances du package.
Ainsi, un paquet avec de nombreuses dépendances entrantes est stable (il est
responsable des packages entrants), et un package sans dépendance est considéré
comme indépendant et instable.

36 37

Qualité du logiciel et métriques Qualité du logiciel et métriques


Les métriques du code Les métriques du code
Les métriques de packages Les métriques de packages
Les métriques permettant de mesurer ces propriétés:
Les métriques permettant de mesurer ces propriétés:
Abstraction: L’abstraction est calculée par le ratio entre le nombre de classes abstraites et
Couplage efférent Noté Ce cette métrique mesure le couplage efférent d’un le nombre total de classes d’un package, dans l’intervalle [0; 1]. O signifie que le package
est totalement concret tandis que 1 signifie qu’il est totalement abstrait . Cette métrique ne
module. Il s’agit du nombre de modules dont dépend celui qui est mesuré « les
peut être analysée seule. En effet, dans un système certains packages doivent être abstraits et
dépendances sortantes, fan-out ». Pour un package Martin définit cette métrique d’autres concrets.
comme le nombre de classes extérieures au package dont dépendent les classes
contenues dans ce package. En revanche, celui-ci définit la métrique comme étant le
nombre de classes du package qui dépendent de classes extérieures. Instabilité :La formule de la métrique est I = Ce(P)/(Ce(P)+Ca(P)) , dans l’intervalle [0; 1].
0 signifie que le package est stable à son maximum i.e. il ne contient aucune dépendance et
ne peut être modifié sans grande conséquence alors que 1 signifie que le package est
Couplage afférent Noté Ca cette métrique mesure le couplage afférent d’un instable.
module, à savoir le nombre de modules qui dépendent du module mesuré « les Cette mesure est utile pour déterminer l’impact potentiel d’une modification d’un package
dépendances entrantes, fan-in ».Pour un package, la définition de cette métrique est sur les autres packages. Toutefois une valeur moyenne de cette mesure est difficilement
le nombre de classes externes qui dépendent d’une des classes du package. Interprétable.
Le principe de stabilité d’un package peut être défini transitivement : un package est stable
seulement si ses dépendances le sont également.
38 39
Qualité du logiciel et métriques EXPOSE – Chapitre 4
Les métriques du code
Autres métriques
Lorenz et Kidd ont déterminé également un certain nombre d’autres
métriques de base dont nous retiendrons les principales :

NOM: Number Of Methods. Calcule le nombre de méthodes définies localement à une


classe, qu’elles soient privées ou publiques. Les méthodes surchargées sont également
comptées.
Merci pour votre attention
NIM : Number of Inherited Methods. Comptabilise le nombre de méthodes héritées par une
classe. Permet de savoir, pour une classe donnée, le nombre de propriétés réutilisées.
NRM : Number of overRiden Methods. comptabilise le nombre de méthodes surchargées
pour une classe donnée. Un nombre élevé montre que la classe étudiée spécialise sa
superclasse. Donc ,plus on utilise de méthodes surchargées et
plus on augmente le risque d’erreurs dans le programme.
SIX : Specialization IndeX. Cette métrique mesure comment une sous-classe surcharge les
classes dont elle hérite. Il s’agit du ratio entre le nombre de méthodes surchargées et le
total des méthodes de la classe étudiée

40

Qualité du logiciel et métriques Qualité du logiciel et métriques

Quelle est la différence entre un facteur et un critère du Quelle est la différence entre un facteur et un critère du
modèle McCall ? modèle McCall ?
Un critère est une caractéristique du logiciel sur laquelle
le développeur peut agir.
Un facteur est une caractéristique du logiciel peut être
ressentie par l'utilisateur.

41 42
Qualité du logiciel et métriques Qualité du logiciel et métriques

Exercice :
Considérons les valeurs prises par les mesures suivantes : Commentaires, Nom des
variables, Nb. de si imbriqués, Nb. de lignes par module au cours de la phase du
cycle de vie numéro 4 (codage) du logiciel X.

43 44

Qualité du logiciel et métriques Qualité du logiciel et métriques

Questions :

a) Représenter l’arborescence de cette méthode d’évaluation.


b) Calculer la valeur de chaque critère
c) Calculer la valeur de chaque facteur
d) Calculer la valeur de la qualité totale du logiciel X pour la phase 4
e) Calculer la valeur maximale possible de la qualité totale du logiciel X

45 46
Qualité du logiciel et métriques Qualité du logiciel et métriques

Solution : Solution :

47 48

Qualité du logiciel et métriques

Solution :

49

Vous aimerez peut-être aussi