National 5 Computing Science
Iterative development: describing going back
National 5 Computing Science: Software design and development
Software is developed in phases, and the process is iterative: a developer can go back to an earlier phase when a problem is found. Most candidates know the phases. The 2025 examiners' report found that describing a real situation in the development process was the hard part.
The six phases
- Analysis: work out the purpose and the functional requirements: inputs, processes and outputs.
- Design: plan the program, for example with a structure diagram, a flowchart or pseudocode, and design the user interface.
- Implementation: write the code.
- Testing: run the program with normal, extreme and exceptional test data and compare the results with what was expected.
- Documentation: write up the program for the people who will use it.
- Evaluation: judge the finished program: is it fit for purpose, efficient, robust and readable?
What "iterative" means
Iterative means the phases can be repeated. Something found in a later phase sends the developer back to an earlier one, then forward again. A question usually asks you to describe a situation where this happens, or to explain why a developer would go back.
Name the later phase, what was found there, and the earlier phase the developer goes back to:
- "During testing, the program gives the wrong total for extreme data, so the developer goes back to implementation to correct the code."
- "While implementing, the programmer finds a step missing from the pseudocode, so they go back to design to add it."
- "During testing, the client says the program does not do something they need, which was never in the requirements, so the developer goes back to analysis."
- "To check for errors." Too general: it does not describe going back to an earlier phase.
- "Because the program uses loops." That is iteration in code, a different idea.
Which phase to go back to
Go back to the phase where the mistake was made. If the code does not match the design, the fix is in implementation. If the code matches the design but the design is wrong, go back to design. If the requirement was never written down, go back to analysis, because the design and code were built from the requirements.
Testing is the phase that most often sends a developer back. For how to choose test data, see testing: test data and test tables. For what is decided in analysis, see end-user and functional requirements.
Try two exam-style questions
Choose an answer, say how sure you are, then press Check. Every wrong answer tells you why it is wrong.

The full course covers every topic like this. Every topic in National 5 Computing Science has a short note, a simulation to try and a practice quiz with feedback on every answer, plus coding lessons, a full mock exam and a progress report for parents.
More guides
- Input validation: how to get all 4 marks
- Running total within a loop
- round, random and length: writing the whole call
- Choosing the most suitable data type
- Evaluating a program: answers that gain the mark
- Concatenation: joining strings for the mark
- Testing: test data and test tables
- All the free revision guides
This site is independent: it is not connected to the SQA or Qualifications Scotland. Points from the examiners' course reports are given in our own words.