Decomposition
decompositionBreaking down a complex problem into smaller, more manageable sub-problems. involves breaking down a complex problem or system into smaller parts that are more manageable and easier for the user to understand. The smaller parts can then be examined and solved, or designed individually, as they are now simpler to work with.
If a problem is not decomposed, it is much harder to solve. Dealing with a complex problem is much more difficult than breaking a problem down into a number of smaller problems and solving each one, one at a time. Smaller problems are easier to understand and can be examined in more detail.
Example
Consider planning the best way to get to a new college, school or place of work for the first time. This could be considered “the problem."
To solve this task, it needs to be broken down into smaller steps:
- Where is the starting point?
- What is the required arrival time at the destination?
- What mode of transport will be used (for example walking, bus, train?)
- Will a change of transport be needed (for example changing buses?)
- Will multiple modes of transport be required?
- How long will each part of the journey take?
- Where will connection take place if needed?
- How will delays (depending upon type) be dealt with?
- What impact will delays have on other parts of the journey?
- How will the traveller navigate from the transport drop-off point to the final destination?
The complex problem of “Navigating a route” has now been broken down into simpler problems that can be examined individually and in detail. Once the individual information has been gathered and collated, the person undertaking the route will be clearer in how they will be able to complete the journey.
Abstraction
abstractionThe process of separating and filtering out ideas and specific details that are not needed in order to concentrate on those that are needed. is the process of filtering out (essentially ignoring) the characteristics of problems that are not needed in order to concentrate on those that are needed. It helps to simplify complex problems, such as routing networks and user interfaces, through systems that may serve different audiences.
Abstraction allows the user to create a general idea of what the problem is and how to solve it. The process involves removing specific detail and any patterns that will not help to solve the problem. This helps to form an idea of the problem. This idea is known as a ‘model’.
Without abstraction, a user may end up with the wrong solution to the problem they are trying to solve.
Example

A real-life example of abstraction is an underground network map. It details the routes of the train lines and the stations that are on each route. It is all the information that is typically required by a passenger to be able to plan a journey from one station to another.
Other details, such as real geographical location, distance between stations, underground depth and number of platforms are not included as they are irrelevant to journey planning on the network.
However, some passengers may require detail such as stations with lifts or ways to access platforms. This is managed by creating a layered or alternative abstraction to show this detail separately.

More on Systems analysis
Find out more by working through a topic
- count2 of 5

- count3 of 5

- count4 of 5

- count5 of 5
