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
Is c# written in c++?
What are enumerations?
How is static data member similar to a global variable?
Can we define function inside main in c++?
What is an inline function in c++?
Can you explicitly call a destructor on a local variable?
What is the best c c++ compiler for windows?
Is c++ pass by reference or value?
What are the manipulators in c++?
What is the use of string in c++?
Why do we use using namespace std in c++?
Explain deep copy and a shallow copy?
What is the use of 'using' declaration in c++?
Write is a binary search tree? Write an algo and tell complexity?
What is implicit pointer in c++?