The document discusses two design models: top-down and bottom-up. The top-down model involves breaking down a complex problem into smaller, manageable parts for easier handling, while the bottom-up model emphasizes detailing individual components before integrating them into a complete system. Both approaches have their advantages, such as simplifying problem-solving and allowing collaborative work.
Top Down DesignModel
» In top-down model, an overview of the system is
formulated, without going into detail for any part of
it.
» Each part of the system is then refined in more
details.
» Each new part may then be refined again, defining
it in yet more details until the entire specification is
detailed enough to validate the model.
2
https://www.facebook.com/Oxus20
3.
Top Down Conceptin Problem Solving
» If we look at a problem as a whole, it may seem
impossible to solve because it is so complex.
Examples:
˃ writing a University System program
˃ writing a word processor
» Complex problems can be solved using topdown design, also known as stepwise
refinement, where
˃ We break the problem into parts
˃ Then break the parts into parts
˃ Soon, each of the parts will be easy to do
3
https://www.facebook.com/Oxus20
Advantages of Top-DownDesign
» Breaking the problem into parts helps us to clarify what
needs to be done.
» At each step of refinement, the new parts become less
complicated and, therefore, easier to figure out.
» Parts of the solution may turn out to be reusable.
» Breaking the problem into parts allows more than one
person to work on the solution.
6
https://www.facebook.com/Oxus20
7.
Example
» Problem:
outline of
thehouse
chimney
» Write a program that
draws this picture of a
house.
Windows
Door
7
https://www.facebook.com/Oxus20
8.
The Top Level
»
»
»
»
Drawthe outline of the house
Draw the chimney
Draw the door
Draw the windows
Main
Draw
Outline
Draw
Chimney
Draw
Door
Draw
Windows
8
https://www.facebook.com/Oxus20
9.
Observation
» The doorhas both a frame and knob. We could
break this into two steps.
Main
Draw
Outline
Draw
Chimney
Draw
Door Frame
Draw
Door
Draw
Windows
Draw
Knob
9
https://www.facebook.com/Oxus20
10.
Bottom-up Design
» Inbottom-up design individual parts of the system
are specified in details.
» The parts are then linked together to form larger
components, which are in turn linked until a
complete system is formed.
» Object-oriented languages such as C++ or JAVA use
bottom-up
approach
where
each
object
is
identified first.
10
https://www.facebook.com/Oxus20