Software maintenance may be a involved the Software Development Life Cycle. Its primary goal is to switch and update software application after delivery to correct errors and to enhance performance. Software may be a model of primary world. When the important world changes, the software require alteration wherever possible.
Software Maintenance is an inclusive activity that has error corrections, enhancement of capabilities, deletion of obsolete capabilities, and optimization.
1. Corrective Maintenance
Corrective maintenance aims to correct any remaining errors in spite of where they'll cause specifications, design, coding, testing, and documentation, etc.
2. Adaptive Maintenance
It contains modifying the software to match changes within the ever-changing environment.
3. Preventive Maintenance
It is the method by which we prevent our system from being obsolete. It involves the concept of reengineering & reverse engineering during 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 reinforce changeability. this might contain enhancement of existing system functionality, improvement in computational efficiency, etc.