PresentedBy
Name : Amit Kumar Sharma
Roll no.:27300123186
Registration no.: 22273030467
Subject :Software Engineering
Subject Code : ESC501
Topic : Classical Waterfall Model
Introduction
2
What is the Waterfall Model?
The Waterfall Model is a linear and sequential approach to software
development, where each phase flows into the next like a waterfall. It is
characterized by a structured, phase-driven process with an emphasis on
thorough documentation. This model is most effective when requirements
are well-defined and stable, making it ideal for projects with minimal
changes. Understanding the Waterfall Model is crucial for comparing
traditional and modern software development methodologies.
History of the Waterfall Model
3
Origin:
•Introduced by Winston W. Royce in 1970.
•Initially proposed as a flawed model to emphasize iterative
development.
Adoption:
•Widely adopted for its simplicity and structured approach.
Phases of the
Waterfall Model
1. Requirement Analysis
•Gathering and documenting all software requirements.
2. System Design
•Translating requirements into a system design.
3. Implementation
•Actual coding based on the design.
4. Integration and Testing
•Combining all pieces and testing for defects.
5. Deployment
•Releasing the final product to users.
6. Maintenance
•Ongoing support and updates after deployment.
Requirement Analysis
5
•Objective:
•Understand and document what the client needs.
•Output:
•Requirement Specification Document.
•Key Activities:
•Stakeholder meetings, documentation, validation.
System Design
6
Objective:
•Create a blueprint for the system.
Output:
•Design Document (High-level and low-level designs).
Key Activities:
•Architectural design, data design, interface design.
Implementation
7
Objective:
•Translate design into code.
Output:
•Source code in a programming language.
Key Activities:
•Coding, unit testing, debugging.
Integration and Testing
8
Objective:
•Ensure all components work together as intended.
Output:
•Tested software system.
Key Activities:
•Integration testing, system testing, bug fixing.
Deployment and Maintenance
9
Deployment:
•Deliver the product to the client or market.
Maintenance:
•Provide support, fix issues, and update the system.
Key Activities:
•User training, updates, bug fixing.