There are 4 types of change are encountered during maintenance phase.
Correction: It is just like that the customer will uncover the defects in the software even by the best quality assurance activities; corrective maintenance changes the software to correct defects.
Adaptation: Over time the original environment for example business rules external product, Central Processing unit, operating system, characteristics that the software was established which is likely to change. Adaptive maintenance results in modification to the software to accommodate changes to its external environment.
Enhancement: As with the time the software is used customer or user will recognize the additional functions that will provide advantages, perfect maintenance extends the software beyond its real functional requirements.
Prevention: Computer software deteriorates by the change and because of this it preventive maintenance, also called software reengineering and must be conducted to enable the software to serve the requirement of its end users. In essence preventive maintenance makes changes to computer programs so that they can be more simply and corrected, enhanced, and adapter.
Presently, the "aging software plant" is forcing various organizations to pursue software reengineering strategies. In global sense software reengineering is often considered as a part of business procedure reengineering [STR 95]
The phases and related steps define in our generic view of software engineering are complemented through a number of the umbrella activities. Basically activities in this category include.
- Document preparation and production
- Reusability management
- Measurement
- Software quality assurance
- Software configuration management
- Software project tracking and control
- Formal technical reviews
- Risk management