Before computers can solve a problem, the problem and the ways in which it can be resolved must be understood. Decomposition helps by breaking down complex problems into more manageable parts.
Imagine that you want to create your first app. This is a complex problem - there are lots of things to consider.
Question
How would you decompose the task of creating an app?
To decompositionThe breaking down of a system into smaller parts that are easier to understand, program and maintain. this task, you would need to know the answer to a series of smaller problems:
what kind of app you want to create
what your app will look like
who the target audience for your app is
what your graphics will look like
what audio you will include
what software you will use to build your app
how the user will navigate your app
how you will test your app
where you will sell your app
This list has broken down the complex problem of creating an app into much simpler problems that can now be worked out. You may also be able to get other people to help you with different individual parts of the app. For example, you may have a friend who can create the graphics, while another will be your tester.