![Page 1: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/1.jpg)
Maintenance Logicielle -- IntroductionNicolas [email protected]@inria.fr
![Page 2: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/2.jpg)
SommaireMaintenance logicielle
– C'est quoi ?– Importance ?– Ça existe encore !?!– Conditions
![Page 3: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/3.jpg)
SommaireMaintenance logicielle
–
– Importance ?– Ça existe encore !?!– Conditions
C’est quoi ?
![Page 4: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/4.jpg)
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
…
![Page 5: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/5.jpg)
C'est quoi ?Maintenance = modifcation d'un programme existant pour :
– corriger une erreur– l'adapter à un changement
d'environnement– prévenir une maintenance future– apporter une amélioration ou une
extension
![Page 6: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/6.jpg)
C'est quoi ?Maintenance = modifcation d'un programme existant pour :
– corriger une erreur– l'adapter à un changement
d'environnement– prévenir une maintenance future– apporter une amélioration ou une
extension
4%
25%
21%
50%
![Page 7: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/7.jpg)
Et concrètement ?
![Page 8: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/8.jpg)
13/11/2017 8/51
Et concrètement ?
1 feuille ≃ 60 lignes de code (LOC)recto/verso = 120 LOC→ de mon bureau jusque dans la rue
![Page 9: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/9.jpg)
13/11/2017 9/51
Et concrètement ?
10 feuilles = 1200 LOC (1.2 KLOC)→ de mon bureau au café du coin
![Page 10: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/10.jpg)
13/11/2017 10/51
Et concrètement ?Windows NT 3.1 (1993)4 à 5 MLOC
3,75m 3,20m
Encyclopedia Britanica(15 ed., 32 volumes)
![Page 11: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/11.jpg)
13/11/2017 11/51
Et concrètement ?Windows NT 3.1 (1993)4 à 5 MLOC→ du M3 à la mosquée Sainte Sophie
![Page 12: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/12.jpg)
13/11/2017 12/51
Et concrètement ?Windows NT 3.1 (1993)4 à 5 MLOCWindows server 200350 MLOC
41,7m 46m
![Page 13: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/13.jpg)
13/11/2017 13/51
Et concrètement ?Windows NT 3.1 (1993)4 à 5 MLOCWindows server 200350 MLOC→ de mon bureau au voisin en passant par :
- New York- Rio de Janeiro- Dakar
![Page 14: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/14.jpg)
13/11/2017 14/51
Et concrètement ?Correction de bug =Trouver la feuille avec la ligne qui est erronée …
![Page 15: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/15.jpg)
13/11/2017 15/51
Et concrètement ?Correction de bug =Trouver la feuille avec la ligne qui est erronée …→ une instruction erronée et …
![Page 16: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/16.jpg)
SommaireMaintenance logicielle
– C'est quoi ?–
– Ça existe encore !?!– Conditions
Importance ?
![Page 17: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/17.jpg)
Et concrètement ?Cobol représente > 60% des logiciels au monde70% des applications commerciales (“business applications”) sont écrites en CobolLes applications Cobol traitent 85% des données commercialesCobol croit de 5 milliards de LOC par an
[eWeeks, 2001]
![Page 18: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/18.jpg)
13/11/2017 18/51
Et concrètement ?Cobol - 1959
![Page 19: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/19.jpg)
13/11/2017 19/51
Et concrètement ?Cobol – 1959
– Maintenir un programe Cobol c'est comme faire rouler cette voiture tous les jours
![Page 20: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/20.jpg)
13/11/2017 20/51
Importance ?1990 → 120 milliards LOC en maintenance (Ulrich, 1990).NB : pile de 100 km de papier2000 → 250 milliards LOC en maintenance (Sommerville, 2000).La quantité de code maintenu double tous les 7 ans (Müller et al., 1994).
![Page 21: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/21.jpg)
13/11/2017 21/51
Importance ?Coût annuel aux USA >$70 milliards (Sutherland, 1995; Edelstein, 1993)Nokia a dépensé $90 millions avec le bug de l'an 2000Gouvernement fédéral aux USA a dépensé $8,38 milliards en 5 ans avec le bug de l'an 2000
![Page 22: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/22.jpg)
13/11/2017 22/51
Importance ?
70s début 80s fin 80s 90s 2000s0
10
20
30
40
50
60
70
80
90
100
Estimation du pourcentage de la maintenance dans le coût total d'un logiciel
![Page 23: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/23.jpg)
SommaireMaintenance logicielle
– C'est quoi ?– Importance ?–
– ConditionsÇa existe encore ?!?
![Page 24: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/24.jpg)
13/11/2017 24/51
Ç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)
![Page 25: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/25.jpg)
13/11/2017 25/51
Ç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 ?!?
![Page 26: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/26.jpg)
13/11/2017 26/51
Il était une fois ...Un marchand de moules construit un magasin à Dunkerque ...
![Page 27: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/27.jpg)
13/11/2017 27/51
Il était une fois ...Les afaires marchent bien
![Page 28: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/28.jpg)
13/11/2017 28/51
Il était une fois ...Vraiment bien
![Page 29: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/29.jpg)
13/11/2017 29/51
Il était une fois ...Les employés veulent un restaurant
![Page 30: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/30.jpg)
13/11/2017 30/51
Il était une fois ...Les directeurs, une terrasse
![Page 31: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/31.jpg)
13/11/2017 31/51
Il était une fois ...La loi impose une sortie de secours
![Page 32: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/32.jpg)
13/11/2017 32/51
Il était une fois ...La concurrence ofre des goodies aux clients, l'entreprise … une piscine !
![Page 33: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/33.jpg)
13/11/2017 33/51
Il était une fois ...etc …
![Page 34: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/34.jpg)
13/11/2017 34/51
Il était une autre fois ...Avec le logiciel, ça serait possibleEn fait c'est comme ça que beaucoup de systèmes évoluent
![Page 35: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/35.jpg)
13/11/2017 35/51
Il était une autre fois ...Avec le logiciel, ça serait possibleEn fait c'est comme ça que beaucoup de systèmes évoluentUn 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]
![Page 36: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/36.jpg)
13/11/2017 36/51
Ç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) ;– …
![Page 37: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/37.jpg)
13/11/2017 37/51
Ç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
![Page 38: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/38.jpg)
13/11/2017 38/51
Ça existe encore !?!La maintenance résulte de facteurs externes au logicielLes meilleurs processus, environnements, langages, …… ne peuvent pas diminuer signifcativement la maintenance
![Page 39: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/39.jpg)
13/11/2017 39/51
Ça existe encore !?!Élever le niveau d'abstraction (assembleur, langages procéduraux, langages à objets, composants, modèles)
– Ne simplife pas la maintenance,– Autorise seulement à faire des
programmes plus riches
![Page 40: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/40.jpg)
SommaireMaintenance logicielle
– C'est quoi ?– Importance ?– Ça existe encore !?!– Conditions
![Page 41: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/41.jpg)
13/11/2017 41/51
ConditionsSignifcativement plus difcile que le développement de nouvelles applications
– + chaotique– + contraint techniquement– + contraint fnancièrement– Difcultés de compréhension
![Page 42: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/42.jpg)
13/11/2017 42/51
Conditions chaotiquesLa maintenance se fait régulièrement en réaction à un événement externe
– Maintenance corrective : Les bugs ne préviennent pas à l’avance
– Maintenance évolutive : Réaction à la concurrence
Moins d’opportunités de planifcation que pour le développement d’une nouvelle application
![Page 43: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/43.jpg)
13/11/2017 43/51
Conditions techniquesLa maintenance se fait dans un environnement pré-existantChoix techniques du passé (langage, architecture, BdD, etc.) contraignent le présent … CobolChoix des meilleures solutions … dans les limites de l’existant
![Page 44: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/44.jpg)
13/11/2017 44/51
Conditions fnancièresSouvent plus facile de trouver de l’argent pour un projet neuf
– Investissement : Se traduit par une modifcation de la valeur du patrimoine
– Fonctionnement : Dépenses nécessaires au fonctionnement
![Page 45: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/45.jpg)
13/11/2017 45/51
Difcultés de compréhension
Perte des connaissances :– Organisation existante du système– Choix techniques faits (et pour quelles
raisons)– Fonctionnalités existantes– « Business rules »
![Page 46: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/46.jpg)
13/11/2017 46/51
Difcultés de compréhension
Perte des connaissances :Difficultés deic réficupicéreicr ficeics ficonnaisissaisnficeics
– Conficeicpicteicurs initiaisux sont picaisrtis– Paiss deic doficumeicntaistion ou doficumeicntaistion
obsolèteic– Lais seiculeic sourficeic d’informaistion eicst leic ficodeic
(informaistion deic très baiss niveicaisu)
![Page 47: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/47.jpg)
13/11/2017 47/51
Difcultés de compréhension
Perte des connaissances :Difficultés deic réficupicéreicr ficeics ficonnaisissaisnficeics
– Conficeicpicteicurs initiaisux sont picaisrtis– Paiss deic doficumeicntaistion ou doficumeicntaistion
obsolèteic– Lais seiculeic sourficeic d’informaistion eicst leic ficodeic
(informaistion deic très baiss niveicaisu)
De 40% à 60% du temps de
maintenance est passé à lire le
code (pour le comprendre)
![Page 48: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/48.jpg)
13/11/2017 48/51
Difcultés de compréhension
Perte des connaissances :– Organisation existante du système– Choix techniques faits (et pour quelles
raisons)
➔Érosion de l’architecture (« architectural drift »)➔Perte de qualité du système
![Page 49: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/49.jpg)
13/11/2017 49/51
Difcultés de compréhension
Perte des connaissances :– Organisation existante du système– Choix techniques faits (et pour quelles
raisons)
➔Perte de qualité du système– Correction d’un bug en introduit trois
autres (« ripple efect »)
![Page 50: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/50.jpg)
Conclusion
![Page 51: Maintenance Logicielle -- Introductionseriai/uploads/Enseignement/CoursAnquentil1.pdf · Maintenance Logicielle -- Introduction Nicolas Anquetil Nicolas.Anquetil@univ-lille1.fr Nicolas.Anquetil@inria.fr](https://reader036.vdocuments.pub/reader036/viewer/2022062415/60474967a0629c1f9b5927bd/html5/thumbnails/51.jpg)
13/11/2017 51/51
ConclusionLa maintenance est une réalité intrinsèque et inévitable du logicielLa maintenance n’est pas un problème, c’est une preuve de succèsLa maintenance est difcile