Description and exemplification of corrective, adaptive and perfective maintenance
Adaptive maintenance
Takes place when a program’s environment changes, for example a different operating system.
I was asked if it was just differing OSs that caused adaptive maintenance (AM)? Changes to hardware can also cause AM E.g. If you buy a new digital camera you may need updated software to copy pictures to your desktop
Corrective maintenance
Correction of previously undetected errors during development that is now apparent after installation of the software on the client site.
E.g. Your program for a space mission is written using inches rather than cms
Perfective maintenance
Takes place when a system has to be enhanced in some way e.g. program run faster
E.g. Your program is working well but the user would like new features or improved performance.