The Waterfall Model is a step-by-step software development process where each phase must finish before the next one starts.
It’s like water flowing down a waterfall — once it goes down, it can’t go back up.
Phases of Waterfall Model
Requirement Gathering – Collect all requirements from client.
System Design – Plan the software architecture & design.
Implementation (Coding) – Developers write the code.
Testing – QA team tests the system against requirements.
Deployment – Software is released to users.
Maintenance – Fix bugs, update system after release.
ATM machine example:
Requirement: Bank wants an ATM system.
Design: Plan how ATM will interact with bank servers, UI, cash dispenser.
Implementation: Developers code login, withdrawal, balance check.
Testing: QA tests all features.
Deployment: ATMs are installed.
Maintenance: Fix issues, update PIN policies, etc.