AQA A-Level Computer Science 7517
Fundamentals of Programming
Fundamentals of Data Structures
Fundamentals of Algorithms
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
Fundamentals of Databases
Big Data
Systematic Approach to Problem Solving
Analysis, Design and Implementation
- 3 things to know
- Paper 1 and the project
Overview
Recall questions on the five stages of a systematic approach, establishing and clarifying requirements, abstraction in analysis, iterative design and modular structure, and implementation.
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.
Questions from this subtopic
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.
Other ways to work this
The same content, four other ways.
What is inside Levo
Six ways to work the same material.
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.