Chapitre 8 - Informatique
Transcription
Chapitre 8 - Informatique
Les revues de conception et de code source - Survol Les revues de conception et de code source lQu’est-ce que les revues de conception et de code source? lPourquoi faire les revues de conception et de code source? lLe Chapitre 8 PSP (Personnal Software Process) –les stratégies de revue –les principes de revue –les mesures de revue lLes IFT514 - Gestion des systèmes informatiques Chapitre 8 considérations de la revue 1 IFT514 - Gestion des systèmes informatiques Chapitre 8 2 L’inspection Qu’est-ce que les revues? lL’inspection fut introduite par Fagan chez IBM en 1976. lL’inspection suit un processus structuré lUn revue est une façon de reviser votre propre travail. lC’est un ensemble de méthodes –réalisé par une équipe de révision –les gestionnaires sont absents –chaque participant a un rôle bien définie –une phase de préparation est requise –l’objectif est de détecter des problèmes –les inspections –les revues de projets «walkthroughs» –les revues personnelles de produits lCes méthodes ont comme objectif de détecter et de réparer les fautes le plus tôt possible dans le cycle de développement des logiciels. IFT514 - Gestion des systèmes informatiques Chapitre 8 lL’inspection est utile pour toutes les phases du cycle de développement des logiciels. 3 Revue de projet (walkthrough) walkthrough) lLa 4 Revue personnelle du produit revue de projet suit le format d’une réunion lDans –les développeurs expliquent à l’audience le produit –l’audience peut être composé de collègues, de gestionnaires ou d’autres personnes intéressées –l’objectif est d’obtenir l’approbation de l’audience –il n’y a pas de phase de préparation qui est requise une revue personnelle –chaque professionnel revise sont propre produit –l’objectif est de détecter les fautes avant la première compilation et les premiers tests –les revues sont plus efficaces lorsqu’elles sont structurées et mesurées lLa revue personnelle du produit peut être utilisée pour l’analyse des besoins, la conception et le code source lLa revue de projet est plus utile dans les phases d’analyse de besoins et de conception IFT514 - Gestion des systèmes informatiques Chapitre 8 IFT514 - Gestion des systèmes informatiques Chapitre 8 5 IFT514 - Gestion des systèmes informatiques Chapitre 8 6 1 Taux d'élimination des fautes Pourquoi faire des revues? - 1 données démontrent que les revues sont plus efficace que les tests pour détecter des fautes 30 lLes Fautes/heure –les tests détectent de 2 à 4 fautes par heure –les revues détectent en moyenne 10 fautes par heure –des reviseurs de code expérimenté peuvent détecter 70% des fautes d’un produit –les tests permettent rarement d’excéder un taux de 50% 20 15 Revue de code 5 1 7 lLa correction des fautes trouvées lors des tests est plus dispendieuse que la correction des fautes trouvées lors des revues –lors des tests intégrés, il faut de 10 à 40 h./personne pour détecter et réparer chaque faute –les inspections prennent moins d’une heure/faute 5 6 7 8 9 10 8 Pourquoi faire des revues? - 3 lÉlimination des fautes le plus tôt possible –chaque revue, inspection, compilation, et test détecte seulement une fraction des fautes –plus le code est propre en entrant dans une phase et plus il sera propre en sortant de cette phase tôt des fautes permet une économie de temps et d’argent –plus le processus de développement est avancé et plus il est coûteux de détecter et de réparer les fautes 9 IFT514 - Gestion des systèmes informatiques Chapitre 8 10 Pourquoi les revues sont efficaces - 2 des tests lSi le système produit un résultat incorrect lors des tests, alors vous devrez –vous débutez avec un problème –alors vous devez détecter la faute –ensuite, vous concevez une solution –finalement, vous implantez et vous testez la solution les revues et les inspections –vous voyez la faute –alors vous concevez une solution –finalement, vous implantez et vous révisez la solution IFT514 - Gestion des systèmes informatiques Chapitre 8 4 IFT514 - Gestion des systèmes informatiques Chapitre 8 Pourquoi les revues sont efficaces - 1 lAvec 3 lÉlimination données d’inspection –O’Neil: il faut 25 min./faute dans 80-90% du temps –Philips: il faut 15 min./faute par opposition à 8 heures par faute lors des tests –Côté: entre 30 min. et 3h pour corriger 5 à 20 fautes lLors 2 Programme Pourquoi faire des revues? - 2 IFT514 - Gestion des systèmes informatiques Chapitre 8 test Tests 0 PSP montre que les revues détectent de 2 à 5 fois plus de fautes par heure que les tests lQuelques revue de code 10 lLe IFT514 - Gestion des systèmes informatiques Chapitre 8 Compilation compilation 25 11 –détecter ce qui est incorrect –résoudre le problème au niveau théorique –détecter l’endroit dans le programme où implanter la solution –résoudre la faute qui a causé un tel comportement lVous êtes à la recherche de ce qui n’a pas été planifié et cela peut prendre du temps IFT514 - Gestion des systèmes informatiques Chapitre 8 12 2 Pourquoi les revues sont efficaces - 3 lAvec La stratégie de revue PSP lL’objectif du PSP est de produire des programmes ayant un haut niveau de qualité à chacune des phases du cycle de développement lLa stratégie de revue qui permet d’atteindre cet objectif consiste à les revues et les inspections –vous suivez votre propre logique –lorsque vous détectez une faute, vous savez exactement où vous êtes –vous savez ce que le programme fait et ce qu’il ne devrait pas faire –donc, vous savez pourquoi c’est une faute –vous êtes dans une bonne position pour concevoir une solution complète et efficace IFT514 - Gestion des systèmes informatiques Chapitre 8 –rassembler les données sur vos revues –étudier les données –juger quelles données sont utiles pour vous –ajuster votre processus en conséquence lProcessus 13 IFT514 - Gestion des systèmes informatiques Chapitre 8 PSP suit un processus rigoureux avec –des critères d’entrée et des critères de sortie –une structure de revue –des directives, des listes de contrôle et des normes lProduire lLe but du PSP est de détecter chaque faute avant la première compilation ou le premier test lPour atteindre cet objectif, il faut –utiliser des normes de programmation –utiliser des critères de conception –mesurer et améliorer votre processus de revue IFT514 - Gestion des systèmes informatiques Chapitre 8 conception révisable a une stratégie de revue précise lRevoir la conception par étapes lVérifier que la logique implante correctement les besoins des utilisateurs IFT514 - Gestion des systèmes informatiques Chapitre 8 16 lLa stratégie de revue spécifie l’ordre dans lequel vous révisez les éléments de la conception –cela dépend de la structure du produit –par conséquent, la stratégie de revue doit être considérée durant la conception suggère que lL’objectif doit être de produire une conception pouvant être –les objectifs et les fonctions de la conception doivent être clairement établis –vous avez des critères de conception d’établies –la conception est structurée d’une façon logique IFT514 - Gestion des systèmes informatiques Chapitre 8 lSuivre Suivre une stratégie de revue précise –un contexte définie –une représentation précise –une structure claire et consistante lCela une conception révisable 15 Produire une conception révisable lUne 14 Principes de revue de conception Principes de revue lLe d’apprentissage continue –révisée par étapes –testée par étapes –intégrée par étapes 17 IFT514 - Gestion des systèmes informatiques Chapitre 8 18 3 Revoir la conception en étapes - 1 Revoir la conception en étapes - 2 lEn révisant la conception par étapes, vous vous assurez que tout est soigneusement vérifié 4. Vérifier la robustesse 5. Vérifier les appels de fonctions, de méthodes et de procédures pour une utilisation correcte Les étapes de revue suggérées 1. Vérifier que tout les éléments ont été conçues 6. Vérifier les variables spéciales, les paramètres, les types et les fichiers pour une utilisation correcte 2. Vérifier la structure et le flux d’ensemble du programme 3. Vérifier l’exactitude de la logique IFT514 - Gestion des systèmes informatiques Chapitre 8 19 Vérifier que la logique implante correctement les besoins des utilisateurs lRevoir les besoins des utilisateurs pour vous assurer que chaque fonction qui est demandée apparait dans la conception lVérifier mesures explicites –la grandeur du programme qui est révisé –le temps de révision –le nombre de fautes trouvées –le nombre de fautes non trouvées 21 mesures dérivées IFT514 - Gestion des systèmes informatiques Chapitre 8 22 Rendement de la revue - 2 rendement (yield) lLe –mesure de la qualité du processus –est le pourcentage de fautes trouvées dans un produit à un temps de revue –mesure l’efficacité de chaque étape du processus lRendement (pour une étape) = 100*(fautes trouvées)/(fautes trouvées + non trouvées) IFT514 - Gestion des systèmes informatiques Chapitre 8 lDes –rendement (« Yield ») –le nombre de LOC revue par heure –le nombre de fautes trouvées par KLOC –le nombre de fautes trouvées par heure de révision –DRL (« Defect Removal Leverage ») Rendement de la revue - 1 lLe 20 Les mesures de la revue lDes soigneusement les oublis IFT514 - Gestion des systèmes informatiques Chapitre 8 IFT514 - Gestion des systèmes informatiques Chapitre 8 23 rendement peut être calculés seulement si toutes les fautes ont été trouvées par les tests et par l’utilisation du produit lLe rendement peut être utile tôt dans le processus de développement seulement si la plupart des fautes ont été trouvées lL’utilisation de paramètres potentiels de contrôle peut nous assurer de faire des revues de haut rendement IFT514 - Gestion des systèmes informatiques Chapitre 8 24 4 «Defect Removal Leverage»: Leverage»: DRL (ratio productivité de revue vs testing) testing) mesure l’efficacité relative d’une étape d’un processsus à enlever les fautes lDRL est le nombre de fautes enlevées par heure pour l’étape d’un processus relativement à un processus de base Contrôler le processus lDRL –la base habituelle est l’unité de test –DRL(X/UT) est le DRL pour la phase X en respectant l’unité de test contrôler votre processus, vous avez besoin de mesures disponibles durant l’exécution de ce processus lLe rendement et le DRL sont très utiles, mais ils sont disponibles seulement à la fin du processus lOn a besoin de mesures –en corrélation avec le rendement –qui sont disponibles lors du développement DRL(X/UT) = (fautes par heure pour la phase X) / (fautes par heure pour l’unité de test) l IFT514 - Gestion des systèmes informatiques Chapitre 8 lPour 25 IFT514 - Gestion des systèmes informatiques Chapitre 8 26 Rendement vs. LOC/Heure - étudiant 12 Paramètres potentiels de contrôle 80 70 paramètres potentiels de contrôle pour le rendement sont Rendement lLes –Le nombre de LOC revue par heure –Le nombre de fautes trouvées par heure –Le nombre de fautes trouvées par KLOC 60 50 40 30 20 10 0 lLe meilleur paramètres de contrôle est le nombre de LOC revue par heure IFT514 - Gestion des systèmes informatiques Chapitre 8 0 200 400 600 800 LOC/Heure 27 Les LOC revue par heure IFT514 - Gestion des systèmes informatiques Chapitre 8 28 Les considérations de la revue lLes données des étudiant(e)s ont une variation considérable lCes exemples montrent que la revue structurée peut être efficace si les étudiant(e)s lLes listes de contrôle lRéviser –suivent une procédure définie –utilisent des listes de contrôle –sont habitués aux fautes que font les gens d’expérience lLes avant de compiler relations entre les revues et les inspections lLe PSP suggère de ne pas réviser plus de 200 LOC par heure IFT514 - Gestion des systèmes informatiques Chapitre 8 29 IFT514 - Gestion des systèmes informatiques Chapitre 8 30 5 Réviser avant de compiler - 1 Les listes de contrôle lLe PSP demande une révision du code avant la première compilation lLes raisons sont lLors de la réalisation d’une tâche précise, il est difficile de bien faire plus d’une chose à la fois lLa liste de contrôle définit les étapes à suivre lors de la révision lEn cochant chaque item, vous vous assurez de réviser correctement lVous pouvez établir une liste de contrôle en considérant votre expérience personnelle IFT514 - Gestion des systèmes informatiques Chapitre 8 –le temps requis pour la révision du code est le même qu’elle soit faite avant ou après la compilation –les revues de code vont permettre de détecter des fautes de syntaxe que le compilateur va manquer –les revues de code compilé ont tendance à être beaucoup moins efficaces –la compilation est également efficace avant ou après la revue du code 31 Réviser avant de compiler - 2 lLe PSP utilise la compilation pour évaluer la qualité des revues –s’il y a trop de fautes de compilation, alors une autre revue est demandée –si la compilation est adéquate, alors cela signifie que la plupart des fautes ont été trouvées lors de la revue lAprès avoir complété le PSP, vous pouvez rassembler des données sur vos revues (avant et après la compilation) et identifier lesquelles sont les plus efficaces pour vous IFT514 - Gestion des systèmes informatiques Chapitre 8 IFT514 - Gestion des systèmes informatiques Chapitre 8 32 Les revues et les inspections lL’objectif principal des inspections doit être de détecter les problèmes au niveau de l’analyse des besoins et de la conception lLorsque les programmes ont plusieurs petits problèmes, les inspecteurs sont distraits et ils manquent les problèmes les plus important lPar conséquent, il faut réviser le code avant de le faire inspecter, car cela –procure un produit de qualité pour l’inspection –montre un respect pour le temps de l’inspecteur –produit des inspections de meilleure qualité 33 IFT514 - Gestion des systèmes informatiques Chapitre 8 34 Conclusion lLes revues de conception et de code vont –améliorer la qualité de votre programme –faire économiser du temps de développement lPour faire des revues efficaces, vous devez –établir les objectifs de revue –suivre un processus de revue discipliné –mesurer et améliorer la qualité de vos revues IFT514 - Gestion des systèmes informatiques Chapitre 8 35 6