Page 138 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 138
Principles of Software Engineering
Notes Figure 6.3: Bottom-up Approach
Main modules
Movement
Lower
Level
Module
(Movement in bottom-up approach)
In this approach testing is conducted from sub module to main module, if the main module
is not developed a temporary program called DRIVERS is used to simulate the main module.
Advantages:
1. Advantageous if major flaws occur toward the bottom of the program.
2. Test conditions are easier to create.
3. Observation of test results is easier.
Disadvantages:
1. Driver Modules must be produced.
2. The program as an entity does not exist until the last module is added.
6.6.1 Differentiate between Top-down and Bottom-up Approach
Top-down Approach
1. It starts by identifying the major components of the system, decomposing them into their
lower-level components and iterating until the desired level of detail is achieved.
2. It starts from the highest level component of the hierarchy and proceeds to lower levels.
3. It results in some form of stepwise refinement.
4. Starting from an abstract design, in each step the design is refined to a more concrete level,
until we reach where no more refinement is needed and the design can be implemented
directly.
5. It is suitable only if the specifications are clearly known.
6. It is suitable if a waterfall type of process model is being used.
Bottom-up Approach
1. It starts with designing the most basic or primitive components and proceeds to higher-
level components that use these lower-level components.
132 LOVELY PROFESSIONAL UNIVERSITY