Nature of Software and SE Layers - Answers
Nature of Software and SE Layers - Answers
Ans:
Today, software takes on a dual role.
It is a product, and the vehicle for delivering a product.
As a product, it delivers the computing potential embodied by
computer hardware or, more broadly, by a network of computers
that are accessible by local hardware.
Whether it resides within a mobile device, on the desktop, in the
cloud, or within a mainframe computer or autonomous machine,
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 an augmented
reality representation derived from data acquired from dozens of
independent sources and then overlaid on the real world.
As the vehicle used to deliver a 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).
“Process defines who is doing what, when and how to reach a certain
goal”.
Customer myths.
A customer who requests computer software may be a person at
the next desk, a technical group down the hall, the marketing/sales
department, or an outside company that has requested software
under contract.
In many cases, the customer believes myths about software
because software managers and practitioners do little to correct
misinformation.
1. Myth: A general statement of objectives is sufficient to begin
writing programs—we can fill in the details later.
Reality:
Although a comprehensive and stable statement of requirements is
not always possible
Unambiguous(completely clear) requirements are developed only
through effective and continuous communication between customer
and developer.
Myths lead to false expectations (by the customer) and,
ultimately, dissatisfaction with the developer.
2. Myth: Software requirements continually change, but change
can be easily accommodated because software is flexible.
Reality:
It is true that software requirements change, but the impact of
change varies with the time at which it is introduced.
When requirements changes are requested early (before
design or code has been started), the cost impact is relatively
small.
However, as time passes, the cost impact grows rapidly—
resources have been committed, a design framework has been
established, and change can cause disturbance that requires
additional resources and major design modification.
Practitioner’s myths.
1. Myth: Once we write the program and get it to work, our job is
done.
Reality:
Someone once said that “the sooner you begin ‘writing code,’ the
longer it’ll take you to get done.” Industry data indicate that
between 60 and 80 percent of all effort expended on software will
be expended after it is delivered to the customer for the first time.
2. Myth: Until I get the program “running” I have no way of
assessing its quality.
Reality:
One of the most effective software quality assurance mechanisms
can be applied from the inception of a project—the technical review.
Software reviews are a “quality filter” that have been found to be
more effective than testing for finding certain classes of software
defects.