Mission 1 · Spec 4.13
A systematic approach to problem solving
The stages of solving a problem with a computer system: analysis, design, implementation, testing and evaluation. These are the same stages as your NEA project.
- Starter 5 min
- Learn 15 min
- Lab 15 min
- Quiz 10 min
- Exam 15 min
Build first, ask later?
A developer spends three months building an app, then shows the client, who says "That's not what I meant." What went wrong?
Reveal
The requirements weren't properly established in analysis, and there was no feedback during development. A systematic approach (with prototyping or agile iterations) catches this early.
The stages
| Stage | What happens |
|---|---|
| Analysis | Define the problem and establish the system requirements through interviews, observation and research. Create data models. Agile approaches refine requirements iteratively with prototypes. |
| Design | Plan the solution: data structures, algorithms, modular structure, user interface, file and database design. |
| Implementation | Write the code, reviewing and refining the design as problems are discovered. |
| Testing | Check the solution with normal (typical), boundary and erroneous data, against the requirements. |
| Evaluation | Judge how well the solution meets the requirements, using criteria set in analysis, and suggest improvements. |
Which stage?
Choose the test data
A program accepts a mark from 0 to 100.Exam-style questions
1. Describe what happens during the analysis stage of developing a solution.
[3 marks]Mark scheme
- The problem is defined / investigated (1)
- Requirements are established, e.g. by interviewing the client and users (1)
- Measurable objectives / data models are produced to guide design and evaluation (1)
2. Explain why boundary data is important in testing.
[2 marks]Mark scheme
- Errors often occur at the limits of valid ranges, e.g. using < instead of ≤ (1)
- Testing at and just beyond the boundaries checks the validation works exactly as intended (1)
TUTOR NOTES
- NEA link: the NEA write-up follows these stages; use this mission when starting the project.