Page 33 -
P. 33
4 PART ONE THE PRODUCT AND THE PROCESS
In the five years since the fourth edition of this book was written, the role of soft-
ware as the “driving force” has become even more obvious. A software-driven Inter-
net has spawned its own $500 billion economy. In the euphoria created by the promise
of a new economic paradigm, Wall Street investors gave tiny “dot-com” companies
billion dollar valuations before these start-ups produced a dollar in sales. New
software-driven industries have arisen and old ones that have not adapted to the new
driving force are now threatened with extinction. The United States government has
litigated against the software’s industry’s largest company, just as it did in earlier eras
when it moved to stop monopolistic practices in the oil and steel industries.
Software’s impact on our society and culture continues to be profound. As its
importance grows, the software community continually attempts to develop tech-
“Ideas and nologies that will make it easier, faster, and less expensive to build high-quality com-
technological
discoveries are the puter programs. Some of these technologies are targeted at a specific application
driving engines of domain (e.g., Web-site design and implementation); others focus on a technology
economic growth.” domain (e.g., object-oriented systems); and still others are broad-based (e.g., oper-
The Wall Street
ating systems such as LINUX). However, we have yet to develop a software technol-
Journal
ogy that does it all, and the likelihood of one arising in the future is small. And yet,
people bet their jobs, their comfort, their safety, their entertainment, their decisions,
and their very lives on computer software. It better be right.
This book presents a framework that can be used by those who build computer
software—people who must get it right. The technology encompasses a process, a
set of methods, and an array of tools that we call software engineering.
1.1 THE EVOLVING ROLE OF SOFTWARE
Today, software takes on a dual role. It is a product and, at the same time, the vehi-
cle for delivering a product. As a product, it delivers the computing potential embod-
ied 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, manag-
Software is both a ing, acquiring, modifying, displaying, or transmitting information that can be as sim-
product and a vehicle ple as a single bit or as complex as a multimedia presentation. As the vehicle used
for delivering a
product. to deliver the product, software acts as the basis for the control of the computer (oper-
ating 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., Inter-
net) and provides the means for acquiring information in all of its forms.
The role of computer software has undergone significant change over a time span
of little more than 50 years. Dramatic improvements in hardware performance, pro-