7/30/2019 Software Maintenance.pptx
1/19
Software Maintenance
7/30/2019 Software Maintenance.pptx
2/19
Importance of Software
Maintenance
Amount
70% of Cost
Forms :
recovery
bug fixes
enhancements
7/30/2019 Software Maintenance.pptx
3/19
Taxonomy of Software
Maintenance activities
Adaptive
Corrective
Perfective
Preventive
7/30/2019 Software Maintenance.pptx
4/19
ADAPTIVE: Adapt the SW to
another
environment
New SW/HW
paradigm OS
Platform
REASONS:
market-driven
technology_driven
For:
long term
SW evolution Market
penetration
7/30/2019 Software Maintenance.pptx
5/19
Corrective Maintenance
Diagnose reportedSW errors
By:
testers beforedelivery
client during use
maintenance team
Maybe :
unscheduledcostly
imperfectdebugging
7/30/2019 Software Maintenance.pptx
6/19
types
Specification
missing req
incorrect
incomplete
Design
poor
algo
data structure
HLD style
Code
incorrectmapping todesign
easy to fix
7/30/2019 Software Maintenance.pptx
7/19
Perfective Maintenance
Improvement functional
nonfunctional
e.g.
modify interfaces
improve usability
enhanceresponse time
reduce memoryreq
Initiated by: external users
productmanagers
revision evolution
Requires modification
of specs
design
code
7/30/2019 Software Maintenance.pptx
8/19
Preventive
To improve futuremaintainability
Reducepossibilities ofmore errors
Reducemaintenance cost
Forms
SWrestructuring
change inALGO
enhancementof SW
documentation
This is called
REVERSE
7/30/2019 Software Maintenance.pptx
9/19
Stats
75% adaptive and perfective
20 % corrective
5 % preventive
7/30/2019 Software Maintenance.pptx
10/19
SW Maintenance Process
1. Phase I : Identification
2. Phase 2: Analysis
7/30/2019 Software Maintenance.pptx
11/19
Phase I : Identification
problem,
modification,
classification,prioriti
zation
Validation
Resource
allocation
SW change
request(SCR)Schedule
maintenance
7/30/2019 Software Maintenance.pptx
12/19
Phase 2: Analysis
Economic
Technical
Prepare prototype
Risk analysis
Determine
Impact of changesAlternative
solutions
7/30/2019 Software Maintenance.pptx
13/19
Phase 3: Design
Outline action plan
Identify affected
modules
Modification ofmodules
Develop test cases
for unit and
regression test
Review test plans
7/30/2019 Software Maintenance.pptx
14/19
Phase 4
Implement
Perform
changes
to code Do code review
walkthrough
checklist
Integrate
review if
changes
reflect designchanges
7/30/2019 Software Maintenance.pptx
15/19
Phase 5 : Testing
Regression test
ensure that
changes do not
affect other
related SW
features
System test
ensure that
modifications are
successfully
incorporated
Do acceptancetesting
7/30/2019 Software Maintenance.pptx
16/19
Phase 6: AcceptanceTest
Acceptance testing
documents
code
Done at developer or
client premises or
both
7/30/2019 Software Maintenance.pptx
17/19
Phase 7 : Delivery
Delivery
Approval of SW
developer
client
representatives
7/30/2019 Software Maintenance.pptx
18/19
SW mgt techniques
Reverse
engineering
Extraction
decipher digital HWcomponent
discover
functional specs
deconstruction of
SW
Design recovery
by moving from
SW appropriate
documentationmaybe obtained
7/30/2019 Software Maintenance.pptx
19/19
SW mgt techniques
Restructuring
Change in current
software
configurationChange in control
structure used
Module
interrelationships
For more
reusability
Reengineering
Renovation or
Rejuvenation
Forward SWengineering
Add Requirements
that are not met
Top Related