SlideShare une entreprise Scribd logo
Les pourquois et les comments de la
Maintenance logicielle
Nicolas Anquetil
(Nicolas.Anquetil@inria.fr)
Sommaire
● Évangélisation : Maintenance logicielle
– C'est quoi ?
– Importance ?
– Ça existe encore !?!
● Recherche : rétro ingénierie logicielle
– But
– Les difficultés
C'est quoi ?
● Un programme pour aller dans le bureau voisin:

debout

tourne à gauche de 45º

avance 2 pas

tourne à droite de 45º

avance 3 pas

tourne à droite de 30º

avance 5 pas

…
C'est quoi ?
● Maintenance = modification d'un programme
existant pour :
– corriger une erreur
(“tourne gauche” au lieu de “tourne droite”)
– l'adapter à un changement d'environnement
(faire un détour quand une rue est bloquée)
– prévenir une maintenance future
(corriger une erreur pas encore perçue)
– apporter une amélioration ou une extension
(passer devant la maison de la culture pour aller au
travail)
C'est quoi ?
● Maintenance = modification d'un programme
existant pour :
– corriger une erreur
(“tourne gauche” au lieu de “tourne droite”)
– l'adapter à un changement d'environnement
(faire un détour quand une rue est bloquée)
– prévenir une maintenance future
(corriger une erreur pas encore perçue)
– apporter une amélioration ou une extension
(passer devant la maison de la culture pour aller au
travail)
21%
4%
25%
50%
Et concrètement ?
Et concrètement ?
● Cobol représente > 60% des logiciels au
monde
● 70% des applications commerciales
(“business applications”) sont écrites en
Cobol
● Les applications Cobol traitent 85% des
données commerciales
● Cobol croit de 5 milliards de LOC par an
[eWeeks, 2001]
Et concrètement ?
● Cobol - 1959
Et concrètement ?
● Cobol – 1959
– Maintenir un programe Cobol c'est comme
faire rouler une voiture comme celle-ci tous
les jours
Et concrètement ?
1 feuille 60 lignes de code (LOC)≃
recto/verso = 120 LOC
→ de mon bureau au bas du batiment
Et concrètement ?
10 feuilles = 1200 LOC (1.2 KLOC)
→ de mon bureau au café du coin
Et concrètement ?
Windows NT 3.1 (1993)
4 à 5 MLOC
→ de mon bureau à la
mosquée Sainte Sophie
Et concrètement ?
Windows NT 3.1 (1993)
4 à 5 MLOC
→ de mon bureau à la
mosquée Sainte Sophie
3,75 m 3,20 m
Encyclopedia Britanica
(15 ed., 32 volumes)
Et concrètement ?
Windows NT 3.1 (1993)
4 à 5 MLOC
Windows server 2003
50 MLOC
→ de mon bureau à celui de mon
voisin en passant
successivement par :
- New York
- Rio de Janeiro
- Dakar
Et concrètement ?
Windows NT 3.1 (1993)
4 à 5 MLOC
Windows server 2003
50 MLOC
41,7 m 46 m
Et concrètement ?
Correction de bug =
Trouver la feuille avec
la ligne qui est
erronée …
Et concrètement ?
Correction de bug =
Trouver la feuille avec
la ligne qui est
erronée …
→ une instruction erronée
et …
Importance ?
Importance ?
● 1990 → 120 milliards LOC en maintenance
(Ulrich, 1990).
NB : pile de 100 km de papier
● 2000 → 250 milliards LOC en maintenance
(Sommerville, 2000).
● La quantité de code maintenu double tous les
7 ans (Müller et al., 1994).
Importance ?
● Cout annuel aux USA >$70 milliards
(Sutherland, 1995; Edelstein, 1993)
● Nokia a dépensé $90 millions avec le bug de
l'an 2000
● Gouvernement fédéral aux USA a dépensé
$8,38 milliards en 5 ans avec le bug de l'an
2000
Importance ?
70s début 80s fin 80s 90s 2000s
0
10
20
30
40
50
60
70
80
90
100
● Estimation du pourcentage de la maintenance
dans le cout total d'un logiciel
Ça existe encore !?!
Ça existe encore !?!
● On a :
– Langages évolués (OO, AOP)
– Processus modernes (RUP, Agiles)
– Normes de qualité (CMMi)
– Modèles de développement (MDE, SOA)
Ça existe encore !?!
● On a :
– Langages évolués (OO, AOP)
– Processus modernes (RUP, Agiles)
– Normes de qualité (CMMi)
– Modèles de développement (MDE, SOA)
C'est quoi le
problème ?!?
Il était une fois ...

Un marchand de moules construit un magasin
à Dunkerque ...
Il était une fois ...

Les affaires marchent bien
Il était une fois ...

Vraiment bien
Il était une fois ...

Les employés veulent un restaurant
Il était une fois ...

Les directeurs, une terrasse
Il était une fois ...

La loi impose une sortie de secours
Il était une fois ...

La concurrence offre des goodies aux clients,
l'entreprise … une piscine !
Il était une fois ...

etc …
Il était une autre fois ...

Avec le logiciel, ça serait possible

En fait c'est comme ça que beaucoup de
systèmes évoluent
Il était une autre fois ...

Avec le logiciel, ceci est possible

En fait c'est comme ça que beaucoup de
systèmes évoluent
Un logiciel utilisé dans un
environnement réel doit évoluer sinon
il devient de moins en moins utile dans
cet environnement
1ère loi de l'évolution de
logiciel [Lehman, 1980]:
Ça existe encore !?!

La maintenance n'est pas une question de
choix (ni une question de bug)

Les évolutions sont imposées :
– Pression de la concurrence ; Nouvelles lois ;
Nouvelles nécessitées ; Opportunités de marché ;
Evolution des autres systèmes (bibliothèques,
système opérationnel) ; …
Ça existe encore !?!

La maintenance est un signe de succès !!!

1ère loi de Lehman
– « Un logiciel utilisé dans un environnement réel doit
évoluer sinon il devient de moins en moins utile
dans cet environnement »

On ne maintient que les systèmes utiles et qui
en valent la peine
Ça existe encore !?!

La maintenance résulte de facteurs externes au
logiciel

Les meilleurs processus, environnements,
langages, …
ne peuvent pas diminuer significativement la
maintenance
Ça existe encore !?!

Élever le niveau d'abstraction (assembleur,
langages procéduraux, langages à objets,
composants, modèles)
– Ne simplifie pas la maintenance,
– Autorise seulement à faire des programmes plus
riches
Rétro-ingénierie logicielle
Rétro-ingénierie logicielle

Aider à
– Maintenir les systèmes
(trouver la feuille que l'on doit changer)
– Réorganiser les systèmes
(diviser la pile de feuilles en plusieurs et créer un
indexe)
– Migrer/ré-implémenter les systèmes
(traduire d'un langage à un autre)
Rétro-ingénierie logicielle

Difficultés :
– Taille des données
– Abstraire les détails pour comprendre
– Identifier des tâches répétitives, importantes,
automatisables
Conclusion
● La maintenance c'est important
– Pas lié à un mauvais développement
– Pas solubles dans les modèles (ou autre)
● Nous avons des solutions
– Nicolas.Anquetil@inria.fr

Contenu connexe

Tendances

Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
Mohammed Amine Mostefai
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
Ghodhbane Mohamed Amine
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
danaobrest
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
guest0032c8
 
Cycle de vie d’un logiciel
Cycle de vie d’un logicielCycle de vie d’un logiciel
Cycle de vie d’un logiciel
Mehdi Abed
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
Majid CHADAD
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
Youness Boukouchi
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
Marc Hage Chahine
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
Bilel Abed
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
Mohamed Diallo
 
Igl cours 4 - expression de besoins
Igl   cours 4 - expression de besoinsIgl   cours 4 - expression de besoins
Igl cours 4 - expression de besoins
Mohammed Amine Mostefai
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
soregh
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test
Imen Turki
 
Exigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logiciels
Pierre
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
bouye2209
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
Christophe Rochefolle
 
Qualite1
Qualite1Qualite1
Qualite1
Rachid Lajouad
 
Metrique
MetriqueMetrique
Metrique
Amine AOUNZOU
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
Sylvain Leroy
 

Tendances (20)

Cours Génie Logiciel - Introduction
Cours Génie Logiciel - IntroductionCours Génie Logiciel - Introduction
Cours Génie Logiciel - Introduction
 
Modèle en cascade
Modèle en cascadeModèle en cascade
Modèle en cascade
 
Qualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du LogicielQualification Et Cycle De Vie Du Logiciel
Qualification Et Cycle De Vie Du Logiciel
 
Introduction au Génie Logiciel
Introduction au Génie LogicielIntroduction au Génie Logiciel
Introduction au Génie Logiciel
 
Cycle de vie d’un logiciel
Cycle de vie d’un logicielCycle de vie d’un logiciel
Cycle de vie d’un logiciel
 
Cycle de développement du logiciel
Cycle de développement du logicielCycle de développement du logiciel
Cycle de développement du logiciel
 
Métriques de qualité logicielle
Métriques de qualité logicielleMétriques de qualité logicielle
Métriques de qualité logicielle
 
Altran soirée du test logiciel - assez des c 05-10-17
Altran   soirée du test logiciel - assez des c 05-10-17Altran   soirée du test logiciel - assez des c 05-10-17
Altran soirée du test logiciel - assez des c 05-10-17
 
Test de logiciels
Test de logiciels Test de logiciels
Test de logiciels
 
Introduction au génie logiciel
Introduction au génie logicielIntroduction au génie logiciel
Introduction au génie logiciel
 
Igl cours 4 - expression de besoins
Igl   cours 4 - expression de besoinsIgl   cours 4 - expression de besoins
Igl cours 4 - expression de besoins
 
les metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualitéles metriques de processus, de produit et de qualité
les metriques de processus, de produit et de qualité
 
CM processus-unifie
CM processus-unifieCM processus-unifie
CM processus-unifie
 
Exposé qualité et test
Exposé qualité et test Exposé qualité et test
Exposé qualité et test
 
Exigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logicielsExigences de qualité des systèmes / logiciels
Exigences de qualité des systèmes / logiciels
 
Modèle en v
 Modèle en v Modèle en v
Modèle en v
 
Qualité logiciel - Generalités
Qualité logiciel - GeneralitésQualité logiciel - Generalités
Qualité logiciel - Generalités
 
Qualite1
Qualite1Qualite1
Qualite1
 
Metrique
MetriqueMetrique
Metrique
 
Contrôle de la qualité logiciel
Contrôle de la qualité logicielContrôle de la qualité logiciel
Contrôle de la qualité logiciel
 

En vedette

Gmao apisoft
Gmao apisoftGmao apisoft
Gmao apisoft
Logiciel gmao
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
Nathaniel Richand
 
test newspaper
test newspapertest newspaper
test newspaper
prcpam
 
Tests ihm automatises avec selenium
Tests ihm automatises avec seleniumTests ihm automatises avec selenium
Tests ihm automatises avec selenium
sojavawest
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
Stéphane Salmons
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentaux
COMPETENSIS
 
Tests de montée en charge avec Tsung
Tests de montée en charge avec TsungTests de montée en charge avec Tsung
Tests de montée en charge avec Tsung
Rodolphe Quiédeville
 

En vedette (7)

Gmao apisoft
Gmao apisoftGmao apisoft
Gmao apisoft
 
Tests Logiciel
Tests LogicielTests Logiciel
Tests Logiciel
 
test newspaper
test newspapertest newspaper
test newspaper
 
Tests ihm automatises avec selenium
Tests ihm automatises avec seleniumTests ihm automatises avec selenium
Tests ihm automatises avec selenium
 
Ingénierie du test 0.9
Ingénierie du test 0.9Ingénierie du test 0.9
Ingénierie du test 0.9
 
Tests & recette - Les fondamentaux
Tests & recette - Les fondamentauxTests & recette - Les fondamentaux
Tests & recette - Les fondamentaux
 
Tests de montée en charge avec Tsung
Tests de montée en charge avec TsungTests de montée en charge avec Tsung
Tests de montée en charge avec Tsung
 

Similaire à Maintenance logicielle

Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018
Nicolas VERINAUD
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
Amico Fabien
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Microsoft
 
Valider le B2i en découvrant les métiers de l’informatique : webmaster (grou...
Valider le B2i  en découvrant les métiers de l’informatique : webmaster (grou...Valider le B2i  en découvrant les métiers de l’informatique : webmaster (grou...
Valider le B2i en découvrant les métiers de l’informatique : webmaster (grou...
Ville de Choisy-le-Roi
 
Pour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette techniquePour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette technique
Freddy Mallet
 
Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !
Agile Tour Genève
 
Analyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfAnalyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdf
JordaniMike
 
coursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfcoursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdf
HervKoya
 
Logiciels Libres, quelles opportunités pour nos entreprises?
Logiciels Libres, quelles opportunités pour nos entreprises?Logiciels Libres, quelles opportunités pour nos entreprises?
Logiciels Libres, quelles opportunités pour nos entreprises?
Fdiwa
 
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Benoît Lafontaine
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014
Jonathan Martin
 
Claude Robillard Francais 2016
Claude Robillard Francais 2016Claude Robillard Francais 2016
Claude Robillard Francais 2016
Claude Robillard
 
Logiciels libres EPN 2012
Logiciels libres EPN 2012Logiciels libres EPN 2012
Logiciels libres EPN 2012
Heus Erik
 
FOCAL
FOCALFOCAL
FOCAL
FabMob
 
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Publicis Sapient Engineering
 
Kit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des EntrepreneursKit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des Entrepreneurs
Stéphanie Hertrich
 
Faire De l'Ecommerce Avec Des Solutions Open Source
Faire De l'Ecommerce Avec Des Solutions Open SourceFaire De l'Ecommerce Avec Des Solutions Open Source
Faire De l'Ecommerce Avec Des Solutions Open Source
Core-Techs
 
Algorithme FOCAL - Innovateur T
Algorithme FOCAL - Innovateur TAlgorithme FOCAL - Innovateur T
Algorithme FOCAL - Innovateur T
InnovateurT
 
Cours 1.pptx
Cours 1.pptxCours 1.pptx
Cours 1.pptx
SaraNamane
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
Didier Durand
 

Similaire à Maintenance logicielle (20)

Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018Du Code & Des Humains - ElsassJUG 2018
Du Code & Des Humains - ElsassJUG 2018
 
Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?Le DevOps : La clé de la transformation digitale ?
Le DevOps : La clé de la transformation digitale ?
 
Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...Eco Conception logicielle : Comment réduire par deux la consommation d’...
Eco Conception logicielle : Comment réduire par deux la consommation d’...
 
Valider le B2i en découvrant les métiers de l’informatique : webmaster (grou...
Valider le B2i  en découvrant les métiers de l’informatique : webmaster (grou...Valider le B2i  en découvrant les métiers de l’informatique : webmaster (grou...
Valider le B2i en découvrant les métiers de l’informatique : webmaster (grou...
 
Pour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette techniquePour passer la crise, rembourser votre dette technique
Pour passer la crise, rembourser votre dette technique
 
Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !Pour passer la crise, remboursez votre dette technique !
Pour passer la crise, remboursez votre dette technique !
 
Analyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdfAnalyse des besoins et gestion des projets besoin.pdf
Analyse des besoins et gestion des projets besoin.pdf
 
coursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdfcoursABGP-miage-1112-4p1.pdf
coursABGP-miage-1112-4p1.pdf
 
Logiciels Libres, quelles opportunités pour nos entreprises?
Logiciels Libres, quelles opportunités pour nos entreprises?Logiciels Libres, quelles opportunités pour nos entreprises?
Logiciels Libres, quelles opportunités pour nos entreprises?
 
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013Deployer en continu, Benoît Lafontaine, USIEVENT 2013
Deployer en continu, Benoît Lafontaine, USIEVENT 2013
 
Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014Introduction au DevOps @SfPot 2014
Introduction au DevOps @SfPot 2014
 
Claude Robillard Francais 2016
Claude Robillard Francais 2016Claude Robillard Francais 2016
Claude Robillard Francais 2016
 
Logiciels libres EPN 2012
Logiciels libres EPN 2012Logiciels libres EPN 2012
Logiciels libres EPN 2012
 
FOCAL
FOCALFOCAL
FOCAL
 
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
Scrum Day 2014 - Êtes-vous prêts pour le modèle Spotify ?
 
Kit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des EntrepreneursKit De Survie Techno et Web à l'usage des Entrepreneurs
Kit De Survie Techno et Web à l'usage des Entrepreneurs
 
Faire De l'Ecommerce Avec Des Solutions Open Source
Faire De l'Ecommerce Avec Des Solutions Open SourceFaire De l'Ecommerce Avec Des Solutions Open Source
Faire De l'Ecommerce Avec Des Solutions Open Source
 
Algorithme FOCAL - Innovateur T
Algorithme FOCAL - Innovateur TAlgorithme FOCAL - Innovateur T
Algorithme FOCAL - Innovateur T
 
Cours 1.pptx
Cours 1.pptxCours 1.pptx
Cours 1.pptx
 
2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne2012 02-09-eranea-presentation-jug-lausanne
2012 02-09-eranea-presentation-jug-lausanne
 

Dernier

A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
lebaobabbleu
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
lebaobabbleu
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
mcevapi3
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
dokposeverin
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
Editions La Dondaine
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
OlivierLumeau1
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
NadineHG
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
Martin M Flynn
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
kamouzou878
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
M2i Formation
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
Friends of African Village Libraries
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
MahouwetinJacquesGBO
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
Txaruka
 

Dernier (13)

A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)A2-Faire-une-appreciation positive et/ou négative (A2)
A2-Faire-une-appreciation positive et/ou négative (A2)
 
A2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiquesA2-Critiques-gastronomiques activités critiques
A2-Critiques-gastronomiques activités critiques
 
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
[218_phot_d'Autriche-Hongrie_et_des_[...]Vaffier_Hubert_btv1b8594559c.pdf
 
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
Manuel-5.-Elevage-de-poisson-chat-africain-Clarias-gariepinus-en-bacs-hors-so...
 
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
La Révolution Bénédictine Casadéenne du Livradois-Forez: De Charlemagne à Fra...
 
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certificationMS-203 Microsoft 365 Messaging Study Guide to prepare the certification
MS-203 Microsoft 365 Messaging Study Guide to prepare the certification
 
1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire1eT Revolutions Empire Revolution Empire
1eT Revolutions Empire Revolution Empire
 
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptxMARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
MARTYRS DE HOLLANDE - La révolte hollandaise et les guerres de religion..pptx
 
apprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdfapprendre-a-programmer-avec-python-3.pdf
apprendre-a-programmer-avec-python-3.pdf
 
Formation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimismeFormation M2i - Attitude constructive : développer l'art de l'optimisme
Formation M2i - Attitude constructive : développer l'art de l'optimisme
 
Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024Burkina Faso libraries newsletter for June 2024
Burkina Faso libraries newsletter for June 2024
 
Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.Microbiologie: le monde microbien et les techniques de mise en évidence.
Microbiologie: le monde microbien et les techniques de mise en évidence.
 
Zineb Mekouar.pptx Écrivaine marocaine
Zineb Mekouar.pptx   Écrivaine  marocaineZineb Mekouar.pptx   Écrivaine  marocaine
Zineb Mekouar.pptx Écrivaine marocaine
 

Maintenance logicielle

  • 1. Les pourquois et les comments de la Maintenance logicielle Nicolas Anquetil (Nicolas.Anquetil@inria.fr)
  • 2. Sommaire ● Évangélisation : Maintenance logicielle – C'est quoi ? – Importance ? – Ça existe encore !?! ● Recherche : rétro ingénierie logicielle – But – Les difficultés
  • 3. C'est quoi ? ● Un programme pour aller dans le bureau voisin:  debout  tourne à gauche de 45º  avance 2 pas  tourne à droite de 45º  avance 3 pas  tourne à droite de 30º  avance 5 pas  …
  • 4. C'est quoi ? ● Maintenance = modification d'un programme existant pour : – corriger une erreur (“tourne gauche” au lieu de “tourne droite”) – l'adapter à un changement d'environnement (faire un détour quand une rue est bloquée) – prévenir une maintenance future (corriger une erreur pas encore perçue) – apporter une amélioration ou une extension (passer devant la maison de la culture pour aller au travail)
  • 5. C'est quoi ? ● Maintenance = modification d'un programme existant pour : – corriger une erreur (“tourne gauche” au lieu de “tourne droite”) – l'adapter à un changement d'environnement (faire un détour quand une rue est bloquée) – prévenir une maintenance future (corriger une erreur pas encore perçue) – apporter une amélioration ou une extension (passer devant la maison de la culture pour aller au travail) 21% 4% 25% 50%
  • 7. Et concrètement ? ● Cobol représente > 60% des logiciels au monde ● 70% des applications commerciales (“business applications”) sont écrites en Cobol ● Les applications Cobol traitent 85% des données commerciales ● Cobol croit de 5 milliards de LOC par an [eWeeks, 2001]
  • 8. Et concrètement ? ● Cobol - 1959
  • 9. Et concrètement ? ● Cobol – 1959 – Maintenir un programe Cobol c'est comme faire rouler une voiture comme celle-ci tous les jours
  • 10. Et concrètement ? 1 feuille 60 lignes de code (LOC)≃ recto/verso = 120 LOC → de mon bureau au bas du batiment
  • 11. Et concrètement ? 10 feuilles = 1200 LOC (1.2 KLOC) → de mon bureau au café du coin
  • 12. Et concrètement ? Windows NT 3.1 (1993) 4 à 5 MLOC → de mon bureau à la mosquée Sainte Sophie
  • 13. Et concrètement ? Windows NT 3.1 (1993) 4 à 5 MLOC → de mon bureau à la mosquée Sainte Sophie 3,75 m 3,20 m Encyclopedia Britanica (15 ed., 32 volumes)
  • 14. Et concrètement ? Windows NT 3.1 (1993) 4 à 5 MLOC Windows server 2003 50 MLOC → de mon bureau à celui de mon voisin en passant successivement par : - New York - Rio de Janeiro - Dakar
  • 15. Et concrètement ? Windows NT 3.1 (1993) 4 à 5 MLOC Windows server 2003 50 MLOC 41,7 m 46 m
  • 16. Et concrètement ? Correction de bug = Trouver la feuille avec la ligne qui est erronée …
  • 17. Et concrètement ? Correction de bug = Trouver la feuille avec la ligne qui est erronée … → une instruction erronée et …
  • 19. Importance ? ● 1990 → 120 milliards LOC en maintenance (Ulrich, 1990). NB : pile de 100 km de papier ● 2000 → 250 milliards LOC en maintenance (Sommerville, 2000). ● La quantité de code maintenu double tous les 7 ans (Müller et al., 1994).
  • 20. Importance ? ● Cout annuel aux USA >$70 milliards (Sutherland, 1995; Edelstein, 1993) ● Nokia a dépensé $90 millions avec le bug de l'an 2000 ● Gouvernement fédéral aux USA a dépensé $8,38 milliards en 5 ans avec le bug de l'an 2000
  • 21. Importance ? 70s début 80s fin 80s 90s 2000s 0 10 20 30 40 50 60 70 80 90 100 ● Estimation du pourcentage de la maintenance dans le cout total d'un logiciel
  • 23. Ça existe encore !?! ● On a : – Langages évolués (OO, AOP) – Processus modernes (RUP, Agiles) – Normes de qualité (CMMi) – Modèles de développement (MDE, SOA)
  • 24. Ça existe encore !?! ● On a : – Langages évolués (OO, AOP) – Processus modernes (RUP, Agiles) – Normes de qualité (CMMi) – Modèles de développement (MDE, SOA) C'est quoi le problème ?!?
  • 25. Il était une fois ...  Un marchand de moules construit un magasin à Dunkerque ...
  • 26. Il était une fois ...  Les affaires marchent bien
  • 27. Il était une fois ...  Vraiment bien
  • 28. Il était une fois ...  Les employés veulent un restaurant
  • 29. Il était une fois ...  Les directeurs, une terrasse
  • 30. Il était une fois ...  La loi impose une sortie de secours
  • 31. Il était une fois ...  La concurrence offre des goodies aux clients, l'entreprise … une piscine !
  • 32. Il était une fois ...  etc …
  • 33. Il était une autre fois ...  Avec le logiciel, ça serait possible  En fait c'est comme ça que beaucoup de systèmes évoluent
  • 34. Il était une autre fois ...  Avec le logiciel, ceci est possible  En fait c'est comme ça que beaucoup de systèmes évoluent Un logiciel utilisé dans un environnement réel doit évoluer sinon il devient de moins en moins utile dans cet environnement 1ère loi de l'évolution de logiciel [Lehman, 1980]:
  • 35. Ça existe encore !?!  La maintenance n'est pas une question de choix (ni une question de bug)  Les évolutions sont imposées : – Pression de la concurrence ; Nouvelles lois ; Nouvelles nécessitées ; Opportunités de marché ; Evolution des autres systèmes (bibliothèques, système opérationnel) ; …
  • 36. Ça existe encore !?!  La maintenance est un signe de succès !!!  1ère loi de Lehman – « Un logiciel utilisé dans un environnement réel doit évoluer sinon il devient de moins en moins utile dans cet environnement »  On ne maintient que les systèmes utiles et qui en valent la peine
  • 37. Ça existe encore !?!  La maintenance résulte de facteurs externes au logiciel  Les meilleurs processus, environnements, langages, … ne peuvent pas diminuer significativement la maintenance
  • 38. Ça existe encore !?!  Élever le niveau d'abstraction (assembleur, langages procéduraux, langages à objets, composants, modèles) – Ne simplifie pas la maintenance, – Autorise seulement à faire des programmes plus riches
  • 40. Rétro-ingénierie logicielle  Aider à – Maintenir les systèmes (trouver la feuille que l'on doit changer) – Réorganiser les systèmes (diviser la pile de feuilles en plusieurs et créer un indexe) – Migrer/ré-implémenter les systèmes (traduire d'un langage à un autre)
  • 41. Rétro-ingénierie logicielle  Difficultés : – Taille des données – Abstraire les détails pour comprendre – Identifier des tâches répétitives, importantes, automatisables
  • 42. Conclusion ● La maintenance c'est important – Pas lié à un mauvais développement – Pas solubles dans les modèles (ou autre) ● Nous avons des solutions – Nicolas.Anquetil@inria.fr

Notes de l'éditeur

  1. lille new york - 5800 rio - 7700 dakar - 5000 lille - 4400