Maintenance et évolution des logiciels Introduction Les changements Le dévelop

Maintenance et évolution des logiciels Introduction Les changements Le développement de logiciels mené à terme avec succès, se termine par la livraison d’un logiciel qui devrait satisfaire les exigences initiales du client. après sa mise en service, le logiciel devra subir des modifications ou changements pour répondre aux nouveaux besoins,, le cycle de vie de la maintenance ne devrait exister tout au long du processus de développement Le cycle de vie du logiciel : Le développement initial La maintenance Les modifications sont inévitables Nouveaux besoins lors de l’utilisation Nouvelles technologies L’environnement d’affaires change Les erreurs et anomalies doivent être réparées Nouveau équipement .. La performance ou la fiabilité du systèmes peuvent nécessiter des améliorations.. Importance et impact Ces changements aux systèmes existants représentent un problème critique pour les organisations Les systèmes représentent un bien commerciale critique Nécessite de maintenir la valeur de ces bien Possibilité de plus grand budget pour la maintenance que le développement Définitions Logiciel Programmes la documentation de toutes les facettes du programme la spécification, la conception, le système et les manuels d'utilisation et maintenance,,, Maintenance le fait de garder une entité dans un état de réparation actuel, d'efficacité ou de validité, pour préserver de l'échec ou du déclin. Maintenance Maintenabilité la facilité avec laquelle la maintenance peut être effectuée. Evolution un processus de changement continu d'un niveau inférieur, plus simple, à un état supérieur, plus complexe, ou mieux. ÉCOLES DE DÉFINITION DE L’ÉVOLUTION 1.la maintenance englobe l’évolution Lehman la maintenance du logiciel comme toute activité de changement d'un logiciel alors que l'évolution du logiciel signifie analyse de la dynamique d'un logiciel via des mesures. 2.l’évolution englobe la maintenance Chaplin et al le terme évolution est utilisé pour tout changement dans les besoins qui aboutit à une nouvelle version du système à partir de l’ancienne utilisent le terme maintenance pour toute activité de changement post-livraison qui est la préservation de la qualité et correction des défauts ; 3.la maintenance équivaut l’évolution « Maintenance » au sens de la norme ISO 12207 (toutes les activités de modification d’un logiciel) Sommerville affirme que la maintenance signifie l`évolution de logiciels. Différence entre la maintenance et le nouveau développement Différence entre la maintenance et le nouveau développement : Les contraintes du système existant. nécessite des délais plus courts. Les données de test disponibles. possède un certain nombre de processus et d’activités qui ne sont pas effectués par les groupes de développement du logiciel. La maintenance du logiciel fait aussi appel à des processus et à des activités du développement du logiciel Différence entre la maintenance et le nouveau développement : Les requêtes de modifications (RM) parviennent d’une manière plus ou moins aléatoire et ne peuvent pas être planifiées individuellement Les RM sont évaluées et classées par ordre de priorité, La charge de travail de la maintenance n’est pas gérée par des techniques de gestion de projet, mais plutôt par l’utilisation des techniques de gestion des files d’attente Evaluation des RM tient compte de la taille estimée de la modification et de la capacité à la réaliser à l’intérieur des contraintes de coûts et de qualité de fonctionnalité. Nécessité et Types de maintenance Nécessité de la maintenance Assurer la continuité du service : Les systèmes doivent continuer à fonctionner Soutenir les mises à jour obligatoires : Ce type de changement serait nécessaire à cause de modifications à la réglementation gouvernementale Répondre aux demandes d’amélioration des utilisateurs Faciliter les futurs travaux de maintenance : Il est souvent financièrement et commercialement justifié d'initier le changement uniquement pour faire l'entretien futur plus facile. Types de maintenances Maintenance Corrective Maintenance perfective Maintenance Adaptative Maintenance Préventive Maintenance Corrective Modifications dues aux défauts du logiciel. Ces défauts peuvent résulter d’erreur de spécifications, de choix d’architecture d’erreur de programmation, ou de tests invalides ou incomplets. problèmes de performances ou de traitements de données. « erreurs résiduelles », empêchant le logiciel d’être conforme aux spécifications. La maintenance perfective comprend tous les changements faits sur un système afin de satisfaire aux besoins de l’utilisateur. L’ajout de nouvelles fonctionnalités la redéfinition de fonctions existantes, la suppression, de fonctions inutiles Durant les diverses étapes, le système évolue grâce à l’ajout de petits programme, ou modules, facilement intégrable, aisément maintenable La maintenance adaptative fixe les différents changements qui doivent être faits afin de suivre l’environnement du système en perpétuelle évolution. Exemple, les règles fiscales, les changements de stratégies commerciales, les changements de législation, les changements de plates-formes, ou de matériel. La maintenance préventive A pour but d'anticiper tous les problèmes possibles. La maintenance préventive est une entreprise de prévention de disfonctionnement, ou d’amélioration de la maintenabilité du logiciel. Ces changements sont souvent initiés par le département de maintenance souhaitant rendre plus simple la compréhension ou la structure du programme MODÈLES DU PROCESSUS DE MAINTENANCE Modèles de maintenances Modèles non-standards Le modèle de Boehm Le modèle de rehaussement itératif Le modèle orienté réutilisation …. Modèles standards IEEE 1219 ISO/IEC 14764 IEEE Standard for Software Maintenance En 1993, l’IEEE sur une idée de Schneidewind a publié un processus itératif standard pour la gestion et l’exécution des activités de maintenance logicielle Processus de maintenance selon IEEE Classification et Identification Le processus démarre par la soumission d’une requête de modification (MR). L’entreprise de maintenance détermine tout d’abord le type de requête dont il s’agit (corrective, perfective ou adaptative). Une priorité est ensuite assignée à cette requête ainsi qu’un numéro unique. Toutes ces informations sont entrées automatiquement dans une base de données qui pourra être consultée tout au long du cycle. Analyse Une étude de faisabilité ainsi qu’une analyse détaillée sont effectuées durant cette phase. Le mainteneur prêtera attention aux impacts des modifications, il proposera plusieurs solutions alternatives et définira les coûts. L’analyse détaillée fournira différentes informations telles que des plans d’implémentation, des stratégies de test ou encore des identifications de fonctionnalités. A la fin de cette période d’analyse, l’ensemble des changements doit être totalement planifié. Conception l’ensemble des informations collectées pendant la phase précédente sont rassemblées et utilisées afin de construire le design de l’application. En fin de conception, la documentation du logiciel doit être mise à jour (plans de tests, design, analyse et exigences). Implémentation Comprend l’ensemble des processus de codage, de tests unitaires, d’intégration, … Toutes les documentations concernant le logiciel sont mises à jour. Test système permet de s’assurer que le nouveau produit est toujours satisfaisant et que les nouveaux changements ont été implémentés correctement. Test d’acceptation Les testeurs ont pour objectif de rapporter les erreurs et de déterminer si les fonctionnalités du système sont en accord avec les exigences du client et des besoins des utilisateurs. Livraison le fournisseur livre le nouveau système aux utilisateurs. Il effectue la configuration du système et la formation des utilisateurs. Après cette phase, le système est prêt à fonctionner de manière autonome. Quelques problématiques de la maintenance Problèmes techniques Compréhension limitée la rapidité avec laquelle quelqu’un peut comprendre ou faire un changement ou une correction dans un logiciel. un effort non négligeable doit être fait pour accroitre la compréhension du logiciel. Essai Réaliser un essai complet sur un morceau majeur de logiciel est généralement significatif en terme de temps et de coûts. Analyse d’impact Une analyse d’impact décrit comment mener, à un coût efficace, une analyse complète des impacts d’un changement dans un logiciel existant. connaissance de la structure et du contenu d’un logiciel, identifier tous les produits des systèmes et des logiciels affectés par une demande de modification établissent une estimation des ressources nécessaires au changement L’analyse de coûts/bénéfices du changement demandé Communication aux autres de la complexité d’un changement donné. Maintenabilité L’aisance avec laquelle un logiciel peut être maintenu, amélioré, adapté ou corrigé pour satisfaire aux exigences spécifiées. Ces sous-caractéristiques de maintenabilité doivent être spécifiées, revues et contrôlées durant les activités de développement logiciel pour réduire les coûts de maintenance. Difficile à atteindre Estimation des coûts de la maintenance Le coût d’un projet de maintenance est: Ressources: personnel, machines Temps Argent L’estimation du coût peut être faite : Soit à partir des données historiques Soit à travers des modèles mathématiques Mesure de la maintenance du logiciel La maintenabilité est le degré d'efficacité avec lequel un produit ou un système peut être modifié par les mainteneurs prévus. Maintenabilité n’est pas restreinte au code, c’est un attribut d’un nombre de différents produits logiciels, incluant les spécifications, documents de conception, document du plan de test.. APPROCHES DE MESURE Il existe deux approches pour mesurer la maintenabilité, reflétant les vues internes et externes de l’attribut. Vue externe de la Maintenabilité Vue interne de la Maintenabilité Vue externe de la Maintenabilité Maintenabilité dépend du produit personne performant la maintenance, la documentation les outils supports. L’approche la plus directe de mesure de la maintenabilité est de mesurer le processus de maintenance. Vue externe de la Maintenabilité la vitesse d’implémentation du changement est une caractéristique clé de la maintenabilité. La mesure de la maintenabilité est définie par: MTTR: Mean Time To Repear: c‘est le temps moyen qu’une équipe de maintenance prend pour implémenter un changement et restaurer l’ordre de fonctionnement du système. MTTR uploads/Management/ chapitre-6.pdf

  • 13
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Oct 13, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.1406MB