Vous êtes sur la page 1sur 12

IFT3903 Qualit du logiciel et mtriques

Chapitre 3
Qualit du produit logiciel

Plan du cours
Introduction Modles de processus du dveloppement du logiciel Qualit du logiciel Thorie de la mesure Mesure de la qualit du logiciel tudes empiriques Mesure du produit logiciel Collection et analyse des mtriques
2

Pourquoi valuer la qualit dun logiciel ?


Situations
Achat dun logiciel (alternatives) valuation de logiciel en cours dutilisation Contrle de qualit durant le dveloppement dun logiciel

Questions
le logiciel arrive-t-il faire ce qui lui est demand ? dans quelle mesure y arrive-t-il ?
3

Pourquoi valuer la qualit dun logiciel ? (suite)


Dimensions
La qualit nest pas une notion unidimensionnelle (voir dfinitions du chapitre 1) Il est donc ncessaire de dfinir quelles caractristiques valuer (quoi) de dcider quelles techniques utiliser pour valuer chacune des caractristiques (comment)
4

Le quoi ou la dfinition des caractristiques de qualit


ISO/IEC 9126 propose 6 caractristiques de qualit du produit logiciel
Capacit fonctionnelle (Functionality) Fiabilit (Reliability) Facilit d'utilisation (Usability) Rendement (Efficiency) Maintenabilit (Maintainability) Portabilit (Portability)

Capacit fonctionnelle
Dfinition
Ensemble d'attributs portant sur l'existence d'un ensemble de fonctions et leurs proprits. Les fonctions sont celles qui satisfont aux besoins exprims ou implicites

Sous-caractristiques
Aptitude : prsence et adquation dune srie de fonctions pour des tches donnes Exactitude : fourniture de rsultats ou deffets justes ou convenus Interoprabilit : capacit interagir avec des systmes donns Scurit : aptitude empcher tout accs non autoris (accidentel ou dlibr) aux programmes et donnes
6

Fiabilit
Dfinition
Ensemble d'attributs portant sur l'aptitude du logiciel maintenir son niveau de service dans des conditions prcises et pendant une priode dtermine

Sous-caractristiques
Maturit : frquence des dfaillances dues des dfauts du logiciel Tolrance aux fautes : aptitude maintenir un niveau de service donn en cas de dfaut du logiciel ou de violation de son interface Possibilit de rcupration : capacit rtablir son niveau de service et de restaurer les informations directement affectes en cas de dfaillance ; temps et effort ncessaire pour le faire

Facilit dutilisation
Dfinition
Ensemble d'attributs portant sur l'effort ncessaire pour lutilisation et l'valuation individuelle de cette utilisation par un ensemble dfini ou implicite dutilisateurs

Sous-caractristiques
Facilit de comprhension : effort que doit faire lutilisateur pour reconnatre la logique et sa mise en uvre Facilit dapprentissage : effort que doit faire lutilisateur pour apprendre son application Facilit dexploitation : effort que doit faire lutilisateur pour exploiter et contrler lexploitation de son application

Rendement
Dfinition
Ensemble d'attributs portant sur le rapport existant entre le niveau de service dun logiciel et la quantit de ressources utilises, dans des conditions dtermines

Sous-caractristiques
Comportement vis--vis du temps : temps de rponses et de traitement ; dbits lors de lexcution de sa fonction Comportement vis--vis des ressources : quantit de ressources utilises ; dure de leur utilisation lorsqu'il excute sa fonction

Maintenabilit
Dfinition
Ensemble d'attributs portant sur l'effort ncessaire pour faire des modifications donnes

Sous-caractristiques
Facilit danalyse : effort ncessaire pour diagnostiquer les dficiences et causes de dfaillance ou pour identifier les parties modifier Facilit de modification : effort ncessaire pour modifier, remdier aux dfauts ou changer denvironnement Stabilit : risque des effets inattendus des modifications Facilit de test : effort ncessaire pour valider le logiciel modifi

10

Portabilit
Dfinition
Ensemble d'attributs portant sur l'aptitude du logiciel tre transfr dun environnement lautre

Sous-caractristiques
Facilit dadaptation : possibilit dadaptation diffrents environnements donns sans que lon ait recours dautres actions ou moyens que ceux prvus cet effet pour le logiciel considr Facilit dinstallation : effort ncessaire pour installer le logiciel dans un environnement donn Conformit aux rgles de portabilit : conformit aux normes et aux conventions ayant trait la portabilit Interchangeabilit : possibilit et effort dutilisation du logiciel la place dun autre logiciel donn dans le mme environnement
11

Le comment ou la dfinition du processus dvaluation


ISO/IEC 9126 propose galement des grandes lignes pour un processus dvaluation de la qualit ISO/IEC 14598 propose un cadre plus prcis pour lvaluation du produit logiciel Le projet SCOPE dfinit un cadre complet pour lvaluation
12

Processus d'valuation (9126)


Processus d'valuation est compos de trois tapes
1. La dfinition des exigences de qualit
L'objectif de cette premire tape est de spcifier les exigences en termes de caractristiques de qualit. Ces exigences peuvent varier d'un composant du produit un autre ce niveau, l'objectif est d'initier l'valuation et de mettre au point ses bases. Ceci est fait en trois sous-tapes.
13

2. La prparation de l'valuation.

Processus d'valuation (9126)


2. La prparation de l'valuation (suite)
la slection des mtriques de qualit. Ces dernires doivent correspondre aux caractristiques numres plus haut. La dfinition des taux de satisfaction. Les chelles de valeurs doivent tre divises en portions correspondant aux niveaux de satisfaction des exigences. La dfinition des critres d'apprciation. Ceci inclut la prparation de la procdure de compilation des rsultats par caractristique. Il est possible aussi de prendre en compte dans cette procdure des aspects de gestion tels que le temps ou les cots.

14

Processus d'valuation (9126)


3. La procdure de l'valuation.
ce stade, l'valuation est faite en termes de
Mesure. Les mtriques slectionnes sont appliques au produit, donnant ainsi des valeurs. Notation. Pour chaque valeur mesure, une note (de satisfaction) est attribue. Apprciation. En utilisant les critres d'apprciation, un rsultat global de l'valuation du produit est obtenu. Ce rsultat est confront aux aspects de gestion (temps et cots) pour la prise de dcision.

15

Directives complmentaires (14598)


L'objectif de cette norme est de fournir
les directives d'identification, d'implantation et d'analyse des mtriques ncessaires au processus d'valuation du produit final, les directives de dfinition des indicateurs qui permettent des valuations partielles pendant le cycle de dveloppement

Cette norme donne entre autres


les informations gnrales sur les indicateurs de qualit des logiciels ;
16

Directives complmentaires (14598)


les critres de slection de ces indicateurs ; les directions pour l'valuation des donnes de mesurage ; les directions pour l'amlioration du processus de mesurage ; des exemples de types de graphes d'indicateurs ; des exemples d'indicateurs qui peuvent tre utiliss pour les caractristiques de qualit de la norme ISO/IEC 9126
17

Un exemple de cadre dvaluation SCOPE


SCOPE (Software CertificatiOn Programme in Europe) est un projet europen ESPRIT Objectifs
Dfinir les procdures d'attribution d'un label de qualit un logiciel quand celui-ci satisfait un certain ensemble d'attributs de qualit Dvelopper des technologies nouvelles et efficaces d'valuation, des cots raisonnables, permettant l'attribution de ce label Promouvoir l'utilisation des technologies modernes de l'ingnierie des logiciels. Celles-ci, tant utilises durant le dveloppement des logiciels, contribuent l'attribution de ce label
18

Un exemple de cadre dvaluation SCOPE


Rsultat : dfinition d'un cadre d'valuation comprenant
un modle une mthode des techniques

19

tape 1

Soumission du produit logiciel pour l'homologation Entente sur les critres d'valuation

L'valuation est initie

Modle SCOPE

tape 2

tape 3

Les critres d'valuation sont produits Entente sur une estimation prliminaire du cot Analyse du produit La spcification de l'valuation est produite

tape 4

tape 5

Production de la spcification de l'valuation Slection des modules d'valuation en fonction des objectifs Production du plan de l'valuation Estimation des cots de l'valuation valuation du produit logiciel (1) mesurage sur les composantes du produit (2) planification et gestion du projet de l'valuation (3)production du rapport de mesurage Rendre compte des rsultats de l'valuation (1) prise de dcision (2) informations gnrale et recommandations (3) capitalisation de l'exprience Le plan de l'valuation est produit

tape 6

tape 7

tape 8

tape 9

L'valuation est effectue

tape 10

Le rapport de l'valuation est produit

20

10

Modle SCOPE
Documents produits
Les critres d'valuation La spcification de l'valuation Le plan de l'valuation Le rapport d'valuation

21

Mthode SCOPE
La mthode d'valuation s'appuie sur trois types d'analyse techniques
L'analyse statique qui consiste examiner le code pour valuer les caractristiques de qualit. L'analyse dynamique qui consiste entre autres simuler le droulement de l'application pour effectuer des mesures. L'inspection qui concerne particulirement les interfaces "utilisateur".

22

11

Mthode SCOPE
L'valuation peut se faire selon le niveau de dtail souhait
Niv. Environnement Personnes conomie Application

petit dommage la proprit dommage la proprit dommage environnemental rparable dommage environnemental irrparable

pas de risques pour les personnes peu de personnes touches menace pour des vies humaines

perte conomique ngligeable perte conomique significative grande perte conomique

loisirs, domestiques

alarmes de feu, contrle de processus systmes mdicaux, systmes financiers

des personnes mortes

dsastre financier

systmes de transport, systmes du nuclaire

23

Techniques SCOPE
Choix des techniques pour chaque niveau
Niveau D Capacit fonctionnelle Fiabilit test fonctionnel (bote noire) facilits des langages de programmation inspection des interfaces utilisateur mesurage du temps d'excution inspection des documents (listes de contrle) analyse de l'installation Niveau C + inspection des documents (listes de contrle) + analyse de la tolrance aux fautes + conformit aux normes sur les interfaces + test avec bancs d'essais (benchmarks) + analyse statique Niveau B + test des composantes + modle de croissance de la fiabilit + test en laboratoire Niveau A + preuve formelle

+ preuve formelle

Facilit d'utilisation Rendement

+ modle mental de l'utilisateur + analyse des performances + valuation de la traabilit + valuation de la conception des programmes

+ complexit algorithmique + analyse du processus de dveloppement + valuation des contraintes de l'environnement

Maintenabilit

Portabilit

+ conformit avec les rgles de programmation

24

12