You are on page 1of 15

Software Maintenance

Sandesh Ghimire
Utsav Ghimire
Aayush Panta
Table of Contents

Introduction

Introduction

Software Maintenance is an inclusive activity that includes error
corrections, enhancement of capabilities, deletion of obsolete
capabilities, and optimization.

Part of Software Development Life Cycle (SDLC)

Its primary goal is to modify and update software application after
delivery to correct errors and to improve performance
Need of Software Maintenance

Correct errors

Change in user requirement with time

Changing hardware/software requirements

To improve system efficiency

To optimize the code to run faster

To modify the components

To reduce any unwanted side effects.
Type of Software Maintenance
Type of Software Maintenance
1) Corrective Maintenance :-
Aims is to correct any remaining errors regardless of where they may cause
specifications ,design , coding, testing , and documentation etc

2) Adaptive Maintenance :-
Its contains modifying the software to match changes in the ever-changing in the environment

3) Preventive Maintenance :-
The process by which we prevent our system from being obsolete.

4) Perfective Maintenance :-
Its defines improving processing efficiency or performance or restricting the software to
enhance changeability .
Software Maintenance Models
1) Quick Fixed Model
2) Iterative Enhancement Model
3) The Re-use Oriented Model:
4) Boehm's Model:
5) Taute Maintenance Model:
1) Quick Fixed Model
This is an ad hoc approach used for maintaining the software system. The
objective of this model is to identify the problem and then fix it as quickly as
possible. The advantage is that it performs its work quickly and at a low cost.
This model is an approach to modify the software code with little
consideration for its impact on the overall structure of the software system.
2) Iterative Enhancement Model
Iterative enhancement model considers the changes made to the system are
iterative in nature. This model incorporates changes in the software based
on the analysis of the existing system. It assumes complete documentation
of the software is available in the beginning. Moreover, it attempts to control
complexity and tries to maintain good design.
3) The Re-use Oriented Model:
The parts of the old/existing system that are appropriate for reuse are
identified and understood, in Reuse Oriented Model. These parts are then
go through modification and enhancement, which are done on the basis of
the specified new requirements. The final step of this model is the integration
of modified parts into the new system.
4) Boehm's Model:
Boehm’s Model performs maintenance process based on the economic
models and principles. It represents the maintenance process in a closed
loop cycle, where in changes are suggested and approved first and then are
executed.
5) Taute Maintenance Model:
Named after the person who proposed the model, Taute’s model is a typical
maintenance model that consists of eight phases in cycle fashion. The
process of maintenance begins by requesting the change and ends with its
operation. The phases of Taute’s Maintenance Model are:
Causes of Software Maintenance Problems

a) Customers are not clear about their needs


b) Changing requirements
c) Understanding large and complex system
d) Proper documentation, proper meeting time and budget constraints
e) Validating and Tracing requirements
Software Maintenance Process
Software Maintenance Cost Factors

Non- Technical Factors:-
a) Application domain
b) Staff Stability
c) Program Lifeline
d) Dependence on External Environment
e) Hardware stability

Technical Factors:-
a) Module Independence
b) Programming Language
c) Programming Style
d) Program Validation and Testing
e) Documentation
f) Configuration Management

You might also like