IFT3913 Qualité du logiciel et métriques Chapitre 2 Modèles de processus du développement du logiciel Plan du cours Introduction Modèles de processus du développement du logiciel Qualité du logiciel Théorie de la mesure Mesure de la qualité du logiciel Études empiriques Mesure du produit logiciel Collection et analyse des métriques 2 1
Introduction Les notions de qualité et de mesure sont liées au processus de développement Théorie Prévention Détection et correction précoce des erreurs Élimination des causes d erreurs Pratique Injection de qualité dans toutes les activités Ajout d activités dédiées à la qualité du produit et du processus Ajout d activités de contrôle de la qualité Évaluation quantitative (doit être possible) 3 Introduction Attention! La qualité à un coût Évaluer la durée de vie des logiciels «La plupart des logiciels sont immortels» Nicholas Zvegintzov Évaluer les caractéristiques de qualité importante pour le logiciel (cf. prochain chapitre ) 4 2
Introduction Ce chapitre Rappelle les principaux modèles de développement du logiciel Introduit les modèles et les standards d évaluation des processus de développement 5 Le modèle en cascade Le modèle de la cascade défini des étapes (ou phases) durant lesquelles les activités de développement se déroulent Une étape doit se terminer à une date donnée par la production de certains documents ou logiciels Les résultats de l'étape sont soumis à une étude approfondie L'étape suivante n'est abordée que si les résultats sont jugés satisfaisants 6 3
Le modèle en cascade Faisabilité Analyse besoins Planification Conception du produit Conception détaillée Implantation et test Intégration et test Installation et test Exploitation et maintenance 7 Le modèle en cascade Faisabilité (pourquoi?) Répondre aux questions Pourquoi faut-il réaliser ce logiciel? Y a-t-il de meilleures alternatives? Le logiciel sera-t-il satisfaisant pour les utilisateurs? Y a-t-il un marché pour le logiciel? A-t-on le budget, le personnel, le matériel nécessaires? 8 4
Le modèle en cascade Analyse des besoins (quoi?) Définir précisément les fonctions que le logiciels doit réaliser/fournir Le résultat de cette phase est le cahier des charges du logiciel 9 Le modèle en cascade Conception (comment?) Définir la structure du logiciel Les résultats comprennent l architecture du logiciel (décomposition en modules) et la spécification des interfaces des modules La définition des algorithmes de chacune des procédures des modules est appelée la conception détaillée du logiciel 10 5
Le modèle en cascade Implantation et test (comment?) Implanter les procédures des modules Tests unitaires Intégration et test Intégrer les différents modules Valider / vérifier l adéquation de l implantation, de la conception et de l architecture avec le cahier des charges (acceptation) 11 Le modèle en cascade Installation et test Déploiement du logiciel chez le client et tests avec un sous ensemble d usager choisi Exploitation et maintenance Utilisation en situation réelle, retour d information des usagers, des administrateurs, des gestionnaires Maintenance corrective, perfective et adaptative 12 6
Le modèle en cascade Les versions actuelles du modèle en cascade incluent de la validation et de la vérification à chaque étape Faisabilité et analyses des besoins + validation Conception, conception détaillée + vérification Implantation + tests unitaires Intégration + tests d intégration et d acceptation Installation + tests de déploiement 13 Le modèle par prototypage Le modèle en cascade suppose que les besoins sont clairs, arrêtés et bien définis Le modèle par prototypage est intéressant Besoins pas clairement définis Besoins changeants au cours du temps Le prototypage permet le développement rapide d une ébauche du futur logiciel Prototype jetable Prototype évolutif 14 7
Le modèle par prototypage 15 Le modèle en spirale 16 8
Le modèle en spirale Chaque cycle de la spirale comprend quatre étapes Détermination des objectifs du cycle, des alternatives pour les atteindre et des contraintes à partir des résultats des cycles précédents ou de l analyse des besoins Analyse des risques, évaluation des alternatives et éventuellement prototypage Développement et vérification de la solution retenue (un autre modèle peut-être utilisé) Revue des résultats et planification du cycle suivant 17 Le modèle en spirale Risques majeurs du développement du logiciel Défaillance du personnel Calendrier et budget irréalistes Développement de fonctions inappropriées Développement d'interfaces utilisateurs inappropriées Produit «plaqué or» Validité des besoins Composants externes manquants Tâches externes défaillantes Problèmes de performance Exigences démesurées par rapport à la technologie 18 9
Mise en œuvre des processus Le degré de mise en œuvre d un processus varie d une organisation à une autre (et d un projet à un autre) Les chances de succès dépendent en partie du degré de mise en œuvre du processus Des modèles et des standards existent pour évaluer ce degré de mise en œuvre CMM SPR ISO 9000 19 Capability Maturity Model (CMM) Définit par le SEI (Carnegie-Mellon University) en 1989 (de nouvelles versions existent) Décrit une approche évolutionniste d amélioration des processus indéfinis et ad hoc vers des processus disciplinés Établit une échelle pour évaluer la maturité d utilisation d un processus dans une organisation 20 10
Capability Maturity Model (CMM) CMM Niveau 1 (initial) Caractérisation Processus chaotique et changeant Calendriers, budgets, fonctionnalités, qualités imprévus et imprévisibles Performance dépend avant tout des individus 21 Capability Maturity Model (CMM) CMM Niveau 2 (répétable) Caractérisation Processus intuitif et ad hoc Coût et qualité très variables Calendriers raisonnablement maîtrisés Points clés pour atteindre ce niveau Gestion des besoins Planification des projets Suivi des projets Gestion des sous-contractants Assurance qualité Gestion des configurations 22 11
Capability Maturity Model (CMM) CMM Niveau 3 (défini) Caractérisation Processus documenté, normalisé et intégré Tous les projets suivent une version approuvée du processus de l organisation Points clés pour atteindre ce niveau Définition du processus Amélioration du processus Programme de formation Gestion des projets intégrée Ingénierie du logiciel Coordination inter-groupes et évaluation par les pairs 23 Capability Maturity Model (CMM) CMM Niveau 4 (géré) Caractérisation Mesures de la qualité du processus et du produit Processus gérés quantitativement Points clés pour atteindre ce niveau Mesures et analyse du processus Gestion de la qualité 24 12
Capability Maturity Model (CMM) CMM Niveau 5 (optimisé) Caractérisation Amélioration continue du processus à partir des mesures et des données collectées précédemment Intégration d idées et de technologies novatrices Points clés pour atteindre ce niveau Prévention des erreurs Intégration des innovations technologiques Gestion des changements du processus 25 Capability Maturity Model (CMM) Évaluation par un questionnaire Chaque question booléenne est associée à un niveau Pour atteindre un niveau, il faut 90% de «oui» aux questions clés et 80% de «oui» à toutes les questions de ce niveau Il faut avoir un niveau pour passer au niveau supérieur 26 13
Software Productivity Research (SPR) Défini par Capers Jones Est similaire à CMM Touche les aspects plus tactiques et stratégiques de l entreprise Comprend 400 questions (échelle de Lickert) Fournit une évaluation selon les niveaux : excellent, bon, moyen, marginal, faible 27 ISO 9000 Ensemble de standards et de lignes directrices pour gérer la qualité Le standard ISO 9001 concerne le secteur de la fabrication et de la transformation Le standard ISO 9000-3 est une adaptation de ISO 9001 pour le logiciel 28 14
ISO 9000 ISO 9000-3 Lignes directrices 1. Responsabilité de la gestion 2. Logiciel de qualité 3. Revues contractuelles 4. Contrôle de la conception 5. Contrôle des documents 6. Achats 7. Produits fournis par les clients 8. Identification et traçabilité des produits 9. Contrôle du processus 10. Tests et inspections 29 ISO 9000 ISO 9000-3 Lignes directrices 11. Équipement d inspections, de mesures et de tests 12. États des inspections et des tests 13. Contrôle des produits non-conformes 14. Actions correctives et préventives 15. Manutention, stockage, conditionnement et livraison 16. Enregistrement de qualité 17. Audits de qualité internes 18. Formation 19. Service après-vente 20. Techniques statistiques 30 15
ISO 9000 ISO 9000-3 Certification Avant de faire la demande, s assurer que le processus fonctionne bien Utilisation des services de consultants en assurance qualité pour le suivi, le soutient et la formation Demande après d un organisme de certification Examen et analyse de la documentation Contrôle in situ, comparaison du processus réels et de la documentation Descriptions détaillées des écarts et discussions 31 ISO 9000 ISO 9000-3 Contrôle et suivi Deux visites sans préavis par année par l organisme de certification pour vérifier la conformité du processus Retrait du certificat si des écarts sont constatés sans correction ou trop importants 32 16