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

13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

Embed Size (px)

Citation preview

Page 1: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

13/03/2001 InfoBase: Techniques de Re-lecture 1

Informatique de Base

Techniques d’Inspection du logiciel

Page 2: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection 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

Page 3: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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)

Page 4: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 5: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection 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

Page 6: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 7: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 8: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 9: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 10: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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!

Page 11: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 12: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 13: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 14: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 15: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 16: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 17: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 18: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 19: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 20: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 21: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 22: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 23: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 24: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 25: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 26: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

13/03/2001 InfoBase: Techniques de Re-lecture 26

Processus d’inspection

Application dans le TP

Page 27: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 28: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

– ...

Page 29: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 30: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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!

Page 31: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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).

Page 32: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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é

Page 33: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

13/03/2001 InfoBase: Techniques de Re-lecture 33

Techniques d’Inspection

Coûts et Avantages

Page 34: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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%)

Page 35: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 36: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 37: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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)

Page 38: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 39: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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

Page 40: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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)

Page 41: 13/03/2001InfoBase: Techniques de Re-lecture1 Informatique de Base Techniques dInspection du logiciel

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.