The waterfall model is a sequential software development model.
The phases of a Waterfall model are:
We have to design software internals. A "blueprint" is drawn up for the developers to implement.
During this phase coding is done for the software and this may include unit testing.
May include Integration Test, Acceptance Test, Alpha & Beta Test, Regression Test, System Test.
Software Maintenance is the modification of a software after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment.
When to use Waterfall model
The pure waterfall performs well for products with clearly understood requirements or when working with well understood technical tools, architectures and infrastructures. It's weaknesses frequently make it inadvisable when rapid development is needed. In those cases, modified models may be more effective. Source
Advantages of Waterfall model
Waterfall model puts more emphasis on requirements and design before writing a single line of code which in a way reduces risk and ensures minimal wastage of time and effort.
Disadvantages of Waterfall model
In real life scenario projects rarely follow the sequential flow.
The customers do not state all requirements explicitly.
Incremental model, When to use, its advantages & disadvantages
RAD model, When to use, its advantages & disadvantages
Spiral model, When to use, its advantages & disadvantages
Comparison of Software Development Models
Questions on Waterfall Model