Vous êtes sur la page 1sur 20

Qualité du logiciel

Génie informatique
4ème année
2023/2024

Dr. Meriam FARISS


CHAPITRE 1

Introduction et concepts
de base de la qualité logicielle
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Qu’est ce que la qualité? (Quality)


« L'ensemble des propriétés et caractéristiques d'un service ou d'un produit qui lui confèrent
l'aptitude à satisfaire des besoins exprimés ou implicites »

On décrit souvent la recherche de la qualité par quatre phases successives qui partent du client,
transitent par l’entreprise pour revenir au client.
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Qu’est ce que la qualité? (Quality)


Le client a vis-à-vis du produit et de l’entreprise un certain nombre de besoins et d’attentes : c’est la
qualité attendue.
Mais ces besoins sont de deux niveaux : les uns sont exprimés (explicites), les autres sont implicites.
L’entreprise va donc s’organiser pour répondre à ces attentes grâce à des activités spécifiques et des
processus. Cette action de l’entreprise vise la qualité programmée.
Mais ce qui est prévu n’est pas toujours au rendez-vous et la qualité réalisée est parfois différente de
la qualité programmée.
C’est à partir de ces éléments bien factuels que le client va se faire une opinion sur la qualité de la
prestation de l’entreprise : c’est la qualité perçue. C’est elle qui va induire la satisfaction finale du
client car il fait ses constatations et compare – inconsciemment ou non –les résultats avec ce qu’il
attendait.
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Qu’est ce que la qualité? (Quality)


Exemples:
1. Le client exprime le besoin d’une chambre d’hôtel pour deux nuits et deux personnes (besoin
………….), mais il veut aussi qu’elle soit propre, non bruyante (besoin …………..).
2. Le client veut être livré rapidement, recevoir un colis conforme, mais aussi être servi par un
livreur aimable.
• l’entreprise fixe le délai de livraison à 24 heures, met en place du contrôle pour vérifier la
conformité des livraisons, forme le personnel.
• Un camion tombe en panne et la livraison sera faite en 4 jours au lieu d’un, un colis tombe,
le produit livré est endommagé, etc.
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Importance de la Qualité
La qualité est importante pour de nombreuses raisons :

Satisfaction du Client : Des produits ou services de haute qualité conduisent à la satisfaction du


client, à la fidélisation et à la recommandation.

Réduction des Coûts : La qualité permet de réduire les coûts liés aux erreurs, aux retours, aux
réparations et aux pertes de temps.

Conformité aux Normes : Dans de nombreux secteurs, respecter des normes de qualité est
obligatoire pour des raisons de sécurité, de santé ou de réglementation.

Innovation : La recherche constante de la qualité stimule l'innovation et l'amélioration continue.


Chapitre 1 Introduction et concepts de base de la qualité logicielle

Génie Logiciel (Software Engineering)


L'ingénierie logicielle est une discipline d'ingénierie qui concerne tous les aspects de la
production de logiciels:
Spécification logicielle (Software Specification),
Développement logiciel (Software Development),
Validation logicielle (Software Validation),
Evolution logicielle (Software Evolution)
Elle a pour objectif d'améliorer la qualité, l'efficacité en termes de temps et de budget, ainsi que
d'assurer des tests structurés.
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Logiciel (Software)
Un logiciel est un ensemble d'instructions, de données ou de programmes qui sont utilisés pour
faire fonctionner des ordinateurs et exécuter des tâches spécifiques.

En génie logiciel, les logiciels ne se limitent pas uniquement aux programmes eux-mêmes, mais
incluent également toute la documentation associée et les données de configuration nécessaires
pour que ces programmes fonctionnent correctement.
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Produits Logiciels (Software Products)

Produits génériques (Generic products)


Ce sont des logiciels produits par une organisation de développement et vendus sur le marché
ouvert à tout client capable de les acheter.

Produits personnalisés ou sur mesure (Customized products)


Ce sont des logiciels qui sont commandés par un client particulier et qui sont spécialement pour ce
client.

De plus en plus de systèmes sont désormais construits à partir d'un produit générique comme
base, qui est ensuite adapté pour répondre aux besoins d'un client. (ERPs tels que le système SAP,
en sont un exemple).
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Défis de l'Ingénierie Logicielle

● L'avancement rapide de la technologie


● L'augmentation des demandes des clients à l'étape de
développement
● Les clients ne sont pas clairs sur leurs besoins
● Exigences contradictoires
● Limitation de temps et du budget alloué
● Infrastructure/ressources limitées
● La complexité croissante des exigences du système
● Limites (boundaries) du système non définies
● Documentation complexe et incohérente
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Qualité du Logiciel (Software Quality)


La qualité logicielle englobe divers attributs et caractéristiques qui déterminent dans quelle
mesure le logiciel répond à son objectif prévu et satisfait les besoins de l'utilisateur.
La qualité logicielle se concentre sur le résultat final, qui est le produit logiciel lui-même, et
sur sa performance.

Assurance Qualité logicielle (SQA: Software Quality Assurance)


La SQA représente l’ensemble des actions planifiées et qui sont nécessaires pour fournir une
confiance adéquate qu'un élément ou un produit est conforme aux exigences techniques
établies. Ces activités sont conçues pour évaluer le processus par lequel les produits sont
développés ou fabriqués.
La SQA se concentre sur les processus et les activités impliquées dans le développement
logiciel plutôt que sur le produit final lui-même
Chapitre 1 Introduction et concepts de base de la qualité logicielle

Les normes de la qualité logicielle


ISO/IEC 25000
ISO/IEC 9126 (SQuaRE) ISO/IEC 27001

CMMI
(Capability Maturity IEEE 730 IEEE 1061
Model Integration)

Ces normes sont utilisées par les organisations pour:


• évaluer, mesurer et améliorer la qualité de leurs logiciels,
• garantir la conformité aux normes de l'industrie
• s'assurer que les logiciels répondent aux besoins des utilisateurs tout en respectant les
exigences de sécurité et de fiabilité.
Le choix de la norme dépend souvent de l'industrie, du domaine d'application et des objectifs de
l'organisation.
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126 Norme pour les Caractéristiques de la Qualité logicielle


• La norme ISO/IEC 9126 est une norme internationale qui définit un ensemble de
caractéristiques pour la qualité logicielle, facilitant ainsi le processus d'évaluation logiciel et la
spécification d'exigences fonctionnelles ou non-fonctionnelles.
• Cette norme définit 6 caractéristiques permettant de décrire la qualité du logiciel, elles-mêmes
détaillées en sous-caractéristiques. Elles contribuent à éliminer tout malentendu possible entre
le client et le prestataire:
• Le client est en mesure de comprendre clairement et de communiquer ses exigences pour
le produit à développer.
• Le prestataire est capable de comprendre l'exigence et d'évaluer avec confiance s'il est
possible de fournir le produit avec le bon niveau de qualité logicielle.

ISO/IEC : International Organization for Standardization/International Electrotechnical Commission


Chapitre 1 Introduction et concepts de base de la qualité logicielle

Les 6 caractéristiques de qualité proposées par l’ISO 9126

Norme
ISO/IEC 9126

Capacité Facilité
Fiabilité Rendement Maintenabilité Portabilité
fonctionnelle d'utilisation
(Reliability) (Efficiency) (Maintainability) (Portability)
(Functionality) (Usability)

o Adéquation o Maturité o Compréhensibilité o Comportement o Analysabilité o Adaptabilité


o Exactitude o Tolérance aux o Facilité temporel o Modifiabilité o Facilité
o Interopérabilité pannes d'apprentissage o Utilisation des o Stabilité d'Installation
o Sécurité o Capacité de o Facilité ressources o Testabilité
récupération d'exploitation
o Attraction
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126


1. Capacité fonctionnelle (Functionality)
La capacité du logiciel à fournir des fonctions qui répondent aux besoins explicites et implicites
des utilisateurs dans des conditions d'utilisation spécifiées
• Adéquation: Le logiciel peut-il effectuer les tâches requises ?
• Exactitude: Le résultat est-il conforme aux attentes ?
• Interopérabilité: Le système peut-il interagir avec un autre système ?
• Sécurité: Le système empêche-t-il l'accès non autorisé ?
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126


2. Fiabilité (Reliability)
La fiabilité évalue dans quelle mesure le logiciel fonctionne de manière cohérente dans le temps
et dans diverses conditions.
• Maturité : La plupart des défauts du logiciel ont-ils été éliminés au fil du temps ?
• Tolérance aux pannes : le logiciel est-il capable de maintenir un niveau spécifié de
performance en cas de défaillance?
• Capacité de récupération : Le logiciel peut-il reprendre son fonctionnement et restaurer les
données perdues après une défaillance ?
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126


3. Facilité d'utilisation (Usability)
Elle se concentre sur l'expérience utilisateur et évalue à quel point le logiciel est facile à utiliser, à
savoir les sous-caractéristques suivantes:
• Compréhensibilité: Est-ce que l'utilisateur comprend facilement comment utiliser le
système?
• Facilité d'apprentissage: Est-ce que l'utilisateur peut apprendre à utiliser le système
facilement?
• Facilité d'exploitation: Est-ce que l'utilisateur peut utiliser le système sans trop d'efforts ?
• Attraction: L'interface a-t-elle un aspect attrayant ?
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126


4. Rendement (Efficiency)
Cette caractéristique évalue l'efficacité avec laquelle le logiciel utilise les ressources du système.
• Comportement temporel : Est-ce que les temps de réponse et de traitement, ainsi que les
débits lors de l'exécution de ses fonctions sont rapides?
• Utilisation des ressources : Est-ce que les ressources sont utilisées efficacement? (la quantité
de ressources utilisées et la durée de cette utilisation lors de l'exécution des fonctions)
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126


5. Maintenabilité (Maintainability)
Cette caractéristique mesure la facilité avec laquelle le logiciel peut être maintenu et amélioré
tout au long de son cycle de vie.
• Analysabilité: Pouvez-vous diagnostiquer facilement les défauts ? (l'effort nécessaire pour
diagnostiquer les lacunes ou les causes des défaillances ou pour identifier les parties à
modifier)
• Modifiabilité: Le logiciel peut-il être facilement modifié ?
• Stabilité : Le logiciel peut-il continuer de fonctionner si des modifications sont apportées ?
• Testabilité: Le logiciel peut-il être testé facilement ?
Chapitre 1 Introduction et concepts de base de la qualité logicielle

La norme ISO/IEC 9126


6. Portabilité (Portability)
Cette caractéristique évalue à quel point le logiciel peut être facilement transféré ou adapté à
différents environnements ou plates-formes. .
• Adaptabilité: la capacité à s'adapter à différents environnements spécifiés sans nécessiter
d'autres actions ou moyens que ceux prévus à cet effet pour le logiciel en question
• Facilité d'Installation: Le logiciel peut-il être installé facilement ?

Vous aimerez peut-être aussi