Click here to load reader
Upload
vuonghuong
View
212
Download
0
Embed Size (px)
Citation preview
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é
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)
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
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
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
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)
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