Iterative Development Phases (SQA National 5 Computing Science): Revision Note

Exam code: X816 75

Robert Hampton

Written by: Robert Hampton

Reviewed by: James Woodhouse

Updated on

Iterative development process

What is the iterative development process?

  • The iterative development process is a structured cycle of stages used to create software

  • Each phase is revisited as needed to improve the solution until it meets its purpose

  • The six stages are:

    • Analysis

    • Design

    • Implementation

    • Testing

    • Documentation

    • Evaluation

Analysis

  • The purpose of the analysis phase is to clearly understand the problem the program will solve

  • You identify the inputs, processes, and outputs needed to meet the program’s goals

  • Abstraction is used to remove unnecessary details and focus on what matters most

  • This helps define the core functionality and requirements of the solution

Example

  • In a train journey planner, you only need to know the route from stop A to stop B, not the full map layout

  • A requirements list or document can include success criteria to check when each goal has been achieved

Design

  • The design phase creates a blueprint for the program before coding begins

  • Design tools can include:

    • Structure diagrams

    • Flowcharts

    • Pseudocode

  • The design must show the program logic clearly so that implementation is straightforward

Implementation

  • Also known as coding, this is where the program is built using a programming language

  • Developers create the program in modules that work together to solve the problem

  • Iterative testing happens during this stage to check that each module works correctly before combining them

Testing

  • The program is tested to make sure it performs as expected and matches the original requirements

  • Different types of test data are used to check for errors:

    • Normal data – valid input that should be accepted

    • Extreme data – valid but at the limits of acceptable input

    • Exceptional data – invalid input that should be rejected

  • Testing confirms that the program works correctly and handles errors safely

Documentation

  • Documentation explains how the program works and how it can be used

  • It helps future developers and users understand the program

  • Examples of documentation include:

    • User guides

    • Technical notes

    • Comments within the code to explain purpose and logic

Evaluation

  • The evaluation phase assesses how well the finished program meets its intended purpose

  • You consider:

    • Fitness for purpose – does it meet the user’s requirements?

    • Efficiency – are coding constructs used effectively?

    • Robustness – does it cope with unexpected inputs or errors?

    • Readability – is the code clear and well formatted?

Examiner Tips and Tricks

  • You may be asked to describe each stage or apply them to a given scenario

  • Use concise, accurate language and include examples

  • Always link your explanation back to the program’s purpose and how each stage improves it

Worked Example

The software development process is described as iterative.

Explain why it may be necessary to return to the design stage.

[1]

Answer

Any one of the following:

  • Logic errors were found at a later stage [1 mark]

  • New functionality is requested [1 mark]

  • The program is not fit for purpose [1 mark]

Unlock more, it's free!

Join the 100,000+ Students that ❤️ Save My Exams

the (exam) results speak for themselves:

Robert Hampton

Author: Robert Hampton

Expertise: Computer Science Content Creator

Rob has over 16 years' experience teaching Computer Science and ICT at KS3 & GCSE levels. Rob has demonstrated strong leadership as Head of Department since 2012 and previously supported teacher development as a Specialist Leader of Education, empowering departments to excel in Computer Science. Beyond his tech expertise, Robert embraces the virtual world as an avid gamer, conquering digital battlefields when he's not coding.

James Woodhouse

Reviewer: James Woodhouse

Expertise: Computer Science & English Subject Lead

James graduated from the University of Sunderland with a degree in ICT and Computing education. He has over 14 years of experience both teaching and leading in Computer Science, specialising in teaching GCSE and A-level. James has held various leadership roles, including Head of Computer Science and coordinator positions for Key Stage 3 and Key Stage 4. James has a keen interest in networking security and technologies aimed at preventing security breaches.