Bottom-Up Model
Bottom-Up Model is a system design approach where parts of the system are defined in details. Once these parts are designed and developed, then these parts or components are linked together to prepare a bigger component. This approach is repeated until the complete system is built. Advantage of Bottom-Up Model is in making decisions at very low level and to decide the re-usability of components.
Top-Down Model
Top-Down Model is a system design approach where design starts from the system as a whole. Complete System is then divided into smaller sub-applications with more details. Each part again goes through the top-down approach till the complete system is designed with all minute details. Top Down approach is also termed as breaking the bigger problem into smaller problems and solving them individually in recursive manner.
Following are the important differences between Bottom-Up Model and Top-Down Model.
Sr. No. | Key | Bottom-Up Model | Top-Down Model | |
---|---|---|---|---|
1 | Focus | In Bottom-Up Model, the focus is on identifying and resolving smallest problems and then integrating them together to solve the bigger problem. | In Top-down Model, the focus is on breaking the bigger problem into smaller one and then repeat the process with each problem. | |
2 | Language | Bottom-Up Model is mainly used by object oriented programming languages like Java, C++ etc. | Top-Down Model is followed by structural programming languages like C, Fortran etc. | |
3 | Redundancy | Bottom-Up model is better suited as it ensures minimum data redundancy and focus is on re-usability. | Top-down model has high ratio of redundancy as the size of project increases. | |
4 | Interaction | Bottom-Up model have high interactivity between various modules. | Top-down model has tight coupling issues and low interactivity between various modules. | |
5 | Approach | Bottom-up model is based on composition approach. | Top-down model is based on decomposition approach. | |
6 | Issues | In Bottom-Up, some time it is difficult to identify overall functionality of system in initial stages. | In Top-Down, it may not be possible to break the problem into set of smaller problems. |