République Démocratique du Congo Ministère de l’enseignement supérieur et unive

République Démocratique du Congo Ministère de l’enseignement supérieur et universitaire 1ère Licence en informatique QUESTIONS SPÉCIALES DE PROGRAMMATION AVANCÉE (QSPA) GESTION DE LA QUALITÉ DU LOGICIEL : PROCESSUS, ASSURANCE QUALITÉ ET TESTS LOGICIELS Par Prof. Jean-Pierre Booto Ekionea, Ph.D. CT Hervé Kabamba Mbikayi Octobre 2017 2 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA TABLE DES MATIÈRES CHAPITRE I : INTRODUCTION CHAPITRE II : BESOINS DES UTILISATEURS ET PROCESSUS LOGICIELS CHAPITRE III : GESTION DE LA QUALITÉ CHAPITRE IV : GESTION DES TESTS LOGICIELS CHAPITRE V : AUTOMATISATION DES TESTS LOGICIELS CHAPITRE VI : EXERCICES : ETUDE DE CAS Annexes I : Étude de cas Annexe A : Cas du Super Club Vidéotron - Achat et location des films à distance Annexe B : Cas de RÉFAEC – PHP Extranet Annexe C : Le cas de la Boulangerie Lépine ltée Annexe D : Le cas d’Info Web Santé – Solution de type e-Communauté Annexe E : Le cas du Système de Réservation de Voyage Campus (SyRVoC) Annexes II : Plans qualité et de tests Annexe A : Plan qualité logiciel Annexe B : Plan des tests logiciels 3 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA CHAPITRE I : INTRODUCTION Nos objectifs d’apprentissage pour chaque étudiant(e) sont les suivants 1. Comprendre les notions de base du génie logiciel; 2. Comprendre le processus de mis en place d’un système de qualité logicielle dans un cycle de vie logiciel et pour les différents domaines d’application; 3. Appliquer un contrôle effectif de qualité logicielle en parallèle à une méthodologie de développement d’applications; 4. Définir le rôle d’une équipe d’assurance qualité effective; 5. Comprendre l’utilisation et développer un plan d’assurance qualité (PAQ); 6. Implanter et maintenir un plan et une cellule d’assurance qualité en utilisant une approche spécifique; 7. Développer les habiletés et la conscience d’une éthique de l’analyste qualité; 8. Rédiger le rapport de qualité logiciel; 9. Comprendre et être à mesure de rédiger les plans de tests et les cas de tests logiciels à partir d’un plan de qualité logiciel; 10. Gérer et coordonner les tests logiciels; 11. Effectuer l’automatisation des tests logiciel; 12. Rédiger le rapport des tests logiciel. Objectifs d’apprentissage: ► Donner à l’étudiant(e) les compétences nécessaires sur le génie logiciel, l’assurance qualité et les tests logiciels; ► Initier l’étudiant(e) aux méthodes d’assurance qualité, de vérification et de validation des tests; ► Initier l’étudiant(e) à la rédaction du plan et de rapport de qualité logiciel; ► Initier l’étudiant(e) à la rédaction du plan et de rapport de tests logiciels. Contenu : ► Bref aperçu de l’analyse des besoins des utilisateurs; ► Introduction au génie logiciel; ► Le cycle de vie du processus de développement logiciel; ► Les exigences du logiciel et l’assurance qualité du logiciel ► Code de déontologie, culture et comportement de l’ingénieur qualité ► Fondements de la qualité logicielle; ► Le contrôle et la maîtrise de la qualité; ► La gestion des tests logiciels. 1.1. Introduction au génie logiciel Du "codeur" ... au "programmeur" … à "l'ingénieur logiciel" a. Génie logiciel: "The engineer is expected to demonstrate that the design satisfies the specifications." ◊ Méthodes formelles existantes mais encore peu utilisées ◊ Génie logiciel: "A highly developed sense of responsability toward his clients and the public" ◊ "X-Software Ltd. does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of this software... " b. Génie logiciel: " Engineering practice enables ordinary practitioners so they can create sophisticated systems that work - unspectacularly, perhaps, but reliably“ ◊ Etude récente effectuée aux états unis [Standish Group 1995] 4 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA • 31% des projets non achevés ou abandonnés à la livraison • 53% des projets dépassent les ressources allouées • 16% des projets se déroulent comme prévu 1.1.1. La préhistoire du génie logiciel ◊ Années 50 et 60 : programmation empirique – Production "artisanale" de logiciels scientifiques – Royaume des "codeurs" et les "grands gourous" – Fin des années 60 : la "crise du logiciel" – Difficulté d'écrire de grands programmes – difficulté de les utiliser, difficulté de les faire évoluer – De nombreux projets échouent 1.1.1.1. La préhistoire du génie logiciel: la crise du logiciel ◊ Étude du gouvernement américain en 1979 – Payés mais jamais livrés $3.2M 47% – Livrés mais jamais utilisés $2.0M 30% – Abandonnés ou refaits $1.3M 20% – Utilisés après modification $0.2M 3% – Utilisés tel quel $0.1M 2% a. Échecs logiciels: ◊ AT&T, 1992: interruption du service téléphonie pendant 5 heures à l'est des états unis. ◊ Aéroport de Denver, 1994: logiciel de suivi des bagages, coût 3 milliard de $, retard de 18 mois. ◊ Oslo, Sept. 1993: erreur dans le système de contages des votes du parlement => nouvelles élections. ◊ etc. b. Échec du premier lancement d'Ariane V : ◊ Celle ci a explosé en vol. ◊ La cause : logiciel de plate forme inertielle repris tel quel d'Ariane IV sans nouvelle validation. ◊ Ariane V ayant des moteurs plus puissants s'incline plus rapidement que Ariane IV, pour récupérer l'accélération due à la rotation de la Terre. ◊ Les capteurs ont bien détecté cette inclinaison d'Ariane V, mais le logiciel l'a jugée non conforme au plan de tir (d'Ariane IV), et a provoqué l'ordre d'auto destruction. 5 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA ◊ En fait tout se passait bien... Coût du programme d'étude d'Ariane V : $370 000 000. c. Les ordinateurs menacent la productivité : ◊ Des milliers d'heures de travail sont perdues à essayer de faire faire à l'ordinateur ce qu'il devrait faire, ou de comprendre des messages d'erreur incompréhensibles. d. Le logiciel est la clé de différenciation des produits industriels. e. Nous utilisons du logiciel tout le temps, de plus en plus volumineux : 6 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA 90% des nouvelles fonctionnalités des automobiles sont apportées par l'électronique et l'informatique embarquées. "Il y a plus d'informatique dans la Volvo S80 que dans le chasseur F15" déclarait en janvier 2000 le Président d'Audi. Il y aura du logiciel partout : ampoules électriques, four à micro ondes, tissus des vêtements, stylos, livres, etc. f. Est-ce l’échec du génie logiciel ◊ Échec du Génie Logiciel ? Non ! • de très nombreuses avancées • les logiciels sont de plus en plus demandés et utilisés • des logiciels construits sont de plus en plus complexes ◊ Des progrès restent à faire... Un sujet essentiel ! • Recherche • Pratique industrielle • Enseignement g. Est-ce l’échec du génie logiciel ◊ Échec du Génie Logiciel ? Non ! • de très nombreuses avancées • les logiciels sont de plus en plus demandés et utilisés • des logiciels construits sont de plus en plus complexes 7 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA ◊ Des progrès restent à faire... Un sujet essentiel ! • Recherche • Pratique industrielle • Enseignement 8 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA 1.1.1.2. La préhistoire : origine du terme « génie logiciel » ◊ 1968 : "1st Conference on Software Engineering" – Génie Logiciel = Ingénierie + Logiciel – idée : la production de logiciel doit être organisée – contrôle des coûts, contrôle de la qualité, etc ◊ Idée séduisante : changement de terminologie – 1950 : codeur – 1970 : programmeur – 1990 : ingénieur logiciel ◊ Correspond réellement à une discipline d’ingénierie ? 1.1.1.3. Définition de « ingénierie »: "Creating cost-effective solutions - to practical problems - by applying scientific knowledge" [Shaw90] ◊ Ressources limitées (e.g. temps, argent, ...) ◊ Solution utile résolvant un problème concret ◊ Le problème n'est pas inventé par l'ingénieur ◊ Rigueur dans la résolution du problème ◊ Prédictibilité du résultat 1.1.1.4. Pratiques de l’ingénierie: " Engineering practice enables ordinary practitioners so they can create sophisticated systems that work - unspectacularly, perhaps, but reliably" ◊ Pas besoin d'être un génie pour être un ingénieur ! ◊ Résolution de problèmes complexes ◊ Résolution de problèmes récurrents ◊ Catalogue de solutions pour un type de problèmes ◊ Solutions sûres et éprouvées 1.1.1.5. Ingénierie et société: "The engineer is expected to demonstrate that the design satisfies the specifications." ◊ Exemple : montrer qu'un pont ne va pas s'écrouler ◊ Contraintes de sécurité imposée par la société 1.1.1.6. Ingénierie et société: "A highly developed sense of responsability toward his clients and the public" ◊ N'importe qui ne peut pas faire n'importe quoi ◊ Association, droit d'exercer la profession, etc. 1.1.1.7. Modèle d’évolution des disciplines d’ingénierie ◊ L'émergence d'une discipline d'ingénierie est un processus lent ◊ Ingénierie = production de produits industriels basée sur des connaissances scientifiques 9 © Prof. Jean-Pierre Booto Ekionea, Ph.D. QSPA 1.1.1.8. Exemple de génie chimique: production industrielle de produits chimique comme fertilisants, solvants, papier, dérivés du pétrole, etc. 1.1.1.9. Statut du génie logiciel: près de 40 ans (seulement) d'expérience et de recherche dans le domaine » Trop souvent resté dans l'artisanat » Souvent atteint un niveau commercial » Ingénierie dans certains cas isolés 1.1.2. Importance grandissante du uploads/Industriel/ qspa-manuelducours-pdf.pdf

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