Top-down approach and Bottom-up approach are two approaches that are commonly employed when designing any project. Not many understand the differences between these two approaches and this article intends to highlight the features of both to make it easier for the reader to appreciate the two concepts in their entirety.
While top down design starts from abstract to finally achieve a solid design, bottom up approach is just the reverse as it begins with the concrete design to get to abstract entity. When it comes to designing brand new systems, it is top down approach that is most commonly employed. On the other hand, in the case of reverse engineering as when it is the goal to understand someone else’s design, bottom up approach is utilized.
Bottom-up approach proceeds with the design of lowest level module or subsystem, to the highest module or subsystem. One needs a structure chart to know the steps involved in execution. Also needed are drivers to complete this type of designing.
Top-down approach starts with the top level module and progresses downward to the lowest level module. In reality however, no system is followed rigidly and designers tend to bounce back and forth between these two approaches as the need may be.
There are pros and cons of both the approaches. If we talk of advantages of a top down approach, it is easy to visualize, provides sense of completeness, and it is easy to assess the progress at any stage. On the downside, being a UI driven approach, there are chances of redundant business logics.
On the other hand, in a bottom-up approach, user has the advantages of solid business logic, ability to write good unit test and the ease with which changes can be managed and modified. Its disadvantages are that a lot of effort is required to write test cases and the progress cannot be verified easily at the mid stage.
Summary • Top-down and Bottom-up are two approaches to designing • Both are utilized by designers • Both approaches have their own pros and cons • Bottom-up is commonly applied in reverse engineering while for a brand new project, top-down approach is generally used |