Prototype Model

A prototype is toy implementation of the system. There are many reasons for developing a prototype. The main purpose is to illustrate the input data formats, messages, reports and the interactive dialogs to the customer. This is a valuable mechanism for gaining better understanding of the customer’s needs. Another main use of the prototyping model is that it helps critically examine the technical issues associated with the product development

In this model, once the requirement analysis is done and the quick design for a prototype is made, the development process gets started. Once the prototype is built it is given to the customer for evaluation. The customer tests the package and gives his feedback to the developer who then refines the product according to the customer’s exact expectation. After a finite number of iterations, the final software package is given to the customer. In this methodology, the software is evolved as a result of periodic shuttling of information between the customer and developer.

Advantages:

• Provides a toy model of the original system.
• Users have an idea of what the final system looks like
• Encourages active participation among customers and developers
• Efficiently identify problems
• Faster feedback from the customer

Disadvantages:

• Damage in the structure of the system because of many changes
• Difficult to document as the requirements keep on changing
• Excessive time and cost for developing a prototype.