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 do you know about near, far and huge pointer?
How did c++ start?
What are the types of pointer?
What is constructor in C++?
Comment on local and global scope of a variable.
What is flush programming?
Why can templates only be implemented in the header file?
Does std endl flush?
What is meant by iomanip in c++?
Write a function to find the nth item from the end of a linked list in a single pass.
What is srand c++?
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
If dog is a friend of boy and boy is a friend of house, is dog a friend of house?
How static variables and local variablesare similar and dissimilar?
Is c++ the hardest programming language?