05/05/2014 1 Qualité du Logiciel BELASLA El Mehdi 2 Question? Vous ? (nom, pré

05/05/2014 1 Qualité du Logiciel BELASLA El Mehdi 2 Question? Vous ? (nom, prénom, diplômes..) Développeur informaticien? Logiciel ? Qualité logicielle? Normes ? :CMMI ? ISO ? ITIL? PMBOK? COBIT? Outils : développement? GBD? GP?... 3 Plan général du cours Introduction à la qualité du logiciel Assurance qualité Normes et démarches qualité Référentiels de qualité : CMMI ITIL COBIT Métriques de la qualité du logiciel ( Qualimetrie ) 4 Quelques ouvrages Précis de Génie Logiciel, M.-C. Gaudel at al., Masson, 1996 Génie Logiciel : principes, méthodes et techniques, A. Strohmeier et al., Presses Polytechniques et Universitaires Romandes, 1996 ISO 9001 and Software Quality Assurance, D. Ince, McGrawHill, 1994 IS0 9000-3 A Tool for Software Product and Process Improvement, R. Kehoe and A. Jarvis, Springer, 1995 05/05/2014 5 Partie 1: introduction à la qualité du logiciel 6 Objectifs Qu'est-ce la qualité du logiciel? Pourquoi la qualité du logiciel? Facteurs de qualité du logiciel Défauts du logiciels par rapport au processus de développement Définition de l'ingénierie de la qualité du logiciel Total Quality Management 7 Qu‘est ce qu‘un logiciel Selon l'IEEE Un logiciel est: Des programmes, procédures, ainsi que possiblement de la documentation et des données liées à l'opération d'un système informatique. 8 il est visible mais intangible il vieillit mais ne s'use pas il ne se détériore pas sous l'effet des tests il est encore et toujours fabriqué artisanalement il est (trop ?) facilement reproductible il est (trop ?) facile à modifier il est d'une grande complexité : coût très (trop ?) élevé ... Le logiciel : propriétés 9 La crise du Logiciel Coût du Développement Logiciel / Coût du matériel 50% 100% 60 70 80 90 Coût du logiciel vs coût du matériel 10 Répartition des coûts de développement spécification : 6% conception : 5% codage : 7% tests et validation : 15% maintenance : 67% Coûts de correction des erreurs provenant exigences et spécification : 56% conception : 24% codage : 10% autres : 10% Quelques chiffres 11 Qualité du logiciel Qualité en général: perception de la valeur d'un produit par client basé sur: prix, performance, fiabilité, satisfaction Pour l'ingénierie de la Qualité, nous avons besoins: définition plus précise/opérationnelle mesure du degré de qualité monitoring de la qualité amélioration du développement pour mieux atteindre objectifs de qualité 12 Qualité du logiciel Conformité aux exigences Bug/défaut conséquence d'une erreur humaine Résulte en non-conformité aux exigences Sens le plus étroit de qualité du logiciel absence de bugs bas ratio de défauts (# de défauts/unité de taille) haute fiabilité (nombre de pannes par n heures d'opération) Temps Moyen entre Pannes (Mean Time To Failure - MTTF) probabilité d'opération sans panne dans un temps spécifié 13 Qualité du logiciel Deux niveaux de qualité Small q: qualité intrinsèque du produit Limitée au ratio de défauts et à la fiabilité Big Q: niveau plus élargi qualité du produit qualité du processus satisfaction des clients Besoins et demandes du client Assurance de la satisfaction des clients Exigences et spécifications Produits conçus, développés et fabriqués conformément aux prescriptions en continu axé sur l'amélioration des processus Excellente qualité des produits, bonne distribution, service processus Boucle de la qualité 14 Qualité du logiciel pourquoi ? 15 Importance Qualité du Logiciel Logiciel est une composante majeure des systèmes informatiques (environ 80% du coût) – utilisés pour Communication (ex. syst. téléphone, syst. email) Santé (monitoring), Transport (ex. automobile, aéronautique), Échanges économiques (ex. e-commerce), Entertainment, etc. Les défauts du logiciel sont extrêmement coûteux en terme de Argent Réputation Perte de vie 16 Importance de la qualité du logiciel Plusieurs désastres historiques attribués au logiciel 1988 abattage d'un Airbus 320 par l'USS Vincennes – affichage cryptique et confusant du logiciel de détection 1991 échec de missile patriot - calcul imprécis de temps dû à des erreurs arithmétiques London Ambulance Service Computer Aided Despatch System – plusieurs décès Le 3 Juin 1980, North American Aerospace Defense Command (NORAD) rapporta que les U.S. étaient sous attaque de missiles 17 Importance de la qualité du logiciel Ariane 5 crash 4 Juin 1996 Vol inaugural du lanceur européen Ariane 5 crash environ 40 secondes après décollage Perte d'environ ½ milliards de dollars L'explosion était le résultat d'une erreur logiciel Exception non capturée due à une erreur de floating-point: conversion d'entier 64-bit à entier 16-bit signed integer appliqué à un nombre plus large que supposé Le module était ré-utilisé sans avoir été testé convenablement d'Ariane 4 Erreur n'était pas supposé survenir avec Ariane 4 Pas de gestionnaire d'exception 18 Importance de la qualité du logiciel Virus et vers Internet Ver Blaster ($US 525 millions) Sobig.F ($US 500 millions – 1milliard) Exploitent des vulnérabilité bien connues du logiciel Les développeurs de logiciel ne consacrent pas assez d'effort à appliquer des leçons apprises sur les causes des vulnérabilités. Les mêmes types de vulnérabilités continuent à être vus dans les nouvelles versions des produits qui étaient dans des versions précédentes. Problèmes d'utilisabilité 19 Importance de la qualité du logiciel Impact monétaire de logiciel de mauvaise qualité (Standish group 1995) 175,000 projets logiciels/an – coût moyen par projet Grosses compagnies - US 2,322,000 Compagnies Moyennes - US 1,331,000 Petites compagnies - US 434,000 31.1% des projets annulés avant leur complétion coût $81 milliards 52.7% des projets dépassent leur budget coûtent 189\% de l'original coût $59 milliards 16.2% des projets complétés à temps selon le budget (9% pour grosses compagnies) Grosses compagnies – systèmes délivrés ont approximativement seulement 42% des fonctions originellement proposées 78.4% des projets de petites compagnies sont déployés avec au moins 74.2% des fonctions originelles. 20 Il est indispensable de fixer a priori la qualité d'un système dans lequel un logiciel critique intervient Pour cela, il faut : être sûr de ses spécifications complétude ? valider/vérifier toute étape clé dans un développement a-t-on les moyens de la V&V ? Réutiliser mais pas n'importe COMMENT quelles méthodes, quels outils ? Leçons 21 Sources d‘erreurs 10 raisons principales pour le succès de projets (Standish group) 1. Participation des Clients 2. Appui de la Gestion Exécutive 3. Description claire des Exigences 4. Planification Appropriée 5. Espérances Réalistes 6. Milestones de projets plus petits 7. Personnel Compétent 8. Propriété 9. Vision & objectifs clairs 10. Personnel Assidu Et Focalisé 22 Sources d‘erreurs 10 raisons principales pour projets challengés 1. Manque d'Input du client 2. Exigences & Spécifications Incomplets 3. Exigences & Spécifications changeantes 4. Manque de support de l'exécutif 5. Incompétence technologique 6. Manque de Ressources 7. Attentes irréalistes 8. Objectifs non-claires 9. Temps de développement irréaliste 10. Nouvelle technologie 23 Sources d‘erreurs 10 raisons principales pour projets annulés Exigences Incomplètes Manque de participation des clients Manque de Ressources Attentes irréalistes Manque de support de l'exécutif Exigences & Spécifications changeantes Manque de Planification Plus besoin du logiciel Manque de gestion IT Analphabétisme Technologique 24 Et le client ? Produit de bonne qualité est un qui le/la satisfait Conforme aux spécifications Fonctionne bien sur plate-forme(s)/configurations Satisfait complètement aux exigences opérationnelles (même si non-spécifiée!) Compatible avec tout l'équipement des usagers terminaux Backward transparent aux usagers finaux N'a pas d'impact négatif sur les usagers finaux au temps d'introduction 25 Problématique de la qualité logicielle Le caractère unique du produit logiciel Grande complexité Invisibilité du produit Opportunités limités de détection de (―bugs‖) seulement durant le développement Les environnements de développement du logiciel Sous contrat Sujet à une relation client/fournisseur Exige un travail d'équipe Exige la coopération et coordination avec d'autres équipes de développement Exige des interfaces avec d'autres systèmes Exige la poursuite du projet alors que l'équipe change Exige la maintenance pendant plusieurs années 26 Qualité Utilisateurs Décideurs client Décideurs fournisseur Développeurs Logiciel Offre Bénéfices Produits intermédiaires Problématique de la qualité 27 Facteurs de qualité logicielle Modèle de qualité logicielle de McCall's 28 Facteurs de qualité de logiciel Correctude exactitude, complétude de la sortie requise disponibilité, caractère à jour de l'information Effort requis pour localiser et corriger une erreur (lisibilité, traçabilité, accessibilité, etc.) Y contribue : Qualité de la documentation Règle de présentation et de nommage Modularité Traitement des erreurs 29 Facteurs de qualité de logiciel Fiabilité taux de panne maximum Aptitude avec laquelle il fonctionne sans défaillance pour une durée donnée (robuste, constant, etc.). Y contribue : Disponibilité Robustesse Sécurité 30 Facteurs de qualité de logiciel  Efficacité ressources nécessaires à la fonction du logiciel Aptitude avec laquelle il fonctionne avec un optimum de ressources et de temps Y contribue :  La bonne utilisation des ressources machines (CPU, mémoire, ...) 31 Facteurs de la qualité de logiciel Intégrité (sécurité) sécurité du système logiciel, droits d'accès Aptitude avec laquelle il est protégé contre les altérations ou les accès non autorisés (protégé, confidentiel, etc.). Y contribue : La disponibilité Confidentialité 32 Facteur de la qualité du logiciel Utilisabilité habilité d'apprentissage, habilité d'usage pour la tâche requise Effort requis pour l'apprentissage et le dialogue homme/machine et la documentation (compréhensible, maniable, documenté, etc.). Y contribue : Ergonomie Facilité d'utilisation Facilité d'apprentissage 33 Facteurs de qualité du logiciel Maintenabilité effort pour identifier et corriger les pannes (documentation, lisibilité, traçabilité, accessibilité, etc.) Y contribue : Qualité de la documentation Règle de présentation uploads/Industriel/ cours-belasla-ql-v1.pdf

  • 20
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager