Page 10 - DCAP405_SOFTWARE_ENGINEERING
P. 10

Unit 1: The Evolving Role of Software




          The role of computer software has undergone significant change over a time span of little more  Notes
          than 50 years. Dramatic improvements in hardware performance, profound changes in computing
          architectures, vast increases in memory and storage capacity, and a wide variety of exotic input
          and output options have all precipitated more sophisticated and complex computer-based
          systems.
          The lone programmer of an earlier era has been replaced by a team of software specialists, each
          focusing on one part of the technology required to deliver a complex application.




              Task  The same questions asked of the lone programmer are being asked when modern
            computer-based systems are built. Give answers to questions:
            1.   Why does it take so long to get software finished?
            2.   Why are development costs so high?

            3.   Why can’t we find all the errors before we give the software to customers?
            4.   Why do we continue to have difficulty in measuring progress as software is being
                 developed?

          1.2 Software


          In the first NATO conference on software engineering in 1968, Fritz Bauer defined Software
          engineering as “The establishment and use of sound engineering principles in order to obtain
          economically software that is reliable and works efficiently on real machines”. Stephen Schach
          defined the same as “A discipline whose aim is the production of quality software, software that
          is delivered on time, within budget and that satisfies its requirements”.
          The software differs from hardware as it is more logical in nature and hence, the difference in
          characteristics. Let us now explore the characteristics of software in detail.

          Software is developed or engineered and not manufactured

          Although there exists few similarities between the hardware manufacturing and software
          development, the two activities differ fundamentally. Both require a good design to attain high
          quality. But the manufacturing phase of hardware can induce quality related problems that are
          either non-existent for software or can be easily rectified. Although both activities depend on
          people but the relationship between people and work is totally different.

          Software does not wear out

          Figure 1.1 shows the failure rate of hardware as a function of time. It is often called the “bathtub
          curve”, indicating that a hardware shows high failure at its early stage (due to design and
          manufacturing defects); defects get resolved and the failure rate reduces to a steady-state level
          for some time. As time progresses, the failure rate shoots up again as the hardware wears out
          due to dust, temperature and other environmental factors.













                                           LOVELY PROFESSIONAL UNIVERSITY                                    3
   5   6   7   8   9   10   11   12   13   14   15