Évolu>on et maintenance



Documents pareils
Les méthodes Agiles. Introduc)on aux méthodes Agiles Exemple : Scrum

Architecture matériel et logiciel 2

Le contrôle fiscal anno 2013

Catalogue de FORMATIONS 2015

Améliorez et industrialisez vos feedback produit

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Présentation Level5. Editeur de Logiciels. «If it s not monitored, it s not in production» Theo Schlossnagle #velocityconf

Entreprise Chiffres clefs

Cabinet de Conseil STRATÉGIE MANAGEMENT ORGANISATION JURIDIQUE FORMATION AVEC BW CONSULTANTS CHOISISSEZ DE GARANTIR VOTRE DEVELOPPEMENT

MTI820 Entrepôts de données et intelligence d affaires. Gouvernance des données et ges1on des données de référence

DOCUMENTATION KAPTravel Module de gestion des appels de disponibilité

Vérifica(on et Valida(on de Business Process. Ang Chen et Levi Lúcio

Présenta)on DesignBuilder

Jérémie Grodziski. Architecte Logiciel. Présenta2on Domaines et Compétences Contact Références Modes d interven2ons Exper2se Technologique

Santé, condi,ons de travail et égalité professionnelle F/H Comment agir?

Devenez un virtuose de Google. Atelier en informa5que présenté par Dominic P. Tremblay

SÉLECTIONNER LES MEILLEURS CANDIDATS : L APPORT DES OUTILS D ÉVALUATION AU RECRUTEMENT ET À LA MOBILITÉ INTERNE

LA DIGITALISATION DE LA RELATION CLIENT

MTI820 Entrepôts de données et intelligence d affaires. Les applica+ons de BI

Pe#t déjeuner Prévention des risques professionnels dans la Mutualité

AVIS A MANIFESTATION D INTERET N 017/MPT/2013/UCP/CAB

H2PS engage ses compétences auprès des entreprises et des parculiers par la mise en place de soluons d accompagnements et de services.

Parcours de soins, solu/ons de partage Évolu/ons des poli/ques na/onales & Mises en œuvre régionales Séminaire IFERISS 17 Avril 2014

Réunion de rentrée Licence PER Programma3on en environnement répar3. Année universitaire

Collabora'on IRISA/INRA sur le transfert de nitrates et l améliora'on de la qualité des eaux des bassins versants:

Knowledge Management D. Chauvel, 13 Novembre Journée Mondiale de la Qualité Université Aix Marseille

L ou%l téléphone dans votre stratégie de marke%ng direct

Découvrir Drupal. Les meilleurs thèmes et modules Drupal (présenta5on démo)

Un nouveau modèle régional à Ouranos : défis et opportunités

Consultants, trouvez de nouveaux marchés grâce aux médias sociaux animé par Valérie March au Salon des micro- entreprises 2012

INTRASTAT No ce explica ve Merkbla

Chapitre 4 La prise en compte de l informa6on dans le modèle de marché

Design & conception de site web optimisé SEO. augmentez la conversion sur vos sites

L Economie Sociale et Solidaire

Les termes du cloud CUMULO NUMBIO 2015 O. COLLIN

Nom du client. Date. Client Logo or project name

Les bases du SEO (référencement naturel)

SPIP. Gestion de la performance dans SPIP. Préoccupa)on historique

L essentiel de la communication Web To Store

LA LOGISTIQUE LES BONNES QUESTIONS À SE POSER

Savoir- Faire Offres mé1ers Offres technologiques

Vers un Système unique d informa4on na4onale de médicaments au Mexique, dans le cadre du suivi de l OMD 8.13

BENCHMARK CONCURRENTIEL PERMANENT : PRIX, CONDITIONS, PROMOTIONS, INNOVATIONS

Catalyse IT. Innovation Digital/Numérique

Poli%que ins%tu%onnelle: le numérique au service de la forma%on à l Université Laval CFQCU Paris, 26 mai 2015

Optimisation de la supervision by Somone. - Présentation Générale -!

Les formations. calipia. novembre 2014 à mai 2015

Entrepôt de données et l Analyse en ligne. Maguelonne Teisseire Hugo Alatrista Salas hugo.alatrista- salas@teledetec9on.fr Flavien Bouillot

Prépara&on Opéra&onnelle à l Emploi de BASYCA (POEB) BASYCA SAS FRANCE - Anzize BADAROU

I- USBKey Transfer. Guide d u5lisa5on. Comment u)liser I- USBKey Transfer?

Programme «INVESTISSEUR»

Séance d'informa7on à propos des stages de longue durée

Les conditions de travail pour l attractivité des métiers de la maintenance éolienne 1 er éléments ouverture vers d autres métiers de la filière

TRANSFORMATION DIGITALE : COMMENT INDUSTRIALISER ET PÉRENNISER LA MÉTHODE AGILE À PLUS GRANDE ÉCHELLE

Service de Messagerie Enseignement et Recherche

22ème Conven*on na*onale de l Intercommunalité 14 octobre Mutualisa*on : déployer les nouveaux ou*ls de la réforme

Concepon et réalisaon

GESTION DE CONTENUS (ECM) Ges1on de l informa1on. Nicolas Bürki, Senior Analyst

Qu est ce qu une PME? 4. Pourquoi investir dans une PME? 6. Comment investir en direct dans une PME? 10

La formation des IOBSP

Le don d organes après arrêt des thérapeu2ques Maastricht 3 Une réalité?...

Baromètre Direct Assurance des cyberconsommateurs

Le secteur de la Mutualité. Présenta*on des organismes Structure et caractéris*ques des emplois Zoom sur les mé*ers

PRÉSENTATION DES RÉSULTATS DU LIVRE BLANC BIG DATA

Introduc)on à l Agile

DIGITAL INSURANCE. A l a&en)on de : Date de remise : Version : 3.0

RESSOURCES INFORMATIQUES UFR IMAG ANNEE Présentation service informatique UFR IMAG année 2010/2011 1

Focus: Les projets pour le renforcement des compétences

Lettre de prospective n 48 janvier 2015

Stages intra- entreprise stages de forma,on à des,na,on des managers et dirigeants. Catalogue

ENVI-F-409. Economie écologique. Séance 8 13 Mai Tom Bauler tbauler@ulb.ac.be Supports de cours :

Stage Ini*ateur Club Comité Départemental 54 Nancy 11 et 12 octobre Les responsabilités des encadrants

Sécuriser et enrichir les transactions financières. URYX Capital

22 & 23 NOVEMBRE 2012 LE MOT DU PRESIDENT 20 ANS ET UN NOUVEAU RECORD 142 PARTICIPANTS POUR 71 CABINETS LES TITRES

Les réseaux sociaux et le mobile au service de l industrie du tourisme digital

Coopération Textile dans la Zone EuroMed

Professionnalisa+on des acteurs de l'éduca+on prioritaire à par+r du développement de pra+ques collabora+ves

Sites Internet : les. tendances. Jeudi 30 janvier 2014 Bordeaux L AGENCE CONNECTÉE À L ENTREPRISE

Speed up your business

Ma stack d ou,ls agiles, tout un programme! OU COMMENT BÉNÉFICIER DES TECHNOLOGIES GRAND PUBLIC POUR AMÉLIORER ET OPTIMISER MES OUTILS LOGICIELS.

Les cinq raisons majeures pour déployer SDN (Software-Defined Networks) et NFV (Network Functions Virtualization)

SOLIDARITE ESPRIT D EQUIPE ESPRIT D ENTREPRISE AMBITION L AVENTURE CONTINUE!

Alix LASSAIGNE Christophe COTIN VALOIS,

LE SUPPLIER RELATIONSHIP MANAGEMENT EN PRATIQUE

ÉTUDE DU POTENTIEL DE DONS NON ALIMENTAIRES Rapport d étude. Etude copilotée et cofinancée par : Etude menée par :

Intelligence Inventive

#GoSocial. solutions de marketing communautaire & social crm

Active Asset Allocation

UN GUIDE PROPOSÉ PAR PME-WEB MARKETING GUIDE ULTIME DES MOTS INTERDITS. Un guide pour Éviter de voir vos passer en SPAM. web.

Les 10 étapes clés pour trouver des clients par internet

Vision, Stratégie Changement Leadership

Transcription:

IFT3912 Développement et maintenance de logiciels Évolu>on et maintenance Bruno Dufour Université de Montréal dufour@iro.umontreal.ca Modifica>on des logiciels Les modifica>ons sont inévitables Des nouveaux besoins apparaissent lors de l u>lisa>on L environnement d affaires change Les erreurs doivent être réparées Du nouvel équipement est ajouté au système La performance ou la fiabilité du systèmes peuvent avoir à être améliorées Ces changements aux systèmes existants représentent un problème cri>que pour les organisa>ons 2 1

Maintenance 3 Maintenance Défini>on : modifica>on d un logiciel après sa mise en service / déploiement Le terme «maintenance» est généralement u>lisé pour les logiciels personnalisés. Les autres logiciels évoluent simplement de version en version La maintenance comporte rarement des changements majeurs à l architecture Les changements apportés modifient ou ajoutent des composants 4 2

Types de maintenance Correc>on de fautes Modifica>ons qui visent à corriger les problèmes pour que le système rencontre sa spécifica>on = maintenance correc>ve Adapta>on à un nouvel environnement Modifica>ons qui visent à supporter un environnement (matériel, OS, etc.) différent de celui u>lisé lors de l implémenta>on ini>ale. = maintenance adap>ve Ajout ou modifica>ons de fonc>onnalité Modifica>ons qui visent de nouveaux besoins au système. = maintenance perfec>ve Améliora>on de la qualité du logiciel Modifica>ons qui visent à rendre les modifica>ons ultérieurs plus faciles = maintenance préven>ve 5 Coûts de développement et maintenance Le système 1 coûte plus cher à développer ini>alement, mais l effort addi>onnel pour la maintenabilité est récompensé à long terme. System 1 System 2 0 50 100 150 200 250 300 350 400 450 500 $ Development costs Maintenance costs Source: I. Sommerville, Sodware engineering, Addison- Wesley 2011 6 3

Facteurs de coût Plusieurs facteurs peuvent affecter le coût de la maintenance: Stabilité de l équipe : les coûts sont moindres lorsque les membres de l équipe par>cipent à la maintenance sur une longue période Obliga>ons contractuelles : les développeurs d un système qui ne sont pas tenus d en faire la maintenance ont peu de mo>va>on à faciliter les changements dans leur concep>on. Compétence des programmeurs : la maintenance est souvent assignés aux développeurs inexpérimentés. Age et structure du programme : la structure d un programme se dégrade avec l âge, ce qui rend les modifica>ons plus difficile. 7 Processus de maintenance Requêtes de changement Analyse d impact Planifica>on de la révision Implémenta>on de changement Révision du système Correc>on Adapta>on Augmenta>on Préven>on 8 4

Évolu>on 9 Importance de l évolu>on Les entreprises inves>ssent de larges sommes dans la créa>on de logiciels Les logiciels doivent donc servir plusieurs années par souci de rentabilité Les logiciels d affaires sont ont souvent plus de 10-20 ans, d autres logiciels (ex: contrôle aérien) ont des durées de vie de plus de 30 ans Plus d argent est dépensé par les grandes compagnies pour la maintenance et l évolu>on que pour le développement de nouveaux systèmes. Plusieurs scénarios La même compagnie développe toutes les versions Une compagnie développe le logiciel ini>al, le client se charge de la maintenance / évolu>on Une compagnie développe le logiciel ini>al, une autre s occupe de la maintenance / évolu>on 10 5

Évolu>on et entre>en Développement ini>al Évolu>on Entre>en Retrait progressif Les besoins du logiciel sont modifiés, la structure se dégrade et les changements deviennent coûteux. Le logiciel est toujours u>le, mais seulement les changements mineurs nécessaires sont effectués. Le client considère un remplacement. Aucun changement n est effectué. Les u>lisateurs restants doivent contourner les problèmes du système. 11 Systèmes hérités Logiciel(s) de support u>lise Logiciel(s) d applica>on influence Règles et poli>ques d affaires s exécute sur s exécute sur u>lise u>lise contraint Matériel du système Données de l applica>on Processus d affaires 12 6

Coûts des systèmes hérités Les systèmes hérités deviennent plus coûteux à maintenir avec l âge Pas de style de programma>on cohérent Plusieurs contributeurs, mais personne ne comprend le système en en>er U>lisa>on de langages de programma>on désuets Dépendance sur de la technologie ancienne Documenta>on inadéquate ou dépassée Structure corrompue par plusieurs années de maintenance ad hoc Op>misa>on pour l espace / temps d exécu>on et non pas la compréhension du code Les données peuvent être séparées en plusieurs fichiers qui ont des structure incohérentes. Les données elle- même peuvent aussi être incohérentes, dupliquées, désuètes, etc. 13 Remplacement des systèmes hérités Replacer un système hérité pose des risques : Il n existe généralement pas de spécifica>on du système en en>er sur laquelle se baser pour développer un nouveau système Le processus d affaire est souvent étroitement relié aux logiciels u>lisés Les logiciels peuvent contenir des règles d affaires non documentées Développer un nouveau système comporte des risques Retards, coûts plus élevés que prévu, etc. 14 7

Le dilemme des systèmes hérités Con>nuer à u>liser le système accroît invariablement les coûts Remplacer le système coûte cher, et le nouveau système peut être moins efficace que l ancien Plusieurs entreprises cherchent à allonger la durée de vie de leurs logiciels Rétroingénierie Réingénierie 15 Évalua>on des systèmes hérités 4 op>ons possibles: Abandonner le système complètement Con>nuer à maintenir le système Transformer le système pour faciliter la maintenance Remplacer le système hérité par un nouveau système Les systèmes complexes peuvent u>liser une combinaison de plusieurs op>ons 16 8

Évalua>on des systèmes hérités Transforma>on / remplacement Maintenance Valeur d affaires Faible qualité, Grande valeur Abandon Grande qualité, Grande valeur Maintenance / abandon Faible qualité, Faible valeur Grande qualité, Faible valeur Qualité du système 17 Évalua>on de la valeur d affaires L évalua>on devrait prendre en compte plusieurs opinions : U#lisateurs: Quelle est l efficacité du système à supporter le processus d affaires? Quelle por>on de la fonc>onnalité est u>lisée? Clients: Le système est- il transparent pour les u>lisateurs? Le système cause- t- il de l avente? Les erreurs ont- elles un impact direct sur les clients? Ges#onnaires financiers: Le système contribue- t- il au succès de leur unité? Les coûts d opéra>on du système sont- t- ils jus>fiés? Les données manipulées par le système sont- elles cri>ques au fonc>onnement de leur unité? 18 9

Évalua>on de la valeur d affaires Ges#onnaires techniques: Est- il difficile de trouver du personnel pour travailler sur le système? Le système consomme- t- il des ressources qui pourraient déployées plus efficacement sur d autres systèmes? Cadres supérieurs: Quelle est la contribu>on du système et de ses processus d affaires aux objec>fs de l entreprise? 19 Autres considéra>ons U>lisa>on du système Si un système est u>lisé peu fréquemment ou par peu d u>lisateurs, sa valeur d affaires est probablement faible. Processus supporté Si un système force l u>lisa>on d un processus inefficace, sa valeur d affaires est probablement faible. Fiabilité Si un système n est pas fiable, et que les problèmes affectent les clients directement, ce système à une faible valeur d affaires. Sor>es Si une organisa>on dépend des sor>es d un système, ce système a une valeur d affaires élevée. 20 10

Évalua>on de la qualité du système Évalua>on du processus d affaires Un mauvais processus mène au changement Y a- t- il différents processus pour la même fonc>on? Le processus a- t- il été adapté pour faciliter le travail? Quels sont les rela>ons avec les autres processus, et sont- elles nécessaires? Le processus est- il supporté efficacement par le système hérité? Évalua>on de l environnement Nombre de fautes matérielles pour une période donnée, âge du matériel, performance, interopérabilité, stabilité des fournisseurs, etc. Évalua>on du logiciel d applica>on Nombre de requêtes de changement, nombre d interfaces u>lisées, volumes de données u>lisées, etc. 21 Évalua>on de la qualité du système Évalua>on de l environnement Stabilité des fournisseurs : Existe- t- il toujours? Est- il stable? Une autre compagnie assure- t- elle la maintenance? Nombre de fautes matérielles pour une période donnée Âge du matériel et des logiciels : il peut être avantageux de remplacer le matériel trop vieux mais s il fonc>onne toujours Interopérabilité : Y a- t- il des problèmes à interfacer avec d autres systèmes? L émula>on du matérielle est- elle nécessaire? Support : Quels sont les coûts du support local? Maintenance : Quels sont les coûts de maintenance du matériel et de support des licences? Évalua>on du logiciel d applica>on Nombre de requêtes de changement, nombre d interfaces u>lisées, volumes de données u>lisées, etc. 22 11

Évalua>on de la qualité du système Évalua>on du logiciel d applica>on Compréhension : Est- il difficile de lire le code source? Quelle est la complexité des structures de contrôle? Les variables sont elles nommées d une façon claire et qui reflète leur u>lisa>on? Documenta>on : La documenta>on est- elle disponible, complète, cohérente et à jour? Données : Existe- t- il un modèle de données pour le système? Combien de duplica>on de données y a- t- il? Performance : Est- elle adéquate? Une faible performance affecte- t- elle les u>lisateurs? Langage de programma>on : Le langage u>lisé est- il moderne et ac>vement u>lisé pour le développement? Personnel : Le personnel possède- t- il les qualifica>ons et/ou l expérience requises pour modifier le système? Tests : Des données de tests existent- elles pour le système? 23 Rétroingénierie 26 12

Rétroingénierie Objec>f: produire une spécifica>on manquante à par>r du code source et / ou des données d un système Alterna>ve: à par>r d un ensemble d exécu>ons du système Souvent u>lisée pour aider un ingénieur à comprendre un système avant la réingénierie Les spécifica>ons peuvent aussi être u>lisées pour le développement d un système de remplacement ou pour faciliter la maintenance Démarche souvent automa>sée Des annota>ons manuelles peuvent améliorer les résultats 27 Rétroingénierie du code Exemples de techniques de rétroingénierie du code : Décomposi>on en sous- systèmes Reconstruc>on de l architecture Analyse des dépendances dans le code (sta>ques) et à l exécu>on (dynamiques) Explora>on et visualisa>on du code Problème : le code ne con>ent pas toute l informa>on Les compromis de concep>on, les contraintes techniques et les concepts du domaine d applica>on n existent souvent que dans l esprit des développeurs Ces concepts disparaissent avec le temps 28 13

Rétroingénierie des données Tente de déterminer quelle informa>on est disponible et comment ceve informa>on peut être u>lisée dans un contexte différent. Ac>vités principales : Analyse : permet de produire un modèle précis et complet des données Abstrac>on : vise de passer du modèle logique obtenu par analyse à un modèle de concep>on (ex: modèle orienté- objet) Problème : connaissances fragmentaires Les u>lisateurs, la documenta>on existante et le code peuvent ensemble contribuer suffisamment de connaissances pour la rétroingénierie L analyse des données d une base de données est plus simple que lorsque des formats de fichiers ad hoc sont u>lisés. 29 Réingénierie 30 14

Réingénierie Avantages: Réduit les risques: redévelopper un système cri>que introduit beaucoup de nouveaux risques Réduit les coûts: redévelopper un nouveau système coûte plus cher que la modifica>on d un système existant La réingénierie est souvent appliquée aux systèmes hérités, mais les concepts et ou>ls sont de plus en plus populaires pour le développement de systèmes modernes 31 Démarche de réingénierie Programme original Documenta>on du programme Programme modularisé Données originales Rétro- ingénierie Traduc>on de code Modularisa>on Réingénierie des données Améliora>on de la structure Programme structuré Données 32 15

Traduc>on de code Traduc>on (semi- )automa>que d un langage de programma>on à un autre Causes principales: Mise à jour du matériel Manque d exper>se du personnel Changement de l entreprise Manque de support (ex: logiciels) 33 Améliora>on de la structure Objec>f: simplifica>on de la logique du code pour faciliter la lecture et la compréhension Les structures complexes sont souvent le résultat d ac>vités de maintenance et d op>misa>ons de l u>lisa>on des ressources Ex: goto, condi>ons complexes if not (A > B and (C < D or not (E > F))) devient if (A <= B) or (C >= D and E > F) Peut être appliquée sélec>vement à différents par>es du programme 34 16

Améliora>on de la structure Inconvénients Perte de commentaires Perte de documenta>on Calculs complexes Pour les systèmes centrés sur les données, une modularisa>on peut être nécessaire pour facilité la lecture du code 35 Modularisa>on Objec>f: réorganisa>on du code de sorte que les par>es qui sont logiquement reliées soient groupées en un seul module Différents types de modules peuvent être créés: Abstrac>ons de données Pilotes de matériel Modules fonc>onnels (ex: valida>on des entrées) Modules de support du processus d affaires Souvent une démarche (semi- )manuelle Les ou>ls peuvent aider à la transforma>on, mais l ingénieur doit iden>fier les modules 36 17

Réingénierie des données Objec>f: analyse et réorganisa>on des structures de données (ou des parfois valeurs) u>lisées par un système Peut être nécessaire même lorsque la fonc>onnalité d un système est inchangée: Dégrada>on des données Limites imposées par le système Évolu>on de l architecture Démarche presque toujours semi- manuelle 37 Données en fichiers partagés Programme A Programme B Programme C Fichier 1 Fichier 2 Fichier 3 Fichier 4 Fichier 5 Fichier 6 Programme D Programme E Programme F Programme G 38 18

Données centralisées Programme A Programme B Programme C Base de données 39 Évolu>on de l architecture Les architectures client- serveur sont plus rentables que les architectures centralisées d autrefois Plusieurs entreprises doivent donc faire évoluer leurs systèmes en raison de plusieurs facteurs: Coût du matériel Aventes de l interface Accès distribué au système La structure existante du système se prête rarement à l évolu>on Un couche d intergiciel peut être nécessaire pour traduire 40 19

Distribu>on d un système hérité PC PC PC PC Intergiciel Système hérité 41 Distribu>on de l interface Les systèmes à interface textuelles peuvent s exécuter en u>lisant un émulateur de terminal Les services de l interface graphique (présenta>on, contrôle des intérac>ons, valida>on) peuvent être migrés vers les PCs des clients Le serveur con>ent les données et l applica>on Les interfaces modernes communiquent avec le serveur de la même façon que l interface du terminal L interface peut être na>ve ou celle d un fureteur 42 20