0% found this document useful (0 votes)
23 views6 pages

Waterfall Model Working

Uploaded by

zohaibhasssn87
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views6 pages

Waterfall Model Working

Uploaded by

zohaibhasssn87
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

Software process models are frameworks that define the steps and activities involved in

software development. They provide a structured approach to planning, designing, building,


testing, and deploying software. Below is an elaboration of the most common software process
models, including their working principles, diagrams, applications, and differences.

1. Waterfall Model

Working:

 The Waterfall Model is a linear and sequential approach where each phase must be
completed before the next begins.

 Phases include Requirements, Design, Implementation, Testing, Deployment, and


Maintenance.

 No going back to previous phases once completed (inflexible).

Diagram:

Requirements → Design → Implementation → Testing → Deployment → Maintenance

Applications:

 Suitable for small projects with well-defined requirements.

 Used in industries like construction and manufacturing where changes are minimal.

Differences:

 Rigid and inflexible; changes are difficult to incorporate.

 No overlap between phases.

2. Iterative Model

Working:

 The software is developed in cycles (iterations), where each iteration produces a working
version of the software.

 Each iteration includes requirements, design, implementation, and testing.

 Feedback from one iteration is used to improve the next.

Diagram:
Iteration 1: Requirements → Design → Implementation → Testing

Iteration 2: Updated Requirements → Design → Implementation → Testing

...

Final Product

Applications:

 Suitable for large projects where requirements evolve over time.

 Used in web applications and enterprise systems.

Differences:

 Flexible and allows for incremental development.

 Focuses on delivering a working product in each iteration.

3. Incremental Model

Working:

 The software is divided into smaller parts (increments), and each increment is developed
and delivered separately.

 Each increment adds functionality to the previous one.

Diagram:

Increment 1: Requirements → Design → Implementation → Testing → Delivery

Increment 2: Requirements → Design → Implementation → Testing → Delivery

...

Final Product

Applications:

 Suitable for projects where early delivery of partial functionality is beneficial.

 Used in product-based companies.

Differences:

 Delivers partial functionality in each increment.


 Combines elements of linear and iterative approaches.

4. Prototyping Model

Working:

 A prototype (early version) of the software is developed to gather user feedback.

 The prototype is refined iteratively until the final product is achieved.

Diagram:

Requirements → Quick Design → Prototype → User Evaluation → Refinement → Final Product

Applications:

 Suitable for projects where requirements are unclear or evolving.

 Used in user interface design and experimental projects.

Differences:

 Focuses on user feedback and rapid prototyping.

 May lead to scope creep if not managed properly.

5. Spiral Model

Working:

 Combines iterative development with systematic risk analysis.

 Each cycle (spiral) involves four phases: Planning, Risk Analysis, Engineering, and
Evaluation.

 The process repeats until the final product is achieved.

Diagram:

Spiral with four quadrants:

1. Planning

2. Risk Analysis

3. Engineering
4. Evaluation

Applications:

 Suitable for large, complex, and high-risk projects.

 Used in defense, aerospace, and research projects.

Differences:

 Focuses on risk management.

 Highly flexible and adaptable to changes.

6. V-Model (Verification and Validation Model)

Working:

 An extension of the Waterfall Model where each development phase has a


corresponding testing phase.

 Emphasizes verification (are we building the product right?) and validation (are we
building the right product?).

Diagram:

Requirements → System Design → Architecture Design → Module Design → Implementation

↓ ↓ ↓ ↓ ↓

Acceptance Testing → System Testing → Integration Testing → Unit Testing

Applications:

 Suitable for projects with strict quality and compliance requirements.

 Used in medical, automotive, and aviation industries.

Differences:

 Testing is planned in parallel with development.

 More rigorous than the Waterfall Model.

7. Agile Model

Working:
 Focuses on iterative and incremental development with a strong emphasis on customer
collaboration.

 Delivers working software in short iterations (sprints).

 Emphasizes adaptability and responsiveness to change.

Diagram:

Sprint Planning → Development → Testing → Review → Retrospective

Repeat for each sprint until the final product is delivered.

Applications:

 Suitable for projects with rapidly changing requirements.

 Widely used in startups, web development, and mobile app development.

Differences:

 Highly flexible and customer-centric.

 Encourages continuous feedback and improvement.

7. Prototyping Model

Working:

 A prototype (early version) of the software is developed to gather user feedback.

 The prototype is refined iteratively until the final product is achieved.

Diagram:

Requirements → Quick Design → Prototype → User Evaluation → Refinement → Final Product

Applications:

 Suitable for projects where requirements are unclear or evolving.

 Used in user interface design and experimental projects.

Differences:

 Focuses on user feedback and rapid prototyping.

 May lead to scope creep if not managed properly.

You might also like