Dans cet article, nous allons explorer le monde passionnant de Maintenance du logiciel. Maintenance du logiciel est un sujet qui a retenu l'attention de millions de personnes à travers le monde, suscitant un intérêt sans précédent dans diverses communautés et secteurs. Au fil des années, Maintenance du logiciel a eu un impact significatif sur la société, influençant la façon dont les gens interagissent, communiquent et perçoivent le monde qui les entoure. Depuis son émergence, Maintenance du logiciel fait l’objet de débats, d’études et d’admiration, ce qui en fait un sujet fascinant et en constante évolution. A travers cet article, nous plongerons dans le monde fascinant de Maintenance du logiciel, explorant ses origines, son impact et sa pertinence aujourd'hui.
La maintenance du logiciel (ou maintenance logicielle) désigne, en génie logiciel, les modifications apportées à un logiciel après sa mise en œuvre, pour en corriger les fautes, en améliorer l'efficacité ou autres caractéristiques, ou encore adapter celui-ci à un environnement modifié.
La norme ISO (ISO/IEC 14764, Software Engineering—Software Life Cycle Processes—Maintenance) décrit en détail les processus de maintenance logicielle. Cette norme distingue six processus de maintenance logicielle :
Il y a un certain nombre de processus, d'activités et de règles qui sont propres à la maintenance du logiciel, par exemple :
Une idée répandue est que le maintenanceur ne fait que corriger des défauts (bugs). Pourtant des études et des enquêtes indiquent depuis des années que plus de 80 % des efforts de maintenance sont consacrés à des interventions autres que correctives (Pigosky 1997). Cette notion est perpétuée par des utilisateurs qui font état de problèmes alors qu'ils ont affaire, en réalité, à des améliorations fonctionnelles du logiciel.
La maintenance et l'évolution des logiciels furent abordées pour la première fois par le Dr. Lehman, en 1969. S'étendant sur une vingtaine d'années, ses recherches aboutirent à la formulation de huit règles de l'évolution d'un logiciel (1997). Elles ont mis en lumière le fait que la maintenance est un processus évolutif et que les logiciels évoluent avec le temps. En évoluant, ils deviennent plus complexes à moins qu'une action spécifique soit engagée pour en réduire la complexité.
E.B. Swanson a identifié, au départ, trois catégories de maintenance : la corrective, l'adaptative et la perfective. Ces catégories ont été mises à jour par l'équipe de ISO/IEC 14764, avec l'ajout d'une quatrième catégorie :
La maintenance corrective et la maintenance préventive visent à corriger des erreurs ; la maintenance adaptative et la maintenance perfective répondent à une demande d'amélioration du logiciel[1].
Les problèmes majeurs de la maintenance du logiciel relèvent autant de la gestion que du domaine technique.
Les problèmes de gestion sont :
Les problèmes techniques sont liés à l'insuffisance :
Les modèles de maturité du savoir-faire qui visent spécifiquement la maintenance du logiciel sont :