Vous êtes sur la page 1sur 33

Les modèles de qualité logicielle

Les modèles de qualité logicielle Salah Bouktif Département d’informatique et de recherche opérationnelle

Salah Bouktif

Département d’informatique et de recherche opérationnelle Université de Montréal

© Salah Bouktif 2003

Plan de la présentation

n

Introduction

n

Définition de la qualité (points de vue)

n

Évaluation de la qualité

n

Modèles de qualité

n Exemples de modèles n Typologie des modèles de qualité

n

Problèmes des modèles

n

Conclusion

2/25

Introduction

n

Pourquoi évaluer la qualité est important ?

n

En général

– Auto-estimation ou auto-diagnostique, pour ensuite établir des plans d'amélioration

– Prise de place et concurrence

– Maîtrise des coûts

– Crédibilité et certification(standards)

n

En génie logiciels

– 75% des efforts pour faire la maintenance

– Maintenance : correction, perfectionnement, adaptation, prévention, nouvelles versions

– Cause : performance, fiabilité, nouveaux besoins, etc.

3/25

Introduction

n

Cycle de vie = 1 cycle de développement + k cycles de maintenance

n

À un moment donné du cycle de vie on a besoin

– D’évaluer ce qui s’est passé (processus) / ce qui est produit (produit)

– De prévoir ce qui va se passer ou se produire

n

Faire la bonne chose la première fois

n

Étant donné les changements constants des besoins, un logiciel avec un niveau de qualité élevé est plus facile à maintenir

4/25

Définition et vue de la qualité

n La définition de la qualité de logicielle a plusieurs facettes

– Client, usagers

– Développeurs

– Gestionnaire

– Chercheurs

la qualité de logicielle a plusieurs facettes – Client, usagers – Développeurs – Gestionnaire – Chercheurs

5/25

Définition et vue de la qualité

n Clients, usagers – Aptitude à l’emploi

– Concentration sur la tâche (fonctionnalités et utilisation)

– Facteurs : fiabilité et facilité d’utilisation

– Problème : une vue trop fermé

et utilisation) – Facteurs : fiabilité et facilité d’utilisation – Problème : une vue trop fermé

6/25

Définition et vue de la qualité

n Développeurs – Conformation aux spécifications

– Concentration sur le processus

– Facteurs : taux de défauts

– Problème : qualité du produit « contre » qualité du processus

le processus – Facteurs : taux de défauts – Problème : qualité du produit « contre

7/25

Définition et vue de la qualité

n Gestionnaire – La qualité est jugée selon les moyens d’acheter

– Concentration sur le coût

– Facilite l’arbitrage entre différentes vues

– Problème : relation entre valeur à l’entreprise et qualité du logiciel

l’arbitrage entre différentes vues – Problème : relation entre valeur à l’entreprise et qualité du logiciel

8/25

Définition et vue de la qualité

n Chercheurs – La qualité comme fonction des caractéristiques internes du produit

– Concentration interne

– Facteurs : maintenabilité et testabilité

– Problème : qualité interne « contre » qualité dans le contexte d’utilisation

et testabilité – Problème : qualité interne « contre » qualité dans le contexte d’utilisation 9/25

9/25

Concepts de la qualité logicielle

CARACTERSITIQUES Sous - caractéristiques Attributs externes MODELES METRIQUES Attributs internes
CARACTERSITIQUES
Sous - caractéristiques
Attributs externes
MODELES
METRIQUES
Attributs internes
logicielle CARACTERSITIQUES Sous - caractéristiques Attributs externes MODELES METRIQUES Attributs internes 10/25

10/25

Les métriques

n

Définition (ISO9126)

n

Une échelle quantitative et une méthode, qui peuvent être employées pour déterminer la valeur que prend une propriété pour un produit logiciel spécifique

n

Pourquoi les métriques

– prédire le coût ou l’effort de développement

– prédire la qualité du produit

n

Exemples de métriques

– LOC pour prédire le coût, l’effort et la qualité (début des années 60)

– Métriques OO de Chidamber (DIT)

11/25

Modèles de la qualité logicielle

n

Motivation

n

L’augmentation de la taille du logiciel rend le développement plus complexe et augmente le risque de l’échec

n

Cette même complexité rend toute forme de prédiction ou d’estimation (coût et qualité) extrêmement difficile

n

Nécessité de construire des modèles prédictifs de qualité

12/25

Modèles de la qualité logicielle

CARACTERSITIQUES Sous-caractéristiques Attributs externes MODELES METRIQUES Attributs internes
CARACTERSITIQUES
Sous-caractéristiques
Attributs externes
MODELES
METRIQUES
Attributs internes
logicielle CARACTERSITIQUES Sous-caractéristiques Attributs externes MODELES METRIQUES Attributs internes 13/25

13/25

Un modèle de la qualité

Attribut A

Attribut B

Attribut C

Attribut D

de la qualité Attribut A Attribut B Attribut C Attribut D Attribut E Attribut F •
de la qualité Attribut A Attribut B Attribut C Attribut D Attribut E Attribut F •
de la qualité Attribut A Attribut B Attribut C Attribut D Attribut E Attribut F •

Attribut E

Attribut F

Sous-attribut p

Sous-attribut q

Sous-attribut r

14/25

Modèles de la qualité logicielle

n

Un modèle peut être défini par un ensemble de vues concernant le produit

n

Chaque vue est décomposée en plusieurs facteurs

n

Un facteur est décomposé en plusieurs critères, les facteurs sont en général des attributs externes (mais aussi des attributs internes : testabilité, efficacité)

n

Chaque critère est défini par un ensemble de métriques

n

Par exemple, dans le modèle de McCall le facteur de fiabilité est décomposé en cohérence, précision, tolérance aux erreurs et simplicité

15/25

Le modèle de McCall : attributs

n

Le fonctionnement du produit

– Fiabilité

– Efficacité

– Intégrité

– Facilité d’emploi

n

Les changements

– Maintenabilité

– Testabilité

– Flexibilité

n

La transition

– Portabilité

– Réutilisabilité

– Interopérabilité

16/25

Le modèle de McCall :

maintenabilité et fiabilité

Le modèle de McCall : maintenabilité et fiabilité Fiabilité Maintenabilité Exactitude Concision Cohérence Tolérance

Fiabilité

Maintenabilité

Exactitude

Concision

Cohérence

Tolérance aux erreurs

Modularité

Documentation interne

Simplicité

17/25

Le modèle de MacCall :

mesure de la qualité

n

41 métriques pour mesurer des critères de qualité

n

Mesurer un facteur revient a considérer une liste de conditions à vérifier

n

La liste de conditions peut s'appliquer aux besoins (R), à la conception (D) et à l'implémentation (I)

n

Une condition est vraie ou fausse

18/25

Exemple : liste des conditions pour le critère complétude

1- Des références non ambiguës (entrée, sortie, fonction) [R, D, I] 2- Toutes les références de données (variables ou références directes à des adresses au moyen de pointeurs) sont définies, calculées ou lues de l'extérieur [R, D, I] 3- Toutes les fonctions définies sont utilisées [R, D, I] 4- La conception est conforme aux besoins [D]

n

Il y a 6 conditions qui s'appliquent aux besoins, 8 à la conception et 8 à l'implémentation

n

La mesure de la complétude est :

1 / 3 ´(nv(R) / 6 + nv(D) / 6 + nv(I) / 8)

19/25

Exemple : modèle ISO 9126

n

Standard dérivé du modèle de McCall

n

Évaluation de produits logiciels (six facteurs appelés caractéristiques)

n

Caractéristique, sous-caractéristiques

– Fonctionnalité : convenance, exactitude, interopérabilité, sécurité
– Fiabilité : maturité, tolérance aux pannes, possibilité de récupération
– …

20/25

Modèles prédictifs de qualité

Mesures (attributs internes)

Paramètres

prédictifs de qualité Mesures (attributs internes) Paramètres f caractéristique de qualité (attribut externe) 21/25
f
f
f
f
f

f

f
f
f
f
f
f
prédictifs de qualité Mesures (attributs internes) Paramètres f caractéristique de qualité (attribut externe) 21/25

caractéristique de qualité (attribut externe)

21/25

Modèles prédictifs de qualité

n Exemples

22/25

Modèles prédictifs de qualité

n Exemples

*

E

Effort Cocomo

(

= aS

b

)

22/25

Modèles prédictifs de qualité

n Exemples

* Défault

D

D

4.86

0.018 (

+

L Gaffney

+

)

=

+

0.069

0.00156

L

0.0000047(

=

L

)2(

)

Compton

22/25

Modèles prédictifs de qualité n Exemples * Complexité ( Kitchenham ) C = 0.042 MCI
Modèles prédictifs de qualité
n Exemples
*
Complexité
(
Kitchenham
)
C
=
0.042
MCI
-
0.075
N
+
0.0001
HE
22/25

Modèles prédictifs de qualité

n Exemples

LCOMB <=16
LCOMB
<=16
>16
>16
NPPM
NPPM

Stable

<=10de qualité n Exemples LCOMB <=16 >16 NPPM Stable >10 Unstable stable n Arbre de classification

>10
>10

Unstable

stable

nArbre de classification

22/25

Modèles prédictifs de qualité

n Exemples

Arbre de régression

Taille de programmes >435 Loc Nombre d’écrans >900 Hr <=10 >10 Moy 143 Moy 112
Taille de
programmes
>435 Loc
Nombre
d’écrans
>900 Hr
<=10
>10
Moy 143
Moy 112
heures
heures
test
test
<=435 Loc
<=435 Loc
Temps de développement
Temps de
développement
heures test test <=435 Loc Temps de développement <=900 Hr Nbr écrans <=15 >15 Moy 215
<=900 Hr
<=900 Hr
Nbr écrans <=15 >15 Moy 215 Moy 243 heures heures test test
Nbr écrans
<=15
>15
Moy 215
Moy 243
heures
heures
test
test
Moy 187 heures test
Moy 187
heures
test

22/25

Modèles prédictifs de qualité

n Exemples

nRègles floues

Règle1:

NAM Grande DIT Moyenne ËDegré de Spécialisation Grand Règle2 :

DIT Grande ËDegré de Spécialisation Grand Règle3 :

NAM Grande DIT Moyenne NOP Petite ËPotentiel de Spécialisation Petit Règle4 :

DIT Grande NOP Petite ËPotentiel de Spécialisation Petit Règle5 :

Potentiel de Spécialisation Petit Degré de Spécialisation Grand ËDifficulté de Modification Grande Règle6 :

Difficulté de Modification Grande ËClasse Instable

22/25

Modèles prédictifs de qualité

n Exemples

nRéseau

bayesien

Modèles prédictifs de qualité n Exemples n Réseau bayesien 22/25
Modèles prédictifs de qualité n Exemples n Réseau bayesien 22/25
Modèles prédictifs de qualité n Exemples n Réseau bayesien 22/25

22/25

Modèles prédictifs de qualité

n Exemples

nRaisonnement à base de cas

nNouveau cas

n Exemples n Raisonnement à base de cas n Nouveau cas nPreprocessing nSélection des cas les
nPreprocessing nSélection des cas les plus proches nBase de cas
nPreprocessing
nSélection des cas les
plus proches
nBase de cas

nTraitement de similitude de cas

plus proches nBase de cas n Traitement de similitude de cas n Combinaison des cas similaires

nCombinaison des

cas similaires

nEstimation du nouveau cas

22/25

Les modèles prédictifs de qualité

n

Fixé d’avance, modèle spécifique

n

Boîte blanche, Boîte noire

n

Classification, régression

n

Classique, techniques d’I.A.

n

Données historiques, expertise (théorique)

n

Constat

– Certains types de modèles viennent palier aux problèmes spécifiques des autres types (acceptation, incertitude, etc.)

– La tendance est de proposer des modèles boites blanches basés sur des techniques d’I.A.

23/25

Problèmes des modèles de qualité

n

Constat

– Grand nombre de modèles de qualité proposé dans la littérature mais faible utilisation

– Les plus proposé sont des modèles statistiques

– Faible acceptation

n

Causes

– Absence des outils pour construire des modèles

– Rareté des données provenant de « vrais » logiciels pour construire ou valider les modèles

– Modèles existants ne tenant pas compte de l’aspect des entrées (incertitude, manque, distribution…)

– Chaque modèle reflète un contexte particulier

– Difficulté de généraliser, valider, et réutiliser les modèles

24/25

Conclusion

n

Pas de modèle universel

n

Certains types de modèle viennent palier aux problèmes spécifiques des autres types

n

La tendance est de proposer des modèles boites blanches basés sur des techniques d’I.A.

n

Résoudre les problèmes généraux comme la rareté de données, l’adéquation du modèles à un contexte particulier, sont sujets de recherches

25/25