Swapnil Dutta Assignment
Swapnil Dutta Assignment
[ ASSIGNMENT ]
The classical waterfall model is a linear and sequential software development methodology. It
consists of distinct phases: Requirements Analysis, System Design, Implementation, Testing,
Deployment, and Maintenance. Each phase must be completed before the next begins, and there
is minimal overlap or feedback between the stages. It is called the “waterfall” model because it
flows downward through these phases like a waterfall.
This model is simple and easy to understand, which makes it suitable for smaller projects with
well-defined requirements. However, it has several limitations. The main drawback is its
inflexibility—once a phase is completed, revisiting it is difficult. This model assumes that all
requirements can be gathered upfront, which is rarely practical in real-world projects.
The iterative waterfall model is an improvement over the classical version. While it maintains the
same linear structure of phases, it introduces feedback loops. These loops allow developers to
revisit and revise previous phases if issues or changes arise later in the development cycle.
This model is more advanced because it provides more flexibility. If testing reveals issues,
developers can return to the design or requirements phase to make corrections. This reduces the
risk of project failure due to early-stage errors and adapts better to changing customer needs. It
bridges the gap between rigid planning and real-world unpredictability.
There are different types of prototyping such as throwaway (rapid) prototyping and evolutionary
prototyping. In rapid prototyping, the prototype is discarded after gathering feedback, while in
evolutionary prototyping, the prototype is continuously improved and becomes the final system.
- Better Requirement Understanding: Users interact with the prototype, leading to clearer and
more accurate requirements.
- Improved User Involvement: Continuous feedback keeps users involved, ensuring the product
aligns with their expectations.
- Reduced Risk: Early visibility of the product helps identify and fix issues in the initial stages,
reducing the cost and effort later.
- Faster Development: The iterative nature of this model helps speed up the development and
delivery of the final system.
• Overall, the prototyping model is especially useful in projects where the requirements are
not clearly defined from the beginning or are expected to change frequently.