Page 178 - DCAP507_SYSTEM_SOFTWARE
P. 178
System Software
Notes Advantages of Top-down Approach
Easy to trace the bug. As at each stage, the sub programs are tested individually and then
the main is tested. If any errors occur, it will be probably in the related module, which
makes the debugging process easy.
It is advantageous to use top down approach when the design is not detailed enough.
In case if some of the decisions have to be made during development, it could be easily
down in top down implementation, i.e. decision making is easy.
Using this approach, we can look at the program as a whole instantly, i.e. Easy Program's
traversal.
Each module can be independently worked out and elaborated as convenient.
Notes A top down approach is suitable only if the specifications of the system are clearly
known and the system development is from the scratch. Hence, it is a reasonable approach
if a stepwise type of proven model is being used.
11.1.3 Bottom-up Approach
A bottom-up design approach starts with designing the most basic or primitive module and
proceeds to higher level module that use these lower level components. Firstly, the modules at
the bottom of the hierarchy is implemented, then its higher levels are implemented until it
reaches the top.
Bottom up method works with layer of abstraction. Starting from the very bottom, operations
that provide a layer of abstraction are implemented. The operation of this layer are then used to
implement more powerful operations and a still higher layer of abstraction, until the stage is
reached where the operations supported by the layer are those desired by the system.
Advantages of Bottom-up Approach
It can handle the increasing complexity of program that are reliable and maintainable.
It enables programmers to write moderately complex programs fairly easily.
It is advantageous to use bottom up approach when designing the complex systems like
operating system, networking software systems, etc.
Bottom-up approach conceptualize layered architecture which is generally best for the
implementation of complex program.
More close to the real world as it starts from some existing components.
If a system has to develop from the existing system a bottom-up approach is more suitable.
Without having a good idea about the operation needed at the higher level, it is difficult to
determine what operations the current layer should support.
Pure top-down or pure bottom-up approaches are often not practical. In practice, in large systems,
a combination of two approaches is used, called as hybrid approach. The top modules of the
system gives some feedback regarding the functionality of the system and checks whether the
"look and feel" of the system is OK. For this, it is best if development proceeds with top-down
172 LOVELY PROFESSIONAL UNIVERSITY