🔒

Unlock Pro

Subscribe to access all 59 Edexcel 1CP2 lessons.

£7.99/month
or £59/year
🐍 Paper 2 · Topic 6: Programming
6.4c Software Development Lifecycle
Edexcel 1CP2 · GCSE Computer Science · ~10 min read · 🔒 Pro
Notes
──
Video
──
Slides
──
Worksheet
──
Quiz

What is the Software Development Lifecycle?

The Software Development Lifecycle (SDLC) is a structured process for planning, creating, testing, and delivering software. It ensures software is built systematically rather than ad hoc. Edexcel covers three key models: Waterfall, Iterative (Agile-style), and Spiral.

The Waterfall Model

The Waterfall model is a linear, sequential approach where each phase must be fully completed before the next begins. You cannot go back.

1
Analysis
Identify what the system must do — gather requirements from the client. Produce a requirements specification.
2
Design
Plan the solution — system architecture, data structures, algorithms, user interface.
3
Implementation
Write the actual code based on the design documents.
4
Testing
Systematically test the complete system against requirements.
5
Evaluation / Maintenance
Review against original requirements; fix bugs; update for new needs.
✅ Advantages❌ Disadvantages
Simple, easy to understand and manageVery inflexible — changes are very costly
Clear milestones and deliverablesClient doesn't see product until the end
Well-documented at every stageProblems found late are expensive to fix
Good for projects with fixed requirementsAssumes requirements are known upfront — rarely true

The Iterative (Agile) Model

The iterative model builds software in small cycles (iterations/sprints). Each cycle produces a working version; feedback is collected and fed into the next cycle.

  • Requirements can change between iterations — more flexible
  • Client sees and tests working software early
  • Bugs found early within each short cycle are cheaper to fix
  • Risk is reduced: if one iteration fails, little is lost
✅ Advantages❌ Disadvantages
Flexible to changing requirementsScope creep — project can keep growing
Client feedback at every stageTotal cost and timeline hard to predict
Working software delivered quicklyRequires close client involvement throughout
Problems found early and fixed cheaplyDocumentation may be less thorough

The Spiral Model

The Spiral model combines iterative development with risk analysis. Each loop of the spiral has four phases: Planning → Risk Analysis → Engineering → Evaluation.

  • Explicitly identifies and addresses risks at each iteration
  • Good for large, complex, or high-risk projects
  • More expensive and complex to manage than Waterfall or iterative

Comparing the Models

FeatureWaterfallIterativeSpiral
FlexibilityLowHighMedium–High
Client involvementStart and endThroughoutThroughout
Risk managementPoorModerateExplicit
Best forFixed requirementsEvolving requirementsLarge/risky projects
Cost of changesVery highLowMedium

Maintainability

Good software should be easy to maintain after delivery. Techniques that improve maintainability:

  • Comments — explain what code does and why
  • Meaningful variable namestotal_score not ts
  • Modular design — functions/procedures that each do one thing
  • Consistent indentation — Python enforces this but good style reinforces it
  • Version control — tracking changes so previous versions can be restored
Exam tip: A common Edexcel question is "State one advantage and one disadvantage of the Waterfall model compared to the iterative model." The key contrast: Waterfall is rigid but well-planned; iterative is flexible but harder to manage costs/scope. Always give specific reasons, not just "it's better".
⚠️ Common Mistakes
  • Saying Waterfall has "feedback loops" — it does NOT; it is strictly linear
  • Confusing iterative with just "doing it twice" — it's a cycle of build-test-feedback repeated many times
  • Forgetting to mention risk analysis as the key feature of the Spiral model
  • Stating advantages/disadvantages without explaining WHY — "inflexible" alone is not enough; say "requirements cannot change once development begins"
Video coming soon
Click slide or press arrow keys to navigate
✍️

Worksheet — 6.4c Software Development Lifecycle

8 Edexcel-style questions · instantly marked

Q1List the FIVE stages of the Waterfall model in the correct order.[5]
✅ Mark scheme
1. Analysis [1]; 2. Design [1]; 3. Implementation [1]; 4. Testing [1]; 5. Evaluation/Maintenance [1]. Must be in correct order for full marks — order is the key feature of Waterfall.
Q2State ONE advantage and ONE disadvantage of the Waterfall model.[2]
✅ Mark scheme
Advantage: any of — simple/clear structure, clear milestones, well-documented, good when requirements are fixed [1]; Disadvantage: any of — inflexible/requirements cannot change, client doesn't see product until the end, bugs found late are expensive to fix [1].
Q3What is the key difference between the Waterfall and iterative models of software development?[2]
✅ Mark scheme
Waterfall is linear and sequential — each stage must be complete before the next begins and changes are not made once started [1]; Iterative builds software in repeated small cycles, with feedback gathered after each working version and requirements can change between cycles [1].
Q4A hospital is building safety-critical patient monitoring software. Suggest which SDLC model would be LEAST suitable and explain why.[2]
✅ Mark scheme
Iterative model [1]; because requirements and features change between iterations, which could be dangerous in safety-critical software where all requirements must be fixed, verified and fully tested before deployment [1]. Accept: Waterfall would be least suitable because it offers no mechanism for fixing major design flaws found during testing.
Q5What distinguishes the Spiral model from both Waterfall and iterative models?[2]
✅ Mark scheme
The Spiral model explicitly includes a risk analysis phase in each iteration [1]; unlike Waterfall (no iteration) or iterative (no formal risk analysis), Spiral evaluates and mitigates risks at every cycle before proceeding [1].
Q6Give THREE techniques a developer can use to make code easier to maintain.[3]
✅ Mark scheme
Any three of: meaningful variable/function names (e.g. total_score not ts) [1]; comments explaining what code does [1]; modular design — functions that each do one task [1]; consistent indentation [1]; version control [1]. Accept other valid maintainability techniques.
Q7A software company is developing a social media app where user requirements change frequently. Explain why the iterative model is more suitable than Waterfall.[3]
✅ Mark scheme
Iterative is more suitable because: requirements can change between cycles without large cost [1]; users can test working versions early and provide feedback to shape the next iteration [1]; bugs and design problems found in one cycle can be fixed cheaply before the next cycle begins [1].
Q8What happens in the Analysis stage of the Waterfall model and why is it so important?[3]
✅ Mark scheme
Requirements are gathered from the client to establish exactly what the system must do [1]; a requirements specification document is produced [1]; it is crucial because in Waterfall all subsequent stages depend on these requirements — if the analysis is wrong, the entire project will produce the wrong product and changes later are very costly [1].
Topic Quiz
Q 1 of 15
You scored
out of 15
Click to reveal definition
🎉
Session complete!
TermDefinition
🎯

Mini Test — Software Development Lifecycle

Timed exam-style test — 10 minutes.

← 6.4b Testing StrategiesTopic 6 · PythonNext: 6.5 String Operations →