Loading

Taute Maintenance Model


What is Taute Maintenance Model?

Taute Maintenance Model is a type of Software Maintenance Model, which is straightforward, practical and easy to understand. It is used by developers for updating and performing modification in the software after its execution in the system. However, to better understand Taute Maintenance Model, it is essential to know more about Software Maintenance.

Developed by B. J. Taute in the year 1983 and elaborated by Parikh, Taute Maintenance Model is simple, straightforward, practical and easy to understand and implement. It is perfect for Corrective maintenance and does not support adaptive or perfective maintenance. Taute Maintenance Model has several distinctive features, such as, it is maintenance specific and is not designed to be in any other phase of software life cycle. Moreover, it portrays software maintenance activities as cyclic and gives no hint of how to tackle the conceptual construct in the software that is being maintained. Furthermore, there is also no evidence of an iterative interaction between project stakeholders during the process of testing. Taute Maintenance Model is divided into eight phases which appear in cycle fashion. These phases are:

Phases of Taute Maintenance Model:

The complete model can be implemented by following the flowchart diagram that illustrates the whole process from start to end by utilizing and defining each module effectively. An engineer who thoroughly follows each step carefully may achieve expected results.

taute maintenence model diagram

  1. Change Request Phase: : In this phase request to implement changes and modifications is requested by the client, which is provided in a prescribed format. This requested change can fall in any category of maintenance activities. The maintenance team work to identify the type of maintenance that is required (i.e., corrective, adaptive, preventive or preventive) and assign a unique identification number of request.
  2. Estimate Phase: Here the team is devoted in estimating the time and effort required to make the requested changes. Impact analysis on existing system is also required to minimize the ripple effect.
  3. Schedule Phase: During this stage the team identifies the change request for the next scheduled release and prepare the documents that are required for planning.
  4. Programming Phase:In this phase, source code is modified to implement the requested change. Moreover, all relevant documents, like design document, manuals, etc. are updated accordingly. The final output of this stage is the test version of the source code.
  5. Test Phase:The modifications and updates required in the software are carefully implemented in this phase. The code is tested using available as well as new test cases. Hence, here the regression testing is implemented.
  6. Documentation Phase: After regression testing, system and user documents are prepared and updated before release. By doing so, the developers are able to maintain co-relation between code and documents.
  7. Release Phase:The new software product along with updated documents are delivered to the customer. Acceptance testing is carried out by the users of the system.
  8. Operation Phase: Once the acceptance testing is successfully implemented, software is placed under normal operation. During usage, when another problem is identified or new functionality requirement is felt or even the enhancement of existing capability is desired, again a ‘change request’ process is initiated.

Conclusion:

With the advancement in technology, maintenance has become a very important element of Software Development Life Cycle. Software Maintenance is now regularly requested by clients and organizations, as they want to get software with latest technology and features. Furthermore, several maintenance models are used by the developers and maintenance team to ensure that all the demands of the client is met and the software is abreast with the latest software engineering methods. It is with the help of these models that the developers track the problems and errors in the software and find ways to tackle them. Through proper testing, coding and programming, developers maintain these software applications after they are delivered to the client and improve their life expectancy and quality.