View
217
Download
0
Category
Preview:
Citation preview
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
Recommended