Page 137 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 137
Unit 6: Functional Design
(b) Stub Modules are often more complicated than they first appear to be. Notes
(c) Before the I/O functions are added, representation of test cases in stubs can be difficult.
(d) Observation of test output is more difficult.
(e) Allows one to think that design and testing can be overlapped.
(f) Induces one to defer completion of the testing of certain modules.
Top-down design was promoted in the 1970s by IBM researcher Harlan Mills
and Niklaus Wirth. Mills developed structured programming concepts for
practical use and tested them in a 1969 project to automate the New York
Times morgue index.
Care should be taken using top-down approach while designing a model,
sometimes the test conditions may be impossible, or very difficult, to create.
Self Assessment Questions
1. Software design is a haphazard process.
(a) True (b) False
2. ………………is a very powerful concept that is used in all engineering disciplines.
(a) Reduction (b) Generalization
(c) Abstraction (d) None of these
3. In a .......................an overview of the system is formulated, specifying but not detailing
any first-level subsystems.
(a) Left-right approach (b) right-left approach
(c) bottom-up approach (d) top-down approach
4. In a............................ the individual base elements of the system are first specified in great
detail.
(a) Left-right approach (b) right-left approach
(c) bottom-up approach (d) top-down approach
5. Disadvantages of bottom-up approach:
(a) Driver Modules must be produced
(b) Test conditions are easier to create
(c) Observation of test results is easier
(d) Stub modules must be produced
6.6 Bottom-up Approach
A bottom-up approach is the piecing together of systems to give increase to grander systems,
thus making the original systems sub-systems of the emergent system. In a bottom-up approach
the individual base elements of the system are first specified in great detail. These elements are
then linked together to form larger subsystems, which then in turn are linked, sometimes in
many levels, until a complete top-level system is formed. This strategy often resembles a “seed”
model, whereby the beginnings are small but eventually grow in complexity and completeness.
However, “organic strategies” may result in a tangle of elements and subsystems, developed in
isolation and subject to local optimization as opposed to meeting a global purpose. (See Figure 6.3)
LOVELY PROFESSIONAL UNIVERSITY 131