2.1.3 Thinking Procedurally Flashcards
What is the first stage of thinking procedurally in software development?
Problem decomposition
What is problem decomposition?
Breaking down of a large, complex problem down into smaller subproblems that can be solved more easily
Why is problem decomposition used?
Projects become easier to manage
Can be divided between a team
Describe top-down design / stepwise refinement.
Problems broken down into subproblems until each is a single task
Problems divided into levels of complexity
Each subproblem can be solved using single subroutine
Why can subroutines be described as self-contained?
Can be developed & tested separately
What type of problems is stepwise refinement suited to?
Large, complex problems
What is the second stage of thinking procedurally in software development?
Identifying components of a solution
What considerations need to be made when recombining solution components?
The execution order of subroutines
How subroutines interact