0% found this document useful (0 votes)
28 views31 pages

Soft Maintanance (Unit-5)

He'll be a great day boy

Uploaded by

adivarshney1606
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
28 views31 pages

Soft Maintanance (Unit-5)

He'll be a great day boy

Uploaded by

adivarshney1606
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

UNIT-5

Software maintenance and


software project management
Need for Maintenance
• The demand of the user community to see the
existing software products run on newer
platforms, run in newer environments, and/or
with enhanced features.
• When the hardware platform is changed, and a
software product performs some low-level
functions, maintenance is necessary
• Software maintenance is becoming an important
activity of a large number of software
organizations.
Software Maintenance
• Software Maintenance is a very broad
activity that includes error corrections,
enhancements of capabilities, deletion of
obsolete capabilities, and optimization.
• software maintenance is needed to correct
errors, enhance features, port the software
to new platforms, etc.
• 70 percent of the cost of software is
devoted to maintenance
Categories of Maintenance

• Corrective:
Corrective maintenance of a software product is
necessary to rectify the bugs observed while the
system is in use.
• Adaptive:
A software product might need maintenance when the
customers need the product to run on new platforms,
on new operating systems, or when they need the
product to interface with new hardware or software.
• Perfective:
A software product needs maintenance to support the
new features that users want it to support, to change
different functionalities of the system according to
customer demands, or to enhance the performance of
the system.
• Preventive maintenance:
There are long term effects of corrective, adaptive and
perfective changes. This leads to increase in the
complexity of the software, which reflect weakening
structure. The work is required to be done to maintain it
or to reduce it, if possible. This work may be named as
preventive maintenance.
Distribution of maintenance effort
Problems During Maintenance
• Often the program is written by another
person or group of persons.
• Often the program is changed by person
who did not understand it clearly.
• Program listings are not structured.
• High staff turnover.
• Information gap.
• Systems are not designed for change.
Potential Solutions to Maintenance
Problems

• Budget and effort reallocation


• Complete replacement of the system
• Maintenance of existing system
Maintenance Process

one event causes a series of other events to happen.


Maintenance Models
Estimation of Maintenance Cost
• Maintenance Effort is very significant and consume
about 40-70 % of the cost of entire life cycle
• It is advisable to invent more effort in early phase of
software life cycle to reduce the maintenance cost
• The defect repair ratio increase heavily from analysis
phase to implementation phase
• Good software engineering techniques such as precise
specification, loose coupling and configuration
management all reduce maintenance cost.

Defect repair ratio


Belady and Lehman Model

M = P + Ke(c-d)

Where,
M : Total effort expended
P : Productive effort that involves analysis, design, coding,
testing and evaluation.
K : An empirically determined constant.
c : Complexity measure due to lack of good design and
documentation.
d : Degree to which maintenance team is familiar with the
software.
Note: This model indicates that the effort and cost can increase exponentially if poor
s/w development approach is used.
More Techniques….
Software Reverse engineering
• RE is the process followed in order to find difficult
,unknown and hidden information about a
software system.
• Analysing software with a view to understanding
its design and specification.
• May be part of a re-engineering process but may
also be used to re-specify a system for
re-implementation
• Main purpose of RE is to recover information from
the existing code or any other intermediate
document, any activity that requires program
understanding at any level fall within the scope of
RE.
Continue…..
Software reverse engineering
• Software reverse engineering is the process
of recovering the design and the
requirements specification of a product from
an analysis of its code.
• The purpose of reverse engineering is to help
maintenance work by improving the
understandability of a system and to produce
the necessary documents for a legacy
system.
Scope and Tasks(Reverse Engg)

• Redocumentation and/ or document


generation.
• Recovery of design approach and design
details at any level of abstraction.
• Identifying reusable components.
• Identifying components that need
restructuring.
• Recovering business rules, and
• Understanding high level system description
A process model for
(reverse engineering)
The Reverse Engineering Process
• Redocumentation:- Redocumentation is the
recreation of a semantically equivalent representation
within the same relative abstraction level.
• Design recovery:- Design recovery entails identifying
and extracting meaningful higher level abstractions
beyond those obtained directly from examination of the
source code. This may be achieved from a combination
of code, existing design documentation, personal
experience, and knowledge of the problem and
application domains.
Software RE-Engineering

• Software re-engineering is concerned with taking existing


legacy systems and re-implementing them to make them
more maintainable.
• The critical distinction between re-engineering and new
software development is the starting point for the
development as shown in Fig

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy