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
   132   133   134   135   136   137   138   139   140   141   142