Let's suppose that some developers want to create software for a traffic light.
1) Requirements analysis
Check with the client and confirm the product specifications.
2) Design
Decide on the software architecture, or the big picture/skeleton.
State-machine architecture would make sense for a traffic light, if you're curious.
3) Implementation
Write the actual software itself.
4) Verification
Same thing as testing.
5) Integration
Release the software to be used for traffic lights.
Sometimes, this step is merged with or implied by step 4.
6) Maintenance
Fix any bugs or issues that come up during operation.
It's a straightforward linear progression, as its name implies. However, the downside to this is
that it's inflexible. Not every client will know the exact requirements at the start. So there will be
conflict if requirements change later, because the waterfall model isn't meant to go backwards.
Plus, there may always be new difficulties later on that weren't apparent from the start.