Sunteți pe pagina 1din 26

SOFTWARE

MAINTENANCE
Management of Maintenance
Maintenance Process
Maintenance Models

SUMOD SUNDAR
S1 MTech CSE
Rollno:116

MANAGEMENT OF
MAINTENANCE
Software maintenance is a very broad activity that

includes
Error corrections,
Enhancements of capabilities,
Deletion of obsolete capabilities, and
Optimization.

Categories
Corrective maintenance
Modifications initiated by defects in the software.

Adaptive maintenance
Modifying the software to match changes in the ever

changing environment.

Perfective maintenance
Improving processing efficiency or performance, or

restructuring the software to improve changeability.


Enhancement of existing system functionality,
Improvement in computational efficiency etc.

Categories cntd..
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 deteriorating 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.

Categories: Corrective maintenance


Impractical to exhaustively test a large software system.
Therefore reasonable to assume that any large system will have

errors .
Testing should be thorough for common cases, so errors likely to

be obscure.
The process of receiving reports of such errors, diagnosing the

problem, and fixing it is called "corrective maintenance"

Categories cntd..
Perfective maintenance
Users and marketers are never satisfied.
Even if a system is wildly successful, someone will want new

or enhanced features added to it.


Sometimes alter the way a certain component of the system
works, or its interface.
The process of
receiving suggestions and requests for such enhancements

or modifications,
evaluating their effects, and implementing them is called
"perfective maintenance"

Categories cntd..
Preventive maintenance
Sometimes changes are needed for entirely internal reasons
Such changes have no direct discernible effect on the user, but

lay the groundwork for easier maintenance in the future.


Alternatively, such changes may improve reliability,
or provide a better basis for future development.
The process of
planning such code reorganizations,
implementing them,
and testing to ensure that they have no adverse impact is
known as "preventative maintenance"

Typical problems with maintenance


Inadequate documentation of software evolution
Inadequate documentation of software design and structure
Loss of "cultural" knowledge of software due to staff turnover
Lack of allowance for change in original software design
Maintenance is unglamorous and may be viewed as a

"punishment task"

Problems During
Maintenance
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.

MAINTENANCE PROCESS

Maintenance process

Complex and varied (depends on type of maintenance)

In general...

...request (in standard format)

...triage (determine priorities)

...analyse (for cost and consequences)

...design and implement

...test

..document

Program understanding
Analyzing the program in order to understand.
Generating particular maintenance proposal
Generating a particular maintenance proposal
to accomplish the implementation of the
maintenance objective.
Ripple effect
Accounting for all of the ripple effect as a
consequence of program modifications.

Modified Program Testing


Testing to ensure that the modified program has
at least the same reliability level as before.
Maintainability
Each of these four phases and their associated
software quality attributes are critical to the
maintenance process.
All of these factors must be combined to form
maintainability

MAINTENANCE MODELS

Maintenance models
Quick-fix Model
Iterative Enhancement Model
Reuse Oriented Model
Boehms Model
Taute Maintenance Model

Quick-fix Model

Adhoc approach to maintaining software.


Fire fighting approach.

Problem found

Fix it

Iterative Enhancement Model

Analysis
Characterization of proposed modifications
Redesign and implementation

Analyze existing system

Redesign current
version and
implementation

Characterize
proposed
modifications

Reuse Oriented Model

1. Identification of the parts of the old system


that are candidates for reuse.
2. Understanding these system parts.
3. Modification of the old system parts
appropriate to the new requirements.
4. Integration of the modified parts into the new
system.

Boehms 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.

Taute Maintenance Model

Thank you

S-ar putea să vă placă și