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