SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
Software Evolution and Maintenance 
Feliciano Colella 
19th of November, 2014
Introduction SMSL PMSC Research & Teaching Software Maintenance Conclusion 
Introduction 
 Successful software requires constant change that constitutes 
the software evolution. That is triggered by evolving 
requirements, technologies, and stakeholder knowledge. 
 What is evolutionary software development? 
 What is software evolution? 
 How research and teaching are evolving w.r.t. those topics? 
 What is software maintenance? 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Roadmap of Presentation 
SMSL Staged Model of Software Lifespan issues: agile dev, 
open-source dev, ESD and so on... 
PMSC Current state and future directions of Phased Model 
of Software Change. 
Research Signi
cant development in research and teaching 
approaches. 
Maintenance Software maintenance as a contrast to software 
evolution. 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Staged Model of Software Lifespan 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Evolutionary Software Development (ESD) 
ESD is a software development practice that moves the bulk of the 
development from initial development to evolution. 
 Iterative development; 
 Agile development; 
 Exploratory development; 
 Centralized development; 
 Open source development; 
 Directed development; 
 Solo development. 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Future directions in Staged Model 
Unbundling Practices of ESD 
1 Practices of code development 
2 Practices of developer team organization 
3 Practices involving all stakeholders 
Large Software Projects 
 Large software projects with budget larger than $10 million 
have low 10% probability of success, and 38% of them were 
cancelled. 
 Confusions about terminology may be a contributing factor to 
this state of the aairs. 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Phased Model of Software Change 
Software Change is the foundation of all evolutionary software 
processes 
 Phases of Software Change 
 As Needed Program Comprehension 
 Future Directions in Software Change 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Phase of Software Change 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
As Needed Program Comprehension 
The existing software is sometimes very large and developers 
employ as-needed approach that concentrates only on that part of 
the code that they need to understand for their current task. 
Concept 
name The label that identi
es the concept. 
intension The meaning of the concept. 
extension The things that the concept describes. 
Concept location VS Impact Analysis 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Concept location - Impact Analysis 
Concept Location 
 Concept location is the search for concept's extensions in the 
code. 
 It is a small task in little programs, but it can be a 
considerable one in larger programs. 
 Programmers who know their code can
nd the concept easily. 
 Programmers who don't know the code usually use a string 
pattern search like grep. 
 New concept location techniques broadly fall into static and 
dynamic categories, like a Concept Map. 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Concept location - Impact Analysis 
Impact Analysis 
 Expands the results of the concept location. 
 Determines the full extent of the change by
nding all 
software components that will be aected. 
 Planning phase that determines the strategy of the change. 
 Is a part of as-needed program comprehension. 
Incremental Impact Analysis 
1 Component C is scheduled to be modi
ed. 
2 The developer inspect the component related to C through 
dependencies. 
3 The developer decides which components has to be modi
ed. 
Colella Software Evolution and Maintenance
Introduction SMSL PMSC Research  Teaching Software Maintenance Conclusion 
Future Directions in Software Change 
Software change is a fundamental task in SE, both related 
practices and supporting tools need continuous improvement. 
Concept location presents numerous open issues: investigation of 
concept location in the presence of external documentation. 
The use of concept maps or domain ontologies in concept location 
is a promising direction that should receive further attention. 
Impact Analysis considers only whether modules are impacted or 
not and should quantify the complexity of the impact. 
To make the navigation of the incremental impact analysis more 
tractable, heuristics and tools that identify likely to propagate 
dependencies need further attention. 
Colella Software Evolution and Maintenance

Weitere ähnliche Inhalte

Was ist angesagt?

Software quality
Software qualitySoftware quality
Software quality
jagadeesan
 

Was ist angesagt? (20)

Software Metrics
Software MetricsSoftware Metrics
Software Metrics
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 
Software development process models
Software development process modelsSoftware development process models
Software development process models
 
Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)Case tools(computer Aided software Engineering)
Case tools(computer Aided software Engineering)
 
Planning the development process
Planning the development processPlanning the development process
Planning the development process
 
Software systems engineering PRINCIPLES
Software systems engineering PRINCIPLESSoftware systems engineering PRINCIPLES
Software systems engineering PRINCIPLES
 
Legacy system.
Legacy system.Legacy system.
Legacy system.
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 
Software quality
Software qualitySoftware quality
Software quality
 
SQA - chapter 13 (Software Quality Infrastructure)
SQA - chapter 13 (Software Quality Infrastructure)SQA - chapter 13 (Software Quality Infrastructure)
SQA - chapter 13 (Software Quality Infrastructure)
 
Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Sdlc models
Sdlc modelsSdlc models
Sdlc models
 
Software Quality Metrics
Software Quality MetricsSoftware Quality Metrics
Software Quality Metrics
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Need for Software Engineering
Need for Software EngineeringNeed for Software Engineering
Need for Software Engineering
 
Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software Engineering
 
System testing
System testingSystem testing
System testing
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
SDLC
SDLCSDLC
SDLC
 

Ähnlich wie Software evolution and maintenance

Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
Ashutosh Singh
 
Selection And Implementation Of An Enterprise Maturity...
Selection And Implementation Of An Enterprise Maturity...Selection And Implementation Of An Enterprise Maturity...
Selection And Implementation Of An Enterprise Maturity...
Jenny Calhoon
 
Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdf
KAJAL MANDAL
 
Implementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayImplementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase Essay
Ashley Thomas
 

Ähnlich wie Software evolution and maintenance (20)

reaserch ppt.pptx
reaserch ppt.pptxreaserch ppt.pptx
reaserch ppt.pptx
 
Lecture1422914635
Lecture1422914635Lecture1422914635
Lecture1422914635
 
Software Engineering Overview
Software Engineering OverviewSoftware Engineering Overview
Software Engineering Overview
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Conventional and Object Oriented Software Engineering
Conventional and Object Oriented Software EngineeringConventional and Object Oriented Software Engineering
Conventional and Object Oriented Software Engineering
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)Software Engineering (Short & Long Questions)
Software Engineering (Short & Long Questions)
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
A Software System Development Life Cycle Model for Improved Students Communic...
A Software System Development Life Cycle Model for Improved Students Communic...A Software System Development Life Cycle Model for Improved Students Communic...
A Software System Development Life Cycle Model for Improved Students Communic...
 
Soft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptxSoft.Engg. UNIT 1.pptx
Soft.Engg. UNIT 1.pptx
 
Software Engineering concept
Software Engineering concept Software Engineering concept
Software Engineering concept
 
Software lifecycle model report
Software lifecycle model reportSoftware lifecycle model report
Software lifecycle model report
 
An overview of software development methodologies.
An overview of software development methodologies.An overview of software development methodologies.
An overview of software development methodologies.
 
A New Software Engineeering Approach
A New Software Engineeering ApproachA New Software Engineeering Approach
A New Software Engineeering Approach
 
Incremental model
Incremental modelIncremental model
Incremental model
 
Selection And Implementation Of An Enterprise Maturity...
Selection And Implementation Of An Enterprise Maturity...Selection And Implementation Of An Enterprise Maturity...
Selection And Implementation Of An Enterprise Maturity...
 
Software Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdfSoftware Engineering in a Quick and Easy way - v1.pdf
Software Engineering in a Quick and Easy way - v1.pdf
 
Implementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase EssayImplementation Of A Pre Study Phase Essay
Implementation Of A Pre Study Phase Essay
 
Elementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptxElementary Probability theory Chapter 2.pptx
Elementary Probability theory Chapter 2.pptx
 

Kürzlich hochgeladen

Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Sérgio Sacani
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Sérgio Sacani
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Lokesh Kothari
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Sérgio Sacani
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
Sérgio Sacani
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
RohitNehra6
 

Kürzlich hochgeladen (20)

All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
All-domain Anomaly Resolution Office U.S. Department of Defense (U) Case: “Eg...
 
Green chemistry and Sustainable development.pptx
Green chemistry  and Sustainable development.pptxGreen chemistry  and Sustainable development.pptx
Green chemistry and Sustainable development.pptx
 
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 bAsymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
Asymmetry in the atmosphere of the ultra-hot Jupiter WASP-76 b
 
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune WaterworldsBiogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
Biogenic Sulfur Gases as Biosignatures on Temperate Sub-Neptune Waterworlds
 
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls AgencyHire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
Hire 💕 9907093804 Hooghly Call Girls Service Call Girls Agency
 
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
Labelling Requirements and Label Claims for Dietary Supplements and Recommend...
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroidsHubble Asteroid Hunter III. Physical properties of newly found asteroids
Hubble Asteroid Hunter III. Physical properties of newly found asteroids
 
Formation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disksFormation of low mass protostars and their circumstellar disks
Formation of low mass protostars and their circumstellar disks
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Chemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdfChemistry 4th semester series (krishna).pdf
Chemistry 4th semester series (krishna).pdf
 
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Forensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdfForensic Biology & Its biological significance.pdf
Forensic Biology & Its biological significance.pdf
 
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 60009654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
9654467111 Call Girls In Raj Nagar Delhi Short 1500 Night 6000
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
CELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdfCELL -Structural and Functional unit of life.pdf
CELL -Structural and Functional unit of life.pdf
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
Biopesticide (2).pptx .This slides helps to know the different types of biop...
Biopesticide (2).pptx  .This slides helps to know the different types of biop...Biopesticide (2).pptx  .This slides helps to know the different types of biop...
Biopesticide (2).pptx .This slides helps to know the different types of biop...
 
GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)GBSN - Microbiology (Unit 2)
GBSN - Microbiology (Unit 2)
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 

Software evolution and maintenance

  • 1. Software Evolution and Maintenance Feliciano Colella 19th of November, 2014
  • 2. Introduction SMSL PMSC Research & Teaching Software Maintenance Conclusion Introduction Successful software requires constant change that constitutes the software evolution. That is triggered by evolving requirements, technologies, and stakeholder knowledge. What is evolutionary software development? What is software evolution? How research and teaching are evolving w.r.t. those topics? What is software maintenance? Colella Software Evolution and Maintenance
  • 3. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Roadmap of Presentation SMSL Staged Model of Software Lifespan issues: agile dev, open-source dev, ESD and so on... PMSC Current state and future directions of Phased Model of Software Change. Research Signi
  • 4. cant development in research and teaching approaches. Maintenance Software maintenance as a contrast to software evolution. Colella Software Evolution and Maintenance
  • 5. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Staged Model of Software Lifespan Colella Software Evolution and Maintenance
  • 6. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Evolutionary Software Development (ESD) ESD is a software development practice that moves the bulk of the development from initial development to evolution. Iterative development; Agile development; Exploratory development; Centralized development; Open source development; Directed development; Solo development. Colella Software Evolution and Maintenance
  • 7. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Future directions in Staged Model Unbundling Practices of ESD 1 Practices of code development 2 Practices of developer team organization 3 Practices involving all stakeholders Large Software Projects Large software projects with budget larger than $10 million have low 10% probability of success, and 38% of them were cancelled. Confusions about terminology may be a contributing factor to this state of the aairs. Colella Software Evolution and Maintenance
  • 8. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Phased Model of Software Change Software Change is the foundation of all evolutionary software processes Phases of Software Change As Needed Program Comprehension Future Directions in Software Change Colella Software Evolution and Maintenance
  • 9. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Phase of Software Change Colella Software Evolution and Maintenance
  • 10. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion As Needed Program Comprehension The existing software is sometimes very large and developers employ as-needed approach that concentrates only on that part of the code that they need to understand for their current task. Concept name The label that identi
  • 11. es the concept. intension The meaning of the concept. extension The things that the concept describes. Concept location VS Impact Analysis Colella Software Evolution and Maintenance
  • 12. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Concept location - Impact Analysis Concept Location Concept location is the search for concept's extensions in the code. It is a small task in little programs, but it can be a considerable one in larger programs. Programmers who know their code can
  • 13. nd the concept easily. Programmers who don't know the code usually use a string pattern search like grep. New concept location techniques broadly fall into static and dynamic categories, like a Concept Map. Colella Software Evolution and Maintenance
  • 14. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Concept location - Impact Analysis Impact Analysis Expands the results of the concept location. Determines the full extent of the change by
  • 15. nding all software components that will be aected. Planning phase that determines the strategy of the change. Is a part of as-needed program comprehension. Incremental Impact Analysis 1 Component C is scheduled to be modi
  • 16. ed. 2 The developer inspect the component related to C through dependencies. 3 The developer decides which components has to be modi
  • 17. ed. Colella Software Evolution and Maintenance
  • 18. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Future Directions in Software Change Software change is a fundamental task in SE, both related practices and supporting tools need continuous improvement. Concept location presents numerous open issues: investigation of concept location in the presence of external documentation. The use of concept maps or domain ontologies in concept location is a promising direction that should receive further attention. Impact Analysis considers only whether modules are impacted or not and should quantify the complexity of the impact. To make the navigation of the incremental impact analysis more tractable, heuristics and tools that identify likely to propagate dependencies need further attention. Colella Software Evolution and Maintenance
  • 19. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Research Teaching Empirical Work Various techniques oer various levels of con
  • 20. dence. It is often impossible to replace one technique by the others. For important observed facts, there should be more eort devoted for replications. Reasoning about Evolution The goal is to make that reasoning explicit, pragmatic, and sound. A very promising approach advocates to create small models geared towards speci
  • 21. c problems. Colella Software Evolution and Maintenance
  • 22. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Research Teaching Teaching software evolution should builds a bridge between the current academic programs and the expectations placed on the graduates. 1 Introductory programming. 2 Portfolio of technologies (GUI, testing, modeling...). 3 PMSC basic. 4 ESD processes. The grades correspond to exams (in the classic way) and projects, which grades are based on commit code and reports that the student are asked to prepare. Colella Software Evolution and Maintenance
  • 23. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Software Maintenance The purpose of the Software Maintenance Process is to provide cost-eective support to a delivered software product. The goal of software Maintenance is to make corrective (bug
  • 24. xes) or adaptive changes in the software. More developer teams and more versions of the software have to coexists. An important issue is the End of Software Evolution. Colella Software Evolution and Maintenance
  • 25. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Software Maintenance Stabilization Software evolution is no longer necessary. Frequently occurs in embedded systems. Software evolution reach a stabilization when the stakeholder learning process is complete. Code Decay Is a reason that may cause involuntary end of evolution. Insucient developer knowledge. Cultural shift. Colella Software Evolution and Maintenance
  • 26. Introduction SMSL PMSC Research Teaching Software Maintenance Conclusion Conclusion Software evolution has moved from a peripheral phenomenon into the center of software development and SE. This paper covers: Evolutionary software development. Software evolution and software change. PMSC. Research and Teaching methodologies. Maintenance. Colella Software Evolution and Maintenance
  • 27. Thanks for the attention.