7

Click here to load reader

Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

Embed Size (px)

Citation preview

Page 1: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 1Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Gestion de la qualité des logiciels

00-02-03 p. 2Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Objectifs

• décrire le processus de gestion de la qualité deslogiciels

• introduire la notion de norme de qualité

• décrire la relation entre la qualité du processuslogiciel et la qualité des logiciels produits

• amélioration de la qualité des processus

• maîtriser mesures de qualité du processus logiciel

• maîtriser mesures de qualité du logiciel

00-02-03 p. 3Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Concepts en gestion de la qualité

validation

vérification

certification

assurancequalité

normes

maturité desprocessus

évaluation desprocessus

ISO 9000

métriques

processuslogiciel

CMM

amélioration desprocessus

modélisation desprocessus

produitslogiciels

00-02-03 p. 4Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Principaux facteurs influençant laqualité du logiciel

Qualitédu produit

qualité desressourceshumaines

budget etéchéancier

technologie dedéveloppement

qualité duprocessus

logiciel

00-02-03 p. 5Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Qualité du logiciel

• expérience et habileté des ressources humainesinfluencent la qualité, peu importe le processus

• pour grand projet, facteur dominant est le processus

• pour petit projet, facteur dominant est la qualité desressources humaines

– technologie de développement influence beaucoup les petitsprojets

• contraintes externes comme échéancier et budgetpeuvent aussi influencer la qualité

00-02-03 p. 6Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Relations entre qualité du processuset qualité du logiciel

• qualité du processus influence la qualité du produit

• en logiciel, difficile de mesurer la qualité du produitdurant le développement; qualité est observée etmesurée durant la maintenance et l’opération

• amélioration de la qualité consiste à identifiercaractéristiques du processus qui produise logicielde bonne qualité

Page 2: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 7Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Normes de génie logiciel

s’appliquent

• au processus logiciel– processus de test (ex: boîte noire/blanche)

– processus de design (ex: orienté-objet, JSD)

– processus de vérification (ex: inspection, clean room)

– etc..

• aux produits logiciels– normes de programmation

– normes de dénomination

– normes de documentation

– etc.

00-02-03 p. 8Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Normes de génie logiciel

• norme de produit

– définir les caractéristiques des documents

• norme de processus

– décrire comment le processus doit être exécuté

– style procédural

00-02-03 p. 9Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Importance des normes

• encapsulation des meilleures techniques

– connaissance s’accumule par essai et erreur

– norme documente cette connaissance

• base pour le processus d’assurance qualité

– normes représente les meilleures techniques

– vérifie que la norme est appliquée

• continuité

– chaque personne travaille de la même façon

– plus facile de poursuivre le travail d’une personne

– intégration plus rapide

00-02-03 p. 10Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Gestion de la qualité

• définir des normes

• sélectionner normes pour chaque projet

• vérifier que les les normes sont appliquées

• groupe responsable de la gestion de la qualité doitêtre indépendant de l’équipe de projet

00-02-03 p. 11Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Quelques types de normes

Normes de produits

formulaire revue du design

normes de dénomination

norme de programmation

norme de plan de projet

formulaire de demande dechangement

Normes de processus

processus de revue

gestion des configurations

approbation d’un plan de projet

procédure de changement

processus de test d’acceptation

00-02-03 p. 12Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Norme de documentation

• structure

– indiquer structure générale d’un document

– indiquer les sections ou chapitres obligatoires(introduction, audience, objet, révision, approbation, acronymes)

• style

– usage des polices, des tailles, des styles (gras, italique, souligné)

– règles de rédaction (ex: définir chaque acronyme à la premièreoccurrence, référer à une figure avant l’apparition de la figure,forme des références, citation, etc.)

• langage de formattage (RTF, html, latex)

Page 3: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 13Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Développement d’une norme

• s’inspirer des normes internationales

– ISO, IEEE, CSA, ANSI, NATO

• exemples de normes

– terminologie du génie logiciel

– notations (diagramme de structure, modèle de données, etc.)

• adapter pour le contexte de l’organisation

00-02-03 p. 14Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Perception d’une norme

• bureaucratique, lourde, obsolète, inadaptée

• solutions

– impliquer équipes de développement et de maintenance dans lapréparation des normes

– processus de révision

– automatisation (formulaire disponible sous traitement de texte,squelettes de documents)

– pour chaque projet, sélectionner les normes qui doivents’appliquer (compromis entre uniformité et efficacité)

00-02-03 p. 15Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Revue de la qualité

• principale méthode d’évaluation de la qualité dulogiciel ou du processus

• 3 fonctions

– qualité : vérifie la qualité du processus ou produit

– gestion : approbation des documents, progression des travaux

– formation : formation des recrues qui participent en tantqu’observateurs aux revues

00-02-03 p. 16Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Types de revues

• revue de la qualité

– fautes

– conformité aux standards pour les produits(spécification, design, programmes, documents de tests, manuels,etc.)

• revue de progression

– progression des travaux

– évolution des coûts

– évolution des échéanciers

00-02-03 p. 17Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Processus d’une inspection

Selectreview team

Arrange placeand t ime

Distributedocuments

Hold rev iew

Completerev iew forms

00-02-03 p. 18Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Caractéristiques d’une inspection

• participants qui peuvent apporter une contribution– ex: concepteurs clients d’une composantes

• groupe de 3 ou quatre personnes (expérimentées)– président

– secrétaire

• distribution des documents à l’avance– chaque participant devrait allouer au max. 2 heures pour la

préparation

• inspection est d’une durée de 2 heures max.

• produit rapport des fautes détectées

• président fait le suivi des actions suggérées

Page 4: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 19Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Types de fautes détectées

• spécifications

– discuter avec le client des solutions possibles

• design

– restructurer le design (changement majeur)

ou

– colmater la brèche (sauver les meubles)

00-02-03 p. 20Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Bénéfices d’une revue

• activités de design introduisent jusqu'à 65 % desfautes

• revue du design permet de détecter jusqu’à 75 % desfautes

• plus une faute est détectée tôt dans le processus,moins elle coûte cher à réparer

– design : 1 unité de temps pour réparer

– programmation : 6.5 unités

– test : 15 unités

– opération : 67 unités

00-02-03 p. 21Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Exemple comparatifCorrection des fautes avec revue

fautesÉtape corrigées coût totaldesign 22 1 22programmation 36 6,5 234test 15 15 225maintenance 3 67 201total 76 682

Correction des fautes sans revuefautes

Étape corrigées coût totalprogrammation 22 6,5 143test 82 15 1230maintenance 12 67 804total 116 2177

00-02-03 p. 22Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Règles pour la conduite d’uneinspection

• revoir le produit, pas le producteur

• définir un agenda et s’y tenir

• limiter les débats et la réfutation

• identifier les problèmes, pas les solutions

• prendre des notes (secrétaire)

• utiliser des liste de contrôle, pour chaque type deproduit, qui identifie les aspects majeurs à vérifier

00-02-03 p. 23Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Amélioration de la qualité paramélioration du processus

Define processDe velopproduct

Assess productquality

Standar dizeprocess

Improveprocess

QualityOK

No Yes

???

00-02-03 p. 24Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Amélioration du processus

• compréhension du processus logiciel existant

• modification du processus pour atteindre lesobjectifs organisationnels

– amélioration de la qualité

– réduction des coûts

– réduction des échéanciers

Page 5: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 25Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• analyser le processus– modéliser et analyser (quantitativement) le processus

• Identification des changements– identifier les éléments permettant d’améliorer la qualité, de réduire

les coûts ou de réduire les échéanciers

• former le personnel

• introduire les changements– modifier le processus

• ajuster les changements– vérifier l’impact des changements et ajuster en conséquence

Étapes de l’amélioration desprocessus

00-02-03 p. 26Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Processus d’amélioration duprocessus

Processmodel

Process changeplan

Trainingplan

Feedback onimprovements

Revised processmodel

Analyseprocess

Identifyimprovements

Tuneprocess changes

Introduceprocess change

Trainengineers

00-02-03 p. 27Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• étudier un processus existant pour comprendre sesactivités

• produire un modèle abstrait du processus

– plusieurs vues possibles

• analyser le modèle pour découvrir les problèmes

• impliquer les équipes de développement et demaintenance

Analyse et modélisation duprocessus

00-02-03 p. 28Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• débuter avec les modèles existants

– ex: processus imposé par le client

• interview et questionnaires

– attention au cas où le répondant répond ce qu’il croit qu’on veutqu’il réponde

• analyse ethnographique

– dérive modèle du processus par observation du processus

Techniques d’analyse du processus

00-02-03 p. 29Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• préférable de guider le processus d’amélioration duprocessus par des mesures quantitatives

• précondition: existe un processus assez bien définidans l’organisation

– assure une uniformité des mesures

• identifie les mesures en fonction des objectifsorganisationnels

Mesurer le processus

00-02-03 p. 30Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• effort pour accomplir une activité

• durée d’une activité (temps écoulé)

• nombre d'occurrence d’un événement particulier

– nombre de fautes dans le design, la spécification, l’opération

Classes de mesures de processus

Page 6: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 31Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Normes générales de qualité

ISO 9000

Capability and Maturity Model(Software Engineering Institute)

• ne prescrivent pas des méthodes précises(ex: orienté-objet, clean room, etc.)

• propose un ensemble d’activités requises pourproduire des biens de qualité

• organisation détermine comment implanter l’activité

00-02-03 p. 32Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Normes ISO 9000

• ISO 9000 : ensemble de normes de gestion de laqualité

• applicable à plusieurs domaines (manufacturier,service)

• satisfaire la norme ISO 9000 démontre la capacitéd’une organisation à produire des biens et services

• certification par organisme indépendant(ex: Underwriter Lab.)

00-02-03 p. 33Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

ISO 9000 et le logiciel

• ISO 9001 est la plus pertinente pour le logiciel

• ISO 9000-3 : guide d’interprétation de ISO 9001 pourle logiciel

• 20 articles dans la norme

00-02-03 p. 34Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

ISO 9000 et gestion de la qualité

Project 1quality plan

Project 2quality plan

Project 3quality plan

Project qualitymanagement

Organizationquality manual

ISO 9000quality models

Organiza tionquality process

is used to develop instantiated as

instantiated as

documents

Supports

00-02-03 p. 35Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Article 1 : Responsabilité de ladirection

• direction doit définir et consigner par écrit sapolitique de gestion de la qualité

• direction doit assurer la compréhension, la mise enœuvre et la pérennité de la politique à tous lesniveaux de l’organisme

00-02-03 p. 36Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Article 2 : Système de qualité

• manuel de qualité

• plans de qualité

– objectifs de qualité (en termes mesurables)

– critères d’entrée et de sorties de chaque phase

– identification des activités de vérification et validation (V & V)

– planification des activités de V & V

– responsabilité (qui fait quoi)

Page 7: Objectifs Gestion de la qualité des logiciels - …frappier/ift514/chap9.pdf · Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité 00-02-03

00-02-03 p. 37Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

18 autres articles de ISO 9001

3. Revue de contrat

4. Maîtrise de la conception

5. Maîtrise des documents

6. Achats

7. Produit fourni par l’acheteur

8. Identification et traçabilité du

produit

9. Maîtrise des processus

10. Contrôles et essais (C & E)

11. Maîtrises des équipements de

C & E

12. États des contrôles et essais

13. Maîtrise du produit non

conforme

14. Actions correctives

15. Manutention, stockage

conditionnement et livraison

16. Enregistrements relatifs à la

qualité

17. Audits internes de la qualité

18. Formation

19. Soutien après la vente

20. Techniques statistiques

00-02-03 p. 38Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• choisir le processus selon le type de logiciel àdévelopper

– système de grande envergure: la gestion est souvent le problèmeprincipal; choisir un processus avec une gestion très stricte

– système de petite envergure: on peut utiliser un processus plussouple et moins rigoureux

• il n’y a pas de processus universel que l’on peututiliser pour tous les types de systèmes

– processus impropre peut engendrer des coûts additionnelsimportants

Choix d’un processus

00-02-03 p. 39Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Appui du processus par des outils

Informalprocess

Managedprocess

Methodicalprocess

Improvingprocess

Specializedtools

Analysis anddesign

workbenches

Projectmanagement

tools

Configurationmanagement

tools

Generictools

00-02-03 p. 40Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

Synthèse

• gestion de la qualité = définir des normes et vérifierleurs applications

• qualité du processus influence la qualité du produit

• revue est le principal moyen de contrôler la qualité

• revue diminue le coût de correction des fautes

00-02-03 p. 41Ift514 - Gestion de systèmes informatiques Complément au chapitre 9 - gestion de la qualité

• amélioration du processus implique l’analyse, lastandardisation, la mesure et la modification

• modèle de processus comprend une description desactivités, des conditions, des produits et des rôles

• mesurer pour répondre aux questions spécifiquesconcernant le processus

• trois types de métriques de processus: durée, effortet occurrences d’un événement

Synthèse