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


Please Help Members By Posting Answers For Below Questions

What do you know about near, far and huge pointer?

603


How did c++ start?

616


What are the types of pointer?

554


What is constructor in C++?

632


Comment on local and global scope of a variable.

587






What is flush programming?

578


Why can templates only be implemented in the header file?

659


Does std endl flush?

613


What is meant by iomanip in c++?

612


Write a function to find the nth item from the end of a linked list in a single pass.

571


What is srand c++?

585


Which of the following is not a valid declaration for main() a) int main() b) int main(int argc, char *argv[]) c) They both work

609


If dog is a friend of boy and boy is a friend of house, is dog a friend of house?

557


How static variables and local variablesare similar and dissimilar?

567


Is c++ the hardest programming language?

644