Top Down
&
Bottom Up

Design
Model
Abdul Rahman Sherzad
Top Down Design Model
» 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
Top Down Concept in 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
Top Down Design

4

https://www.facebook.com/Oxus20
Top Down Design

5

https://www.facebook.com/Oxus20
Advantages of Top-Down Design
» 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
Example
» Problem:

outline of
the house

chimney

» Write a program that
draws this picture of a
house.

Windows

Door

7

https://www.facebook.com/Oxus20
The Top Level
»
»
»
»

Draw the 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
Observation
» The door has 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
Bottom-up Design
» In bottom-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
Bottom up Design

11

https://www.facebook.com/Oxus20
END

12

https://www.facebook.com/Oxus20

Top Down and Bottom Up Design Model

  • 1.
  • 2.
    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
  • 4.
  • 5.
  • 6.
    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
  • 11.
  • 12.