Gestion de la qualité des logiciels Objectifs Concepts en gestion de

Transcription

Gestion de la qualité des logiciels Objectifs Concepts en gestion de
Objectifs
• décrire le processus de gestion de la qualité des
logiciels
Gestion de la qualité des logiciels
• introduire la notion de norme de qualité
• décrire la relation entre la qualité du processus
logiciel 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
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 1
Concepts en gestion de la qualité
assurance
qualité
Ift514 - Gestion de systèmes informatiques
normes
technologie de
développement
validation
CMM
vérification
modélisation des
processus
évaluation des
processus
métriques
qualité du
processus
logiciel
produits
logiciels
processus
logiciel
maturité des
processus
Complément au chapitre 9 - gestion de la qualité
Qualité
du produit
qualité des
ressources
humaines
budget et
échéancier
amélioration des
processus
Ift514 - Gestion de systèmes informatiques
00-02-03 p. 2
Principaux facteurs influençant la
qualité du logiciel
ISO 9000
certification
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 3
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 4
Relations entre qualité du processus
et qualité du logiciel
Qualité du logiciel
• expérience et habileté des ressources humaines
influencent la qualité, peu importe le processus
• qualité du processus influence la qualité du produit
• pour grand projet, facteur dominant est le processus
• pour petit projet, facteur dominant est la qualité des
ressources humaines
• en logiciel, difficile de mesurer la qualité du produit
durant le développement; qualité est observée et
mesurée durant la maintenance et l’opération
• amélioration de la qualité consiste à identifier
caractéristiques du processus qui produise logiciel
de bonne qualité
– technologie de développement influence beaucoup les petits
projets
• contraintes externes comme échéancier et budget
peuvent aussi influencer la qualité
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 5
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 6
Normes de génie logiciel
Normes de génie logiciel
s’appliquent
• norme de produit
• au processus logiciel
– définir les caractéristiques des documents
– processus de test (ex: boîte noire/blanche)
– processus de design (ex: orienté-objet, JSD)
• norme de processus
– processus de vérification (ex: inspection, clean room)
– etc..
– décrire comment le processus doit être exécuté
• aux produits logiciels
– style procédural
– normes de programmation
– normes de dénomination
– normes de documentation
– etc.
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 7
Ift514 - Gestion de systèmes informatiques
Importance des normes
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 8
Gestion de la qualité
• encapsulation des meilleures techniques
• définir des normes
– connaissance s’accumule par essai et erreur
• sélectionner normes pour chaque projet
– norme documente cette connaissance
• base pour le processus d’assurance qualité
• vérifier que les les normes sont appliquées
– normes représente les meilleures techniques
– vérifie que la norme est appliquée
• groupe responsable de la gestion de la qualité doit
être indépendant de l’équipe de projet
• continuité
– chaque personne travaille de la même façon
– plus facile de poursuivre le travail d’une personne
– intégration plus rapide
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 9
Ift514 - Gestion de systèmes informatiques
Quelques types de normes
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 10
Norme de documentation
• structure
Normes de produits
Normes de processus
formulaire revue du design
processus de revue
– indiquer structure générale d’un document
normes de dénomination
gestion des configurations
– indiquer les sections ou chapitres obligatoires
(introduction, audience, objet, révision, approbation, acronymes)
norme de programmation
approbation d’un plan de projet
norme de plan de projet
procédure de changement
formulaire de demande de
changement
processus de test d’acceptation
• style
– usage des polices, des tailles, des styles (gras, italique, souligné)
– règles de rédaction (ex: définir chaque acronyme à la première
occurrence, référer à une figure avant l’apparition de la figure,
forme des références, citation, etc.)
• langage de formattage (RTF, html, latex)
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 11
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 12
Développement d’une norme
Perception d’une norme
• s’inspirer des normes internationales
• bureaucratique, lourde, obsolète, inadaptée
– ISO, IEEE, CSA, ANSI, NATO
• solutions
• exemples de normes
– impliquer équipes de développement et de maintenance dans la
préparation des normes
– terminologie du génie logiciel
– processus de révision
– notations (diagramme de structure, modèle de données, etc.)
– automatisation (formulaire disponible sous traitement de texte,
squelettes de documents)
• adapter pour le contexte de l’organisation
Ift514 - Gestion de systèmes informatiques
– pour chaque projet, sélectionner les normes qui doivent
s’appliquer (compromis entre uniformité et efficacité)
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 13
Ift514 - Gestion de systèmes informatiques
Revue de la qualité
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 14
Types de revues
• principale méthode d’évaluation de la qualité du
logiciel ou du processus
• revue de la qualité
– fautes
– conformité aux standards pour les produits
(spécification, design, programmes, documents de tests, manuels,
etc.)
• 3 fonctions
• revue de progression
– qualité : vérifie la qualité du processus ou produit
– gestion : approbation des documents, progression des travaux
– progression des travaux
– évolution des coûts
– évolution des échéanciers
– formation : formation des recrues qui participent en tant
qu’observateurs aux revues
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 15
Processus d’une inspection
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 16
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)
Select
review team
Complete
rev iew fo rms
Arr ang e place
and t ime
– président
– secrétaire
• distribution des documents à l’avance
Hold rev iew
– chaque participant devrait allouer au max. 2 heures pour la
préparation
Distri bute
documents
• 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
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 17
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 18
Types de fautes détectées
Bénéfices d’une revue
• spécifications
• activités de design introduisent jusqu'à 65 % des
fautes
– discuter avec le client des solutions possibles
• revue du design permet de détecter jusqu’à 75 % des
fautes
• design
• plus une faute est détectée tôt dans le processus,
moins elle coûte cher à réparer
– restructurer le design (changement majeur)
– design : 1 unité de temps pour réparer
ou
– programmation : 6.5 unités
– colmater la brèche (sauver les meubles)
– test : 15 unités
– opération : 67 unités
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 19
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
Règles pour la conduite d’une
inspection
Exemple comparatif
Correction des fautes avec revue
fautes
Étape
corrigées coût total
design
22
1
22
programmation
36
6,5
234
test
15
15
225
maintenance
3
67
201
total
76
682
• revoir le produit, pas le producteur
Correction des fautes sans revue
• identifier les problèmes, pas les solutions
• définir un agenda et s’y tenir
• limiter les débats et la réfutation
fautes
Étape
corrigées coût total
programmation
22
6,5
143
test
82
15 1230
maintenance
12
67
804
total
116
2177
Ift514 - Gestion de systèmes informatiques
00-02-03 p. 20
• prendre des notes (secrétaire)
• utiliser des liste de contrôle, pour chaque type de
produit, qui identifie les aspects majeurs à vérifier
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 21
Amélioration de la qualité par
amélioration du processus
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 22
Amélioration du processus
• compréhension du processus logiciel existant
Define process
De velop
product
• modification du processus pour atteindre les
objectifs organisationnels
Assess product
quality
???
Improve
process
– amélioration de la qualité
No
Quality
OK
Yes
Stand ar dize
pro cess
– réduction des coûts
– réduction des échéanciers
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 23
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 24
Processus d’amélioration du
processus
Étapes de l’amélioration des
processus
• analyser le processus
– modéliser et analyser (quantitativement) le processus
Introduce
process change
• 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
Analyse
process
Tune
process changes
Identify
improvements
Train
engineers
• former le personnel
Process
model
• introduire les changements
Process change
plan
Training
plan
Feedback on
improvements
Revised process
model
– modifier le processus
• ajuster les changements
– vérifier l’impact des changements et ajuster en conséquence
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 25
Analyse et modélisation du
processus
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 26
Techniques d’analyse du processus
• étudier un processus existant pour comprendre ses
activités
• débuter avec les modèles existants
– ex: processus imposé par le client
• produire un modèle abstrait du processus
• interview et questionnaires
– plusieurs vues possibles
– attention au cas où le répondant répond ce qu’il croit qu’on veut
qu’il réponde
• analyser le modèle pour découvrir les problèmes
• analyse ethnographique
• impliquer les équipes de développement et de
maintenance
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
– dérive modèle du processus par observation du processus
00-02-03 p. 27
Mesurer le processus
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 28
Classes de mesures de processus
• préférable de guider le processus d’amélioration du
processus par des mesures quantitatives
• effort pour accomplir une activité
• durée d’une activité (temps écoulé)
• précondition: existe un processus assez bien défini
dans l’organisation
– assure une uniformité des mesures
• nombre d'occurrence d’un événement particulier
– nombre de fautes dans le design, la spécification, l’opération
• identifie les mesures en fonction des objectifs
organisationnels
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 29
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 30
Normes générales de qualité
Normes ISO 9000
ISO 9000
• ISO 9000 : ensemble de normes de gestion de la
qualité
Capability and Maturity Model
(Software Engineering Institute)
• applicable à plusieurs domaines (manufacturier,
service)
• ne prescrivent pas des méthodes précises
(ex: orienté-objet, clean room, etc.)
• satisfaire la norme ISO 9000 démontre la capacité
d’une organisation à produire des biens et services
• propose un ensemble d’activités requises pour
produire des biens de qualité
• organisation détermine comment implanter l’activité
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 31
ISO 9000 et le logiciel
• certification par organisme indépendant
(ex: Underwriter Lab.)
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 32
ISO 9000 et gestion de la qualité
• ISO 9001 est la plus pertinente pour le logiciel
ISO 90 00
quality models
• ISO 9000-3 : guide d’interprétation de ISO 9001 pour
le logiciel
instantiated as
Organization
quality manual
• 20 articles dans la norme
do cuments
is used to develop
Pro ject 1
quality plan
Pro ject 2
quality plan
Org an iza tion
quality process
instantiated as
Project 3
quality p lan
Pro ject qu ality
mana gement
Supports
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 33
Article 1 : Responsabilité de la
direction
• direction doit définir et consigner par écrit sa
politique de gestion de la qualité
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 34
Article 2 : Système de qualité
• manuel de qualité
• plans de qualité
• direction doit assurer la compréhension, la mise en
œuvre et la pérennité de la politique à tous les
niveaux de l’organisme
– 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)
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 35
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 36
18 autres articles de ISO 9001
3. Revue de contrat
Choix d’un processus
13. Maîtrise du produit non
4. Maîtrise de la conception
conforme
5. Maîtrise des documents
14. Actions correctives
6. Achats
15. Manutention, stockage
7. Produit fourni par l’acheteur
8. Identification et traçabilité du
produit
16. Enregistrements relatifs à la
9. Maîtrise des processus
17. Audits internes de la qualité
10. Contrôles et essais (C & E)
18. Formation
11. Maîtrises des équipements de
19. Soutien après la vente
20. Techniques statistiques
12. États des contrôles et essais
Ift514 - Gestion de systèmes informatiques
– système de grande envergure: la gestion est souvent le problème
principal; choisir un processus avec une gestion très stricte
conditionnement et livraison
qualité
C&E
• choisir le processus selon le type de logiciel à
développer
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 37
– système de petite envergure: on peut utiliser un processus plus
souple et moins rigoureux
• il n’y a pas de processus universel que l’on peut
utiliser pour tous les types de systèmes
– processus impropre peut engendrer des coûts additionnels
importants
Ift514 - Gestion de systèmes informatiques
Appui du processus par des outils
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 38
Synthèse
• gestion de la qualité = définir des normes et vérifier
leurs applications
Informal
process
Managed
process
Methodical
process
Improving
process
• qualité du processus influence la qualité du produit
• revue est le principal moyen de contrôler la qualité
Generic
tools
Configuration
management
tools
Ift514 - Gestion de systèmes informatiques
Project
management
tools
Analysis and
design
workbenches
Specialized
tools
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 39
Synthèse
• amélioration du processus implique l’analyse, la
standardisation, la mesure et la modification
• modèle de processus comprend une description des
activités, des conditions, des produits et des rôles
• mesurer pour répondre aux questions spécifiques
concernant le processus
• trois types de métriques de processus: durée, effort
et occurrences d’un événement
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 41
• revue diminue le coût de correction des fautes
Ift514 - Gestion de systèmes informatiques
Complément au chapitre 9 - gestion de la qualité
00-02-03 p. 40

Documents pareils