01 Avr 2016
|
article de recherche
|
Technologies de l'information et des communications
Les enjeux derrière la qualité des logiciels


L'an dernier, Claude Y. Laporte, professeur agrégé de génie logiciel à l’ÉTS, était l’invité d’une émission scientifique dans laquelle il expliquait les concepts généraux de cette nouvelle discipline d’ingénierie. Diffusée chaque dimanche de 12 h 10 à 14 h, l’émission radiophonique Les années lumière (ICI Radio-Canada) se penche sur la science et sur les nombreux sujets qui gravitent autour tels que la santé, l’environnement, la recherche fondamentale, la démographie, l’urbanisme… M. Claude Y. Laporte a récemment participé à « La règle de 3 », segment de l’émission au cours duquel un chercheur est invité sur trois semaines à présenter une science déclinée en trois enjeux majeurs, soit un enjeu par semaine. Après avoir défini le génie logiciel, M. Laporte nous parle dans cet article de la qualité des logiciels. Le logiciel étant désormais omniprésent dans notre quotidien, il est primordial qu’il soit de qualité pour s’assurer de sa fiabilité, de sa facilité d’utilisation et de mise à jour et de sa sécurité, et ce pour les prochaines années et souvent, pour les prochaines décennies.
Des conséquences certaines sur le coût
Il est certain qu’un logiciel mal pensé engendrera des coûts supplémentaires pour l’organisation (p.ex. des mises à jour coûteuses). La qualité est donc un des enjeux majeurs pour les ingénieurs logiciel. On estime aujourd’hui que pour certaines organisations, les conséquences d’un logiciel de moins bonne qualité peuvent engendrer des efforts de reprise de l’ordre de 40 % à 50 % du budget initial!
Comment expliquer une si grande marge d’erreur?
La communication des besoins du client est rarement faite dans un langage mathématique; elle est faite par des humains, ce qui amène inévitablement son lot d’ambiguïtés, d’interprétations, d’omissions, de contradictions et de pertes d’information. Ces erreurs sont idéalement détectées et corrigées au fur et à mesure de l’avancement du projet. Cependant, des défauts peuvent s’immiscer dans le processus sans être décelés ni corrigés avant que le produit ne soit livré au client. Dans les organisations à haut niveau de maturité qui ont pu mettre en place des normes et des processus rigoureux et former du personnel qualifié, le pourcentage de reprise est d’environ 5 %. Cependant, si on applique ce pourcentage à un projet de développement de 200 000 lignes de codes d’un logiciel critique qui requiert environ 3 000 mois-personnes, cela entraîne une perte de 150 mois-personnes, ce qui est tout de même relativement coûteux.
Quelques exemples d’erreurs liées à une mauvaise communication
On se souvient de la sonde spatiale Mars Climate Observer qui a raté son atterrissage le 23 septembre 1999, car la poussée de ses micropropulseurs était programmée en unités de mesure anglo-saxonnes, alors que l’équipe responsable de la rectification de sa trajectoire étudiait ses données en unités de système métrique!
Quelques mois plus tard, la sonde Mars Polar Lander a connu elle aussi un revers. À seulement 40 mètres de son atterrissage, les pieds de la sonde se sont déployés, ce qui a été interprété par le logiciel comme une arrivée imminente. L’ordinateur a coupé prématurément les moteurs destinés à freiner la descente, provoquant ainsi l’écrasement de l’appareil et la perte totale de celui-ci. Les ingénieurs système avaient pourtant avisé les développeurs du logiciel de ne pas tenir compte du signal envoyé lors de la sortie des pieds, mais cette information a été perdue lors de la rédaction des spécifications logicielles.
Les mises à jour des logiciels des automobiles envoyées sur les ondes
Il est maintenant possible de corriger les erreurs de logiciel à distance dans l’industrie automobile : comme pour un ordinateur ou un cellulaire, les mises à jour de certaines voitures sont directement envoyées sur les ondes pour éviter les rappels et économiser temps et argent, à la fois pour les manufacturiers et pour les utilisateurs. Toutefois, cette possibilité amène d’autres vulnérabilités et soulève un enjeu de taille en ce qui concerne la sécurité : le piratage informatique des logiciels embarqués.
Pour entendre cette entrevue radiophonique.

Claude Laporte
Claude Y. Laporte était professeur de génie logiciel à l’ÉTS avant de prendre sa retraite. Il est l’éditeur du groupe de travail pour l’élaboration des normes ISO/IEC 29110 qui porte sur l’ingénierie de systèmes et l’ingénierie de logiciels.
Programme : Génie logiciel Génie des technologies de l'information
