himanshu
Post on 21-Jan-2015
112 Views
Preview:
DESCRIPTION
TRANSCRIPT
Software Maintenance
HimanshuReg.No - 20114024Roll no - 25
2
Software Maintenance, definition
The process of modifying a software system or component after delivery tocorrect faults,improve performance or otherattributes, or adapt to a changed environment
Software Maintenance
Main issues: why maintenance is such an issue reverse engineering and its limitations how to organize maintenance
4
Relative distribution of software/hardware costs
HardwareDevelopment
Software
Maintenance
1955 1970 1985Year
100
60
20
Perc
ent o
f tot
al c
ost
5
• Why does software maintenance cost so much?
6
Maintenance is thus concerned with:
• correcting errors found after the software has been delivered
• adapting the software to changing requirements, changing environments, ...
7
Key to maintenance is in development
• Higher quality less (correctie) maintenance
• Anticipating changes less (adaptive) maintenance
• Better tuning to user needs less (perfective) maintenance
• Less code less(preventive) maintenance
8
Kinds of maintenance activities
• corrective maintenance: correcting errors
• adaptive maintenance: adapting to changes in the environment (both hardware and software)
• perfective maintenance: adapting to changing user requirements
• preventive maintenance: less code , increasing the system’s maintainability
10
Distribution of maintenance activities
corrective 21%
adaptive 25%
preventive 4%
perfective 50%
Poblems during maintenance
• Persons may not have adequate knowledge about programs ,they may introduce changes to programs without being aware of their effects on other parts of system –”ripple effect”
• Users lack the ability to express problem regarding software to programmers in their understandable form
• Systems not designed for change and hardly any scope for change,maintenance will be very difficult
Maintenance Process
Maintenance models
• Quick fix model• Iterative Enhancement Model• Reuse Oriented Model
Quick Fix Model
• Find problem fix it as quickly as possibe• Fixing without detailed analysis of long term effect of editing
Iterative Enhancement Model• Changes to software are throughout its lifetime are iteative
• It requires full documentaion• It is based on ability fo maintenance team to
analyze the existing product full
Reuse Oriented Model• Maintenance involves reuse of existing program components• It requires full doc.• It is based on ability of maintenance team to analyze the existing product fully
• It has four parts– Identification of parts of old system– Understanding these system parts– Modification fo old parts to new ones– Integration of modified parts into new system
top related