Definition(s):
“Modification of a software product after delivery to correct defects, to improve performance or other attributes, or to adapt the product to a modified environment.” (IEEE14764, 2006) (IEEE 1219, 1998).
“Software maintenance is defined as the totality of activities required to provide cost-effective support to software. Activities are performed during the predelivery stage as well as during the postdelivery stage. Predelivery activities include planning for postdelivery operations, maintainability, and logistics determination for transition activities. Postdelivery activities include software modification, training, and operating or interfacing to a help desk.” (Borque and Fairley, 2014)
According to IEEE 14764:2002, there are the following classification and types of maintenance: Correction (Corrective and Preventive, Adaptive) and Enhancement (Adaptive, Additive and Perfective).
Source(s):
- ISO/IEC/IEEE International Standard for Software Engineering – Software Life Cycle Processes – Maintenance, 2022.
- “IEEE Standard for Software Maintenance,” in IEEE Std 1219-1998 , vol., no., pp.1-56, 21 Oct. 1998, doi: 10.1109/IEEESTD.1998.88278.
- Borque, P., and R. Fairley. “Guide to the Software Engineering Body of Knowledge Version 3.0.” IEEE Computer Society Staff (2014).