Université Ibn Tofail - Faculté des Sciences de Kénitra
Master Génie Logiciel Pour le Cloud
Module: Qualité du logiciel
Mme. Khadija EL MILOUDI
[Link]@[Link]
Année Universitaire 2022/2023
Introduction
• De quoi est composé un logiciel?
Les programmes
Les procédures
La documentation
Les données
Mme. Khadija El Miloudi
Les tests
2
Introduction
Qu’est ce qu’un logiciel de qualité ?
Mme. Khadija El Miloudi
3
Introduction
• La qualité logicielle:
Conformité aux exigences
Absence de bugs
Bas ratio de défauts ( # de défauts / unité de taille)
Haute fiabilité ( nombre de pannes / nombre d’heures d’opération)
Mme. Khadija El Miloudi
Temps moyen entre pannes ( probabilité d’opération sans panne dans un
délai spécifié)
…..
4
Introduction
Facteurs de non qualité ?
Mme. Khadija El Miloudi
5
Facteurs de non qualité
• Mauvaises spécifications
• Mauvaises estimations (coûts, délais)
• Mauvaise répartition des tâches
• Mauvais suivi de la part du chef de projet et du client (accompagnement,
contrôle, encadrement)
Mme. Khadija El Miloudi
• Côté technique (réalisation, manque de documentation)
• Problèmes humains (communication interne, conflits, esprit d’équipe)
• ….
6
Définitions
• Selon l’Association Française des Cercles de Qualité:
Un ensemble de principes et de méthodes organisés en stratégie globale
visant à mobiliser toute l’entreprise, en fonction d’obtenir l’entière
satisfaction du client, et ce au moindre coût.”
Mme. Khadija El Miloudi
• La qualité est l’aptitude d’un produit à satisfaire le besoin du client en
respectant ses exigences de volume, de temps et de coûts.
7
Définitions
• Selon l’IEEE, la qualité logicielle est :
Le degré avec lequel un système, un composant ou un processus satisfait
ses exigences spécifiées.
Le degré avec lequel un système, un composant ou un processus satisfait
Mme. Khadija El Miloudi
les besoins ou les attentes de ses clients/usagers.
8
Définitions
La qualité
fonctionnelle
La qualité du La qualité
logiciel structurelle
Mme. Khadija El Miloudi
La qualité
esthétique
9
Définitions
La qualité fonctionnelle:
• Un logiciel qui combine un faible taux de défauts et un haut niveau
de satisfaction utilisateur. Le logiciel doit remplir toutes les
exigences des utilisateurs et adhérer aux standards internationaux.
Mme. Khadija El Miloudi
10
Définitions
• La qualité structurelle
Logiciel qui présente une robuste architecture et peut opérer sans
panne ou performance dégradée.
Mme. Khadija El Miloudi
11
Définitions
• La qualité esthétique:
Logiciel qui a de l’élégance, de l’ergonomie, avec des commandes
faciles à utiliser et des interfaces et des écrans interactifs et des
sorties bien présentées.
Mme. Khadija El Miloudi
12
Définitions
• Une appréciation globale de la qualité tient compte :
des facteurs extérieurs, directement observables par l'utilisateur,
des facteurs intérieurs, observables par les ingénieurs lors des revues de
code ou des travaux de maintenance.
Mme. Khadija El Miloudi
13
Importance de la qualité du
logiciel
• Le logiciel est une composante majeure des systèmes informatiques ( environ
80% du coût global)
Communication ( téléphone, e-mail)
Santé
Transport ( automobile, aéronautique)
Mme. Khadija El Miloudi
Échanges économiques
….
14
Importance de la qualité du
logiciel
• Les défauts du logiciel sont extrêmement coûteux en terme:
D’argent
De réputation
De perte de vie
….
Mme. Khadija El Miloudi
15
Importance de la qualité du
logiciel
• Les développements rapides et peu soucieux de la qualité produisent
généralement des années de maintenance et d’évolutions coûteuses.
• Le logiciel prend le risque d’être abandonné plus rapidement ( vieillissement
précoce)
Mme. Khadija El Miloudi
16
Importance de la qualité du
logiciel
• Donc, la qualité ne réside pas uniquement dans le fait d’avoir un logiciel
opérationnel, mais également dans l’évaluation par rapport à des objectifs
mesurables de qualité.
Activités standardisées
Mme. Khadija El Miloudi
17
Norme ISO/IEC 25010
Mme. Khadija El Miloudi
18
Norme ISO/IEC 25010
• Selon le standard ISO / IEC 25010, la qualité d’un produit est représentée par un
ensemble de caractéristiques opérationnelles, qu’on appelle :
Facteurs de qualité / Caractéristiques
Mme. Khadija El Miloudi
■ Chaque caractéristique regroupe un ensemble de sous-caractéristiques ou
attributs de qualité
19
Norme ISO/IEC 25010
‒ L’exactitude - La complétude
Capacité Fonctionnelle ‒ L’aptitude à l’usage
‒ Le temps de réponse - La capacité
Efficience des Performances ‒ L’utilisation des ressources
‒Co-existence
Compatibilité
Qualité Logicielle
‒Interopérabilité
‒ Facilité d’apprentissage - Opérabilité - Intelligibilité
Facilité d’utilisation ‒ Protection contre les erreurs - Ergonomie - Accessibilité
‒Maturité - Disponibilité
Fiabilité
Mme. Khadija El Miloudi
‒Robustesse - Récupérabilité
‒Confidentialité - Intégrité - Authenticité
Sécurité ‒Rejet - Responsabilité
‒Modularité - Réutilisabilité - Testabilité
Maintenabilité ‒Analysibilité - Modifiabilité
‒Adaptabilité - Remplaçabilité
Portabilité ‒Installabilité
20
1- Capacité fonctionnelle
• La capacité qu'ont les fonctionnalités d'un logiciel à répondre aux exigences
et besoins explicites ou implicites des usagers.
L’exactitude
La complétude
L’aptitude à l’usage
Mme. Khadija El Miloudi
21
1- Capacité fonctionnelle
• La capacité qu'ont les fonctionnalités d'un logiciel à répondre aux exigences
et besoins explicites ou implicites des usagers.
L’éxactitude: Le produit ou système met à disposition les résultats corrects avec un
degré de précision nécessaire
Si je cherche des livres des années 80, j’ai bien la liste des livres des années 80.
Mme. Khadija El Miloudi
La complétude
L’aptitude à l’usage
22
1- Capacité fonctionnelle
• La capacité qu'ont les fonctionnalités d'un logiciel à répondre aux exigences
et besoins explicites ou implicites des usagers.
L’exactitude
La complétude: L’ensemble des fonctions couvrent toutes les tâches spécifiées et
les objectifs de l’utilisateur
Mme. Khadija El Miloudi
L’utilisateur doit pouvoir réaliser toutes les actions attendues, de la recherche à l’achat final,
en passant par l’ajout dans un panier.
L’aptitude à l’usage
23
1- Capacité fonctionnelle
• La capacité qu'ont les fonctionnalités d'un logiciel à répondre aux exigences
et besoins explicites ou implicites des usagers.
L’exactitude
La complétude
L’aptitude à l’usage : Les fonctions facilitent l’accomplissement de tâches et
d’objectifs précis
Mme. Khadija El Miloudi
L’ajout d’un article dans le panier se fait sur les pages attendues, l’utilisateur se voit
proposer des articles souvent achetés en même temps et l’enchaînement des actions fait tout
son sens.
24
2- Efficience des Performances
• Le rapport entre la quantité de ressources utilisées (moyens matériels, temps,
personnel), et la quantité de résultats délivrés.
Le temps de réponse
L’utilisation des ressources
La capacité
Mme. Khadija El Miloudi
25
2- Efficience des Performances
• Le rapport entre la quantité de ressources utilisées (moyens matériels, temps,
personnel), et la quantité de résultats délivrés.
Le temps de réponse : Les temps de réponse, de traitement et de débits d’un
produit ou d’un système, lors de l’exécution de ses fonctions, satisfont aux exigences
Mme. Khadija El Miloudi
Ex : La recherche de produits doit afficher les résultats en moins d’une seconde.
L’utilisation des ressources
La capacité
26
2- Efficience des Performances
• Le rapport entre la quantité de ressources utilisées (moyens matériels, temps,
personnel), et la quantité de résultats délivrés.
Le temps de réponse
L’utilisation des ressources : Les quantités et types de ressources utilisés par un
produit ou un système, dans l’exercice de ses fonctions, satisfont aux exigences
Mme. Khadija El Miloudi
Ex : Je souhaite qu’un serveur seul puisse supporter une charge de 1 000 utilisateurs en
simultané.
La capacité
27
2- Efficience des Performances
• Le rapport entre la quantité de ressources utilisées (moyens matériels, temps,
personnel), et la quantité de résultats délivrés.
Le temps de réponse
L’utilisation des ressources
La capacité à maintenir la performance même en cas d'utilisation intensive / Les
Mme. Khadija El Miloudi
limites maximales d’un produit ou d’un paramètre du système répondent aux
exigences
Ex : Je souhaite que mon système utilise au maximum 50Go de données par mois.
28
3- Compatibilité
• S’assurer que le logiciel fonctionne parfaitement dans son environnement
d’utilisation
Co-existence
Intéropérabilité
Mme. Khadija El Miloudi
29
3- Compatibilité
• S’assurer que le logiciel fonctionne parfaitement dans son environnement
d’utilisation
Co-existence : Un produit peut exécuter ses fonctions de manière efficace tout en
partageant un environnement et des ressources en communs avec d’autres produits,
sans impact négatif sur tout autre produit
Mme. Khadija El Miloudi
Ex : L’application de e-commerce doit co-exister avec l’application de back-office permettant de
faire les comptes de l’entreprise qui tourne sur le même serveur.
Intéropérabilité
30
3- Compatibilité
• S’assurer que le logiciel fonctionne parfaitement dans son environnement
d’utilisation
Co-existence
Intéropérabilité : Deux ou plus de systèmes, produits ou composants peuvent
échanger des informations et utiliser les informations échangées
Mme. Khadija El Miloudi
L’application de e-commerce doit dispatcher la commande aux services de livraison.
31
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité (compréhension)
Facilité d’apprentissage
Opérabilité
Protection contre les erreurs
Ergonomie
Mme. Khadija El Miloudi
Accessibilité
32
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité (compréhension) : le produit répond aux deux questions: Le produit
est-il compréhensible ? Le produit correspond-il au besoin ?
Ex : Les utilisateurs utilisent l’application pour acheter des articles dont ils ont besoin.
Mme. Khadija El Miloudi
Facilité d’apprentissage
Opérabilité
Protection contre les erreurs
Ergonomie
Accessibilité
33
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité
Facilité d’apprentissage : s’assurer que la montée en compétence sur le logiciel
n’est ni trop compliquée ni trop longue, que l’utilisateur ne se retrouve pas devant
un logiciel qui est trop compliqué à comprendre.
L’utilisateur est accompagné tout le long de son parcours sur l’ensemble du site, il comprend
Mme. Khadija El Miloudi
comment aller jusqu’à l’achat.
Opérabilité
Protection contre les erreurs
Ergonomie
Accessibilité
34
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité
la facilité d’apprentissage
Opérabilité : Un produit ou un système a des attributs qui le rend facile à utiliser
et à contrôler
Mme. Khadija El Miloudi
Je peux contrôler l’intérieur de mon panier, retirer des articles ajoutés par erreur, visualiser
le prix final après éventuelles réductions.
Protection contre les erreurs
Ergonomie
Accessibilité
35
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité
la facilité d’apprentissage :
Opérabilité :
Protection contre les erreurs : Un produit ou un système est protégé contre les
erreurs issues des utilisateurs
Mme. Khadija El Miloudi
Ex : Si l’utilisateur saisit une chaîne de caractères invalides, l’application doit le détecter et
retourner un message d’erreur.
Ergonomie
Accessibilité
36
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité
la facilité d’apprentissage
Opérabilité
Protection contre les erreurs
Ergonomie : Une interface utilisateur permet une interaction agréable et
Mme. Khadija El Miloudi
satisfaisante pour l’utilisateur
Ex : Les informations importantes pour l’utilisateur s’affichent de manière claire et agréable.
Accessibilité
37
4- Facilité d’utilisation
• L'effort nécessaire pour apprendre à manipuler le logiciel :
Intelligibilité
la facilité d’apprentissage
Opérabilité
Protection contre les erreurs
Ergonomie
Mme. Khadija El Miloudi
Accessibilité : Un produit ou un système peut être utilisé par des personnes âgées
ou avec un handicap.
Ex : L’application est suffisamment simple pour pouvoir être utilisée par des personnes de
plus de 60 ans.
38
5- La fiabilité
• La capacité d'un logiciel de rendre des résultats corrects quelle que soient
les conditions d'exploitation :
Maturité
Disponibilité
Robustesse
Mme. Khadija El Miloudi
Récupérabilité
39
5- La fiabilité
• La capacité d'un logiciel de rendre des résultats corrects quelle que soient
les conditions d'exploitation :
Maturité : Un système, un produit ou un composant répond aux besoins de
fiabilité en fonctionnement normal
Mme. Khadija El Miloudi
Ex : L’application est stable et opérationnelle.
Disponibilité
Robustesse
Récupérabilité
40
5- La fiabilité
• La capacité d'un logiciel de rendre des résultats corrects quelle que soient
les conditions d'exploitation :
Maturité :
Disponibilité : Un système, un produit ou un composant est opérationnel et
accessible au besoin
Mme. Khadija El Miloudi
Ex : L’application est accessible en ligne 24/24, 7/7, à un taux de disponibilité de
99,9%.
Robustesse
Récupérabilité
41
5- La fiabilité
• La capacité d'un logiciel de rendre des résultats corrects quelle que soient
les conditions d'exploitation :
Maturité
Disponibilité
Robustesse : Un système, un produit ou un composant fonctionne comme prévu
malgré la présence de pannes matérielles ou logicielles
Mme. Khadija El Miloudi
Ex : Si un serveur tombe, un autre prend le relai en moins d’une seconde. Les erreurs
logicielles ne font pas tomber le matériel.
Récupérabilité
42
5- La fiabilité
• La capacité d'un logiciel de rendre des résultats corrects quelle que soient
les conditions d'exploitation :
Maturité
Disponibilité
Robustesse
Mme. Khadija El Miloudi
Récupérabilité : En cas d’interruption ou de défaillance, un produit ou un
système peut récupérer les données directement affectées et rétablir l’état
souhaité du système
Ex : Le serveur ayant pris le relai a gardé les articles dans les paniers de tous les
utilisateurs actuellement connectés
43
6- La sécurité
• S’assurer que les règles à mettre en place afin de garantir une sécurité
acceptable (en fonction de la criticité des données ou informations à
protéger) sont bien mis en place.
Confidentialité
Intégrité
Mme. Khadija El Miloudi
Rejet
Responsabilité
Authenticité
44
6- La sécurité
• S’assurer que les règles à mettre en place afin de garantir une sécurité
acceptable (en fonction de la criticité des données ou informations à
protéger) sont bien mis en place.
Confidentialité : Un produit ou un système garantit que les données ne sont
accessibles qu’aux personnes autorisées à y avoir accès
Ex : Le gérant de l’application a des accès à des données que les autres
Mme. Khadija El Miloudi
utilisateurs ne peuvent pas obtenir de quelque façon que ce soit.
Intégrité
Rejet
Responsabilité
Authenticité
45
6- La sécurité
• S’assurer que les règles à mettre en place afin de garantir une sécurité
acceptable (en fonction de la criticité des données ou informations à
protéger) sont bien mis en place.
Confidentialité
Intégrité : Un système, un produit ou un composant empêche l’accès non
autorisé à des programmes informatiques ou des données, ou la modification de
Mme. Khadija El Miloudi
ceux-ci
Ex : Seuls les accès via l’application de e-commerce peuvent modifier le
contenu du panier des utilisateurs.
Rejet
Responsabilité
Authenticité 46
6- La sécurité
• S’assurer que les règles à mettre en place afin de garantir une sécurité
acceptable (en fonction de la criticité des données ou informations à protéger)
sont bien mis en place.
Confidentialité
Intégrité
Rejet : Des actions ou des événements peuvent être prouvés avoir eu lieu, de
Mme. Khadija El Miloudi
sorte que les événements ou les actions ne peuvent être répudiées plus tard
Ex : La validation de l’achat et du paiement ne peuvent être contestés.
Responsabilité
Authenticité
47
6- La sécurité
• S’assurer que les règles à mettre en place afin de garantir une sécurité
acceptable (en fonction de la criticité des données ou informations à protéger)
sont bien mis en place.
Confidentialité
Intégrité
Rejet
Mme. Khadija El Miloudi
Responsabilité : Les actions d’une entité peuvent être tracées de façon unique
Ex : Chaque action sur l’interface contient l’identité de son auteur.
Authenticité
48
6- La sécurité
• S’assurer que les règles à mettre en place afin de garantir une sécurité
acceptable (en fonction de la criticité des données ou informations à protéger)
sont bien mis en place.
Confidentialité :
Intégrité
Mme. Khadija El Miloudi
Rejet :
Responsabilité :
Authenticité : Preuve de l’identité d’un sujet ou d’une ressource
Ex : L’application garantit que c’est bien cet utilisateur qui a passé la commande.
49
7- La maintenabilité
• L'effort nécessaire en vue de corriger ou de transformer le logiciel :
Modularité
Réutilisabilité
Analysibilité
Modifiabilité
Mme. Khadija El Miloudi
Testabilité
50
7- La maintenabilité
• L'effort nécessaire en vue de corriger ou de transformer le logiciel :
Modularité : Un système ou un programme informatique est composé de
composants distincts, de sorte qu’un changement sur un composant a un impact
minimal sur les autres composants
Ex : L’ajout d’une nouvelle brique d’analyses des tendances des achats n’impose
Mme. Khadija El Miloudi
pas la refonte totale de l’application.
Réutilisabilité
Analysibilité
Modifiabilité
Testabilité
51
7- La maintenabilité
• L'effort nécessaire en vue de corriger ou de transformer le logiciel :
Modularité
Réutilisabilité : Un composant ou une brique peut être utilisé dans plusieurs
systèmes ou dans la création d’autres composants ou briques
Ex : Le module de choix de date peut être utilisé partout, aussi bien dans le profil
Mme. Khadija El Miloudi
de l’utilisateur pour sa date de naissance que pour choisir sa date de livraison à la
fin de son panier.
Analysibilité
Modifiabilité
Testabilité
52
7- La maintenabilité
• L'effort nécessaire en vue de corriger ou de transformer le logiciel :
Modularité
Réutilisabilité
Analysibilité : Capacité d’évaluer l’impact d’une modification envisagée, ou de
diagnostiquer un produit pour détecter des défaillances ou les causes de défaillance,
ou identifier des parties à modifier.
Mme. Khadija El Miloudi
Ex : Si je veux modifier la fonctionnalité d’ajout d’un article dans le panier, je sais
exactement tout ce que cela impacte. Les erreurs intervenues lors de son utilisation
sont consultables dans un journal qui me permet d’y remédier.
Modifiabilité
Testabilité 53
7- La maintenabilité
• L'effort nécessaire en vue de corriger ou de transformer le logiciel :
Modularité
Réutilisabilité
Analysibilité
Modifiabilité : Un produit ou un système peut être modifié efficacement sans
Mme. Khadija El Miloudi
introduire des défauts ou dégrader la qualité du produit existant
Ex : Le code est suffisamment bien construit et toute évolution n’entraîne pas de
régression dans les fonctionnalités existantes.
Testabilité
54
7- La maintenabilité
• L'effort nécessaire en vue de corriger ou de transformer le logiciel :
Modularité
Réutilisabilité
Analysibilité
Modifiabilité
Mme. Khadija El Miloudi
Testabilité : Efficacité et efficience avec lequel des critères de test peuvent être
établis pour un système, un produit ou un composant et des tests peuvent être
effectués pour déterminer si ces critères ont été respectés
Ex : Je dispose de différentes façons pour tester efficacement le code.
55
8- La portabilité
• L'aptitude d'un logiciel de fonctionner dans un environnement matériel ou
logiciel différent de son environnement initial:
Adaptabilité
Installabilité
Remplaçabilité
Mme. Khadija El Miloudi
56
8- La portabilité
• L'aptitude d'un logiciel de fonctionner dans un environnement matériel ou
logiciel différent de son environnement initial:
Adaptabilité : Un produit ou un système peut être adapté de manière efficace et
efficiente à des matériels, logiciels ou autres environnements opérationnels ou
d’utilisation différents ou en constante évolution
Mme. Khadija El Miloudi
Ex : Le site web peut être utilisé depuis un smartphone, peu importe son OS et
sa résolution.
Installabilité
Remplaçabilité
57
8- La portabilité
• L'aptitude d'un logiciel de fonctionner dans un environnement matériel ou
logiciel différent de son environnement initial:
Adaptabilité
Installabilité : Efficacité et efficience avec lequel un produit ou un système peut
être installé et/ou désinstallé avec succès dans un environnement spécifié
Ex: L’application peut être déployée sur une machine peu importe son OS ou sa
Mme. Khadija El Miloudi
configuration en moins de quelques minutes, voire secondes.
Remplaçabilité
58
8- La portabilité
• L'aptitude d'un logiciel de fonctionner dans un environnement matériel ou
logiciel différent de son environnement initial:
Adaptabilité
Installabilité
Remplaçabilité : Un logiciel ou un produit peut en remplacer un autre
spécifiquement pour le même usage dans le même environnement
Mme. Khadija El Miloudi
Ex : Je dois pouvoir remplacer la sous application d’achat par une autre conçue
dans une toute autre technologie sans grands impacts sur le reste du système.
59
Assurance qualité en génie
logiciel
Mme. Khadija El Miloudi
60
Définitions
• L’assurance qualité permet de mettre en œuvre un ensemble de dispositions
qui vont être prises tout au long des différentes phases de fabrication d’un
logiciel pour accroître les chances d’obtenir un logiciel qui correspond à ses
objectifs (son cahier de charge).
• Un modèle systématique et planifié de toutes les actions nécessaires pour
Mme. Khadija El Miloudi
fournir une confiance adéquate qu’un produit est conforme à ses exigences
61
Définitions
• L'assurance qualité logicielle est un modèle d'activités planifiées et
systématiques qui sont nécessaires pour fournir un degré élevé de confiance
concernant la qualité d'un produit.
• Elle fournit une évaluation de la qualité des activités de contrôle de la
qualité et aide à déterminer la validité des données ou des procédures pour
déterminer la qualité.
Mme. Khadija El Miloudi
• Elle surveille généralement les processus et méthodes logiciels utilisés dans
un projet pour assurer et maintenir la qualité du logiciel.
62
Objectifs de l’assurance qualité dans
le développement
• Assurer un niveau de confiance acceptable que le logiciel sera conforme aux
exigences fonctionnelles techniques.
• Assurer un niveau de confiance acceptable que le logiciel sera conforme aux
exigences de gestion concernant l’échéancier et le budget.
• Initier et gérer des activités visant à l'amélioration des activités de
développement et de maintenance des logiciels.
Mme. Khadija El Miloudi
63
Principes généraux de l’assurance
qualité
1. Savoir ce que vous faites
2. Savoir ce que vous devriez faire
3. Savoir mesurer la différence
Mme. Khadija El Miloudi
64
Principes généraux de l’assurance
qualité
1. Savoir ce que vous faites:
Comprendre ce qui est entrain d’être construit, comment il est construit et
ce qu’il fait.
Un processus de développement logiciel avec:
• Une structure de gestion
• Politique de rapports
• Processus de suivi
Mme. Khadija El Miloudi
2. Savoir ce que vous devriez faire
3. Savoir mesurer la différence
65
Principes généraux de l’assurance
qualité
1. Savoir ce que vous faites
2. Savoir ce que vous devriez faire:
Avoir des exigences et spécifications explicites
Un processus de développement logiciel avec:
• Analyse des exigences
• Feedback fréquent des usagers
Mme. Khadija El Miloudi
3. Savoir mesurer la différence
66
Principes généraux de l’Assurance
Qualité
1. Savoir ce que vous faites
2. Savoir ce que vous devriez faire
3. Savoir mesurer la différence:
Avoir des mesures explicites comparant ce que vous faites à ce que vous devriez faire
Quatre méthodes complémentaires:
Mme. Khadija El Miloudi
• Méthodes formelles: vérifier mathématiquement des propriétés spécifiées.
• Tests: données explicites pour exécuter le logiciel et vérifier si les résultats
correspondent aux attentes.
• Inspection: examen par humain des exigences, du code, design….basé sur des
checklist.
• Métriques: mesurer un ensemble connu de propriétés liées à la qualité.
67
Processus de l’AQL
• Vérification: Construisons nous le produit correctement?
• Validation: Construisons nous le bon produit?
• Prévention de défauts: formations, planification, simulation
Mme. Khadija El Miloudi
• Détection des défauts: inspection, test, mesures
• Suppression des défauts: isolation de fautes, analyse de fautes, test
de régression
68
Mise en place de l’AQL
• Plan qualité logicielle:
Document précisant pour un logiciel donné les phases de développement, les facteurs
et les critères de qualité ainsi que les niveaux requis de ces derniers.
• Système qualité:
Dispositif mis en place par l’entreprise pour vérifier le respect de la procédure
Mme. Khadija El Miloudi
d’Assurance Qualité
69
L’assurance Qualité Logicielle
L’assurance Qualité Logicielle:
→ Mise en œuvre d’une approche préventive de la qualité
→ Consiste en un ensemble d’actions de prévention des défauts qui accompagnent
le processus de développement des logiciels.
Mme. Khadija El Miloudi
C’est en planifiant, en mettant en place et en exécutant un
ensemble d'activités pour établir un niveau adéquat de confiance,
que l’on démontre que la qualité a été incorporée dans un logiciel.
70