Exam-style question
Try this first
A program is described only as 'deal with a customer order'. Explain why this description is not yet a useful procedural decomposition and give a suitable decomposition into identifiable sub-problems. State how the decomposition could be continued if one sub-problem remained too complex.
Model answer
What a good answer should say
- The description 'deal with a customer order' is too broad because it does not identify the separate tasks that the program must accomplish.
- A suitable decomposition could include receiving the order, checking the order details, calculating the order total and producing the order result.
- Each of these is an identifiable task.
- If, for example, checking the order details were still too complex, it could be further subdivided into smaller identifiable tasks.
Explanation
Why this works
The answer explains that a single broad description does not show the sub-problems or their identifiable tasks. It then provides a valid decomposition and recognises that a sub-problem may itself be subdivided.
Common mistake
No common mistake is linked to this question yet.
