A company is designing a mobile app that shows the quickest bus route between two stops in a city.
(a) Explain how abstraction could be used when designing the app's route map. [2]
(b) Explain how decomposition could be used when developing the app. [2]
- Abstraction: removes unnecessary detail such as building shapes, road widths and shop names (accept any sensible irrelevant detail for this app)(1)
- Keeping only the relevant features, e.g. stops as nodes and journey times between them (a graph), so the route can be calculated more simply / efficiently(1)
- Decomposition: break the problem into smaller sub-problems, e.g. finding nearby stops, calculating the route, displaying the map, handling live bus times (accept any sensible sub-problems in context)(1)
- Each sub-problem can be designed, coded and tested separately (possibly by different team members) and then combined(1)
- Answer: Abstraction: hide irrelevant detail, model stops/times as a graph. Decomposition: split into smaller manageable components.
- Examiner tip: Always apply the term to the scenario given; generic definitions alone score at most half marks.