Skip to content
Related Articles

Related Articles

Difference between Bottom-Up Model and Top-Down Model

View Discussion
Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 22 Oct, 2020
View Discussion
Improve Article
Save Article

Top-Down Design Model: 
In the top-down model, an overview of the system is formulated without going into detail for any part of it. Each part of it then refined into more details, defining it in yet more details until the entire specification is detailed enough to validate the model. if we glance at a haul as a full, it’s going to appear not possible as a result of it’s so complicated For example: Writing a University system program, writing a word processor. Complicated issues may be resolved victimization high down style, conjointly referred to as Stepwise refinement where, 

  1. We break the problem into parts,
  2. Then break the parts into parts soon and now each of parts will be easy to do. 


  • Breaking problems into parts help us to identify what needs to be done.
  • At each step of refinement, new parts will become less complex and therefore easier to solve.
  • Parts of the solution may turn out to be reusable.
  • Breaking problems into parts allows more than one person to solve the problem. 

Bottom-Up Design Model: 
In this design, individual parts of the system are specified in detail. The parts are linked to form larger components, which are in turn linked until a complete system is formed. Object-oriented language such as C++ or java uses a bottom-up approach where each object is identified first. 


  • Make decisions about reusable low-level utilities then decide how there will be put together to create high-level construct. ,
  • The contrast between Top-down design and bottom-up design. 



1.In this approach We focus on breaking up the problem into smaller parts.In bottom up approach, we solve smaller problems and integrate it as whole and complete the solution.
2.Mainly used by structured programming language such as COBOL, Fortran, C, etc.Mainly used by object oriented programming language such as C++, C#, Python.
3.Each part is programmed separately therefore contain redundancy.Redundancy is minimized by using data encapsulation and data hiding.
4.In this the communications is less among modules.In this module must have communication.
5.It is used in debugging, module documentation, etc.It is basically used in testing.
6.In top down approach, decomposition takes place.In bottom up approach composition takes place.
7.In this top function of system might be hard to identify.In this sometimes we can not build a program from the piece we have started.
8.In this implementation details may differ.This is not natural for people to assemble.


My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!