What are the types of maintenance ?
Software maintenance is widely accepted part of SDLC now a days.It stands for all the modifications and updations done after the delivery of software product.There are many reasons why modifications are required it may be due to market conditions,client requirements ,host modifications,organization changes.
Types of maintenance:In a software lifetime,types of maintenance varies based on its nature.It may be just a routine maintenance tasks similar to some bug discovered by some user .Following are some types of maintenance based on their characteristics.
1.Corrective maintenance:It is concerned with fixing errors that are observed when the software is in use.It deals with faults or defects in day to day system functions.A defect can result due to the errors in software design,logic and coding.Design errors occur when changes made to the software are incorrect,incomplete,wrongly communicated or the change request is misunderstood.The need for corrective maintenance is usually initiated by bug report drawn by the users.If there is system failure due to an error,actions are taken to restore the operation of software system.It accounts for 20% of all the maintenance activities.
2.Adaptive maintenance:It is concerned with the change in the software that takes place to make the software adaptable to new environment such as to run the software on a new operating system.It accounts for 25% of all the maintenance activities.
3. Perfective maintenance:It is the change in the software that occurs while adding the new functionalities in the software.It mainly deals with implementing new or changed user requirements.This includes enhancing both the function and efficiency of the code and changing the functionalities of the system as per the user's changing needs.It accounts for 50% of all the maintenance activities.
4.Preventive maintenance:It involves implementing changes to prevent the occurrence of errors.It tends to reduce the software complexity there by improving program understandability and increasing software maintainability.It is limited to maintenance organization only and no external requests are acquired for this type of maintenance.It accounts only 5% of all the maintenance activities.