Introduction
Software Maintenance can't be done without the proper knowledge of the software system. This occurs because the software maintenance team is unaware of the requirements and design documentation.
What is Software Maintenance?
After creating a heavy software system by the software developers, they don't have the luxury of launching a product and letting it run as it is. They constantly need to be on the lookout to correct and improve their software to remain competitive and relevant.
Why software maintenance is necessary
- Implement enhancements.
- Improve the design.
- Correct faults.
- Interface with other systems.
Categories of Software Maintenance
- Adaptive
- Perfective
- Corrective
- Preventive
Software Maintenance Models
The software maintenance process model is an abstract representation of the evolution of software to help analyze activities during software maintenance. Which use kind of maintenance model, should be aware of the characteristics of various models and, based on preservation of the environment, decide.
Quick - Fix Model
- The Quick-Fix model is used for software maintenance, and Its main purpose is to identify the problem and fix it as soon as possible.
- It will maintain the software system by modifying the software code for its impact on the overall structure of the software system.
- It works quickly at a low cost.
Boehm Model
Boehm's theory is models and principles of economics can not only improve maintenance productivity but also helps to understand the maintenance process.
It represents the maintenance process in a closed-loop cycle, wherein changes are suggested and approved first and then are executed.
Iterative Enhancement Model
- The iterative model is used for small-scale application modernization and scheduled maintenance.
- The biggest risk here is that it doesn't include business justifications, i.e., the software team won't know if more significant changes are needed in the future. The iterative enhancement model treats the application target as a known quantity.
-
This model incorporates changes in the software based on the analysis of the existing system.
The iterative enhancement model is divided into three stages:
- Implementation of requested/asked modifications.
- Classification of requested modifications.
- Analysis of software system.
Re-use Oriental Model
- The reuse model involves building and then reusing the software components.
- The parts of the existing system appropriate for reuse are identified and understood in the Reuse Oriented Model.
- These components(can be reused) can work in multiple places or applications.
- When applying the reuse model, the dev team should consider the existing application/system components for reuse and make modifications to them.
Refer to know about : What is debugging