2.1.3 Thinking Procedurally Flashcards
First stage of thinking procedurally
Problem Decomposition. The problem defined by the user is broken down into its component parts.
Why use 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.
Benefit of thinking procedurally
Makes the task of writing a program simpler, by breaking it down into small simple parts which are easier to understand and design.
Alternative name for top down design
Stepwise refinement
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.
Once top down design has produced several subproblems which represent individual tasks, what occurs?
Each task can be solved and developed as a subroutine by a different person. The subroutines can be tested separately, before being brought together and integrated.
What sort of problems is top down design suited for?
Large, complex problems
Second stage of thinking procedurally
Identifying components of a solution
What must software developers consider when recombining components to form a solution?
The order in which subroutines are executed, as well as how subroutines interact with each other, based on their role in solving the problem.
What should a software developer do before designing a subroutine to solve a particular problem?
See if it is possible for an already existing subroutine or module to be used.