Software Prototyping Model: Is becoming a very popular software developing model as it enables to understand the customer requirement clearly and at an early stage of development. Software prototyping refers to building a dummy model (it can be functional also) which displays the functionality of the system/software under development but it may not actually hold the exact logic of the original software. A prototype is used for user evaluation of the system.
The various steps in prototyping models are:
Advantages of the Prototyping Model:
- It gives a better understanding of the system being developed.
- It reduces time and cost as the defects can be detected much earlier.
- Here we have quick user feedback which leads to a better solution.
- Missing functionalities can be easily identified.
- Confusing and difficult functions can be identified and modified.
Disadvantages of the Prototyping Model:
- Sometimes prototyping model suffers from the risk of insufficient requirement analysis.
- The user may get confused in the prototype and the actual system.
- This methodology may increase the system complexity as the system may extend beyond its plan.
- The effort invested in building a prototype is too much.
- The developer may try to reuse the existing prototype for building the software or system.
Different types of software prototyping Model:
- Throw away prototyping model: In this type of prototyping, a prototype develops just for a clear understanding of user requirement once the actual requirements are understood the prototype is discarded and the actual system is developed.
- Evolutionary prototyping model: it is based on building an actual functional prototype with minimal functionality in the between i.e. first the heart of the system is developed over which the entire system will be designed by adding the requirements and when they are understood.
- Incremental Prototyping: refers to building multiple functional prototypes of the system which can work as a subsystem and they can be integrated to form a complete system.
- Extreme prototyping model: it is used in the web development domain.