Page 21 - DCAP305_PRINCIPLES_OF_SOFTWARE_ENGINEERING
P. 21
Unit 1: Introduction to Software Engineering
software that “does not function properly” Rather, the affliction encompasses problems associated Notes
with how we develop software how we maintain a growing volume of existing software and how
we can expect to keep pace with a growing demand for more software. Although reference to a
crisis or even an affliction can be criticized for being melodramatic the phrases do serve a useful
purpose by denoting real problems that are encountered in all area of software development.
Changing a system’s software configuration is not a trivial event, particularly
in the case of a system used, for emergency notification. A critical component
could fail to operate due to incorrect programming.
1.10 Terminologies in Software Engineering
Some terminologies are discussed in this part which is commonly used in the field of Software
Engineering.
1.10.1 Product and Process
What is delivered to the customer is called a product. It may include source code, specification
document, manuals, documentation etc. Basically, it is nothing but a set of deliverables only.
The software products are divided in two categories:
(i) Generic products
(ii) Customized products.
Generic products are urbanized for anonymous customers. The aim is generally the entire
world and many copies are expected to be sold. Infrastructure software like functioning
systems, compilers, analyses, word processors, CASE tools etc. are covered in this category. The
customized products are developed for particular customers. The specific product is designed
and developed as per customer requirements. Most of the developments projects (say about
80%) come under this category.
Until the 1980s, the vast majority of software systems which were sold were bespoke specially
designed systems which ran on great computers. They were costly because all the development
cost had to be met by a single client.
Since the development of personal computers, this situation has completely changed. The personal
computer market is totally dominated by software products produced by companies such as
Microsoft. These account for the vast majority of software sales. These are usually relatively cheap
because their development cost is spread across hundreds or thousands of different customers.
However, there is still a large market for specially designed systems. Hardware control always
requires some kind of special-purpose system. As computers are embedded in more and more
devices, there is an increasing demand for software controllers. Consequently, most software
development effort is still probably devoted to producing bespoke systems rather than shrink-
wrapped software products.
1.10.2 Software Product Attributes
In the vein of all engineering, software engineering is not almost producing products but involves
producing products in a gainful way. Agreed limitless possessions, the mainstream of software
problems can almost certainly be solved. The challenge for software engineers is to produce
high-quality software with a finite amount of resources and to a predicted schedule.
The attributes of a software product are the characteristics displayed by the product once it is
installed and put into use. These are not the services provided by the product. Rather, they are
concerned with the product’s dynamic behaviour and the use made of the product. Examples
LOVELY PROFESSIONAL UNIVERSITY 15