2.1.3 Thinking Procedurally Flashcards
What is the first stage of thinking procedurally?
Taking the problem defined by the user and breaking it down into its constituent parts
What is the purpose of problem decomposition
To make complex problems easier to solve and more manageable by allowing tasks to be divided between a group of people according to individual skill sets
State another name given to top-down design
Stepwise refinement
What is the purpose of top-down design?
Continually break problems down into subproblems until each subproblem can be represented as a single task and ideally a self-contained subroutine
What are the benefits of using top-down design?
- Problems can be solved and modules developed by different people
- Tasks can tested separately. Modules are self-contained
What sort of problems is top-down design suited to?
Large, complex problems
What is the second stage of thinking procedurally in software development?
Identifying components of a solution
How can the lowest level subproblems in top-down design in code?
As self-contained modules or subroutines
What do software developers need to consider when recombining components of a solution?
The order in which subroutines are executed, and how they interact with each other, based on their role in solving the problem
What must a software developer do before designing a subroutine to solve a particular problem
See whether it is possible for an already existing subroutine or module to be used
State two advantages of utilising reusable components
- More reliable than newly-coded components, as they have already been tested
- Saves time, money and resources.