Learnearn.uk » A Level Computer Science Home » Problem Decomposition

# Problem Decomposition

## Introduction

### Decomposition of programming problems

Decomposition of programming programming problems is about breaking the program down into smaller component parts. The process consists of the following components/steps:

1. Understand the problem

Identify the main problem or task that needs to be addressed. This is the high-level objective that the program should achieve.

2. Break down the primary problem

Break down the primary problem into smaller, more manageable subproblems. Identify the key components or functionalities that need to be implemented to solve the primary problem.

3. Break down the subproblems

For each subproblem identified in the previous step, further break it down into smaller subproblems. Continue this process until you reach a level where each subproblem is easily solvable.

4. Solve the subproblems

Start solving the subproblems one by one, beginning with the lowest-level subproblems. Implement the necessary logic, algorithms, or functions to address each subproblem individually.

5. Integrate and test

As you solve the subproblems, gradually integrate the solutions together. Test the program as a whole to ensure that the subproblems work together correctly and achieve the desired outcome.

## Stepwise Refinement

### Stepwise Refinement

One method of decomposition is the method known as stepwise refinement, a problem-solving technique that involves progressively breaking down a complex problem into simpler and more manageable subproblems. Each subproblem is further refined and detailed until it can be easily solved or implemented.

## Structure Diagrams

### Structure Diagrams

When breaking down problems using stepwise refinement it is often useful to use a structure diagram during the process.

## Resources

### Resources

Teaching, Learning & Revision Resources