Customer requirement is something that is very important and needs to be fulfilled by the developers. But sometimes the requirements of customers are not understandable or difficult to understand. In such cases or situations, the prototype model is preferred is when the customer requirements are not clear and technical issues remain unsolved. At each phase, the working prototype can be made for development and can be presented to the customer for approval. Thus, the prototype is refined at each stage of the development working model.
For large or greater systems, this model is very essential and suitable. In establishing the prototype, the participation of Both the developer and customer is a must. For establishing the next prototype, components that are reusable can be used.
Firstly, the requirement gathering is done in the prototyping model.
- Overall objectives are defined by developer and customer as well as the areas are identified that require or needs more requirement gathering.
- Then a quick design is prepared which represents the input and output format that will be visible to the customers or users.
- A prototype is prepared from the above quick design. In order to refine the requirements, the prototype is evaluated by the customer or user. Customer requirements are fulfilled when the Iteratively prototype is tuned. Thus, in identifying the software requirements, a prototype is very essential.
- To throw away the prototype and rebuild the system to high quality, existing program fragments or program generators are used by the developer’s during the establishment of a working prototype.
- Using prototyping paradigm, development of Certain classes of mathematical algorithms, a subset of command-driven systems, and other applications where results can be easily examined without real-time interaction.
When to choose it ?
- The prototyping model is suggested when Software applications that are relatively easy to prototype always involve Human-Machine Interaction (HCI), .
- The prototyping model is useful in the cases where the objective of the software is defined but the detailed input, processing, or output requirements are not defined.
- The prototype is a better choice in the cases where a developer is unsure of the efficiency of an algorithm or the adaptability of an operating system.