Maintenance Logicielle : Types, Techniques et Gestion du Changement
Classé dans Informatique
Écrit le en
français avec une taille de 6,45 KB
Types de Maintenance
Maintenance Perfective
Ce sont les mesures prises pour améliorer les systèmes de qualité interne dans tous ses aspects : la restructuration du code, la définition plus claire du système, et l'optimisation de la performance et de l'efficacité.
Maintenance Évolutive
Il s'agit des ajouts, modifications et suppressions nécessaires dans un produit logiciel pour couvrir l'expansion ou le changement dans les besoins des utilisateurs.
Maintenance Adaptative
Ce sont les changements qui affectent l'environnement dans lequel le système fonctionne, par exemple : modifications de configuration matérielle, logicielle, des gestionnaires de base de données (DB), des communications, etc.
Maintenance Corrective
Ce sont les changements nécessaires pour corriger les erreurs du logiciel.
Support Technique et Techniques d'Intervention
Dans le génie logiciel, les techniques visent à fournir des solutions pour traiter l'entretien de sorte que leur impact sur le coût du cycle de vie soit inférieur.
Solutions Techniques
Les solutions techniques peuvent être de trois types :
- 1. Reverse Engineering : Analyse d'un système pour identifier ses composantes et leurs relations, et pour créer des représentations du système sous une autre forme ou à un niveau supérieur d'abstraction.
- 2. Réingénierie (Reengineering) : Modification d'un produit logiciel, ou de certains composants, en utilisant l'analyse du système existant et l'ingénierie inverse pour la phase de reconstruction, avec des outils d'ingénierie directe, afin que cette évolution aboutisse à des niveaux plus élevés de facilité en termes de maintenance, de réutilisation, de compréhension et d'évolution.
- 3. Restructuration Logicielle : Changement de représentation d'un produit logiciel, mais au même niveau d'abstraction.
Objectifs et Définitions des Techniques
Les objectifs de ces techniques sont de fournir des méthodes pour reconstruire le logiciel, que ce soit par une reprogrammation, une refonte, ou un remaniement des caractéristiques du produit.
- Ingénierie Directe (Direct Engineering) : Correspond au développement des logiciels traditionnels.
- Reverse Engineering : C'est le processus d'analyse d'un système pour identifier ses composantes et ses interrelations et créer des représentations du système sous une autre forme ou un niveau supérieur d'abstraction.
- Réingénierie (Reengineering) : C'est l'examen et la modification d'un système permettant de reconstruire une nouvelle forme et la mise en œuvre ultérieure de cette nouvelle forme.
- Restructuration : C'est la modification du logiciel pour le rendre plus facile à comprendre et à changer.
- Remodularisation : Consiste à modifier la structure modulaire d'un système pour obtenir une nouvelle structure qui suit les principes de conception structurée.
- Analyse de la facilité d'entretien : Généralement, la maintenance porte le plus sur les modules relativement peu nombreux du système.
- Visualisation (Affichage) : Le processus le plus long pour comprendre le logiciel.
- Mesure et Analyse : Technologies importantes pour étudier certaines propriétés des programmes.
Analyse des Coûts de Maintenance (CAS)
Pour effectuer l'un des types de maintenance, il faut prendre en compte les éléments suivants :
Coûts et Difficultés de la Maintenance
Les coûts d'entretien incluent :
- Les possibilités de développement sont perdues.
- L'insatisfaction des clients lorsque l'on ne peut pas assister dans un délai acceptable une demande de réparation qui semble raisonnable.
- Les erreurs cachées qui sont introduites lors du changement du logiciel pendant la maintenance, réduisant la qualité globale du produit.
- L'effet sur les autres projets de développement lorsque le modèle impose de leur consacrer tout ou partie des ressources pour répondre aux demandes d'entretien.
Coût des activités de maintenance.
Difficultés de maintenance.
Propositions Techniques et Pratiques pour une Métrique Coût-Avantage (EV)
Les outils incluent : l'analyse coûts-avantages, l'étude de cas d'utilisation, le catalogage, le diagramme de classes, le diagramme de décomposition fonctionnelle, le diagramme de flux de données, le diagramme d'interaction d'objets, le diagramme de représentation, la matrice d'impact sur l'organisation, le modèle Entité/Relation étendu, la planification, et les présentations/ateliers.
Gestion du Changement
Les processus de gestion et de gestion du changement sont la clé de l'évolution et du développement du système. Ils permettent de contrôler les différentes versions et les changements d'un système au cours de son cycle de vie.
Principales Activités dans la Gestion du Changement
- Présenter les demandes de changement.
- S'inscrire ces demandes et fournir des rapports sur leur état.
- Fournir un journal d'audit des changements.
- Apporter une contribution à la gestion de projet.
- L'analyse d'impact détermine l'ampleur des changements requis de base pour la mise en œuvre.
Principales Activités d'Évaluation d'Impact
- Évaluer les demandes de changement sur les systèmes existants, d'autres systèmes, le matériel, les structures de données, etc.
- Développer une estimation préliminaire des ressources.
- Documenter la portée du changement et mettre à jour la demande.
Gestion de la Maintenance Logicielle
Maintenance Logicielle : Toutes les activités nécessaires pour fournir un soutien financier au système logiciel. Ces activités sont menées à la fois avant et après la livraison.
Activités de Pré-livraison
Elles incluent la planification pour les opérations post-exécution, la planification du soutien et la détermination de la logistique.
Activités Post-livraison
Elles incluent la modification du logiciel, la formation des utilisateurs, et l'exploitation d'un service d'assistance.