In 1983, B.J. Taute introduced his software maintenance model. It is very easy to understand and undemanding to implement. The model portrays software maintenance process as closed loop cycle. This model is used by developers after execution of software for updating and performing modification in software.
Taute Model is typical maintenance model and has eight phases in cycle fashion.
The phases are described as following :
- Change Request Phase –
In this phase, customer makes request in prescribed format to maintenance team to apply change to software.
This change may belong to any of the following four category of maintenance activities :
- (i) Corrective software maintenance.
- (ii) Adaptive software maintenance.
- (iii) Perfective software maintenance.
- (iv) Preventive software maintenance.
After detecting category of software maintenance, maintenance team assigns unique identification number to request.
- Estimate Phase –
The maintenance team dedicates this phase for estimating time and effort required to apply requested change. And, to minimize ripple effect caused by change to system, Impact analysis on existing system is also done.
- Schedule Phase –
In this phase, team identifies change requests for next scheduled release and may also prepare documents that are required for planning.
- Programming Phase –
In this phase, the maintenance team modifies source code of software to implement requested change by customer and updates all relevant documents like design document, manuals, etc. accordingly. The final output of this stage is test version of source code.
- Test Phase –
In this phase, maintenance team ensures that modification requested in software is correctly implemented. The source code is then tested with already available testcases. New test cases may also be designed to further test software. This type of testing is known as Regression testing.
- Documentation Phase –
After the regression testing, team updates system and user documents before release of software. This helps to maintain co-relation between source code and documents.
- Release Phase –
In this phase, the modified software product along with the updated documents are delivered to customer. Acceptance Testing is carried out by users of system.
- Operation Phase –
After successful completion of acceptance testing, software is then placed under normal operation. During usage, when another problem is identified or new functionality requirement is felt or enhancement of existing capability is desired, customer may again initiate ‘Change request’ process. And similarly, all phases will be repeated to implement this new change.
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.