It is the basic model of SDLC(Software Development Life Cycle)which is derived from waterfall model. Whenever the customer is not clear about the requirements then we go for prototype model.
It consists of various phases like:
Design and Develop Prototype.
As the customer is not clear with his requirements so it is difficult to obtain the exact requirement, in this phase we collect the primary business needs of the customer in the form of requirement document.
In this phase a set of people will sit and decide if the project is doable or not i.e, Feasible or not.
Design and Develop Prototype
In this phase the designer designs a prototype(dummy) based on the primary requirement of the customer, the developers develops the prototype of the application based on the design. Once the prototype is developed, it is tested by business analyst or by team lead to make sure that the primary requirements of the customer are covered in the prototype, after testing the prototype it is being displayed to the customer, the customer reviews the prototype and if try to understand his requirement this process continues until the customer gives the approval that his requirements are covered in the prototype. Once the customer is satisfied with the prototype he gives the approval and as per his requirement we do changes in prototype.
In this phase we develop a prototype of the document which is like the blue print of the application.
In this phase the developers start writing the code by using any of the programming language and develops the application according to the requirements.
Once the software is developed, the test engineers start checking the functionality of an application works according to the customer's requirement, this process is known as testing.
While testing process we may encounter some bugs which needs to be reported to the developer, the developer fix the bug and again gives it back to the test engineer for testing, this process continues until the application is bug free or stable or works according to the requirements.
Once the software is deployed, tested and working according to the requirements, it is installed at the customer's place, this process is known as installation or deployment or roll-out.
Once the software is deployed at customer's place they start using it and due to some issues they may encounter some problems in the software which needs to be fixed immediately by the company during maintenance process.
Advantages of Prototype Model:
Customer can feel his product at very initial stage because of the prototype.
Prototypes can be reused.
Customer review exists.
Disadvantages of Prototype Model:
Requirement review does not exists.
No parallel deliverable.
Time consuming process.
Cost is very high.
Extra time is required to build the prototype.
Hack-tic process as customer keeps on asking for change in prototype.