Waterfall Model
The Waterfall Model is one of the oldest and simplest
Software Development Life Cycle (SDLC) models. In this model, software is
developed phase by phase in a fixed sequence. Each phase must be
completed before moving to the next phase. Once a phase is finished, it is
difficult to go back and make changes.
Waterfall Model is a linear and sequential software
development model in which each phase is completed before moving to the next
phase.
When to Use the Waterfall Model
Use the Waterfall Model when:
- Requirements
are clear and fixed.
- The
project is small or medium-sized.
- Technology
is well understood.
- Customer
involvement is limited after requirements are collected.
- Changes
during development are very unlikely.
- Proper
documentation is required.
Examples
- Payroll
Management System
- Library
Management System
- School
Management System
- Government
Projects
- Inventory Management System
The Waterfall Model consists of 6 phases, which are
completed one after another.
1. Requirement Gathering and Analysis
Explanation
- Meet
with the customer.
- Collect
all project requirements.
- Analyze
the feasibility of the project.
- Prepare
the Software Requirement Specification (SRS).
Output: SRS (Software Requirement Specification)
2. System Design
Explanation
- Design
the overall structure of the software.
- Prepare
database design, user interface, and system architecture.
- Decide
how the software will work.
Output: System Design Document
3. Implementation (Coding)
Explanation
- Developers
write the program based on the design.
- Each
module is developed according to the requirements.
Output: Source Code
4. Testing
Explanation
- Test
the completed software.
- Find
and fix errors (bugs).
- Verify
that the software meets the requirements.
Output: Tested Software
5. Deployment
Explanation
- Install
the software on the customer's system.
- Deliver
the software for actual use.
Output: Working Software
6. Maintenance
Explanation
- Fix
bugs found after deployment.
- Update
the software.
- Add
small improvements if necessary.
Output: Updated Software
Advantages and Disadvantages of the Waterfall Model
|
S.N. |
Advantages |
Disadvantages |
|
1 |
Simple and
Easy to Understand – The model is easy to learn and follow. |
Difficult
to Change Requirements – Changes are hard to make once a phase is
completed. |
|
2 |
Well-Structured
Process – Each phase is completed before moving to the next. |
Late
Testing – Testing is performed only after the development phase. |
|
3 |
Easy to
Manage – Clear milestones and documentation make project management
easier. |
Limited
Customer Involvement – Customers usually provide feedback only at the
beginning and end. |
|
4 |
Good
Documentation – Every phase is properly documented for future reference. |
Higher
Risk – Errors found late can be expensive to fix. |
|
5 |
Suitable
for Small and Fixed Projects – Works well when requirements are clear and
stable. |
Working
Software is Delivered Late – The customer gets the final product only
after all phases are completed. |
|
6 |
Easy
Progress Tracking – Progress is easy to monitor because phases are
clearly defined. |
Not
Suitable for Large or Changing Projects – It is not flexible enough for
projects with changing requirements. |
- Linear
and sequential development
- Each
phase is completed before the next begins
- Requirements
are fixed at the beginning
- Well-defined
documentation
- Easy
to understand and manage
- Testing
is performed after coding
- Less
customer involvement during development
Prototype Model
The Prototype Model is a software development model
in which a working sample (prototype) of the software is created before
developing the final product. The customer reviews the prototype, provides
feedback, and the prototype is improved until the requirements are clear. After
the requirements are finalized, the actual software is developed.
Prototype Model is a software development model in which a
prototype (working model) is developed first to understand customer
requirements before building the final software.
Use the Prototype Model when:
- Requirements
are not clear or are incomplete.
- The
customer is not sure about the final product.
- Frequent
customer feedback is required.
- The
project involves a new system or technology.
- User
interface (UI) design is important.
- Changes
in requirements are expected during development.
Examples
- ATM
System
- Online
Shopping Website
- Hospital
Management System
- Mobile
Applications
- Online
Banking System
The Prototype Model consists of 6 phases.
1. Requirement Gathering
- Meet
with the customer.
- Collect
the initial requirements.
- Identify
the basic features of the software.
Output: Initial Requirements
2. Quick Design
- Prepare
a simple design of the software.
- Focus
mainly on the user interface (UI) and important functions.
Output: Basic Design
3. Build a Prototype
- Develop
a working prototype (sample model).
- The
prototype shows how the software will look and work.
Output: Prototype
4. Customer Evaluation
Explanation
- The
customer reviews and tests the prototype.
- Feedback
and suggestions are collected.
- Missing
or incorrect requirements are identified.
Output: Customer Feedback
5. Refine the Prototype
Explanation
- Improve
the prototype based on customer feedback.
- Repeat
the design, development, and evaluation process until the customer is
satisfied.
Output: Approved Prototype
6. Engineering Product (Develop the Final System)
- Build
the complete software using the approved prototype as a guide.
- Test
and deploy the final software.
Output: Final Software
Fig follow from website
Important: The prototype is repeated and improved
until the customer approves it. Only then is the final software developed.
Advantages and Disadvantages of the Prototype Model
|
S.N. |
Advantages |
Disadvantages |
|
1 |
Clear
Requirements – Helps customers understand and refine their requirements. |
Time-Consuming
– Building multiple prototypes takes extra time. |
|
2 |
Customer
Involvement – Customers provide continuous feedback during development. |
Expensive
– Developing and modifying prototypes increases the cost. |
|
3 |
Early
Error Detection – Problems are identified before the final system is
developed. |
Scope
Creep – Frequent changes may increase the project scope. |
|
4 |
Improved
Software Quality – Continuous feedback results in a better final product. |
Customer
Confusion – Customers may think the prototype is the final product. |
|
5 |
Reduced
Development Risk – Unclear requirements are resolved early. |
Poor
Documentation – More focus is placed on the prototype than on
documentation. |
|
6 |
Higher
Customer Satisfaction – The final product closely matches customer needs. |
Not
Suitable for Large Projects – Managing prototypes for very large systems
can be difficult. |
Features of the Prototype Model
- A
working prototype is created before the final system.
- Continuous
customer involvement and feedback.
- Easy
to modify requirements.
- Requirements
become clear before final development.
- Repeated
improvement of the prototype.
- Better
communication between developers and customers.
- Suitable
for systems with unclear requirements.
Agile Model
Agile Model is a software development model in which
the project is developed step by step (in small parts called iterations or
sprints). The customer gives feedback after each iteration, and changes can
be made at any stage.
Agile Model is a software development model that develops
software in small, incremental parts with continuous customer feedback and
frequent improvements.
When to Use the Agile Model
Use the Agile Model when:
- Requirements
change frequently.
- Customer
involvement is available throughout the project.
- Quick
delivery of working software is needed.
- Large
projects can be divided into small modules.
- The
project needs continuous testing and improvement.
- The
development team works closely together.
Examples
- Mobile
App Development
- E-commerce
Websites
- Banking
Applications
- Online
Learning Systems
- Social
Media Applications
Phases of Agile Model
Unlike the Waterfall model, Agile repeats these phases in
every iteration (Sprint).
1. Requirement Gathering (Planning)
Explanation
- Discuss
project requirements with the customer.
- Prioritize
important features.
- Plan
the work for the next sprint.
Output: Product Backlog (List of features)
2. Design
Explanation
- Prepare
the system design.
- Design
database, interface, and architecture for selected features.
Output: Design documents
3. Development (Coding)
Explanation
- Developers
write the program.
- Only
the selected features for that sprint are developed.
Output: Working software module
4. Testing
Explanation
- Test
the developed module.
- Find
and fix bugs.
- Ensure
the software works correctly.
Output: Tested software
5. Deployment (Release)
Explanation
- Deliver
the working software to the customer.
- Customer
starts using the new features.
Output: Software release
6. Review and Feedback
Explanation
- Customer
reviews the software.
- Gives
suggestions and feedback.
- Improvements
are planned for the next sprint.
Output: Updated requirements
Advantages of Agile Model
|
S.N. |
Advantage |
Explanation |
|
1 |
Flexible |
Easy to
change requirements during development. |
|
2 |
Customer
Satisfaction |
Customer
gives feedback regularly. |
|
3 |
Faster
Delivery |
Working
software is delivered quickly. |
|
4 |
Better
Quality |
Continuous
testing improves quality. |
|
5 |
Reduced Risk |
Problems are
identified early. |
|
6 |
Better
Communication |
Developers
and customers work closely together. |
|
7 |
Easy Bug
Fixing |
Bugs are
found and fixed in every sprint. |
Disadvantages of Agile Model
|
S.N. |
Disadvantage |
Explanation |
|
1 |
Requires
Customer Involvement |
Customer must
participate regularly. |
|
2 |
Difficult
Cost Estimation |
Total cost
may change as requirements change. |
|
3 |
Scope Creep |
Continuous
changes may increase project scope. |
|
4 |
Needs
Experienced Team |
Developers
must be skilled and collaborative. |
|
5 |
Documentation
May Be Limited |
Focus is more
on working software than extensive documentation. |
|
6 |
Not Suitable
for Small Fixed Projects |
If
requirements are already fixed, Waterfall may be better. |
Features of Agile Model
- Incremental
development
- Iterative
process
- Customer
involvement
- Continuous
testing
- Frequent
software releases
- Flexible
to changing requirements
- Team
collaboration
- Fast
delivery
Real-Life Example
Suppose a company wants to develop an Online Shopping App.
Sprint 1
- User
Registration
- Login
- Home
Page
➡️ Delivered to customer for
feedback.
Sprint 2
- Product
Search
- Product
Details
- Shopping
Cart
➡️ Customer reviews and suggests
improvements.
Sprint 3
- Payment
System
- Order
Tracking
- Notifications
➡️ Final product becomes ready
through multiple small releases.
Agile vs Waterfall (Quick Comparison)
|
Feature |
Agile |
Waterfall |
|
Development |
Incremental
(small parts) |
Sequential
(one phase at a time) |
|
Requirement
Changes |
Easy |
Difficult |
|
Customer
Involvement |
High |
Low |
|
Testing |
Continuous |
At the end |
|
Delivery |
Frequent |
Once after
completion |
|
Flexibility |
High |
Low |
Exam Points (2–5 Marks)
Spiral Model
The Spiral Model is a software development model that
combines the features of the Waterfall Model and Prototype Model.
It develops software through repeated cycles called spirals, with a
strong focus on risk analysis in every cycle.
Spiral Model is a software development model that develops
software in repeated cycles (spirals), where risk analysis is performed before
each development phase.
When to Use the Spiral Model
Use the Spiral Model when:
- The
project is large and complex.
- The
project has high risk.
- Requirements
may change during development.
- The
project uses new or advanced technology.
- Customers
want regular feedback and improvements.
- The
project is expensive and failure would be costly.
Examples
- Banking
Systems
- Air
Traffic Control Systems
- Defense
and Military Software
- Space
Research Software
- Large
Healthcare Systems
Phases of the Spiral Model
Each spiral (cycle) consists of 4 phases.
1. Planning (Objective Setting)
Explanation
- Identify
project objectives.
- Gather
customer requirements.
- Plan
the activities for the next cycle.
Output: Project plan
2. Risk Analysis
Explanation
- Identify
possible risks.
- Analyze
technical, financial, and schedule risks.
- Develop
solutions to reduce or remove risks.
Output: Risk management plan
3. Engineering (Development and Testing)
Explanation
- Design
the software.
- Write
the code.
- Test
the developed module.
- Fix
errors.
Output: Working software module
4. Evaluation (Customer Review)
Explanation
- Deliver
the developed module to the customer.
- Customer
reviews the software.
- Feedback
is collected.
- Plan
the next spiral if needed.
Output: Customer feedback
Advantages of the Spiral Model
|
S.N. |
Advantage |
Explanation |
|
1 |
Better Risk
Management |
Risks are
identified and reduced early. |
|
2 |
Flexible |
Changes can
be made in every spiral. |
|
3 |
Customer
Feedback |
Customer
reviews every cycle. |
|
4 |
High Quality |
Testing is
done in every iteration. |
|
5 |
Suitable for
Large Projects |
Works well
for complex and high-risk projects. |
|
6 |
Early Error
Detection |
Problems are
found and fixed early. |
Disadvantages of the Spiral Model
|
S.N. |
Disadvantage |
Explanation |
|
1 |
Expensive |
Risk analysis
increases the cost. |
|
2 |
Complex |
Difficult to
manage and understand. |
|
3 |
Requires Risk
Experts |
Skilled
professionals are needed to analyze risks. |
|
4 |
Time-Consuming |
Multiple
cycles increase development time. |
|
5 |
Not Suitable
for Small Projects |
Too costly
and complex for simple projects. |
Features of the Spiral Model
- Risk-driven
development
- Iterative
(repeated cycles)
- Customer
feedback after each cycle
- Continuous
testing
- Flexible
to changing requirements
- Suitable
for large and high-risk projects
Real-Life Example
Suppose a bank wants to develop an Online Banking System.
Spiral 1
- Plan
basic features
- Analyze
security risks
- Develop
login system
- Customer
reviews it
Spiral 2
- Add
money transfer
- Analyze
transaction risks
- Develop
and test transfer module
- Customer
reviews it
Spiral 3
- Add
bill payment
- Analyze
payment risks
- Develop
and test payment system
- Customer
reviews it
The process continues until the complete banking system is
ready.
Spiral Model vs Prototype Model
|
Feature |
Spiral
Model |
Prototype
Model |
|
Main Focus |
Risk Analysis |
Requirement
Clarification |
|
Development |
Iterative
with risk analysis |
Prototype
creation and refinement |
|
Customer
Feedback |
After every
spiral |
After every
prototype |
|
Best For |
Large,
complex, high-risk projects |
Projects with
unclear requirements |
|
Cost |
High |
Medium |