Difference between Top down and bottom up approaches for a
given project ?
Answer Posted / maithri
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.
| Is This Answer Correct ? | 5 Yes | 9 No |
Post New Answer View All Answers
What is a memory leak c++?
How do you print a string on the printer?
What are its advantages and disadvantages of multiple inheritances (virtual inheritance)?
What is singleton class in c++?
What is the difference between function overloading and operator overloading?
What is the benefit of encapsulation?
Is c++ fully object oriented?
I want explanation for this assignment: how to connect mysql database using c/c++,please explain this detailly?
What are separators in c++?
How much do c++ programmers make?
What is setf in c++?
Define upcasting.
What is the importance of mutable keyword?
Explain what are accessor methods?
What is object in c++ example?