Les modèles de qualité logicielle Salah Bouktif Département d informatique et de recherche opérationnelle Université de Montréal Salah Bouktif 2003
Plan de la présentation Introduction Définition de la qualité (points de vue) Évaluation de la qualité Modèles de qualité Exemples de modèles Typologie des modèles de qualité Problèmes des modèles Conclusion 2/25
Introduction Pourquoi évaluer la qualité est important? 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) 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 Cycle de vie = 1 cycle de développement + k cycles de maintenance À 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 Faire la bonne chose la première fois É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é La définition de la qualité de logicielle a plusieurs facettes Client, usagers Développeurs Gestionnaire Chercheurs 5/25
Définition et vue de la qualité 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é 6/25
Définition et vue de la qualité Développeurs Conformation aux spécifications Concentration sur le processus Facteurs : taux de défauts Problème : qualité du produit «contre» qualité du processus 7/25
Définition et vue de la qualité 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 8/25
Définition et vue de la qualité 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 9/25
Concepts de la qualité logicielle CARACTERSITIQUES Sous - caractéristiques Attributs externes METRIQUES MODELES Attributs internes 10/25
Les métriques Définition (ISO9126) 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 Pourquoi les métriques prédire le coût ou l effort de développement prédire la qualité du produit 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 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é 12/25
Modèles de la qualité logicielle CARACTERSITIQUES Sous-caractéristiques Attributs externes METRIQUES MODELES Attributs internes 13/25
Un modèle de la qualité Attribut A Attribut B Attribut C Attribut D Attribut E Attribut F Sous-attribut p Sous-attribut q Sous-attribut r 14/25
Modèles de la qualité logicielle Un modèle peut être défini par un ensemble de vues concernant le produit Chaque vue est décomposée en plusieurs facteurs 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é) Chaque critère est défini par un ensemble de métriques 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 Le fonctionnement du produit Fiabilité Efficacité Intégrité Facilité d emploi Les changements Maintenabilité Testabilité Flexibilité La transition Portabilité Réutilisabilité Interopérabilité 16/25
Le modèle de McCall : maintenabilité et fiabilité Exactitude Concision Fiabilité Cohérence Tolérance aux erreurs Modularité Maintenabilité Documentation interne Simplicité 17/25
Le modèle de MacCall : mesure de la qualité 41 métriques pour mesurer des critères de qualité Mesurer un facteur revient a considérer une liste de conditions à vérifier La liste de conditions peut s'appliquer aux besoins (R), à la conception (D) et à l'implémentation (I) 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] Il y a 6 conditions qui s'appliquent aux besoins, 8 à la conception et 8 à l'implémentation 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 Standard dérivé du modèle de McCall Évaluation de produits logiciels (six facteurs appelés caractéristiques) 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é Paramètres Mesures (attributs internes) f caractéristique de qualité (attribut externe) 21/25
Modèles prédictifs de qualité Exemples 22/25
Modèles prédictifs de qualité Exemples * Effort( Cocomo) E = as b 22/25
Modèles prédictifs de qualité Exemples * Défault D = 4.86+ 0.018L( Gaffney) D = 0.069+ 0.00156L + 0.0000047( L)2( Compton) 22/25
Modèles prédictifs de qualité Exemples * Complexité ( Kitchenham ) C = 0.042 MCI 0.075 N + 0.0001 HE 22/25
Modèles prédictifs de qualité Exemples LCOMB <=16 >16 Stable NPPM <=10 >10 Unstable stable Arbre de classification 22/25
Modèles prédictifs de qualité Exemples Taille de programmes <=435 Loc >435 Loc Temps de développement Nombre d écrans <=900 Hr >900 Hr <=10 >10 Arbre de régression Nbr écrans <=15 Moy215 heures test >15 Moy243 heures test Moy143 heures test Moy112 heures test Moy187 heures test 22/25
Modèles prédictifs de qualité Exemples Rè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é Exemples Réseau bayesien 22/25
Modèles prédictifs de qualité Exemples Nouveau cas Preprocessing Raisonnement à base de cas Base de cas Sélection des cas les plus proches Traitement de similitude de cas Combinaison des cas similaires Estimation du nouveau cas 22/25
Les modèles prédictifs de qualité Fixé d avance, modèle spécifique Boîte blanche, Boîte noire Classification, régression Classique, techniques d I.A. Données historiques, expertise (théorique) 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é 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 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 Pas de modèle universel Certains types de modèle viennent palier aux problèmes spécifiques des autres types La tendance est de proposer des modèles boites blanches basés sur des techniques d I.A. 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