Gestion de la qualité des logiciels - Introduction

Un logiciel de qualité fait référence à un logiciel qui est raisonnablement exempt de bogues ou de défauts, est livré à temps et dans les limites du budget spécifié, répond aux exigences et / ou aux attentes et est maintenable. Dans le contexte du génie logiciel, la qualité du logiciel reflète à la foisfunctional quality aussi bien que structural quality.

  • Software Functional Quality - Il reflète dans quelle mesure il satisfait une conception donnée, en fonction des exigences fonctionnelles ou des spécifications.

  • Software Structural Quality - Il traite du traitement des exigences non fonctionnelles qui soutiennent la fourniture des exigences fonctionnelles, telles que la robustesse ou la maintenabilité, et le degré auquel le logiciel a été produit correctement.

  • Software Quality Assurance- L'assurance qualité logicielle (SQA) est un ensemble d'activités visant à garantir la qualité des processus d'ingénierie logicielle qui aboutissent finalement à des produits logiciels de qualité. Les activités établissent et évaluent les processus de fabrication des produits. Cela implique une action centrée sur les processus.

  • Software Quality Control- Le contrôle de la qualité des logiciels (SQC) est un ensemble d'activités visant à garantir la qualité des produits logiciels. Ces activités se concentrent sur la détermination des défauts des produits réellement fabriqués. Cela implique une action axée sur le produit.

Le défi de la qualité des logiciels

Dans l'industrie du logiciel, les développeurs ne déclareront jamais que le logiciel est exempt de défauts, contrairement à ce que font habituellement d'autres fabricants de produits industriels. Cette différence est due aux raisons suivantes.

Complexité du produit

C'est le nombre de modes de fonctionnement que le produit autorise. Normalement, un produit industriel n'autorise que moins de quelques milliers de modes de fonctionnement avec différentes combinaisons de ses paramètres machine. Cependant, les progiciels offrent des millions de possibilités opérationnelles. Par conséquent, assurer correctement toutes ces possibilités opérationnelles est un défi majeur pour l'industrie du logiciel.

Visibilité du produit

Les produits industriels étant visibles, la plupart de ses défauts peuvent être détectés au cours du processus de fabrication. De même, l'absence d'une pièce dans un produit industriel peut être facilement détectée dans le produit. Cependant, les défauts des produits logiciels stockés sur disquettes ou CD sont invisibles.

Développement de produits et processus de production

Dans un produit industriel, les défauts peuvent être détectés lors des phases suivantes -

  • Product development - Dans cette phase, les concepteurs et le personnel de l'assurance qualité (QA) vérifient et testent le prototype du produit pour détecter ses défauts.

  • Product production planning- Au cours de cette phase, le processus de production et les outils sont conçus et préparés. Cette phase permet également d'inspecter le produit pour détecter les défauts passés inaperçus lors de la phase de développement.

  • Manufacturing- Dans cette phase, des procédures d'AQ sont appliquées pour détecter les défaillances des produits eux-mêmes. Les défauts du produit détectés au cours de la première période de fabrication peuvent généralement être corrigés par une modification de la conception ou des matériaux du produit ou des outils de production, de manière à éliminer ces défauts dans les produits fabriqués à l'avenir.

Cependant, dans le cas des logiciels, la seule phase où des défauts peuvent être détectés est la phase de développement. Dans le cas de logiciels, la planification de la production des produits et les phases de fabrication ne sont pas nécessaires car la fabrication des copies de logiciels et l'impression des manuels des logiciels sont effectuées automatiquement.

Les facteurs affectant la détection des défauts dans les produits logiciels par rapport aux autres produits industriels sont indiqués dans le tableau suivant.

Caractéristique Produits logiciels Autres produits industriels
Complexité Des millions d'options opérationnelles mille options opérationnelles
visibilité du produit Produit invisible Difficile de détecter les défauts à vue Produit visible Détection efficace des défauts à vue
Nature du développement et processus de production peut faire des défauts en une seule phase peut détecter des défauts dans toutes les phases suivantes
  • Développement produit
  • Planification de la production des produits
  • Manufacturing

Ces caractéristiques du logiciel telles que la complexité et l'invisibilité font du développement de la méthodologie d'assurance qualité des logiciels et de sa mise en œuvre réussie un défi hautement professionnel.