AQA AS-Level Computer Science 7517
Fundamentals of Programming
Fundamentals of Data Structures
Theory of Computation
Fundamentals of Data Representation
Fundamentals of Computer Systems
Fundamentals of Computer Organisation and Architecture
Fundamentals of Communication and Networking
Consequences of Uses of Computing
Systematic Approach to Problem Solving
Systematic Approach to Problem Solving
- 2 subtopics
- 6 things to know
- Paper 1 and the project
What Systematic Approach to Problem Solving covers
The stages of software development, from analysis and design through implementation to testing and evaluation. Supplies the skills Paper 1 draws on and the standard the project is marked against.
Where it is assessed
Paper 1 and the project
The problem-solving skills Paper 1 draws on and the non-exam assessment is marked against.
Check the AQA specification ↗The 2 subtopics
Each one has its own page. AQA AS Computer Science students sit this topic in the first year.
- Analysis, Design and ImplementationRecall questions on the five stages of a systematic approach, establishing and clarifying requirements, abstraction in analysis, iterative design and modular structure, and implementation.Open →
- Testing and EvaluationRecall questions on demonstrating correctness, normal, boundary and erroneous test data, acceptance testing and its evidence, the criteria and limits of evaluation, and sequential against iterative development.Open →
What you need to know
Answer each one before you reveal it.
What is produced during the design stage?
Describe what is meant by designing an appropriate modular structure for a solution.
What should a developer be able to do to demonstrate that a program is correct and efficient?
What evidence of acceptance testing does a developer need to record?
An evaluation reports that the system 'works well'. Explain why that is an inadequate evaluation.
Take Systematic Approach to Problem Solving further
The same content, four other ways.
Commonly confused
Pairs that lose marks when they are blurred together.
Normal test data vs Boundary test data
Normal test data: valid input lying well inside the permitted range. Boundary test data: input at or immediately beside the limits of validity.
Erroneous test data vs Normal test data
Erroneous test data: invalid input that the system should reject. Normal test data: valid input the system should accept and process.
Sequential development vs Iterative development
Sequential development: each development stage finishes before the next begins. Iterative development: stages are revisited through repeated improvement cycles.
Questions from this topic
Each one with the model answer underneath.
- 1
Name the five stages of a systematic approach to solving a problem with software, in order.
Model answer
Analysis, design, implementation, testing and evaluation. They are presented in that order, but in practice work often returns to an earlier stage — particularly design and implementation, which may be repeated in cycles.
- 2
What has to happen in analysis before a problem can be solved?
Model answer
The problem must first be defined, so that everyone agrees what is actually to be solved. Then the requirements of the system that will solve it must be established — what it must do, what data it must handle, and what constraints it must work within. A data model must also be created, identifying the things the system must store data about, the attributes of each, and the relationships between them.
- 3
How are the requirements of a system established, and why must it be done that way?
Model answer
They are drawn out of the people who will actually use the system, by dealing with those people directly — interviewing them, circulating questionnaires, watching them at work in the existing process, and studying the forms, records and reports that process already produces. It has to be done that way because the developer does not do the users' job: what the system must cope with, including the awkward exceptions that never appear in a tidy description of the work, is knowledge the users hold and the developer does not. Requirements the developer invents instead tend to solve a problem nobody has, and that mistake is an expensive one, because the design, the code and the tests all rest on top of it and all have to be done again.
- 4
Users often struggle to say exactly what they want. How can the process of clarifying requirements deal with this?
Model answer
By using a prototyping or agile approach. A prototype — even a rough one showing screens and a little behaviour — gives the users something concrete to react to, and people are far better at criticising a specific thing in front of them than at describing an imagined system in the abstract. Their reactions are fed back, the prototype is revised, and the requirements are refined through those cycles rather than being settled once at the start.
- 5
What is abstraction, and what part does it play in analysis?
Model answer
Abstraction is representing something by keeping only the details that matter for the purpose in hand and leaving out the rest. In analysis it is how an aspect of the external world becomes something a program can hold: a real customer becomes a small set of attributes the system actually needs, a real journey becomes a start point, an end point and a time. Deciding what to keep and what to discard is the substance of building a data model — keep too little and the system cannot answer the questions asked of it, keep too much and it becomes needlessly complicated and harder to maintain.
- 6
Why should a solution be designed and specified before it is constructed?
Model answer
Because decisions taken at design time are cheap to change and the same decisions are expensive to change once they are written into code and data. Designing first means the structure of the whole solution can be considered before any part of it is fixed, that the design can be checked against the requirements and discussed with others, that work can be divided between people, and that the person writing the code has something to work to. Coding without a design tends to produce a structure that grew rather than one that was chosen.
What is inside Levo
Six ways to work the same material.
Systematic Approach to Problem Solving revision questions
- Is Systematic Approach to Problem Solving examined at AS in AQA Computer Science?
- Yes. It sits in Paper 1 and the project, which you take in the first year, so it is on the AS paper as well as counting towards the full A level.
- What does Systematic Approach to Problem Solving cover in AQA AS-Level Computer Science?
- 2 subtopics: analysis, design and implementation and testing and evaluation. Each one has its own page with questions and model answers.
- How is Systematic Approach to Problem Solving organised?
- By the AQA 7517 specification, subtopic by subtopic, so it matches the order you are taught it in.
Every question in Systematic Approach to Problem Solving, on a schedule.
Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.
Or £46 a year, about £3.83 a month. Cancel anytime.