What Is Software Prototyping?: Basic Requirement Identification
What Is Software Prototyping?: Basic Requirement Identification
Prototyping is used to allow the users evaluate developer proposals and try
them out before implementation. It also helps understand the requirements
which are user specific and may not have been considered by the developer
during product design.
Throwaway/Rapid Prototyping
Throwaway prototyping is also called as rapid or close ended prototyping.
This type of prototyping uses very little efforts with minimum requirement
analysis to build a prototype. Once the actual requirements are understood,
the prototype is discarded and the actual system is developed with a much
clear understanding of user requirements.
Evolutionary Prototyping
Evolutionary prototyping also called as breadboard prototyping is based on
building actual functional prototypes with minimal functionality in the
beginning. The prototype developed forms the heart of the future
prototypes on top of which the entire system is built. By using evolutionary
prototyping, the well-understood requirements are included in the prototype
and the requirements are added as and when they are understood.
Incremental Prototyping
Incremental prototyping refers to building multiple functional prototypes of
the various sub-systems and then integrating all the available prototypes to
form a complete system.
Extreme Prototyping
Extreme prototyping is used in the web development domain. It consists of
three sequential phases. First, a basic prototype with all the existing pages
is presented in the HTML format. Then the data processing is simulated
using a prototype services layer. Finally, the services are implemented and
integrated to the final prototype. This process is called Extreme Prototyping
used to draw attention to the second phase of the process, where a fully
functional UI is developed with very little regard to the actual services.
Software that involves too much of data processing and most of the
functionality is internal with very little user interface does not usually
benefit from prototyping. Prototype development could be an extra
overhead in such projects and may need lot of extra efforts.
Since a working model of the system is displayed, the users get a better
understanding of the system being developed.
Reduces time and cost as the defects can be detected much earlier.
Developers may try to reuse the existing prototypes to build the actual system,
even when it is not technically feasible.
The effort invested in building prototypes may be too much if it is not monitored
properly.