SlideShare une entreprise Scribd logo
1  sur  37
Génie Logiciel
ASSURANCE QUALITÉ
Les deux facettes de la qualité
 Conformité avec la définition
(contrôlable en cours de fabrication ainsi qu'en maintenance)
 Réponse à l'attente du client
(contrôlable à la livraison principale ainsi que lors des livraisons
intermédiaires)
Contrôle qualité
 Activité tout au long du cycle de vie
 Remarque:
 plus de 50% des erreurs sont découvertes en phase
d'exploitation
 le coût de réparation croît exponentiellement avec l'avancée
dans le cycle de vie
Terminologie
 Validation
 Faisons-nous le bon produit ?
 Vérification
 Faisons-nous le produit correctement ?
 ☛ Attention, en pratique
 souvent confondus, ou pris l'un pour l'autre
 on parle de « V&V » (validation et vérification)
Terminologie IEEE
 Erreur :
 commise par le développeur
 conduit à un défaut
 Défaut :
 imperfection dans le logiciel
 conduit ou non à une panne
 Panne :
 comportement anormal d'un programme
 Terme courant mais ambigu : bogue (bug)
Qualité : Approche de McCall
 Caractéristiques « externes »
 facteurs de qualité
 Caractéristiques « internes »
 critères de qualité
 Caractéristiques mesurables
 métriques
Facteurs de qualité
 Facteurs de qualité classés en 3 catégories :
 qualités opérationnelles
(product operation)
 facilité à changer ou à corriger
(product revision)
 facilité à faire des transitions d'environnement
(product transition)
Facteurs de qualité:
Qualités opérationnelles
 Conformité aux besoins :
 le produit fait-il ce qu'on souhaite ?
 Fiabilité :
 le fait-il correctement dans tous les cas ?
 Efficacité :
 utilise-t-il au mieux les ressources matérielles / logicielles ?
 Intégrité :
 est-il protégé contre les intrusions ?
 Facilité d'emploi :
 ... au niveau de l'apprentissage, de la mise en œuvre, de la fourniture des données,
de l'interprétation des résultats, etc.
Facteurs de qualité:
Facilité à changer ou à corriger
 Maintenabilité :
 facilité avec laquelle on peut localiser et corriger les erreurs
 Flexibilité :
 facilité de modification et d'évolution
 Testabilité :
 effort requis pour tester (après modification)
Facteurs de qualité: Facilité à
faire des transitions d'environnement
 Portabilité :
 peut-on utiliser le logiciel sur une autre machine ?
 Réutilisabilité :
 peut-on réutiliser des parties du logiciel dans d'autres applications ?
 Interopérabilité :
 facilité d'interfaçage avec d'autres systèmes
Influence des facteurs de qualité
les uns sur les autres
 Ex. facteurs qui diminuent l'efficacité
 intégrité (nécessité d'introduire des vérifications)
 maintenabilité (sacrifice de l'efficacité pour la lisibilité)
 portabilité (moindre efficacité des structures portables)
 testabilité, flexibilité, réutilisabilité, interopérabilité, ...
 Ex. facteurs qui diminuent l'intégrité
 flexibilité, réutilisabilité, interopérabilité
Liens entre facteurs de qualité et
critères de qualité
Critères de
qualité(caractérist
iques internes)
Facteurs de
qualité(caractérist
iques externes)
Interrogation
Existe-il un critère majeur???
Liens entre facteurs de qualité et
critères de qualité
Critères de
qualité(caractérist
iques internes)
Facteurs de
qualité(caractérist
iques externes)
Métriques associées aux
critères de qualité
 Mesure des caractéristiques « internes »
 mesures objectives
 ex. : taille, complexité, cohésion modulaire / couplage entre modules, ...
 Mesure des caractéristiques « externes »
 évaluations stochastiques (statistiques)
 ex. : délai moyen de réponse à une requête, nombre de requêtes simultanées sans «
écrouler » un serveur, ...
☛ Ce sont des mesures a posteriori
→ arrivent parfois « trop tard »
Exemples de mesures de
critères de qualité
 Fiabilité :
 mesures stochastiques :
 temps moyen de réparation
 temps moyen entre deux pannes
 taux de disponibilité
 Portabilité :
 mesure objective :
 nb d'instructions dépendant de la plate-forme cible
Exemples de mesures de
critères de qualité
 Facilité d'utilisation :
 mesures objectives :
 nb de paramètres ayant une valeur par défaut (pertinente)
 nb d'écrans d'aide
 …
 mesures stochastiques :
 nb de fausses manipulations par jour
 nb de jours d'apprentissage
 temps de lecture / interprétation des résultats affichés
Métriques
 Métriques
 de McCabe, de Maurice Halstead, de Henry et Kafura, …
 Quantités mesurées
 concision (taille programme / taille de l'algorithme), complexité textuelle,
difficulté, effort, complexité des liaisons inter-modules (ou -classes),
encombrement d'une classe, complexité structurelle, ...
 Implémentées par des outils
 Logiscope
Exemple : Métrique de McCabe
 Mesure de la complexité structurelle
 Nombre cyclomatique
 = nb de nœuds (blocs d'instructions séquentielles)
 − nb d'arcs (branches de programme)
 + nb points d'entrée
 + nb points de sortie
 Représente le nombre de chemins indépendants
~ nb conditions + 1 (si les décisions sont binaires)
Métrique de McCabe : exemple
nb entrées = 1
nb sorties = 1
nb noeuds (blocs) = 5
nb arcs (branches) = 6
nb cyclomatique = 6 – 5 + 1 + 1 = 3
(nb décisions = 2)
Métrique de McCabe : exemple
Assurance qualité et gestion de projet
 Le contrôle qualité aide la gestion de projet :
 mesure de l'avancement
 meilleure estimation des coûts
Mais (Obstacle) :
 dilemme : moins cher ou plus sûr ?
 souvent supériorité du planning sur la qualité
 sous-estimation des ressources qui sont nécessaires à l'assurance qualité
 par les développeurs (activité jugée marginale)
 par les managers (réticence à prévoir un budget maintenance)
Moyens de l'assurance qualité
 Méthodes statiques a priori (sans exécuter le logiciel)
 examen critique de documents et de code
 analyse automatique (ou assistée) de code / spécification
 analyse statique de programme
 vérification de modèle (model checking)
 Utilisation de méthodes formelles
 Méthodes dynamiques a posteriori (en exécutant le logiciel)
 test
Examen critique de documents
 Avoir un point de vue différent de l'auteur
→ quelqu'un d'autre
 Avoir différents points de vue
→ compétences multiples
 Avoir des points de vue objectifs
→ participants hors de l'équipe de développement
Examen critique de documents
 Critiquer les aspects techniques, pas l'auteur (!)
 Juger la forme
 format [voir cours sur la documentation], structure, satisfaction des
normes du plan qualité...
 Juger le fond
 précision, non-ambiguïté, complétude, cohérence(pas de référence
imprécise ou inexistante)
 conformité par rapport aux documents amont, au plan projet…
Méthodes de relecture
 Auto-correction (desk-checking)
 relecture personnelle
 bilan : efficacité quasi nulle pour les documents amont, faible pour le code
 Lecture croisée (author-reader cycle)
 un collègue recherche des ambiguïtés, oublis, imprécisions
 bilan : efficacité faible pour les documents amont, plus adapté pour la relecture
du code
Méthodes de relecture
 Revue (walkthrough)
 discussion informelle au sein d'un groupe
 un lecteur résume paragraphe par paragraphe
 bilan : contribution moyenne à l'assurance qualité
(évaluation très liée à la prestation du lecteur)
 Revue structurée
 constitution pendant le débat d'une liste de défauts, utilisation d'une liste de
défauts typiques (checklist)
 direction des débats par un secrétaire
 bilan : bonne contribution à l'assurance qualité
Méthodes de relecture
 Inspection
 cadre de relecture plus formel
 recherche des défauts avant les débats
 suivi des décisions et corrections
 bilan : excellente contribution à l'assurance qualité
Méthodes de relecture :
Inspection
Organisation
1. préparation
● recherche des défauts
● rédaction d'un rapport de défauts
2. cycle de réunions
● examen des défauts
● prise de décision
3. suivi
● vérification des corrections ou nouvelle inspection
Méthodes de relecture :
Inspection
 Planification – pour chaque type de document :
 dates de début et de fin par rapport au plan projet
 critères de sélection des inspecteurs
 plan d'inspection (parties à inspecter)
 types de défauts les plus communs (checklist)
 formulaires d'inspection (description de défauts)
 critères de succès de l'inspection
(Ce plan figure en partie dans le plan qualité)
Méthodes de relecture :
Inspection
Responsabilités
 inspecteurs :
 responsables de la qualité du produit final
 responsables du respect des principes de qualité
 auteur :
 mise à disposition des documents à la date prévue
 fournit une opinion sur chaque défaut signalé
 secrétaire :
 enregistre les défauts considérés et les décisions prises
 assiste le modérateur
Méthodes de relecture :
Inspection
Responsabilités
 modérateur :
 responsable du bon déroulement des réunions
 convocation, tenue, suspension
 veille au maintien des objectifs et aux facteurs humains
 préside la prise de décision
Méthodes de relecture :
Inspection inspection.png
 Conséquence
 la formalisation oblige à planifier et à observer les principes de qualité
 Bilan
 excellente contribution à l'assurance qualité
 amélioration du cycle de vie (contrôle au plus tôt)
 influence positive sur la communication et la formation dans le projet
☛ la meilleure des méthodes de relecture
Exercice: trouver 4 erreurs
(Elles sont typiques)
Exercice : trouver 4 erreurs
(Elles sont typiques)
Exercice : trouver 4 erreurs
(Elles sont typiques)
12-Cours de Géniel Logiciel

Contenu connexe

Tendances

5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciel5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciellauraty3204
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels Bilel Abed
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test Imen Turki
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logicielSylvain Leroy
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de testsSabrine MASTOURA
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logicielRabia AZIZA
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitésoregh
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests FonctionnelsDATANYWARE.com
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Erradi Mohamed
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logicieldanaobrest
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...Cyrille Grandval
 
Cours génie logiciel
Cours génie logicielCours génie logiciel
Cours génie logicielaraddaoui
 
3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciellauraty3204
 

Tendances (20)

5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciel5-Cours de Géniel Logiciel
5-Cours de Géniel Logiciel
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
Test logiciel
Test logicielTest logiciel
Test logiciel
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 
Types de tests vs techniques de tests
Types de tests vs techniques de testsTypes de tests vs techniques de tests
Types de tests vs techniques de tests
 
Cycles de vie d'un logiciel
Cycles de vie d'un logicielCycles de vie d'un logiciel
Cycles de vie d'un logiciel
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
 
Présentation Tests Fonctionnels
Présentation Tests FonctionnelsPrésentation Tests Fonctionnels
Présentation Tests Fonctionnels
 
Maintenance logicielle
Maintenance logicielleMaintenance logicielle
Maintenance logicielle
 
Cours Génie Logiciel 2016
Cours Génie Logiciel 2016Cours Génie Logiciel 2016
Cours Génie Logiciel 2016
 
Metrique
MetriqueMetrique
Metrique
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Présentation banc_ test
Présentation banc_ testPrésentation banc_ test
Présentation banc_ test
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
 
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
PHPTour Lyon 2014 - Conférence - Tests unitaires Je veux mes 80% de couvertur...
 
Cours génie logiciel
Cours génie logicielCours génie logiciel
Cours génie logiciel
 
3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel3-Cours de Géniel Logiciel
3-Cours de Géniel Logiciel
 
Qualite1
Qualite1Qualite1
Qualite1
 

Similaire à 12-Cours de Géniel Logiciel

Développement efficace d'application logicielle
Développement efficace d'application logicielleDéveloppement efficace d'application logicielle
Développement efficace d'application logiciellePyxis Technologies
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdfmido04
 
Tester les applications plus efficacement
Tester les applications plus efficacementTester les applications plus efficacement
Tester les applications plus efficacementkalistick
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppthbadir
 
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continueOmnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continueXavier Callens
 
Intégration continue
Intégration continueIntégration continue
Intégration continueKlee Group
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes PratiquesEmmanuel Hugonnet
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4Emmanuel Hugonnet
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptxLatifaBen6
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de codeMehdi TAZI
 
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...Agile Montréal
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)LeClubQualiteLogicielle
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueXavier Callens
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?LeClubQualiteLogicielle
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logicielguest0032c8
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxtestuser715939
 

Similaire à 12-Cours de Géniel Logiciel (20)

Développement efficace d'application logicielle
Développement efficace d'application logicielleDéveloppement efficace d'application logicielle
Développement efficace d'application logicielle
 
formation istqb.pdf
formation istqb.pdfformation istqb.pdf
formation istqb.pdf
 
Tester les applications plus efficacement
Tester les applications plus efficacementTester les applications plus efficacement
Tester les applications plus efficacement
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
 
Assurance qualité
Assurance qualitéAssurance qualité
Assurance qualité
 
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continueOmnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex FFF sur l'intégration continue
 
Intégration continue
Intégration continueIntégration continue
Intégration continue
 
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel  - Introduction Et Bonnes PratiquesIndustrialisation Du Logiciel  - Introduction Et Bonnes Pratiques
Industrialisation Du Logiciel - Introduction Et Bonnes Pratiques
 
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4Industrialisation Du Logiciel   Introduction Et Bonnes Pratiques   V1.4
Industrialisation Du Logiciel Introduction Et Bonnes Pratiques V1.4
 
Génie Logiciel.pptx
Génie Logiciel.pptxGénie Logiciel.pptx
Génie Logiciel.pptx
 
Audit technique de code
Audit technique de codeAudit technique de code
Audit technique de code
 
Lecon 1.1
Lecon 1.1Lecon 1.1
Lecon 1.1
 
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...ATMTL23 - La QA a-t-elle reussi à prendre le virage agile?  Et saura-t-elle f...
ATMTL23 - La QA a-t-elle reussi à prendre le virage agile? Et saura-t-elle f...
 
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)20120124 05 - Le Model-based Testing aujourd'hui (Inria)
20120124 05 - Le Model-based Testing aujourd'hui (Inria)
 
Testeur agile mhc
Testeur agile   mhcTesteur agile   mhc
Testeur agile mhc
 
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continueOmnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
Omnilog 2016 - Apéro techno : Rex Identicar sur l'intégration continue
 
20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?20151013 - Réduire les coûts des tests de performance ?
20151013 - Réduire les coûts des tests de performance ?
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
RA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptxRA et CCDS - Séance 1.pptx
RA et CCDS - Séance 1.pptx
 
Methodologie projet
Methodologie projet Methodologie projet
Methodologie projet
 

Dernier

JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfInstitut de l'Elevage - Idele
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéInstitut de l'Elevage - Idele
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestionyakinekaidouchi1
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusInstitut de l'Elevage - Idele
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfInstitut de l'Elevage - Idele
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...Institut de l'Elevage - Idele
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageInstitut de l'Elevage - Idele
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)Sana REFAI
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfInstitut de l'Elevage - Idele
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfmia884611
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesInstitut de l'Elevage - Idele
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...Institut de l'Elevage - Idele
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...Institut de l'Elevage - Idele
 

Dernier (15)

JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdfJTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
JTC 2024 - SMARTER Retour sur les indicateurs de santé .pdf
 
GAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversitéGAL2024 - L'élevage laitier cultive la biodiversité
GAL2024 - L'élevage laitier cultive la biodiversité
 
comprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestioncomprehension de DDMRP dans le domaine de gestion
comprehension de DDMRP dans le domaine de gestion
 
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenusGAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
GAL2024 - Situation laitière 2023-2024 : consommation, marchés, prix et revenus
 
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdfJTC 2024 - DeCremoux_Anomalies_génétiques.pdf
JTC 2024 - DeCremoux_Anomalies_génétiques.pdf
 
JTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdfJTC 2024 La relance de la filière de la viande de chevreau.pdf
JTC 2024 La relance de la filière de la viande de chevreau.pdf
 
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
GAL2024 - Traite des vaches laitières : au coeur des stratégies d'évolution d...
 
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engageGAL2024 - Décarbonation du secteur laitier : la filière s'engage
GAL2024 - Décarbonation du secteur laitier : la filière s'engage
 
Algo II : les piles ( cours + exercices)
Algo II :  les piles ( cours + exercices)Algo II :  les piles ( cours + exercices)
Algo II : les piles ( cours + exercices)
 
CAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptxCAP2ER_GC_Presentation_Outil_20240422.pptx
CAP2ER_GC_Presentation_Outil_20240422.pptx
 
JTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdfJTC 2024 - Réglementation européenne BEA et Transport.pdf
JTC 2024 - Réglementation européenne BEA et Transport.pdf
 
Câblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdfCâblage, installation et paramétrage d’un réseau informatique.pdf
Câblage, installation et paramétrage d’un réseau informatique.pdf
 
GAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentesGAL2024 - Changements climatiques et maladies émergentes
GAL2024 - Changements climatiques et maladies émergentes
 
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
JTC 2024 - Leviers d’adaptation au changement climatique, qualité du lait et ...
 
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
GAL2024 - Renouvellement des actifs : un enjeu pour la filière laitière franç...
 

12-Cours de Géniel Logiciel

  • 2. Les deux facettes de la qualité  Conformité avec la définition (contrôlable en cours de fabrication ainsi qu'en maintenance)  Réponse à l'attente du client (contrôlable à la livraison principale ainsi que lors des livraisons intermédiaires)
  • 3. Contrôle qualité  Activité tout au long du cycle de vie  Remarque:  plus de 50% des erreurs sont découvertes en phase d'exploitation  le coût de réparation croît exponentiellement avec l'avancée dans le cycle de vie
  • 4. Terminologie  Validation  Faisons-nous le bon produit ?  Vérification  Faisons-nous le produit correctement ?  ☛ Attention, en pratique  souvent confondus, ou pris l'un pour l'autre  on parle de « V&V » (validation et vérification)
  • 5. Terminologie IEEE  Erreur :  commise par le développeur  conduit à un défaut  Défaut :  imperfection dans le logiciel  conduit ou non à une panne  Panne :  comportement anormal d'un programme  Terme courant mais ambigu : bogue (bug)
  • 6. Qualité : Approche de McCall  Caractéristiques « externes »  facteurs de qualité  Caractéristiques « internes »  critères de qualité  Caractéristiques mesurables  métriques
  • 7. Facteurs de qualité  Facteurs de qualité classés en 3 catégories :  qualités opérationnelles (product operation)  facilité à changer ou à corriger (product revision)  facilité à faire des transitions d'environnement (product transition)
  • 8. Facteurs de qualité: Qualités opérationnelles  Conformité aux besoins :  le produit fait-il ce qu'on souhaite ?  Fiabilité :  le fait-il correctement dans tous les cas ?  Efficacité :  utilise-t-il au mieux les ressources matérielles / logicielles ?  Intégrité :  est-il protégé contre les intrusions ?  Facilité d'emploi :  ... au niveau de l'apprentissage, de la mise en œuvre, de la fourniture des données, de l'interprétation des résultats, etc.
  • 9. Facteurs de qualité: Facilité à changer ou à corriger  Maintenabilité :  facilité avec laquelle on peut localiser et corriger les erreurs  Flexibilité :  facilité de modification et d'évolution  Testabilité :  effort requis pour tester (après modification)
  • 10. Facteurs de qualité: Facilité à faire des transitions d'environnement  Portabilité :  peut-on utiliser le logiciel sur une autre machine ?  Réutilisabilité :  peut-on réutiliser des parties du logiciel dans d'autres applications ?  Interopérabilité :  facilité d'interfaçage avec d'autres systèmes
  • 11. Influence des facteurs de qualité les uns sur les autres  Ex. facteurs qui diminuent l'efficacité  intégrité (nécessité d'introduire des vérifications)  maintenabilité (sacrifice de l'efficacité pour la lisibilité)  portabilité (moindre efficacité des structures portables)  testabilité, flexibilité, réutilisabilité, interopérabilité, ...  Ex. facteurs qui diminuent l'intégrité  flexibilité, réutilisabilité, interopérabilité
  • 12. Liens entre facteurs de qualité et critères de qualité Critères de qualité(caractérist iques internes) Facteurs de qualité(caractérist iques externes)
  • 14. Liens entre facteurs de qualité et critères de qualité Critères de qualité(caractérist iques internes) Facteurs de qualité(caractérist iques externes)
  • 15. Métriques associées aux critères de qualité  Mesure des caractéristiques « internes »  mesures objectives  ex. : taille, complexité, cohésion modulaire / couplage entre modules, ...  Mesure des caractéristiques « externes »  évaluations stochastiques (statistiques)  ex. : délai moyen de réponse à une requête, nombre de requêtes simultanées sans « écrouler » un serveur, ... ☛ Ce sont des mesures a posteriori → arrivent parfois « trop tard »
  • 16. Exemples de mesures de critères de qualité  Fiabilité :  mesures stochastiques :  temps moyen de réparation  temps moyen entre deux pannes  taux de disponibilité  Portabilité :  mesure objective :  nb d'instructions dépendant de la plate-forme cible
  • 17. Exemples de mesures de critères de qualité  Facilité d'utilisation :  mesures objectives :  nb de paramètres ayant une valeur par défaut (pertinente)  nb d'écrans d'aide  …  mesures stochastiques :  nb de fausses manipulations par jour  nb de jours d'apprentissage  temps de lecture / interprétation des résultats affichés
  • 18. Métriques  Métriques  de McCabe, de Maurice Halstead, de Henry et Kafura, …  Quantités mesurées  concision (taille programme / taille de l'algorithme), complexité textuelle, difficulté, effort, complexité des liaisons inter-modules (ou -classes), encombrement d'une classe, complexité structurelle, ...  Implémentées par des outils  Logiscope
  • 19. Exemple : Métrique de McCabe  Mesure de la complexité structurelle  Nombre cyclomatique  = nb de nœuds (blocs d'instructions séquentielles)  − nb d'arcs (branches de programme)  + nb points d'entrée  + nb points de sortie  Représente le nombre de chemins indépendants ~ nb conditions + 1 (si les décisions sont binaires)
  • 20. Métrique de McCabe : exemple nb entrées = 1 nb sorties = 1 nb noeuds (blocs) = 5 nb arcs (branches) = 6 nb cyclomatique = 6 – 5 + 1 + 1 = 3 (nb décisions = 2)
  • 21. Métrique de McCabe : exemple
  • 22. Assurance qualité et gestion de projet  Le contrôle qualité aide la gestion de projet :  mesure de l'avancement  meilleure estimation des coûts Mais (Obstacle) :  dilemme : moins cher ou plus sûr ?  souvent supériorité du planning sur la qualité  sous-estimation des ressources qui sont nécessaires à l'assurance qualité  par les développeurs (activité jugée marginale)  par les managers (réticence à prévoir un budget maintenance)
  • 23. Moyens de l'assurance qualité  Méthodes statiques a priori (sans exécuter le logiciel)  examen critique de documents et de code  analyse automatique (ou assistée) de code / spécification  analyse statique de programme  vérification de modèle (model checking)  Utilisation de méthodes formelles  Méthodes dynamiques a posteriori (en exécutant le logiciel)  test
  • 24. Examen critique de documents  Avoir un point de vue différent de l'auteur → quelqu'un d'autre  Avoir différents points de vue → compétences multiples  Avoir des points de vue objectifs → participants hors de l'équipe de développement
  • 25. Examen critique de documents  Critiquer les aspects techniques, pas l'auteur (!)  Juger la forme  format [voir cours sur la documentation], structure, satisfaction des normes du plan qualité...  Juger le fond  précision, non-ambiguïté, complétude, cohérence(pas de référence imprécise ou inexistante)  conformité par rapport aux documents amont, au plan projet…
  • 26. Méthodes de relecture  Auto-correction (desk-checking)  relecture personnelle  bilan : efficacité quasi nulle pour les documents amont, faible pour le code  Lecture croisée (author-reader cycle)  un collègue recherche des ambiguïtés, oublis, imprécisions  bilan : efficacité faible pour les documents amont, plus adapté pour la relecture du code
  • 27. Méthodes de relecture  Revue (walkthrough)  discussion informelle au sein d'un groupe  un lecteur résume paragraphe par paragraphe  bilan : contribution moyenne à l'assurance qualité (évaluation très liée à la prestation du lecteur)  Revue structurée  constitution pendant le débat d'une liste de défauts, utilisation d'une liste de défauts typiques (checklist)  direction des débats par un secrétaire  bilan : bonne contribution à l'assurance qualité
  • 28. Méthodes de relecture  Inspection  cadre de relecture plus formel  recherche des défauts avant les débats  suivi des décisions et corrections  bilan : excellente contribution à l'assurance qualité
  • 29. Méthodes de relecture : Inspection Organisation 1. préparation ● recherche des défauts ● rédaction d'un rapport de défauts 2. cycle de réunions ● examen des défauts ● prise de décision 3. suivi ● vérification des corrections ou nouvelle inspection
  • 30. Méthodes de relecture : Inspection  Planification – pour chaque type de document :  dates de début et de fin par rapport au plan projet  critères de sélection des inspecteurs  plan d'inspection (parties à inspecter)  types de défauts les plus communs (checklist)  formulaires d'inspection (description de défauts)  critères de succès de l'inspection (Ce plan figure en partie dans le plan qualité)
  • 31. Méthodes de relecture : Inspection Responsabilités  inspecteurs :  responsables de la qualité du produit final  responsables du respect des principes de qualité  auteur :  mise à disposition des documents à la date prévue  fournit une opinion sur chaque défaut signalé  secrétaire :  enregistre les défauts considérés et les décisions prises  assiste le modérateur
  • 32. Méthodes de relecture : Inspection Responsabilités  modérateur :  responsable du bon déroulement des réunions  convocation, tenue, suspension  veille au maintien des objectifs et aux facteurs humains  préside la prise de décision
  • 33. Méthodes de relecture : Inspection inspection.png  Conséquence  la formalisation oblige à planifier et à observer les principes de qualité  Bilan  excellente contribution à l'assurance qualité  amélioration du cycle de vie (contrôle au plus tôt)  influence positive sur la communication et la formation dans le projet ☛ la meilleure des méthodes de relecture
  • 34. Exercice: trouver 4 erreurs (Elles sont typiques)
  • 35. Exercice : trouver 4 erreurs (Elles sont typiques)
  • 36. Exercice : trouver 4 erreurs (Elles sont typiques)

Notes de l'éditeur

  1. L’assurance qualité logicielle (AQL) (Qualité logicielle) est un ensemble d'activités planifiées et systématiques de toutes les actions nécessaires pour fournir une assurance suffisante qu'un logiciel produit ou modifié est conforme aux exigences et aux attentes établies. C’est l’ensemble des mesures, procédures, méthodes utilisées dans le cadre du processus de développement du logiciel afin d’obtenir le niveau de qualité souhaitée.
  2. Dans une entreprise, le contrôle qualité permet de savoir si les produits ou les services vendus par l'entreprise sont conformes : aux exigences du marché, a la demande du client, aux législations, au cahier des charges de l'entreprise. Erreur, Défaut et Panne
  3. Validation: produit correspond aux attentes du client; Verification: produit repond aux normes
  4. Qualité du logiciel: Définit les caractéristiques de l’utilisation du logiciel (manipulation, exploitation, correction des erreurs et prise en compte des évolutions)./ La qualité du logiciel est définie par son aptitude à satisfaire les besoins des utilisateurs.(Selon AFNOR)/ Elle est définie par l'ANSI comme "l'ensemble des attributs et caractéristiques d'un produit ou d'un service qui portent sur sa capacité à satisfaire des besoins donnés".
  5. Efficacité : utilise-t-il au mieux les ressources matérielles / logicielles ? Intégrité : est-il protégé contre les intrusions ?
  6. Impact fort de la modularité sur les autres facteurs.
  7. Un processus stochastique ou processus aléatoire ou fonction aléatoire représente une évolution, discrète ou à temps continu, d'une variable aléatoire. **La cohésion est le fait qu'une classe ne réponde qu'aux problématiques pour lesquelles elle à été créée **Le couplage représente le lien plus ou moins fort d'une classe avec les autres classes (toute modification sur une classe aura une incidence sur une autre).
  8. C'est le nombre de chemins linéairement indépendants qu'il est possible de suivre au sein d'une méthode Complexité cyclomatique: Se calcule sur une méthode; Indice très courant dans les programmes d'analyse de code source;
  9. Nombre de if+1 Nombre de decisions= nombre de if Nombre cyclomatique= nb de nœuds (blocs d'instructions séquentielles)− nb d'arcs (branches de programme)+ nb points d'entrée+ nb points de sortie
  10. Nombre de if + 1
  11. C’est l’ensemble des mesures, procédures, méthodes utilisées dans le cadre du processus de développement du logiciel afin d’obtenir le niveau de qualité souhaitée. La mise en œuvre d’une politique d’assurance qualité passe par la rédaction d’un Manuel Qualité présentant toutes les procédures qui pourront (devront) être utilisées dans le cadre de l’activité informatique de l’entreprise.
  12. Amont: de haut en bat. Exemple: le modèle en cascade…
  13. L'inspection de produit logiciel2 peut s'appliquer à n'importe quel produit, lisible par un humain. Il peut s'agit des spécifications d'un logiciel, des documents de conception, du code source... Les inspections sont considérés comme l'un des outils les plus efficaces pour augmenter la qualité des logiciels produits. Avec un taux d'éliminations des anomalies de 80 % à 95 %, contre 30 % pour les tests, c'est très efficace.