Maintenance du programme
Program maintenance est le processus de modification d'un logiciel ou d'un programme après la livraison pour atteindre l'un de ces résultats -
- Corriger les erreurs
- Améliorer les performances
- Ajouter des fonctionnalités
- Supprimer les portions obsolètes
Malgré la perception courante selon laquelle la maintenance est nécessaire pour corriger les erreurs qui surviennent après la mise en service du logiciel, en réalité, la plupart des travaux de maintenance impliquent l'ajout de capacités mineures ou majeures aux modules existants. Par exemple, de nouvelles données sont ajoutées à un rapport, un nouveau champ ajouté aux formulaires de saisie, un code à modifier pour incorporer des lois gouvernementales modifiées, etc.
Types de maintenance
Les activités de maintenance peuvent être classées sous quatre rubriques -
Corrective maintenance- Ici, les erreurs qui surviennent après la mise en œuvre sur site sont corrigées. Les erreurs peuvent être signalées par les utilisateurs eux-mêmes.
Preventive maintenance - Les modifications effectuées pour éviter des erreurs à l'avenir sont appelées maintenance préventive.
Adaptive maintenance- Les modifications de l'environnement de travail nécessitent parfois des modifications du logiciel. C'est ce qu'on appelle la maintenance adaptative. Par exemple, si la politique gouvernementale en matière d'éducation change, les modifications correspondantes doivent être apportées au module de traitement des résultats des élèves du logiciel de gestion scolaire.
Perfective maintenance- Les modifications apportées au logiciel existant pour intégrer les nouvelles exigences du client sont appelées maintenance perfective. L'objectif ici est d'être toujours à jour avec les dernières technologies.
Outils de maintenance
Les développeurs de logiciels et les programmeurs utilisent de nombreux outils pour les aider dans la maintenance des logiciels. Voici quelques-uns des plus utilisés -
Program slicer - sélectionne une partie du programme qui serait affectée par le changement
Data flow analyzer - suit tous les flux de données possibles dans le logiciel
Dynamic analyzer - trace le chemin d'exécution du programme
Static analyzer - permet une visualisation générale et un résumé du programme
Dependency analyzer - aide à comprendre et à analyser l'interdépendance des différentes parties du programme