Software Engineering | Phases of Prototyping Model | Set – 2
Prerequisite – Prototyping Model
The Prototyping model is also a popular software development life cycle model. The prototyping model can be considered to be an extension of the Iterative Waterfall model. This model suggests building a working Prototype of the system, before the development of the actual software.
A prototype is a toy and crude implementation of a system. It has limited functional capabilities, low reliability, or inefficient performance as compared to the actual software. A prototype can be built very quickly by using several shortcuts by developing inefficient, inaccurate or dummy functions.
Necessity of the Prototyping Model –
- It is advantageous to develop the Graphical User Interface (GUI) part of a software using the Prototyping Model. Through prototype, the user can experiment with a working user interface and they can suggest any change if needed.
- The prototyping model is especially useful when the exact technical solutions are unclear to the development team. A prototype can help them to critically examine the technical issues associated with the product development. The lack of familiarity with a required development technology is a technical risk. This can be resolved by developing a prototype to understand the issues and accommodate the changes in the next iteration.
Phases of Prototyping Model –
The Prototyping Model of software development is graphically shown in the figure below. The software is developed through two major activities – one is prototype construction and another is iterative waterfall based software development.
Prototype Development – Prototype development starts with an initial requirements gathering phase. A quick design is carried out and a prototype is built. The developed prototype is submitted to the customer for evaluation. Based on the customer feedback, the requirements are refined and the prototype is suitably modified. This cycle of obtaining customer feedback and modifying the prototype continues till the customer approves the prototype.
Iterative Development – Once the customer approves the prototype, the actual software is developed using the iterative waterfall approach. In spite of the availability of a working prototype, the SRS document is usually needed to be developed since the SRS Document is invaluable for carrying out tractability analysis, verification and test case design during later phases.
The code for the prototype is usually thrown away. However, the experience gathered from developing the prototype helps a great deal in developing the actual software. By constructing the prototype and submitting it for user evaluation, many customer requirements get properly defined and technical issues get resolved by experimenting with the prototype. This minimises later change requests from the customer and the associated redesign costs.
Advantages of Prototyping Model – This model is most appropriate for the projects that suffer from technical and requirements risks. A constructed prototype helps to overcome these risks.
Disadvantages of Prototyping Model –
- Cost of the development of the software by using prototyping model can increase in various cases where the risks are very less.
- It may take more time to develop a software by using Prototyping model.
- The Prototyping model is effective only for those projects for which the risks can be identified before the development starts. Since the prototype is developed at the start of the project, so the Prototyping model is ineffective for risks that identified after the development phase starts.