Download - Software enginnering
Amity Institute of Information Technology
Software Engineering
Maintenance Process, Maintenance Model
Submitted byAshish Kumar
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
Amity Institute of Information Technology
3
Types of Maintenance
1. Corrective maintenance:
2. Adaptive maintenance
3. Preventive maintenance
4. Perfective maintenance
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
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
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
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
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
Amity Institute of Information Technology
9
The Maintenance ProcessMaintenance 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
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
Amity Institute of Information Technology
11
Maintenance effort distribution
softwareadaption
(18%)
Fault repair(17%)
functionalityaddition or
modification(65%)
Amity Institute of Information Technology
12
Model of Maintenance EffortModel 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
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
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
Amity Institute of Information Technology
15
Iterative Enhancement Model Analysis Characterization of proposed modifications Redesign and implementation
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.
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.
Amity Institute of Information Technology
Thank You
18