0% ont trouvé ce document utile (0 vote)
151 vues70 pages

Module: Qualité Du Logiciel: Master Génie Logiciel Pour Le Cloud

Le document présente les concepts clés de la qualité logicielle selon la norme ISO/IEC 25010, notamment les facteurs de qualité comme la capacité fonctionnelle, l'efficience des performances, la maintenabilité et la portabilité.

Transféré par

RAJA BEN BOURCH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • intégrité,
  • accessibilité,
  • détection de défauts,
  • logiciel,
  • norme ISO/IEC 25010,
  • portabilité,
  • suivi de projet,
  • coûts de développement,
  • exigences fonctionnelles,
  • récupérabilité
0% ont trouvé ce document utile (0 vote)
151 vues70 pages

Module: Qualité Du Logiciel: Master Génie Logiciel Pour Le Cloud

Le document présente les concepts clés de la qualité logicielle selon la norme ISO/IEC 25010, notamment les facteurs de qualité comme la capacité fonctionnelle, l'efficience des performances, la maintenabilité et la portabilité.

Transféré par

RAJA BEN BOURCH
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Thèmes abordés

  • intégrité,
  • accessibilité,
  • détection de défauts,
  • logiciel,
  • norme ISO/IEC 25010,
  • portabilité,
  • suivi de projet,
  • coûts de développement,
  • exigences fonctionnelles,
  • récupérabilité

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

Common questions

Alimenté par l’IA

Un logiciel garantit la sécurité des données par des mécanismes de confidentialité, qui restreignent l'accès aux informations aux seules personnes autorisées ; d'intégrité, qui empêchent l'accès ou la modification non autorisée des données ; et d'authenticité, qui vérifient l'identité des utilisateurs assurant que les actions sont effectuées par les personnes autorisées. Ces aspects renforcent la sécurité contre les menaces internes et externes .

Les principaux objectifs de l'assurance qualité sont d'assurer que le logiciel répond aux exigences fonctionnelles et techniques, respecte l'échéancier et le budget, et d'améliorer continuellement les activités de développement et maintenance. Ces objectifs sont atteints par un contrôle rigoureux des processus, l'utilisation d'inspections, tests, et métriques pour évaluer la qualité, et la prévention et détection efficace des défauts .

La portabilité logicielle permet à un logiciel de fonctionner dans divers environnements matériels et logiciels. Cela implique que le développement doit inclure des pratiques d'adaptabilité et modularité, facilitant la mise à jour ou le remplacement des composants pour différentes plateformes. La portabilité simplifie le déploiement, assure l'accès à un plus large public et réduit les contraintes liées aux spécifications de l'environnement initial .

Un logiciel de qualité est composé de programmes, procédures, documentation, données et tests. Chaque élément joue un rôle crucial dans la réduction des défauts : les programmes bien conçus suivent les normes et les exigences ; les procédures assurent un développement structuré ; la documentation aide à comprendre et maintenir le logiciel ; les données doivent être traitées correctement ; et les tests détectent les bugs avant la mise en production .

La maintenabilité influence la longévité en permettant des modifications et corrections efficaces sans introduire de nouveaux défauts, assurant ainsi l'adaptabilité du logiciel à l'évolution des besoins et des technologies. Un logiciel maintenable réduit le coût total de possession en limitant les ressources nécessaires aux mises à jour et à la résolution des problèmes, comparé à un logiciel rigide et difficile à modifier .

Les méthodes complémentaires incluent les méthodes formelles pour vérifier des propriétés mathématiques, le test pour valider les résultats, l'inspection pour les vérifications manuelles, et les métriques pour quantifier des propriétés de qualité. Elles sont nécessaires pour offrir une double assurance par différents angles d'analyse, garantissant une évaluation complète et une meilleure compréhension des failles potentielles du logiciel .

Le principe "savoir mesurer la différence" contribue à l'amélioration continue en fournissant des mesures explicites qui comparent la situation actuelle avec les exigences définies. Cela permet de détecter les écarts et les inefficacités, favorisant des ajustements précis et une meilleure planification pour prévenir de futures erreurs. L'utilisation de formalismes, inspections et tests sont des méthodologies clés pour implémenter ce principe .

Les principaux attributs de la fiabilité sont la maturité, la disponibilité, la robustesse et la récupérabilité. Dans les systèmes modernes, la maturité assure des performances stables ; la disponibilité se traduit par un accès constant aux services ; la robustesse permet au système de fonctionner correctement malgré les pannes ; et la récupérabilité assure une reprise rapide après défaillances, avec récupération des données affectées .

La conformité aux exigences assure que le logiciel répond aux besoins spécifiés, garantissant ainsi la satisfaction du client. L'absence de bugs est cruciale pour maintenir la fiabilité et renforcer la confiance des utilisateurs. Ces deux aspects, combinés, minimisent le risque d'échec et nécessitent moins d'interventions de support, contribuant donc à un logiciel de haute qualité .

Les facteurs de non-qualité, tels que mauvaises spécifications, estimations erronées et mauvaise répartition des tâches, impactent négativement la performance en causant des retards, augmentant les coûts, et diminuant la satisfaction client. Pour les atténuer, il est essentiel d'établir des exigences claires, effectuer des prévisions précises, et organiser efficacement les tâches. Un suivi rigoureux par le chef de projet et une communication fluide au sein de l'équipe sont également nécessaires .

Vous aimerez peut-être aussi