Informatique de Base - PowerPoint PPT Presentation

About This Presentation
Title:

Informatique de Base

Description:

D finition simplifi e (IEEE Standard Glossary of Software Engineering Terminology): une ... on admet plus facilement des erreurs. 13/03/2001. InfoBase: Techniques de Re-lecture. 6 ... – PowerPoint PPT presentation

Number of Views:25
Avg rating:3.0/5.0
Slides: 42
Provided by: laurent101
Category:

less

Transcript and Presenter's Notes

Title: Informatique de Base


1
Informatique de Base
  • Techniques dInspection du logiciel

2
Plan
  • Inspection du logiciel
  • Définition/objectif
  • Objets
  • Processus
  • Coûts/avantages
  • Comparaison
  • Parcours structurés (structured walkthroughs)
  • Tests

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)

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

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

6
Inspection Objets
Etapes et produits de lingénierie du logiciel
Spécification de haut niveau
Définition Exigences
Pseudo-code
Architecture
Cahier des Charges
Conception
Code
Codage et Tests
Structuration
Spécification de bas niveau
Opération
Maintenance
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
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
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
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!

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

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

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

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

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

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

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

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

26
Processus dinspection
  • Application dans le TP

27
Exemple TPRequête dInspection et Planning
  • Leader
  • Enseignant
  • Objectif
  • Trouver le maximum derreurs dans les
    spécifications
  • Participants et rôles
  • Chaque groupe révise les spécifications dun
    autre groupe
  • Tous les membres dans un groupe ont le même rôle

28
Exemple TPPlanning 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
  • ...

29
Exemple TP Planning
  • Etapes
  • Un seul cycle
  • Deux étapes
  • 1. Révision individuelle
  • 2. Réunion denregistrement
  • Pas de correction de la spécification
  • Planning des réunions
  • 21/3 de 8h30 à 10h30 révision individuelle
  • Avant 28/3 réunion denregistrement rapport

30
Exemple TPRé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!

31
Exemple TPRévision individuelle
  • Utilisation dun formulaire denregistrement 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).

32
Exemple TPRéunion denregistrement
  • Réunion de mise en commun des questions soulevées
  • Notation systématique des erreurs
  • Par un secrétaire
  • Utilisation du formulaire
  • Propositions daméliorations du processus (règles
    et procédures)
  • Négociation du degré de gravité

33
Techniques dInspection
  • Coûts et Avantages

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)

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

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

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)

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

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

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)

41
Références
  • Gilb, Graham, Software Inspection, Addison
    Wesley, 1993.
  • Bell, Morrey, Pugh, Software Engineering A
    Programming Approach, Prentice-Hall, 1987.
Write a Comment
User Comments (0)
About PowerShow.com