The process of modifying a software system or component after delivery to correct faults, improve performance or other attributes, or adapt to a changed environment. [ IEEE 610.12, ISO/IEC/IEEE 24765 ]
Software Maintenance [ ISO/IEC 14764 ]: The totality of activities required to provide cost-effective support to a software system.
- Maintenance activities include []:
- * Perfective maintenance - Changes which improve the system in some way without changing its functionality;
- * Adaptive maintenance - Maintenance which is required because of changes in the environment of a program;
- * Corrective maintenance - The correction of previously undiscovered system errors.
- Maintainability is defined as the effort to perform maintenance tasks, the impact domain of the maintenance actions, and the error rate caused by those actions. []
- Pre-delivery activities include planning for post-delivery operations, supportability, and logistics determination. Post-delivery activities include software modification, training, and operating a help desk. [ ISO/IEC/IEEE 24765 ]