- 2070 Chaitra (old course) · 4+6 marks
Prototype model and when to use it
Short answer
A prototype model builds a quick, incomplete working version to explore requirements, evaluates it with users, and refines until requirements are clear, using either throwaway or evolutionary approaches. It is beneficial when requirements are unclear, user interface is critical, the system is novel, technical feasibility is uncertain, risk of building the wrong system is high, users can participate closely, or feasibility must be demonstrated early.
What is a prototype model? Under what circumstances is it beneficial to construct a prototype model?
Prototype model
A prototype is an early, working but incomplete version of a software system, built quickly and cheaply to demonstrate concepts, try out design options and find out more about the requirements. The prototyping model is a process model in which such a prototype is built, evaluated by the customer and refined repeatedly until the requirements are clear.
+------------------------+
| Gather basic |
| requirements |
+-----------+------------+
v
+------------------------+
| Quick design |
+-----------+------------+
v
+------------------------+
| Build prototype |<------+
+-----------+------------+ |
v |
+------------------------+ |
| Customer evaluation | |
+-----------+------------+ |
v |
+------------------------+ no |
| Requirements clear? |-------+
+-----------+------------+ refine
| yes
v
Engineer / build final product
Steps:
- Requirements gathering: developer and customer define overall objectives and known requirements; unclear areas are noted.
- Quick design: focuses on visible aspects such as user interface and input/output formats.
- Build prototype: using fast tools (UI builders, scripting languages, reusable components), ignoring efficiency and full error handling.
- Customer evaluation: users try the prototype and give feedback.
- Refinement: the prototype is changed and evaluated again until requirements are understood.
- Engineer the product: the final system is designed and built with proper quality.
Two types:
- Throwaway prototyping: the prototype is used only to understand requirements and is then discarded; the real system is built properly (often with waterfall).
- Evolutionary prototyping: the prototype is refined step by step until it becomes the final system.
Circumstances in which a prototype is beneficial
- Requirements are unclear or incomplete. The customer defines general objectives but cannot state detailed inputs, processing or outputs. Seeing a prototype helps users discover what they really want.
- User interface is important. For interactive systems (web portals, mobile apps, ATMs), the look and flow are best decided by letting users try screens rather than reading text.
- New or innovative systems where neither user nor developer has prior experience, so a model is needed to explore the problem.
- Developer is unsure about technical issues, such as the efficiency of an algorithm, the response time of a database, compatibility with an operating system or a new technology. A prototype tests feasibility before full commitment.
- High risk of building the wrong system, where the cost of a misunderstanding is large; a prototype reduces this risk early.
- Users can be closely involved and are available to evaluate versions and give quick feedback.
- Demonstrating feasibility or selling an idea to management or a client before funding the full project.
- Requirements validation: a prototype shows errors and omissions in the proposed requirements, and can also be used for early user training and as a basis for test cases.
Example: a hospital wants an online appointment system but staff cannot explain how booking, cancellation and doctor schedules should look. A quick clickable prototype of the booking screens is built in a week. Doctors and receptionists try it, ask for changes (show free slots by department, add SMS reminder), and after two or three rounds the requirements are clear enough to build the real system.
When not to use it: when requirements are already well known and stable, for very large systems where a prototype is too costly, or when users cannot spend time evaluating it. There is also a danger that customers treat a weak prototype as the finished product, or that developers keep poor quick-fix code in the final system.
✓ Answer checked by Claude Sonnet 5.5
Related questions
- Model time scale, prototype day and moon · Fluid Mechanics, chapter 10
- Steady 2D model: seepage under a dam · Computational Techniques in Civil Engineering, chapter 7 · asked 3×
- NDT circumstances; ultrasonic pulse velocity test · Concrete Technology and Masonry Structure, chapter 5
- Model testing and specific speed of turbine · Fluid Machines, chapter 3