La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Techniques d’Inspection du logiciel

Présentations similaires


Présentation au sujet: "Techniques d’Inspection du logiciel"— Transcription de la présentation:

1 Techniques d’Inspection du logiciel
Informatique de Base Techniques d’Inspection du logiciel 13/03/2001 InfoBase: Techniques de Re-lecture

2 InfoBase: Techniques de Re-lecture
Plan Inspection du logiciel Définition/objectif Objets Processus Coûts/avantages Comparaison Parcours structurés (structured walkthroughs) Tests 13/03/2001 InfoBase: Techniques de Re-lecture

3 InfoBase: Techniques de Re-lecture
Inspection Origine: Michael Fagan (IBM) utilisé dans un projet informatique de 1972 à 1974 publication en 1976 Définition simplifiée (IEEE Standard Glossary of Software Engineering Terminology): une technique formelle d ’évaluation par laquelle … des produits (documents) informatiques sont examinés en détail par une personne ou un groupe autre que son auteur pour y détecter des erreurs  utiliser le travail en groupe comme un moyen d'améliorer la qualité du logiciel (diminuer le nombre d'erreurs) 13/03/2001 InfoBase: Techniques de Re-lecture

4 InfoBase: Techniques de Re-lecture
Objectif IEEE Standard for Software Reviews and Audits: vérifier que des éléments de logiciels satisfont leur spécification vérifier que des éléments de logiciels satisfont certains standards identifier les dérivations par rapport aux standards ou spécifications recueillir des données sur les erreurs et l ’effort consenti n ’examine pas des alternatives ni des questions de « style ». Objectif général: améliorer la qualité du logiciel 13/03/2001 InfoBase: Techniques de Re-lecture

5 InfoBase: Techniques de Re-lecture
Idées principales Wienberg: The Psychology of Computer Programming: Les erreurs peuvent être plus facilement repérées par d'autres programmes = créations personnelles programmeur ne sais pas ou ne veut pas voir ses erreurs Si les programmes sont montrés aux autres ils deviennent moins personnel ("egoless programming") on admet plus facilement des erreurs 13/03/2001 InfoBase: Techniques de Re-lecture

6 InfoBase: Techniques de Re-lecture
Inspection: Objets Etapes et produits de l’ingénierie du logiciel Spécification de haut niveau Définition Exigences Pseudo-code Architecture Cahier des Charges Conception Code Structuration Codage et Tests Spécification de bas niveau Opération Maintenance 13/03/2001 InfoBase: Techniques de Re-lecture

7 Processus d'Inspection: Vue abstraite
Étape Logicielle Précédente 1 entrée Document à réviser Étape Logicielle 3 requêtes de changements Étape d ’Inspection 2 corrections 4 requêtes d ’améliorations Document terminé Amélioration du processus de développement de logiciel et d ’Inspection 5 sortie Étape Logicielle Suivante 13/03/2001 InfoBase: Techniques de Re-lecture

8 Processus d'Inspection: Exemple TP
1 entrée Conceptualisation et Structuration Spécification des sous-systèmes Spécification 3 requêtes de changements Diagrammes Fonctionnels et Sous-Systèmes Étape d ’Inspection 2 corrections Spécification des sous-systèmes corrigée 5 sortie Spécification de bas niveau 13/03/2001 InfoBase: Techniques de Re-lecture

9 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Requête d'Inspection Planning Réunion d'initialisation Inspection Individuelle Réunion d'Enregistrement Edition et Suivi Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

10 InfoBase: Techniques de Re-lecture
Requête d'Inspection Base volontaire: recherche de meilleure qualité Qui? L'auteur ou le propriétaire du document Choix d'un leader rôles: vérifier les critères d'entrée du document pour éviter les pertes de temps gérer tout le processus d'inspection pas un manager direct! 13/03/2001 InfoBase: Techniques de Re-lecture

11 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Planning Planning Réunion d'initialisation Inspection Individuelle Réunion d'Enregistrement Edition et Suivi Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

12 InfoBase: Techniques de Re-lecture
Planning: Activités Rôle du leader Définir: les documents nécessaires (identifier, numéroter) les objectifs (qualité attendue du document) les participants et leur rôle spécifique les méthodes (étapes, nombre de cycles, procédures) le planning des réunions (nombre et dates)  master plan Distribuer les documents Convoquer les réunions 13/03/2001 InfoBase: Techniques de Re-lecture

13 InfoBase: Techniques de Re-lecture
Planning: Documents Produit inspecté Découpé en unités à traiter à chaque réunion Documents source À partir desquels le produit a été élaboré Utilisés pour déterminer s'ils ont bien été utilisés comme sources Règles Comment bien dériver le produit à partir de la source Permettent l'objectivité dans l'inspection Documents sont sujets à questions Objectif de l'inspection = soulever des questions Question = violation apparente d'une règle 13/03/2001 InfoBase: Techniques de Re-lecture

14 Planning: Autres Documents
Checklist liste de questions précises aident à vérifier l'application correcte des règles permettent de trouver plus d'erreurs, plus facilement Procédures que faire et comment le faire pendant l'inspection Master Plan 13/03/2001 InfoBase: Techniques de Re-lecture

15 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Planning Réunion d'initialisation Réunion d'initialisation Inspection Individuelle Réunion d'Enregistrement Edition et Suivi Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

16 Réunion d'initialisation
Explication des objectifs ex: découvrir les défauts principaux, pas des erreurs secondaires, ... Formation des participants aux techniques d'inspection, explication des procédures Explication des rôles des participants Distribution des documents Présentation du planning 13/03/2001 InfoBase: Techniques de Re-lecture

17 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Planning Réunion d'initialisation Inspection Individuelle Inspection Individuelle Réunion d'Enregistrement Edition et Suivi Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

18 Inspection Individuelle
Phase importante (20 à 30% du temps d'inspection) Bien comparer Source/Produit/Règles, utiliser les checklists Noter systématiquement toutes les questions qui surviennent Définition de rôles différents Efficacité maximale (erreurs différentes trouvées par des personnes différentes) Charge de travail adaptée Définition de rôles équivalents Meilleure complétude des erreurs trouvées Différencier Erreurs principales (qui auront une grosse influence sur le reste du processus) Secondaires 13/03/2001 InfoBase: Techniques de Re-lecture

19 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Planning Réunion d'initialisation Inspection Individuelle Réunion d'Enregistrement Réunion d'Enregistrement Edition et Suivi Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

20 Réunion d'Enregistrement
En groupe Objectifs: enregistrer toutes les question identifiées individuellement identifier d'autres questions en groupe NE doit PAS décider si les questions sont des erreurs ou pas NE doit PAS discuter les questions ni leur solution(s) Activité importante: 20 à 30 % du temps Leader veille au respect du temps de la discipline Secrétaire prend note des questions soulevées 13/03/2001 InfoBase: Techniques de Re-lecture

21 Réunion d'Enregistrement: Contenu de l'Enregistrement
Questions soulevées violation de règle question d'intention à l'auteur (comprend pas quelque chose) suggestions d'amélioration du processus (règles, checklists, procédures) Nature du problème (quelle règle est violée) Sa localisation en utilisant la numérotation définie par le leader quel document emplacement dans le document Son degré de gravité critique/principale/secondaire Quand la question a été soulevée pendant la révision individuelle pendant la réunion 13/03/2001 InfoBase: Techniques de Re-lecture

22 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Planning Réunion d'initialisation Inspection Individuelle Réunion d'Enregistrement Edition et Suivi Edition et Suivi Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

23 InfoBase: Techniques de Re-lecture
Edition et Suivi Edition par l'auteur ou le propriétaire relecture de l'enregistrement classification des questions comme erreurs ou pas requalification du degré de gravité modification du produit ou demande de modification de la source (étape logicielle précédente) demande d'amélioration des règles, checklists ou procédure Suivi leader doit s'assurer que toutes les questions ont été traitées 13/03/2001 InfoBase: Techniques de Re-lecture

24 Processus d'Inspection: Vue Détaillée
Requête d'Inspection Planning Réunion d'initialisation Inspection Individuelle Réunion d'Enregistrement Edition et Suivi Sortie Sortie 13/03/2001 InfoBase: Techniques de Re-lecture

25 InfoBase: Techniques de Re-lecture
Sortie Leader vérifie que le produit rencontre des critères prédéfinis de qualité Exemple de critères nombre estimé de défauts majeurs restant par page (en fonction de l'expérience antérieure, par exemple, ceux retrouvés via les tests,…) jugement subjectif du leader Si critères non rencontrés, refaire un cycle 13/03/2001 InfoBase: Techniques de Re-lecture

26 Processus d’inspection
Application dans le TP 13/03/2001 InfoBase: Techniques de Re-lecture

27 Exemple TP: Requête d’Inspection et Planning
Leader Enseignant Objectif Trouver le maximum d’erreurs dans les spécifications Participants et rôles Chaque groupe révise les spécifications d’un autre groupe Tous les membres dans un groupe ont le même rôle 13/03/2001 InfoBase: Techniques de Re-lecture

28 Exemple TP: Planning – Documents
Produit: Spécification d'un groupe, lignes numérotées Source: Partie du Document de Conceptualisation et Structuration (diagrammes fonctionnels et sous-systèmes) de la série et qui a été assignée au groupe Règles: Pour chaque fonction identifiée dans le document source, une spécification doit apparaître dans le produit A toute donnée qui entre dans une fonction du document source correspond un paramètre d'entrée dans la spécification de la fonction correspondante du produit et inversément Toute fonction du produit est décrite par des paramètres en entrée, des résultats, une postcondition et événtuellement une précondition. Le type de chaque paramètre utilisé dans une spécification est décrit dans cette spécification ... 13/03/2001 InfoBase: Techniques de Re-lecture

29 InfoBase: Techniques de Re-lecture
Exemple TP: Planning Etapes: Un seul cycle Deux étapes 1. Révision individuelle 2. Réunion d’enregistrement Pas de correction de la spécification Planning des réunions 21/3 de 8h30 à 10h30: révision individuelle Avant 28/3: réunion d’enregistrement + rapport 13/03/2001 InfoBase: Techniques de Re-lecture

30 Exemple TP: Réunion d'initialisation
Maintenant: Explication des objectifs Formation des participants Explication des rôles des participants Présentation du planning Distribution des documents Enoncé, Conceptualisation/Structuration, Règles La spécification à réviser sera disponible au TP Amener 4 copies par groupe! 13/03/2001 InfoBase: Techniques de Re-lecture

31 Exemple TP: Révision individuelle
Utilisation d’un formulaire d’enregistrement des questions Proposition: Avant TP: lecture des règles! Au TP: 1ère lecture de la specification: première identification de questions Travail règle par règle (vérifier si elle est appliquée dans toute la spécification) ou Travail fonction par fonction (vérifier si toutes les règles sont vérifiées dans la spécification de la fonction). 13/03/2001 InfoBase: Techniques de Re-lecture

32 Exemple TP: Réunion d’enregistrement
Réunion de mise en commun des questions soulevées Notation systématique des erreurs Par un secrétaire Utilisation du formulaire Propositions d’améliorations du processus (règles et procédures) Négociation du degré de gravité 13/03/2001 InfoBase: Techniques de Re-lecture

33 Techniques d’Inspection
Coûts et Avantages 13/03/2001 InfoBase: Techniques de Re-lecture

34 Inspection: Avantages (1)
Meilleure qualité du logiciel versus "Coût" important des erreurs: "Une banque anglaise a transféré accidentellement 2 billions de livres à des companies anglaises et et américaines à cause d'une erreur de conception de logiciel qui permettait de dupliquer des instructions de paiement." Le service d'ambulances d'urgences de Londres a perdu 4 appels d'urgence… Dans un cas, on a retrouvé ces informations et envoyé une ambulance mais le patient est décédé plus tard." Meilleure productivité des programmeurs (30 à 100%) 13/03/2001 InfoBase: Techniques de Re-lecture

35 Inspection: Avantages (2)
Diminution du temps total de développement (10 à 30%) car: meilleure compréhension du problème moins d'erreurs Détection des erreurs principales TÔT  reduction de l'effort pour les corriger Diminution du coût et temps des tests (5 à 10 fois moins) car moins d'erreurs avant tests (jusqu'à 82% en moins) Diminution du coût de maintenance (10 fois moins) car: meilleure lisibilité de la documentation (specification, …) 13/03/2001 InfoBase: Techniques de Re-lecture

36 Inspection: Avantages (3)
Avantages psychologiques: meilleur moral du programeur car: travail de meilleure qualité moins de pression partage des forces et faiblesses dans le groupe (aspect formatif) réunions efficaces 13/03/2001 InfoBase: Techniques de Re-lecture

37 InfoBase: Techniques de Re-lecture
Inspection: Coût Coût de mise en place du processus d'Inspection formation des leaders formation du management définition des procédures et documents Activités d'inspection elles-mêmes Activités d'amélioration du processus Achat d'outils de support (traitement de texte,…) MAIS: vite amorti (test et maintenance) 13/03/2001 InfoBase: Techniques de Re-lecture

38 InfoBase: Techniques de Re-lecture
Comparaisons (1) Parcours Structurés (Structured Walkthroughs) même idée mais un moins formalisé discussions plus libres, informelles événtuellement moins de personnes (seulement 2 possible) pas d'enregistrement systématique Révisions/Relecture (Reviews) encore moins formel 13/03/2001 InfoBase: Techniques de Re-lecture

39 InfoBase: Techniques de Re-lecture
Comparaisons (2) Techniques de Tests Similitudes: même objectif enregistrement des erreurs trouvées Différences: inspection est plus facile à utiliser inspection = statique, test = dynamique On peut faire de l'inspection de plans de tests 13/03/2001 InfoBase: Techniques de Re-lecture

40 InfoBase: Techniques de Re-lecture
Conclusion Technique relativement simple Si systématique, peut avoir des effets importants sur la qualité Peut s ’appliquer sur tous les documents Permet un amélioration progressive du processus (règles, checklists, procédures) 13/03/2001 InfoBase: Techniques de Re-lecture

41 InfoBase: Techniques de Re-lecture
Références Gilb, Graham, Software Inspection, Addison Wesley, 1993. Bell, Morrey, Pugh, Software Engineering: A Programming Approach, Prentice-Hall, 1987. 13/03/2001 InfoBase: Techniques de Re-lecture


Télécharger ppt "Techniques d’Inspection du logiciel"

Présentations similaires


Annonces Google