levo

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.

Your recallNot started
Key term

What has to happen in analysis before a problem can be solved?

Process

What is produced during the design stage?

Key term

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. 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. 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. 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. 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. 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. 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.

1Closed book
2Open book
3Closed book

See a huge jump in your memorisation

Answer cold, learn it, then prove it stuck. Levo tracks the jump between your first attempt and your last.

Fundamentals of Programming
Fundamentals of Data Structures
Fundamentals of Algorithms
Theory of Computation

Cram a whole paper in one sitting

Sort every topic into what you know and what you do not, then drill only the weak ones.

A driver is .
softwarehardwarestorage

Blank Blitz consolidates the facts

Rapid timed gap-fills on the terms and numbers you need to recall without thinking.

AThe integer 5 is 0101.
B0.75 is 1/2 + 1/4.
CThe fraction bits are 1100.

Build It trains answer structure

Assemble a full-mark answer from its marking points, in the order an examiner wants them.

Head means the first single element of a non-empty list.
TrueFalse

Test It catches misconceptions

Spot the fault in a statement. The traps are the mistakes students actually make.

721941163128510

Brain Breaks between sessions

Short focus games to reset attention, so the next set lands better than the last.

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.