Page 9 - DCAP405_SOFTWARE_ENGINEERING
P. 9
Software Engineering
Notes alphanumeric results. However, the applications today are far more complex running on client-
server technology and have a user friendly GUI. They run on multiple processors with different
OS and even on different geographical machines.
The software groups work hard as they can to keep abreast of the rapidly changing new
technologies and cope with the developmental issues and backlogs. Even the Software
Engineering Institute (SEI) advises to improve upon the developmental process. The “change” is
an inevitable need of the hour. However, it often leads to conflicts between the groups of people
who embrace change and those who strictly stick to the traditional ways of working.
Notes Thus, there is an urgent need to adopt software engineering concepts, practices,
strategies to avoid conflicts and in order to improve the software development to deliver
good quality software within budget and time.
1.1 Evolving Role of Software
The role of software has undergone drastic change in the last few decades. These improvements
range through hardware, computing architecture, memory, storage capacity and a wide range
of unusual input and output conditions. All these significant improvements have lead to the
development of more complex and sophisticated computer-based systems. Sophistication leads
to better results but can cause problems for those who build these systems.
Lone programmer has been replaced by a team of software experts. These experts focus on
individual parts of technology in order to deliver a complex application. However, the experts
still face the same questions as that by a lone programmer:
Why does it take long to finish software?
Why are the costs of development so high?
Why aren’t all the errors discovered before delivering the software to customers?
Why is it difficult to measure the progress of developing software?
All these questions and many more have lead to the manifestation of the concern about software
and the manner in which it is developed – a concern which lead to the evolution of the software
engineering practices.
Today, software takes on a dual role. It is a product and, at the same time, the vehicle for
delivering a product. As a product, it delivers the computing potential embodied by computer
hardware or, more broadly, a network of computers that are accessible by local hardware.
Whether it resides within a cellular phone or operates inside a mainframe computer, software is
an information transformer—producing, managing, acquiring, modifying, displaying, or
transmitting information that can be as simple as a single bit or as complex as a multimedia
presentation. As the vehicle used to deliver the product, software acts as the basis for the control
of the computer (operating systems), the communication of information (networks), and the
creation and control of other programs (software tools and environments). Software delivers
the most important product of our time—information.
Software transforms personal data (e.g., an individual’s financial transactions) so that the data
can be more useful in a local context; it manages business information to enhance competitiveness;
it provides a gateway to worldwide information networks (e.g., Internet) and provides the
means for acquiring information in all of its forms.
2 LOVELY PROFESSIONAL UNIVERSITY