IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels



Documents pareils
IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

IFT3913 Qualité du logiciel et métriques. Chapitre 2 Modèles de processus du développement du logiciel. Plan du cours

Le génie logiciel. maintenance de logiciels.

IFT6251 : Sujets spéciaux en génie logiciel

GL Processus de développement Cycles de vie

Processus d Informatisation

Intégration de l interface graphique de Ptidej dans Eclipse

Industrialiser la chaîne complète de fabrication 1ère partie - Les bénéfices de la solution logicielle IBM VisualAge Pacbase / Rational

Eclipse Process Framework et Telelogic Harmony/ITSW

Archivage électronique

Maintenance/évolution d'un système d'information

La gestion de la maintenance assistée par ordinateur et la maintenance des logiciels

L Architecture d Entreprise au service de la Transformation. Ludovic Relandeau VP, Managing Director MEGA

1 Introduction COOK. ANR 2005, 1

ISO/CEI Technologies de l information Gestion des actifs logiciels. Partie 1: Procédés et évaluation progressive de la conformité

Les connaissances fondamentales en maintenance du logiciel

Analyse,, Conception des Systèmes Informatiques

Présentation du Système d Administration Générale des Projets (Agape )

Développement itératif, évolutif et agile

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

OBSERVATIONS INTRODUCTION

Le cycle de développement des produits à la Société GRICS : une nouvelle approche

Gestion de Projet. Génie Logiciel. Renaud Marlet. LaBRI / INRIA. (d'après A.-M. Hugues) màj 19/04/2007

MODELISATION UN ATELIER DE MODELISATION «RATIONAL ROSE»

Les mécanismes d'assurance et de contrôle de la qualité dans un

Rapport de Synthèse. Création d un Générateur de modèle PADL pour le langage C++ Sébastien Colladon

Augmenter la vélocité Agile avec l usine-service sur Azure

Accompagner la transformation vers l excellence opérationnelle. Olivier Gatti olivier.gatti@adis-innovation.com

! Vous vous apprêtez à acheter un ERP pour la première fois et vous avez la nausée?

Évolu>on et maintenance

Introduction au Génie Logiciel

Méthodes agiles. CONSEIL & DÉVELOPPEMENT DE SOLUTIONS E-BUSINESS. Jean-Louis Bénard jlb@businessinteractif.

Génie Logiciel LA QUALITE 1/5 LA QUALITE 3/5 LA QUALITE 2/5 LA QUALITE 4/5 LA QUALITE 5/5

Jean-Pierre Vickoff J-P Vickoff

INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude

Agilitéet qualité logicielle: une mutation enmarche

Groupe Eyrolles, 2006, ISBN :

Systèmes et réseaux d information et de communication

P s a sep e o p r o t S e S r e vi v ce c s Fabrice Dubost

En face du commanditaire, on met un chef de projet qui connait le domaine (banque, administration, etc.)

Merise. Introduction

Moderniser. le système d information et le portefeuille applicatif.

Détruisons ces conceptions erronées sur le Cloud Computing

GESTION DE PROJET SÉANCE 2 : LES CYCLE DE VIE D'UN PROJET

Cours 6. Sécurisation d un SGBD. DBA - M1ASR - Université Evry 1

EXPERTS EN DÉVELOPPEMENT ET MODERNISATION DE LOGICIELS WEB ET MOBILES

Nom de l application

Gestion de projet Agile. STS IRIS Module «Gérer et organiser un projet informatique»

Adopter une approche unifiée en matière d`accès aux applications

VISIUM. Méthodologie visuelle Visualisation de système Conception et Optimisation Système d information et d organisation

Garantir une meilleure prestation de services et une expérience utilisateur optimale

Mieux investir pour accumuler davantage en vue de la retraite

2. Activités et Modèles de développement en Génie Logiciel

XAGA. Les XAGApps : Des Progiciels de Gestion et de Gouvernance à la carte pour managers

Application Portfolio Management

Conduite de projets SI. Les méthodes «Agiles» N QUAL/1995/3660e ORESYS

Comité Français des Tests Logiciels. Testeur Certifié. Version 2012

Gestion de projets logiciels. Xavier Dubuc

Numéros commençant par 080 et 081

» Portail Intranet Agent de l académie de Grenoble»

A-t-on le temps de faire les choses?

Informations produits. Massepain

CONDUITE D UN PROJET INFORMATIQUE. - Partie Suivi de Projet - C.Crochepeyre Conduite de Projet 1

La relève dans le secteur des TIC. 6 novembre 2009

API HTTP DOCUMENTATION TECHNIQUE PLATEFORME SAAS D'ENVOI DE SMS. Version Mise à jour : 3 juillet 2015

La reconquête de vos marges de manœuvre

But de cette introduction à la gestion de projets :

Chapitre 9. Assistance à l évolution du logiciel dirigée par la qualité

Modèle Cobit

Les Méthodes Agiles. description et rapport à la Qualité. Benjamin Joguet Rémi Perrot Guillaume Tourgis

L État et la TVA SENS ET PORTÉE DE L ÉTUDE

LES 8 ESSENTIELLES POUR LES ARCHITECTES & LES CITOYENS MÉMORANDUM

Patrons de Conception (Design Patterns)

Séance 1 Méthodologies du génie logiciel

Les formations en génie logiciel

Cette première partie pose les enjeux de la BI 2.0 et son intégration dans le SI de l entreprise. De manière progressive, notre approche situera le

1 Les différents types de maintenance

Méthodes Agiles et gestion de projets

Solution d intelligence marketing et CRM

- Couches - Éléments - Domaines - ArchiMate et les techniques du BABOK

Programme d'amélioration continue des services

Introduction au génie logiciel

16 conseils afin de constituer une expérience de commerce en ligne réussie

Tufin Orchestration Suite

Professeur superviseur ALAIN APRIL

Exemple d Application des Méthodes Agiles au Développement d un Produit Software. Jean-Marc Bodart, Océ Software Laboratories Namur SA

Patrons d architecture des Systèmes d Information

SECTION 5 BANQUE DE PROJETS

Fabien Pinckaers Geoff Gardiner. OpenERP. Tiny. Pour une. gestion d entreprise efficace et intégrée. Groupe Eyrolles, 2008, ISBN :

Quelle est la meilleure solution :

Topologie du web - Valentin Bourgoin - Méthodes agiles & SCRUM

5 Capacité informatique

Méthodologies Orientées-Objet!

ODH. Mon Espace. Manuel d utilisation. MON ESPACE ODH Manuel d utilisation. Une question? Contactez le service client au

DOUZIÈME CONFÉRENCE DE NAVIGATION AÉRIENNE PROJET DE RAPPORT DU COMITÉ SUR LE POINT 3 DE L ORDRE DU JOUR

Génie logiciel avec UML. Notions sur le langage UML adapté pour les cours du programme Techniques de l informatique

An Phong Do. 567 croissant des Glaïeuls Laval (Québec) H7X 3H2 Cellulaire : anphongdo@gmail.com

Sécurité logicielle. École de technologie supérieure (ÉTS) MGR850 Automne 2012 Automne Yosr Jarraya. Chamseddine Talhi.

Transcription:

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels Yann-Gaël Guéhéneuc Professeur adjoint guehene@iro.umontreal.ca, local 2345 Département d informatique et de recherche opérationnelle Université de Montréal Yann-Gaël Guéhéneuc 2007

Plan du cours 1. Introduction 2. Notion de projet logiciel 3. Organisation du développement 4. Planification du développement 5. Contrôle du développement 6. Organisation de la maintenance 2/25

6. Organisation de la maintenance 1. Généralités 2. Types de maintenance 3. Modèles de maintenance 4. Gestion de la maintenance 5. Maintenabilité 6. Ré-ingénierie 7. Conclusion 3/25

6.1. Généralités (1/8) Définition La maintenance est l ensemble des activités effectuées pour modifier un logiciel après sa mise en opérations «La plupart des logiciels sont immortels» Nicholas Zvegintzov 4/25

6.1. Généralités (1 bis /8) Saviez-vous que 85% des programmes de gestion d affaires mondiaux sont en COBOL 90 000 développeurs COBOL existent (encore) aux États-Unis d Amérique 200 milliards de lignes de code COBOL tournent (encore) dans le monde 35% du développement de nouvelles applications d affaires est en COBOL 59% des systèmes d information du Ministère de la «Defence» des États-Unis d Amérique sont en COBOL 5/25

6.1. Généralités (2/8) Justifications Correction d erreurs (boucle sans fin) Adaptation aux besoins des usagers Améliorations (implantation, architecture, performances) Changement de l environnement technique Changement de l environnement «affaires» Modernisation 6/25

6.1. Généralités (3/8) Cinq lois de l évolution des programmes Les cinq lois de Lehman, 1985 Loi du changement continuel Un programme utilisé dans un environnement du monde réel doit nécessairement changer sinon il deviendra progressivement de moins en moins utile dans cet environnement (De plus, un programme introduit dans un environnement change celui-ci, cf. l «effet d observation») 7/25

6.1. Généralités (4/8) Cinq lois de l évolution des programmes Loi de la complexité croissante Lorsqu un programme change, sa structure tend à devenir plus complexe. Des ressources additionnelles doivent être consacrées à maintenir et à préserver sa structure (Plus un programme est modifié, plus sa structure originelle est corrompue : il faut limiter le nombre de personnes travaillant sur un programme) 8/25

6.1. Généralités (5/8) Cinq lois de l évolution des programmes Loi de l évolution des grands programmes L évolution des grands programmes est un processus auto-régulateur. Les attributs comme la taille, le temps entre versions et le nombre d erreurs signalées sont approximativement invariants pour chaque version du programme (Tout le monde aime la stabilité ) 9/25

6.1. Généralités (6/8) Cinq lois de l évolution des programmes Loi de la stabilité organisationnelle Pendant la vie d un programme, son taux de développement est approximativement constant et indépendant des ressources qui y sont consacrées (Rappelez-vous également du mythe de la personne mois) 10/25

6.1. Généralités (7/8) Cinq lois de l évolution des programmes Loi de la conservation de la familiarité Pendant la vie d un programme, l incrément de changement dans chaque version est approximativement constant (C est pourquoi il faut mettre en place des mécanismes pour prendre en compte au plus tôt les futurs changement et limiter la corruption du programme) 11/25

6.1. Généralités (8/8) Coûts de la maintenance 100% 90% 80% 80% 70% 60% 60% 40% 20% 40-1000 times 0% Début années 70 Début années 80 Fin années 80 Début années 90 15-40 times 30-70 times 6 times 10 times Conception Code Programmation Tests Utilisation 12/25

6. Organisation de la maintenance 1. Généralités 2. Types de maintenance 3. Modèles de maintenance 4. Gestion de la maintenance 5. Maintenabilité 6. Ré-ingénierie 7. Conclusion 13/25

6.2. Types de maintenance (1/3) Définitions traditionnelles Maintenance corrective Réparation des erreurs découvertes pendant l utilisation du logiciel Maintenance adaptative Modifications du logiciel entraînées par des changements dans l environnement technique Maintenance perfective Modifications du logiciel entraînées par des changements ou ajouts dans les besoins 14/25

6.2. Types de maintenance (2/3) Catégorie oubliée Maintenance pour améliorer les performances Catégorie nouvelle Migration (legacy systems) Refonte totale du logiciel par des moyens automatiques ou semi-automatiques en raison de sa vétusté 15/25

6.2. Types de maintenance (3/3) Répartition de l effort de maintenance (types traditionnels) Répartition de l'effort de maintenance (données de 1980) 20% 55% 25% corrective adaptative perfective Données de 1990, maintenance corrective : 21%, non-corrective : 79% 16/25

6. Organisation de la maintenance 1. Généralités 2. Types de maintenance 3. Modèles de maintenance 4. Gestion de la maintenance 5. Maintenabilité 6. Ré-ingénierie 7. Conclusion 17/25

6.3. Modèles de maintenance (1/17) Cycle de vie réel d un logiciel Cycle de vie de la maintenance Modèles de cycle de maintenance Un point de vocabulaire 18/25

6.3. Modèles de maintenance (2/17) Cycle de vie réel d un logiciel La maintenance est une activité récurrente Retrait maintenance maintenance maintenance maintenance 19/25

6.3. Modèles de maintenance (3/17) Cycle de vie de la maintenance Introduction Croissance Maturité Déclin Support Corrections Modifications Modifications xxxxxxxx Activité de maintenance la plus importante 20/25

6.3. Modèles de maintenance (4/17) Modèles de cycle de maintenance Modèle de «maintenance urgente» Modèle IEEE D autres modèles existent : Taute, ISO 21/25

6.3. Modèles de maintenance (5/17) Modèles de cycle de maintenance Modèle de «maintenance urgente» Travail fait aussi vite que possible Peu ou pas documenté Pas de respect des règles et des normes Demande de changement (DC) Analyse du code source Modification du code source Livraison du logiciel modifié 22/25

6.3. Modèles de maintenance(5 bis /17) 23/25

6.3. Modèles de maintenance (8/17) Modèles de cycle de maintenance Modèle IEEE (1993) DC Classification Analyse Livraison Conception Acceptation Implantation Tests 24/25

6.3. Modèles de maintenance (15/17) Un point de vocabulaire Terminologie IEEE pour la ré-ingénierie et la rétro-conception (1990) Software maintenance : maintenance Forward engineering : développement 25/25

6.3. Modèles de maintenance (16/17) Un point de vocabulaire Reverse engineering : rétro-conception Identification des composants d un programme Classes, modules, fonctionnalités Représentation sous une forme plus abstraite Code source, UML, Wright Design recovery : recouvrement des choix de conception et architecturaux Informations sur le domaine Informations extérieurs Déduction, analyses «floues» 26/25

6.3. Modèles de maintenance (17/17) Un point de vocabulaire Restructuring : restructuration Transformation d une représentation à une autre au même niveau d abstraction Refactorings : re-factorisation Redocumentation : re-documentation Le résultat est pour les personnes Reengineering : ré-ingénierie Examen d un programme pour en obtenir une nouvelle représentation et son implantation 27/25