1. Amity Institute of Information Technology
Software Engineering
Maintenance Process, Maintenance Model
Submitted by
Ashish Kumar
2. Amity Institute of Information Technology
2
• The process of modifying a software system or component after
delivery to correct faults, improve performance or other attributes,
or adapt to a changed environment.
• correcting errors found after the software has been delivered.
Software Maintenance
3. Amity Institute of Information Technology
3
Types of Maintenance
1. Corrective maintenance:
2. Adaptive maintenance
3. Preventive maintenance
4. Perfective maintenance
4. Amity Institute of Information Technology
4
Types of Maintenance
• Maintenance to repair software faults
Changing a system to correct deficiencies in the way meets its
requirements.
• Maintenance to adapt software to a different operating
environment
Changing a system so that it operates in a different environment
(computer, OS, etc.) from its initial implementation
• Maintenance to add to or modify the system’s functionality
Modifying the system to satisfy new requirements
5. Amity Institute of Information Technology
5
• Corrective maintenance: Reactive modification of
a software product performed after delivery to
correct discovered problems.(correcting errors)
example: light bulb replacement
Types of Maintenance
6. Amity Institute of Information Technology
6
• Adaptive maintenance: Modification of a
software product performed after delivery to
keep a software product usable in a changed
or changing environment(both hardware and
software).
example: websites etc.
Types of Maintenance
7. Amity Institute of Information Technology
7
• Preventive maintenance: Modification
of a software product after delivery to
detect and correct latent faults in the
software product before they become
effective faults.(increasing the system’s
maintainability)
example: changing oil & filters
Types of Maintenance
8. Amity Institute of Information Technology
8
• Perfective maintenance: Modification of a
software product after delivery to improve
performance or maintainability.(adapting to
changing user requirements)
example: software updates and service packs
Types of Maintenance
9. Amity Institute of Information Technology
9
The Maintenance Process
Maintenance process vary considerably depending on the types of
software being maintained, the development processes used in an
organization and people involved in the process.
Change
requests
Impact
analysis
Release
planning
Change
implementation
System
release
Fault
repair
Flat form
adaptation
System
enhancement
Overview of the Maintenance Process
10. Amity Institute of Information Technology
Factors effect maintenance
10
Lack of documentation
Lack of time to update existing documentation
Quality of original application
Documentation quality
Rotation of maintenance people
Different programming styles conflict
Lack of documentation and tools
Bad maintenance management
Documentation policy
11. Amity Institute of Information Technology
11
Maintenance effort distribution
software
adaption
(18%)
Fault repair
(17%)
functionality
addition or
modification
(65%)
12. Amity Institute of Information Technology
12
Model of Maintenance Effort
Model of maintenance effort M = p + K^(c-d)
• M = total maintenance effort over entire lifecycle
• p = productive efforts: analysis, design, code, test
• c = complexity due to lack of structured design and
documentation
• d = degree of familiarization with the system
• K = empirically determined constant
13. Amity Institute of Information Technology
Model of Maintenance Effort
13
Model of maintenance effort M = p + K^(c-d)
• Cost of maintenance increases exponentially.
• Costs are reduced by structured development
• Costs are reduced by giving the maintenance team time to become
thoroughly familiar with the system
14. Amity Institute of Information Technology
14
Software Maintenance Models
Quick-fix Model
This is basically an approach to maintaining software. It is a fire fighting
approach, waiting for the problem to occur and then trying to fix it as quickly as possible
15. Amity Institute of Information Technology
15
Iterative Enhancement Model
Analysis
Characterization of proposed modifications
Redesign and implementation
16. Amity Institute of Information Technology
16
Reuse Oriented Model
Identification of the parts of the old system that are candidates for reuse.
Understanding these system parts.
Modification of the old system parts appropriate to the new requirements.
Integration of the modified parts into the new system.
17. Amity Institute of Information Technology
17
Boehm’s Model
• Boehm proposed a model for the maintenance process based upon the economic
models and principles.
• Boehm represent the maintenance process as a closed loop cycle.