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