Modèles de mesure de la qualité des logiciels

De maniere generale, un logiciel de qualite s'entend comme un logiciel capable de repondre parfaitement aux attentes du client, le tout sans defaut d'execution. Ainsi, on determine la qualite logicielle comme un ensemble de regles et de principes a suivre au cours du developpement d'une application afin de concevoir un logiciel repondant a ces attentes1 [ABDT04]. La NASA par exemple, a determine un ensemble de procedures, d'instructions de travail et de regles pour s'assurer que chaque etape du developpement s'effectue de maniere adequate2 [EBM06]. La qualite d'un logiciel se reflete non seule- ment dans les processus de developpement mais aussi dans la qualite des elements qui le constituent, la documentation, la presence de tests. Mesurer la qualite d'un logiciel consiste alors a determiner son adequation par rapport aux objectifs de depart et aux standards de programmation. Il faut donc definir precisement ce que l'application doit faire et comment elle doit le faire, tant d'un point de vue fonctionnel que d'un point de vue technique. Une fois ces objectifs fixes, on peut alors appliquer un ensemble de regles et de mesures afin de calculer la difference entre objectifs attendus et realisation obtenue. Obtenir une mesure de la qualite permet a la fois d'avoir une image precise du logiciel mesure mais aussi de determiner le comportement de celui-ci dans le temps : quels sont les risques de bogues, les eventuelles failles securitaires, les difficultes de maintenance, les freins a l'evolution, la viabilite a long terme, etc. Un des objectifs de la mesure de la qualite logicielle consiste a sensibiliser les equipes de developpement sur leur methodes de programmation. En effet, mesurer la qualite a egalement pour objectif de fournir des bonnes pratiques de travail et des indicateurs permettant d'augmenter la qualite des futurs developpements. Pour obtenir une image complete de la qualite d'un logiciel on fait appel a un modele de qualite. Celui-ci regroupe des regles qui decrivent ce que doit etre un logiciel de qualite et le repertorie en differents groupes. Le modele est ensuite evalue a partir de mesures obtenues grâce au code source, a la documentation, aux annexes techniques, aux regles de conception ou tout autre information disponible pour le projet. Un modele de qualite comporte souvent plusieurs niveaux de lecture. Il se compose d'une couche de haut niveau qui decrit la qualite selon un point de vue tres generaliste. Ce premier niveau est ensuite decrit plus specifiquement, le tout pour atteindre ensuite le plus bas niveau, detaille et technique. Dans ce chapitre nous presentons quelques modeles de qualite standards pour en- suite detailler le modele Squale. Il s'agit d'un modele de qualite open source developpe depuis plusieurs annees dans un contexte industriel avec Air France-KLM et PSA Peugeot- Citroen3. Ce modele de qualite offre a la fois une vue generale de la qualite du projet mesure mais egalement une vue detaillee orientee developpeur. Il propose une maniere d'agreger les donnees issues du projet de facon a ne perdre aucune information. Il per- met egalement de passer d'une vue detaillee a une vue globale et vice et versa. Squale est un modele qui determine la qualite d'une application mais il propose egalement un plan de remediation concu comme une aide a la decision.