Waterfall Model and Prototyping Model
Waterfall Model
The Waterfall Model is a linear, sequential approach to systems development where each phase must be completed before the next phase begins, and there is no going back to a previous phase.
The waterfall model follows a strict top-down approach like a waterfall flowing downwards. It was one of the earliest SDLC models proposed by Winston W. Royce in 1970.
Phases of the Waterfall Model:
- Requirements Gathering → Collect and document all system requirements
- System Analysis → Analyze the requirements for feasibility
- System Design → Design the architecture and specifications
- Implementation (Coding) → Develop the actual system
- Testing → Verify and validate the system
- Deployment & Maintenance → Deliver and maintain the system
Each phase acts as an input to the next phase, and once a phase is completed, it is assumed to be final.
Prototyping Model
The Prototyping Model is an SDLC approach where a working replica (prototype) of the system is built, tested, and refined repeatedly based on user feedback until the final system is developed.
How it works:
- A prototype is a preliminary working model of the system that demonstrates the functionality but may not contain exact logic or complete features.
- The developer builds a quick prototype based on initial requirements gathered from the user.
- The user evaluates the prototype and provides feedback.
- The prototype is refined and revised based on this feedback.
- This cycle of build → evaluate → refine continues until the user is satisfied.
- Once approved, the final system is developed based on the refined prototype.
Steps in the Prototyping Model:
- a. Requirement Gathering – Basic requirements are identified
- b. Quick Design – A preliminary design is created rapidly
- c. Build Prototype – A working model is constructed
- d. User Evaluation – User reviews and gives feedback
- e. Refine Prototype – Changes are made based on feedback
- f. Final System Development – The approved prototype is used to build the complete system
Merits of Prototyping Model
- Active user involvement – Users participate throughout development, leading to better requirement understanding
- Reduced risk of failure – Errors and misunderstandings are detected early through user feedback
- Improved communication – The prototype serves as a visual tool for discussion between users and developers
- Better requirement clarity – Helps identify missing or unclear requirements early
- Faster initial delivery – Users can see a working model quickly, which increases confidence
- Flexibility – Changes can be easily incorporated at early stages
Demerits of Prototyping Model
- Increased cost – Multiple iterations of building and refining prototypes can be expensive
- Time-consuming – Continuous user feedback and revisions may delay the project
- Scope creep – Users may keep requesting changes endlessly, expanding the project scope
- Poor documentation – Focus on rapid prototyping may lead to inadequate documentation
- User confusion – Users may mistake the prototype for the final system
- Developer frustration – Constant changes can demotivate the development team
- Quality compromise – Developers may use shortcuts in the prototype that carry over to the final system
Conclusion: The Waterfall Model is suitable for projects with well-defined, stable requirements, while the Prototyping Model is ideal when requirements are unclear or likely to change, as it allows iterative refinement through user participation.