Learn in your language
Skip to content
A Level · Cambridge (CIE) · 9618

12 Software development

Choose a suitable development life cycle, refine a design and use testing evidence to improve a program.

Section 12 · Software development

Cambridge International AS & A Level Computer Science 9618 · 2027–2029 · Version 2 · 12

Mapped to Cambridge International AS & A Level Computer Science 9618, 2027–2029 Version 2. These original lessons and self-checks are independent study support; they are not Cambridge papers, official marks or grades. The course does not yet provide a timed four-paper simulation or a locked-down Paper 4 programming environment.

Before you begin

  • Use the 2027–2029 syllabus for your exam year. AS candidates study Sections 1–12; A Level candidates study Sections 1–20. Paper 4 uses a programming language chosen from Python, Java or Visual Basic in console mode.

Work on paper. Try each question before revealing help, and explain why your method works.

Quick readiness check

Which model is characterised by sequential completed stages?

What you will learn

  • Explain the key representations, structures or processes in this syllabus section
  • Apply the method to a new computer-science example
  • Justify a design choice and check its limits

Life cycles organise development work

A waterfall model completes stages in sequence and suits projects with stable requirements, though changes late in the process can be costly. Iterative development repeats planning, building and evaluation; it can incorporate feedback but requires ongoing coordination.

Rapid application development uses short cycles, reusable components and frequent user involvement. It may deliver a prototype quickly, but depends on available users and careful scope management. Choose a model by considering requirements, risk, time and feedback needs.

Design and testing make quality observable

A design can use structure charts, pseudocode, flowcharts and data definitions to show modules, decisions and interfaces before implementation. A good module has one clear responsibility and a testable interface.

Testing compares actual behaviour with expected results. Normal, boundary and erroneous tests reveal different failures. A test plan records inputs, expected outcomes and observed outcomes; debugging identifies and corrects the cause, then regression testing checks that the fix did not break other behaviour.

Pause and explain

What is regression testing?

Put the idea to work

Worked example

A school is replacing a small timetable tool, and users are unsure about the best screens. Which development approach could test ideas early?

Show the worked solution
  1. User needs are not yet fully settled.
  2. An iterative or RAD approach can produce an early version for feedback.
  3. The team should still set scope, test requirements and maintain quality checks.

Answer An iterative or RAD approach supports early prototypes and feedback; the choice depends on user availability and project risk.

Try a topic test

Choose Easy, Normal or Difficult. Save your answers and open worked review after finishing.

Test this topic →

From guided practice to a new situation

Write your answer and reasoning first. Use a hint only if you are stuck. The model solution is for self-checking; your written work is not automatically marked.

1 · Guided

A safety-critical system has detailed, stable requirements but expensive late changes. Recommend a development model and one limitation to manage.

Give me a hint

Match predictability and documentation needs while acknowledging change costs.

Compare my reasoning
  1. Waterfall provides defined sequential stages and documentation.
  2. Its limitation is that changing requirements late can cause costly rework.
  3. Use reviews and early validation to reduce that risk.

Waterfall can fit stable requirements; early validation is important because late changes are costly.

Look for these in your work

  • Model matched
  • Relevant limitation
  • Mitigation suggested
2 · Independent

A system accepts a score from 0 to 100 inclusive. Give boundary tests and expected outcomes around the upper limit.

Give me a hint

Test the maximum valid value and the nearest invalid value on each side.

Compare my reasoning
  1. 99 should be accepted.
  2. 100 should be accepted.
  3. 101 should be rejected or reprompted.

99 accepted, 100 accepted, 101 rejected.

Look for these in your work

  • Below-boundary tested
  • Boundary tested
  • Above-boundary tested
3 · Transfer

A bug fix changes a shared discount function. Describe a focused regression test plan.

Give me a hint

Test the changed case and unaffected routes that rely on the function.

Compare my reasoning
  1. Retest the failing discount case with its original expected value.
  2. Test another valid discount and a boundary such as zero or the maximum.
  3. Run representative checkout tests to check the shared function did not alter unrelated totals.

Retest the original bug, key boundaries and dependent checkout flows.

Look for these in your work

  • Original failure retested
  • Boundary covered
  • Dependent behaviour checked

Common mistakes

  • Saying waterfall is always bad or iterative is always best.
  • Treating a test plan as proof that all possible inputs were tested.
  • Fixing a bug without running regression tests.
Recall without your notes

What can you explain now?

Why include boundary values in a test plan?

Compare with the explanation

Errors often occur at the edges of allowed ranges.

Boundary tests check values at and around limits where conditions can be implemented incorrectly.

After trying it yourself, choose your next review. This is your self-assessment.

Your review choice appears on Today. Sign in to sync it across devices.

Make it stick

How do requirements, model choice, design, test data and regression testing fit into software development?

If you needed the solution, close it and solve the problem again from a blank page. A correct answer is stronger when you can explain the reason for each step.

Keep learning Computer Science

Course scope and assessment

This pathway maps the 2026 Version 2 and 2027–2029 Version 2 syllabuses, which Cambridge says have no significant changes affecting teaching. It has original teaching and guided, independent and transfer practice for all 20 syllabus sections, with topic links to the official section headings. It is mapped teaching, not proof of exam readiness or an official Cambridge grade. Paper 4 requires complete programs and testing evidence in a programming environment; the current course offers explained code and algorithm practice but does not yet provide a locked-down timed programming-paper environment, full four-paper mocks or human subject-teacher review.

StudyForA · Learn with understanding

Original teaching content and links to official sources. Check your exam year and qualification before using a resource.