Latest Post:
Loading...

Different types of SDLC Model (Waterfall, Prototype, Agile and spiral model)

 

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:

  1. Requirements are clear and fixed.
  2. The project is small or medium-sized.
  3. Technology is well understood.
  4. Customer involvement is limited after requirements are collected.
  5. Changes during development are very unlikely.
  6. Proper documentation is required.

Examples

  • Payroll Management System
  • Library Management System
  • School Management System
  • Government Projects
  • Inventory Management System
Phases of the Waterfall Model


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

 Important: In the Waterfall Model, the next phase begins only after the previous phase is completed.

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.

 Features of the Waterfall Model

  • 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.

 When to Use the Prototype Model

Use the Prototype Model when:

  1. Requirements are not clear or are incomplete.
  2. The customer is not sure about the final product.
  3. Frequent customer feedback is required.
  4. The project involves a new system or technology.
  5. User interface (UI) design is important.
  6. Changes in requirements are expected during development.

Examples

  • ATM System
  • Online Shopping Website
  • Hospital Management System
  • Mobile Applications
  • Online Banking System

 Phases of the Prototype Model

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:

  1. Requirements change frequently.
  2. Customer involvement is available throughout the project.
  3. Quick delivery of working software is needed.
  4. Large projects can be divided into small modules.
  5. The project needs continuous testing and improvement.
  6. 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:

  1. The project is large and complex.
  2. The project has high risk.
  3. Requirements may change during development.
  4. The project uses new or advanced technology.
  5. Customers want regular feedback and improvements.
  6. 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

 

Post a Comment