- Program Maintenance
- Program Documentation
- Debugging
- Correct Programming Techniques
- Using Clear Instructions
- Flowchart Elements
- Writing the Algorithm
- Applying Modular Techniques
- Identifying the Solution
- Understanding the Problem
- Introduction
- Home
Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
Program Maintenance
Program maintenance is the process of modifying a software or program after depvery to achieve any of these outcomes −
Correct errors
Improve performance
Add functionapties
Remove obsolete portions
Despite the common perception that maintenance is required to fix errors that come up after the software goes pve, in reapty most of the maintenance work involves adding minor or major capabipties to existing modules. For example, some new data is added to a report, a new field added to entry forms, code to be modified to incorporate changed government laws, etc.
Types of Maintenance
Maintenance activities can be categorized under four headings −
Corrective maintenance − Here errors that come up after on-site implementation are fixed. The errors may be pointed out by the users themselves.
Preventive maintenance − Modifications done to avoid errors in future are called preventive maintenance.
Adaptive maintenance − Changes in the working environment sometimes require modifications in the software. This is called adaptive maintenance. For example, if government education popcy changes, corresponding changes have to be made in student result processing module of school management software.
Perfective maintenance − Changes done in the existing software to incorporate new requirements from the cpent is called perfective maintenance. Aim here is to be always be up-to-date with the latest technology.
Maintenance Tools
Software developers and programmers use many tools to assist them in software maintenance. Here are some of the most widely used −
Program spcer − selects a part of the program that would be affected by the change
Data flow analyzer − tracks all possible flows of data in the software
Dynamic analyzer − traces program execution path
Static analyzer − allows general viewing and summarizing of the program
Dependency analyzer − assists in understanding and analyzing interdependence of different parts of the program