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
   4   5   6   7   8   9   10   11   12   13   14