Systematic Software Development
Aligned to the AQA 7517 specification
- Level
- Intermediate
- Reading time
- 7 min
- Published
- 13 June 2026
- Updated
- 1 July 2026
On this page
Key takeaways
- Systematic software development has five phases: analysis, design, implementation, testing and evaluation, and agile approaches iterate through the cycle repeatedly rather than completing it once.
- Analysis defines the problem and establishes requirements, and the AQA spec explicitly includes prototyping and the agile approach as part of this phase.
- Implementation should solve the critical path first: the features that all other features depend on, such as the database connection, authentication and core data model.
- Test data falls into three categories: normal (typical valid values), boundary (values at the edges of the valid range and just beyond), and erroneous (invalid data to detect and reject).
- Acceptance testing is conducted by the intended users, not the developers, to verify the finished system meets the original specification.
Studying this for an exam?
Generate a personalised learning path for this subject. Free to get started.
Key terms
- Analysis
- The phase that defines the problem and establishes requirements, including data modelling, prototyping and the agile approach.
- Design
- The phase that decides how the system will work before code is written, covering data structures, algorithms, modular structure and the user interface.
- Implementation
- The phase that translates the design into working code, ideally solving the critical path first.
- Testing
- The phase that verifies the system works correctly across a wide range of inputs using normal, boundary and erroneous data.
- Evaluation
- The phase that assesses how well the completed system meets its goals across functionality, efficiency, usability and maintainability.
- Critical path
- The features that all other features depend on, such as the database connection, authentication and core data model, implemented first.
- Normal data
- Typical valid values the system should accept and process correctly.
- Boundary data
- Values at the extreme edges of the valid range and just beyond each edge, used to catch off-by-one errors.
- Erroneous data
- Invalid data the system should detect and reject.
- Acceptance testing
- Testing conducted by the intended users, not the developers, to verify the finished system meets the original specification.
Frequently asked questions
Normal data is typical valid values the system should accept and process correctly. Boundary data is values at the extreme edges of the valid range and just beyond them. Erroneous data is invalid data the system should detect and reject. For a valid range 0–120, boundary values include 0, 1, 119, 120, 121 and −1.
Acceptance testing is done by the intended users, not the developers, to check the finished system meets the specification agreed at analysis. Developer testing, such as unit and integration testing, checks that the code works. Acceptance testing checks that the right system was built.
Testing checks correctness, that is whether the system produces the right output. Evaluation judges quality across multiple criteria, functionality, efficiency, usability and maintainability, including aspects with no pass/fail answer. A system can pass all tests yet still be rated poor on usability or maintainability.
Generate revision on any topic you study
Type any topic you're studying and Aicademy generates a complete lesson, quiz, and flashcard set, personalised to your level.
Lessons on anything
Structured, level-matched lessons on any topic you study
Practice quizzes
Find out what you actually know before the exam does
Flashcard sets
Lock in key concepts with instant revision cards
Ask Aica
Stuck on something? Get a clear explanation, any time
Functional Programming in Practice
Related lessons
7 min
6 min