View
105
Download
0
Category
Preview:
Citation preview
13/03/2001 InfoBase: Techniques de Re-lecture 1
Informatique de Base
Techniques d’Inspection du logiciel
13/03/2001 InfoBase: Techniques de Re-lecture 2
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
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
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
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
Inspection: Objets
DéfinitionExigences
Architecture
Conception
Codage et Tests
Opération
Maintenance
Structuration
Etapes et produits de l’ingénierie du logiciel
Spécificationde haut niveau
Pseudo-code
Spécification de bas niveau
Code
Cahier desCharges
13/03/2001 InfoBase: Techniques de Re-lecture 7
Processus d'Inspection: Vue abstraite
Étape d ’Inspection
Étape Logicielle
Étape LogicielleSuivante
Étape LogiciellePrécédenteDocument
à réviser
2corrections
3requêtes de changements
Documentterminé
1entrée
5sortie
Améliorationdu processus
de développement de logiciel etd ’Inspection
4requêtes
d ’améliorations
13/03/2001 InfoBase: Techniques de Re-lecture 8
Processus d'Inspection: Exemple TP
Étape d ’Inspection
Spécification
Spécificationde bas niveau
Conceptualisationet StructurationSpécification
des sous-systèmes
2corrections
3requêtes de changements
Spécificationdes sous-systèmes
corrigée
1entrée
5sortie
Diagrammes Fonctionnels
et Sous-Systèmes
13/03/2001 InfoBase: Techniques de Re-lecture 9
Processus d'Inspection: Vue Détaillée
Requêted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
Sortie
Requêted'Inspection
13/03/2001 InfoBase: Techniques de Re-lecture 10
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êted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
Sortie
Planning
13/03/2001 InfoBase: Techniques de Re-lecture 12
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
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êted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
Sortie
Réuniond'initialisation
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êted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
Sortie
InspectionIndividuelle
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êted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
Sortie
Réuniond'Enregistrement
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êted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
Sortie
Edition etSuivi
13/03/2001 InfoBase: Techniques de Re-lecture 23
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êted'Inspection
Planning
Réuniond'initialisation
InspectionIndividuelle
Réuniond'Enregistrement
Edition etSuivi
SortieSortie
13/03/2001 InfoBase: Techniques de Re-lecture 25
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
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, …)– moins d'erreurs
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
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
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
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
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
Références
Gilb, Graham, Software Inspection, Addison Wesley, 1993.
Bell, Morrey, Pugh, Software Engineering: A Programming Approach, Prentice-Hall, 1987.
Recommended