2.5 Conséquences de la non qualité des logiciels

La qualité des systèmes se résume par leur facilité d’utilisation, d’apprentissage, la vitesse de navigation, la capacité pour les utilisateurs à travailler sans faire des erreurs et leur satisfaction. La non qualité des systèmes informatiques a engendré des pertes inestimables. Nous pouvons citer par exemple l'explosion d'Ariane 5 qui a coûté un demi milliard de dollars, le 4 juin 1996. Cette explosion était due à une erreur dans une composante dont le fonctionnement n'était pourtant pas indispensable durant le vol [Jézéquel et Meyer, 1997]. Plus récemment en France, le 17 octobre 2004 suite à une panne de deux serveurs d’acheminement d’appels, l’opérateur téléphonique Bouygues Telecom n’avait aucune couverture réseau pendant 15 à 48h. Le système de réservation SOCRATE de la SNCF à plantages répétitifs ou la perte de la sonde Mariner vers Vénus à cause d’une erreur de programme FORTRAN en sont d’autres exemples. Il s’avère donc nécessaire de s’assurer de la qualité des systèmes informatiques.

Dans le cadre de nos travaux, nous nous intéressons aux facteurs de qualité du logiciel visibles par les utilisateurs. De ce point de vue, deux critères résument la qualité des logiciels, il s’agit de l’utilité et de l’utilisabilité (facilité d’utilisation). L’utilité fait référence aux fonctionnalités du logiciel tandis que l’utilisabilité concerne les usages. L’utilité et l’utilisabilité constituent les deux principales dimensions de l’acceptabilité des logiciels [Nielsen, 1993a] représentée par la figure 2.1.

Figure 2.1 Attributs de l’acceptabilité des systèmes [Nielsen, 1993a]
Figure 2.1 Attributs de l’acceptabilité des systèmes [Nielsen, 1993a]

Afin d’être acceptable, un logiciel doit être performant mais aussi utile et utilisable. En pratique [Barthet, 1988], la tentation est forte pour les informaticiens de présenter les systèmes interactifs selon leur logique de fonctionnement. Cette remarque reste d’actualité aujourd’hui, du moins, pour le domaine de l’ECD. En effet, il suffit de parcourir les actes des grandes conférences du domaine de l’ECD pour découvrir que l’évaluation de la qualité des outils obtenus dans ce domaine est à forte dominance fonctionnelle. Les habitudes, tendances, exigences des utilisateurs ne sont pas prises en compte. Pourtant, la compétence technique des logiciels de fouille de données est une condition nécessaire mais pas suffisante à l’évaluation de la qualité des ces outils. Selon la norme IEEE 830, une spécification d’exigences comprend :

Mettre des outils fonctionnellement performants à la disposition des utilisateurs n’implique pas qu’ils s’en serviront et surtout qu’ils en feront bon usage. Comme l’indique la figure 2.2, face à un outil et une tâche à réaliser, l’utilisateur final peut avoir une réaction positive, acceptant ainsi d’utiliser l’outil ou une réaction négative : il va alors soit utiliser partiellement l’outil soit ne pas l’utiliser.

Figure 2.2 Acceptabilité des logiciels
Figure 2.2 Acceptabilité des logiciels

Le but de cette étude qualitative rappelons-le est de définir une méthode permettant de découvrir, de traiter et de prévenir les problèmes graves susceptibles de se produire à l’issue de la conception d’un environnement de FVD afin d’en améliorer la qualité, en fonction des utilisateurs (de leurs actions, de leurs besoins, de leurs compétences, de leur profil, …) et en fonction de la tâche de FVD. La découverte des problèmes de qualité est faite à travers une étude de systèmes existants. Il s’en suit le développement de moyens de traitement des problèmes découverts. La prévention des problèmes est faite à travers des recommandations spécifiques au domaine de la FVD. En effet, au tout début d’un projet informatique, les usagers expriment leurs besoins en ce qui concerne le produit final. Il est nécessaire que ces besoins soient utiles, correctement et complètement exprimés.

A la suite de cette section, nous décrivons divers domaines de recherche qui proposent des techniques de détection des défaillances dans les systèmes informatiques. Les travaux en génie logiciel introduisent cet état de l’art.