Unit 11.1C · Term 1

SDLC Models

The Software Development Life Cycle (SDLC) describes the stages a software project goes through from idea to deployment. Different models organise these stages in different ways depending on project needs.

Learning Objectives

  • 11.2.1.1 Describe the stages of the SDLC
  • 11.2.1.2 Compare cyclical, waterfall, and spiral models

Lesson Presentation

11.1C-sdlc-models.pdf · Slides for classroom use

Conceptual Anchor

The House-Building Analogy

Building software is like building a house. You need to: understand what the client wants (analysis), draw blueprints (design), build it (implementation), check for faults (testing), move the client in (deployment), and fix problems over time (maintenance). The SDLC is the blueprint for this entire process.

Rules & Theory

SDLC Stages

Stage Purpose Key Activities
1. Analysis Understand the problem Gather requirements, interview users, feasibility study
2. Design Plan the solution System architecture, UI mockups, data structures, DFDs
3. Implementation Build the system Write code, create database, build interfaces
4. Testing Verify correctness Unit tests, integration tests, user acceptance testing
5. Deployment Release to users Install, train users, migrate data
6. Maintenance Keep it running Fix bugs, add features, update for new OS

SDLC Models Compared

Feature Waterfall Spiral Iterative (Cyclical)
Flow Linear, top-down Loops with risk analysis Repeated cycles
Going back Cannot go back easily Each loop revisits stages Each cycle improves the product
Risk handling Risks found late Risk analysis each cycle Risks reduced each iteration
Client involvement Beginning and end only Each spiral reviewed Feedback every cycle
Best for Small, well-defined projects Large, high-risk projects Projects with changing requirements
Disadvantage Inflexible, no backtracking Complex, expensive Scope creep risk

Visual Models

WATERFALL: SPIRAL: ITERATIVE: Analysis ┌─ Plan ──┐ ┌─ Cycle 1 ─┐ ↓ │ │ │ Analyze │ Design ↓ ↓ │ Design │ ↓ Risk ←── Develop │ Build │ Implementation Analysis ↓ │ Test │ ↓ │ Evaluate └───┬───────┘ Testing └──────────┘ ↓ ↓ (repeats, getting ┌─ Cycle 2 ─┐ Deployment larger each loop) │ Improve │ ↓ │ Add features│ Maintenance └───┬───────┘ ↓ ...

Agile ≈ Modern Iterative

Modern software companies use Agile methodologies (Scrum, Kanban) which are iterative. They work in 2-week "sprints", delivering working software each cycle and adapting to changing requirements.

Common Pitfalls

Waterfall is Outdated/Bad

Waterfall is still used successfully for projects with fixed, well-understood requirements (e.g. building a bridge, military systems). It's only "bad" when requirements change frequently.

Tasks

Remember

List the 6 stages of the SDLC in order.

Understand

Explain why the waterfall model is unsuitable for a startup building a new social media app.

Analyze

A hospital needs a patient management system. Which SDLC model would you recommend and why?

Self-Check Quiz

Q1: What are the 6 stages of the SDLC?

Analysis, Design, Implementation, Testing, Deployment, Maintenance.

Q2: What is the key feature of the spiral model?

Risk analysis at each iteration — the project loops through planning, risk analysis, development, and evaluation.

Q3: When is the waterfall model most appropriate?

When requirements are well-defined and unlikely to change (e.g., small, fixed-scope projects).