Software prototypes refers to working models of software with limited functionality. The prototypes do not always hold the exact logic used in actual software application. Prototyping allows the software publisher to evaluate the product, ensure it’s doing what it’s intended to, and determine if improvements are needed. It also provides an opportunity for the manufacturer to get an actual feel of what the final product will look like before additional resources, like time and money, are put into finalizing the product.
The process for software prototyping includes:
Basic requirement identification: This step involves understanding the basic product requirements in terms of the user interface. The software publisher decides the functionality, who the user will likely be, and what the user will want from the product.
Developing the initial prototype: In this step, the developer will consider the requirements provided by the publisher and begin to assemble a model of what the finished software product would look like.
Review of the prototype: Once the prototype is developed, it is then offered to the customer and other stakeholders in the project for review. The feedback is collected in an organized way and used for further development of the product.
Revising the prototype: The concluding step in this process is to make revisions to the prototype based on the feedback of the customer, publisher, and beta-testers.
There are two main types of prototypes. They are, the throwaway model and the evolutionary model.
The throwaway model is designed to be discarded once the review process has been completed. It looks at what the end product may look like and it’s typically not well defined.
The evolutionary model for prototyping is based on building actual functional prototypes with minimal functionality in the beginning. By using evolutionary prototyping, the well-understood requirements are included in the prototype and the requirements are added when they are understood.
The advantages of software prototyping are:
The disadvantages of software prototyping are: