Difference between Bottom-Up Model and Top-Down Model

Top-Down Design Model:
In top down model, an overview of system is formulated without going into details 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 part 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 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 details. The parts are the 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 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.
  • 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, Fortan, 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.

Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.