Facteurs de qualité du logiciel

Les divers facteurs qui influencent le logiciel sont appelés facteurs logiciels. Ils peuvent être globalement divisés en deux catégories. La première catégorie de facteurs est de ceux qui peuvent être mesurés directement comme le nombre d'erreurs logiques, et la deuxième catégorie regroupe les facteurs qui ne peuvent être mesurés qu'indirectement. Par exemple, la maintenabilité, mais chacun des facteurs doit être mesuré pour vérifier le contenu et le contrôle de la qualité.

Plusieurs modèles de facteurs de qualité des logiciels et leur catégorisation ont été proposés au fil des ans. Le modèle classique des facteurs de qualité des logiciels, suggéré par McCall, comprend 11 facteurs (McCall et al., 1977). De même, des modèles composés de 12 à 15 facteurs ont été suggérés par Deutsch et Willis (1988) et par Evans et Marciniak (1987).

Tous ces modèles ne diffèrent pas sensiblement du modèle de McCall. Le modèle factoriel de McCall fournit une méthode pratique et à jour pour classer les exigences logicielles (Pressman, 2000).

Modèle factoriel de McCall

Ce modèle classe toutes les exigences logicielles en 11 facteurs de qualité logicielle. Les 11 facteurs sont regroupés en trois catégories: fonctionnement du produit, révision du produit et facteurs de transition du produit.

  • Product operation factors - Exactitude, fiabilité, efficacité, intégrité, convivialité.

  • Product revision factors - Maintenabilité, flexibilité, testabilité.

  • Product transition factors - Portabilité, réutilisabilité, interopérabilité.

Facteurs de qualité du logiciel d'exploitation du produit

Selon le modèle de McCall, la catégorie de fonctionnement du produit comprend cinq facteurs de qualité du logiciel, qui traitent des exigences qui affectent directement le fonctionnement quotidien du logiciel. Ils sont les suivants -

Exactitude

Ces exigences concernent l'exactitude de la sortie du système logiciel. Ils comprennent -

  • Mission de sortie

  • La précision requise de la sortie qui peut être affectée négativement par des données inexactes ou des calculs inexacts.

  • L'exhaustivité des informations de sortie, qui peuvent être affectées par des données incomplètes.

  • La mise à jour de l'information définie comme le temps entre l'événement et la réponse du système logiciel.

  • La disponibilité des informations.

  • Les normes de codage et de documentation du système logiciel.

Fiabilité

Les exigences de fiabilité traitent des pannes de service. Ils déterminent le taux de défaillance maximal autorisé du système logiciel et peuvent faire référence à l'ensemble du système ou à une ou plusieurs de ses fonctions distinctes.

Efficacité

Il traite des ressources matérielles nécessaires pour exécuter les différentes fonctions du système logiciel. Il comprend les capacités de traitement (données en MHz), sa capacité de stockage (exprimée en Mo ou Go) et la capacité de communication de données (exprimée en MBPS ou GBPS).

Il traite également du temps entre la recharge des unités portables du système, telles que les unités du système d'information situées dans des ordinateurs portables ou les unités météorologiques placées à l'extérieur.

Intégrité

Ce facteur traite de la sécurité du système logiciel, c'est-à-dire d'empêcher l'accès à des personnes non autorisées, ainsi que de faire la distinction entre le groupe de personnes à autoriser en lecture et en écriture.

Convivialité

Les exigences d'utilisabilité concernent les ressources en personnel nécessaires pour former un nouvel employé et pour faire fonctionner le système logiciel.

Facteurs de qualité de la révision du produit

Selon le modèle de McCall, trois facteurs de qualité logicielle sont inclus dans la catégorie de révision de produit. Ces facteurs sont les suivants -

Maintenabilité

Ce facteur prend en compte les efforts qui seront nécessaires par les utilisateurs et le personnel de maintenance pour identifier les raisons des défaillances logicielles, pour corriger les défaillances et pour vérifier le succès des corrections.

La flexibilité

Ce facteur concerne les capacités et les efforts nécessaires pour prendre en charge les activités de maintenance adaptative du logiciel. Il s'agit notamment d'adapter le logiciel actuel aux circonstances et aux clients supplémentaires sans changer le logiciel. Les exigences de ce facteur soutiennent également les activités de maintenance perfective, telles que les modifications et les ajouts au logiciel afin d'améliorer son service et de l'adapter aux changements de l'environnement technique ou commercial de l'entreprise.

Testabilité

Les exigences de testabilité concernent les tests du système logiciel ainsi que son fonctionnement. Il comprend des résultats intermédiaires prédéfinis, des fichiers journaux, ainsi que les diagnostics automatiques effectués par le système logiciel avant le démarrage du système, pour savoir si tous les composants du système sont en état de fonctionnement et pour obtenir un rapport sur les défauts détectés. Un autre type de ces exigences concerne les contrôles de diagnostic automatiques appliqués par les techniciens de maintenance pour détecter les causes des pannes logicielles.

Facteur de qualité du logiciel de transition de produit

Selon le modèle de McCall, trois facteurs de qualité logicielle sont inclus dans la catégorie de transition de produit qui traite de l'adaptation du logiciel à d'autres environnements et de son interaction avec d'autres systèmes logiciels. Ces facteurs sont les suivants -

Portabilité

Les exigences de portabilité tendent à l'adaptation d'un système logiciel à d'autres environnements comprenant différents matériels, différents systèmes d'exploitation, etc. Le logiciel doit pouvoir continuer à utiliser le même logiciel de base dans diverses situations.

Réutilisabilité

Ce facteur concerne l'utilisation de modules logiciels conçus à l'origine pour un projet dans un nouveau projet logiciel en cours de développement. Ils peuvent également permettre à de futurs projets d'utiliser un module donné ou un groupe de modules du logiciel actuellement développé. La réutilisation des logiciels devrait permettre d'économiser les ressources de développement, de raccourcir la période de développement et de fournir des modules de meilleure qualité.

Interopérabilité

Les exigences d'interopérabilité se concentrent sur la création d'interfaces avec d'autres systèmes logiciels ou avec d'autres micrologiciels d'équipement. Par exemple, le micrologiciel des machines de production et des équipements de test s'interface avec le logiciel de contrôle de production.