Causes of Software Maintenance Problems
Lack of Traceability
- Codes are rarely traceable to the requirements and design specifications.
- It makes it very difficult for a programmer to detect and correct a critical defect affecting customer operations.
- Like a detective, the programmer pores over the program looking for clues.
- Life Cycle documents are not always produced even as part of a development project.
Lack of Code Comments
- Most of the software system codes lack adequate comments. Lesser comments may not be helpful in certain situations.
Obsolete Legacy Systems
- 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.
- They were not expected to last for a quarter of a century or more!
- 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.