2.1.3 Thinking Procedurally Flashcards
What is the point of this topic?
Identify the problems and subproblems to a problem ,components of solution as-well as determining order of putting them together
What is decomposition?
the act of breaking down a complicated problem into smaller more manageable sub-tasks
What is it named when a result of decomposition can’t be broken any further?
It is said to be atomic
What is a top down design?
decomposition of a system, it is a visual method of showing smaller more manageable tasks
What are the advantages of decomposition?
- Tasks required are easy to tackle on their own and more possible
- Clear on what needs to be accomplished
- Simpler to test and maintain
- Solutions to small tasks can be reusable
- More people can work on project
- Easier to modify
What are disadvantages of decomposition?
- Solutions to sub problems may not produce solution required initially
- A misunderstood problem can be broken down with faults or hard to break down
What is a hierarchy chart?
A visual tool for representing the structure of a program showing modules working together.
Is a hierarchy chart the same as a top down design? why
No, hierarchy shows connections between modules rather thank tasks.
What do both hierarchy chart and top down design look like?
Upside down tree structure.
What can the order of steps to reach solution be dependent upon?
Software development technique e.g. spiral
Why is allocation of tasks hard?
As some modules require other modules to already be solved and therefore can’t be worked on simultaneously.Some modules may take longer or require more people to work on it at once.
What is the aim of ordering steps to be taken to reach solution?
So that when seperate modules identified in decomposition can be put together with no delay waiting on one part.
What is the sole aim?
To minimise wasted time and come up with a solution in the quickest time possible.
After getting separate modules from decomposition what do we need to do ?
We need to identify components required in each module, there need to undergo validation checks? e.g. first name of user
What is a trace table?
Technique of dry run testing a program by hand. Variables are recorded as they change. It makes it easier to identify errors (logic ones).