Unit II

Software Life Cycle Models

A Software Development Life Cycle (SDLC) model defines the phases of software development and the order in which they are carried out. Choosing the right model is crucial to project success.

๐Ÿ’ก Why Do We Need a Life Cycle Model?

๐Ÿ’ง Classical Waterfall Model

The oldest and most widely known SDLC model. Each phase must be completed before the next begins โ€” like water flowing downward, with no going back.

Classical Waterfall Model
Requirements System Design Implementation Testing Deployment Maintenance โ–ผ Linear, sequential flow โ€” no going back

Advantages

  • Simple and easy to understand
  • Well-documented phases
  • Works well for small, fixed-requirement projects

Disadvantages

  • No feedback loops โ€” hard to go back
  • Poor fit for changing requirements
  • Testing happens very late
  • High risk for complex systems

๐Ÿ”„ Iterative Waterfall Model

An improvement over classical waterfall โ€” allows feedback loops between adjacent phases. If a problem is found in phase N, you can go back to phase N-1.

Key difference: Feedback arrows going upward between phases allow limited backtracking. Errors are caught earlier compared to classical waterfall.

๐Ÿงช Prototype Model

A working model (prototype) of the system is built quickly to help the client visualize the final product and refine requirements.

Prototype Development Cycle
Gather Requirements โ†’ Build Prototype โ†’ Client Evaluates โ†’ Refine & Improve โ†’ Final Product Feedback loop โ€” repeat until satisfied

When to Use

  • Requirements are unclear or incomplete
  • UI/UX is critical to the project
  • Client wants to see early results

Limitations

  • Prototype may raise unrealistic expectations
  • Can lead to incomplete documentation
  • Prototype quality may be mistaken for final quality

๐ŸŒ€ Spiral Model

Proposed by Barry Boehm (1988). Combines elements of both iterative development and the systematic aspects of the waterfall model with a strong focus on risk management.

Spiral Model โ€” 4 Quadrants per Loop
PLANNING RISK ANALYSIS EVALUATION ENGINEERING Start Iter 1 Iter 2 Iter 3

Four Quadrants of Each Loop

Quadrant 1
Planning

Determine objectives, alternatives, constraints

Quadrant 2
Risk Analysis

Identify & resolve risks, build prototype if needed

Quadrant 3
Engineering

Develop and test the product increment

Quadrant 4
Evaluation

Customer evaluates, plans next iteration

๐Ÿ“Š Comparative Study of Models

ModelFlexibilityRisk HandlingBest For
Classical WaterfallLowPoorFixed, small projects
Iterative WaterfallMediumModerateProjects with minor changes
PrototypeHighModerateUnclear requirements
SpiralHighExcellentLarge, high-risk projects