16-11-2012, 01:46 PM
Software Engineering
1Software Engineering.pdf (Size: 6.66 MB / Downloads: 113)
THE PRODUCT AND THE PROCESS
In this part of Software Engineering: A Practitioner’s Approach, you’ll
learn about the product that is to be engineered and the process
that provides a framework for the engineering technology. The
following questions are addressed in the chapters that follow:
• What is computer software . . . really?
• Why do we struggle to build high-quality computer-based
systems?
• How can we categorize application domains for computer
software?
• What myths about software still exist?
• What is a “software process”?
• Is there a generic way to assess the quality of a process?
• What process models can be applied to software development?
• How do linear and iterative process models differ?
• What are their strengths and weaknesses?
• What advanced process models have been proposed for software
engineering work?
Once these questions are answered, you’ll be better prepared to
understand the management and technical aspects of the engineering
discipline to which the remainder of this book is dedicated.
THE PRODUCT
The warnings began more than a decade before the event, but no one paid
much attention. With less than two years to the deadline, the media
picked up the story. Then government officials voiced their concern, business
and industry leaders committed vast sums of money, and finally, dire warnings
of pending catastrophe penetrated the public’s consciousness. Software,
in the guise of the now-infamous Y2K bug, would fail and, as a result, stop the
world as we then knew it.
As we watched and wondered during the waning months of 1999, I couldn’t
help thinking of an unintentionally prophetic paragraph contained on the first
page of the fourth edition of this book. It stated:
Computer software has become a driving force. It is the engine that drives business
decision making. It serves as the basis for modern scientific investigation and engineering
problem solving. It is a key factor that differentiates modern products and
services. It is embedded in systems of all kinds: transportation, medical, telecommunications,
military, industrial processes, entertainment, office products, . . . the
list is almost endless. Software is virtually inescapable in a modern world. And as
we move into the twenty-first century, it will become the driver for new advances in
everything from elementary education to genetic engineering.