What is Prototype Model?
A prototype model is a toy/demo implementation of the actual product or system. A prototype model usually exhibits limited functional capabilities, low reliability, and inefficient performance as compared to the actual software.
A prototype model is usually built using several shortcuts. The shortcuts might involve using inaccurate, inefficient or dummy functions. A prototype usually turns out to be a very crude version of the actual system.
The prototyping model of software development is shown in Figure 3. As shown in Figure 3, the first phase is prototype development to control various risks. This is followed by an iterative development cycle.
In the prototype model, prototyping starts with initial requirements gathering phase. Quick design is carried out and a prototype is built. The developed prototype is submitted to the customer for his assessment.
Based on the customer feedback, the requirements are refined and the prototype is suitably modified. This cycle of obtaining customer feedback and modifying the prototype continues until the customer approves the prototype. Once the customer approves the prototype, the actual system is developed using the iterative waterfall approach.
Read Full: Iterative Waterfall Model
In spite of the availability of a working prototype, the SRS document is required to be developed carrying out traceability analysis, verification, and test case design during later phases.
Need for a Prototype Model in Software Development
- To illustrate the input data formats, messages, reports, and interactive dialogues to the customer.
- To gain a better understanding of the customer’s needs: how the screen might look like, how the user interface would behave, and how the system would produce the output?
- To examine the technical issues associated with product development.
- It is not possible to get the perfect product in the first attempt. Many engineers and researchers advocate that if you want to develop a good product you must plan to throw away the first version. The experience acquired in developing the prototype can be used to develop the final product.
Advantages of Prototype Model
- Demo working model: Customer get demo working model of actual product which help them to give a better understanding and attain a high level of satisfaction.
- New requirement: Based on the customer feedback, the requirements are redefined and the prototype is suitably modified till final approval.
- Missing functionality: can be easily established.
- Easy error detection: It saves time and cost in developing the prototype and enhance the quality of the final product.
- Flexibility: in the development phase.
Disadvantages of Prototype Model
- Time-consuming: As the prototype is being modified time to time according to customer requirement which usually increases the time of completion of the product.
- Complexity: Change in the requirement usually expand the scope of the product beyond its original plan and thus increase the complexity.
- Poor Documentation: Continous changing of requirement can lead to poor documentation.
- Unpredictability of no of iteration: It is difficult to determine the no of iteration required before the prototype is finally accepted by the customer.
- Confusion: Customer can confuse between the actual product and prototype.
Read Further: Wikipedia