Prototyping Model : Often, a customer defines a set of general objectives for software but does not identify detailed input, processing, or output requirements. In other cases, the developer may be unsure of the efficiency of an algorithm, the adaptability of an operating system, or the form that human/machine interaction should take. In these, and many other situations, a prototyping paradigm may offer the best approach.
(i) Communication : Firstly, developer and customer meet and define the overall objectives, requirements, and outline areas where further definition is mandatory.
(ii) Quick Plan : Based on the requirements and others of the communication part a quick plane is made to design the software.
(iii) Modeling Quick Design : Based on the quick plane, ‘A Quick Design’ occurs. The quick design focuses on a representation of those aspects of the software that will be visible to the customer/user, such as input approaches and output formats.
(iv) Construction of Prototype : The quick design leads to the construction of a prototype.
(v) Deployment, delivery and feedback : The prototype is evaluated by the customer/user and used to refine requirements for the software to be developed. All these steps are repeated to tune the prototype to satisfy user’s need. At the same time enable the developer to better understand what needs to be done.
Problems With Prototype Model :
(i) In the rush to get the software working the overall software quality or long-term maintainability will not get consideration. So software, in that way, gets the need of excessive modification to ensure quality.
(ii) The developer may choose inappropriate operating system, algorithms, language in the rush to make the prototype working.
Prototyping is an effective paradigm for software engineering. It necessary to build the prototype to define requirements and then to engineer the software with a eye toward quality.