It requires the highest-level modules to be tested and integrated first. This allows high-level logic and data flow to be tested early in the process and it tends to minimize the need for drivers.
The strengths of using the Top-Down strategy is that the top layer provides an early outline of the overall program helping to find design errors early on and giving confidence to the team, and possibly the customer, that the design strategy is correct.
- Difficulties with designing stubs that provide a good emulation of the interactivity between different levels
- If the lower levels are still being created while the upper level is regarded as complete, then sensible changes that could be made to the upper levels of the program that would improve its functioning may be ignored
- When the lower layers are finally added the upper layers may need to be retested.
Top-down Integration Example:
- In a depth-first approach, all modules on a control path are
integrated first. See fig.
Here the sequence of integration would be
- (M1, M2, M3), M4, M5, M6, M7, and M8.
- In breadth-first, all modules directly subordinate at each level are integrated together.
- Using breadth-first for fig. the sequence of integration would be
- (M1, M2, M8), (M3, M6), M4, M7, andM5