0% found this document useful (0 votes)
23 views5 pages

Software Maintenance

Software maintenance is an essential part of the Software Development Life Cycle aimed at modifying and updating software to correct errors and improve performance. It includes various types such as corrective, adaptive, preventive, and perfective maintenance, each addressing different needs. Common problems in software maintenance arise from lack of traceability, inadequate code comments, and obsolete legacy systems, making the maintenance process challenging.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views5 pages

Software Maintenance

Software maintenance is an essential part of the Software Development Life Cycle aimed at modifying and updating software to correct errors and improve performance. It includes various types such as corrective, adaptive, preventive, and perfective maintenance, each addressing different needs. Common problems in software maintenance arise from lack of traceability, inadequate code comments, and obsolete legacy systems, making the maintenance process challenging.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

https://www.javatpoint.

com/software-engineering-causes-of-software-maintenance-problems

Software Maintenance
Software maintenance is a part of the Software Development Life Cycle. Its
primary goal is to modify and update software application after delivery to
correct errors and to improve performance. Software is a model of the real
world. When the real world changes, the software require alteration
wherever possible.

Software Maintenance is an inclusive activity that includes error corrections,


enhancement of capabilities, deletion of obsolete capabilities, and
optimization.

Need for Maintenance

o Correct errors
o Change in user requirement with time
o Changing hardware/software requirements
o To improve system efficiency
o To optimize the code to run faster
o To modify the components
o To reduce any unwanted side effects.

Thus the maintenance is required to ensure that the system continues to


satisfy user requirements.

Types of Software Maintenance


1. Corrective Maintenance
Corrective maintenance aims to correct any remaining errors regardless of
where they may cause specifications, design, coding, testing, and
documentation, etc.

2. Adaptive Maintenance
It contains modifying the software to match changes in the ever-changing
environment.

3. Preventive Maintenance
It is the process by which we prevent our system from being obsolete. It
involves the concept of reengineering & reverse engineering in which an old
system with old technology is re-engineered using new technology. This
maintenance prevents the system from dying out.

4. Perfective Maintenance
It defines improving processing efficiency or performance or restricting the
software to enhance changeability. This may contain enhancement of
existing system functionality, improvement in computational efficiency, etc.

Causes of Software Maintenance Problems


Lack of Traceability

o Codes are rarely traceable to the requirements and design specifications.


o It makes it very difficult for a programmer to detect and correct a critical
defect affecting customer operations.
o Like a detective, the programmer pores over the program looking for clues.
o Life Cycle documents are not always produced even as part of a development
project.

Lack of Code Comments

o Most of the software system codes lack adequate comments. Lesser


comments may not be helpful in certain situations.

Obsolete Legacy Systems

o In most of the countries worldwide, the legacy system that provides the
backbone of the nation's critical industries, e.g., telecommunications,
medical, transportation utility services, were not designed with maintenance
in mind.
o They were not expected to last for a quarter of a century or more!
o As a consequence, the code supporting these systems is devoid of
traceability to the requirements, compliance to design and programming
standards and often includes dead, extra and uncommented code, which all
make the maintenance task next to the impossible.

Software Maintenance Process

Program Understanding

The first step consists of analyzing the program to understand.

Generating a Particular maintenance problem

The second phase consists of creating a particular maintenance proposal to


accomplish the implementation of the maintenance goals.

Ripple Effect

The third step consists of accounting for all of the ripple effects as a
consequence of program modifications.

Modified Program Testing


The fourth step consists of testing the modified program to ensure that the
revised application has at least the same reliability level as prior.

Maintainability

Each of these four steps and their associated software quality attributes is
critical to the maintenance process. All of these methods must be combined
to form maintainability.

You might also like