Software has long been perceived as complex, at least within
Software Engineering circles. We have been living in a recognised
state of crisis since the first NATO Software Engineering
conference in 1968. Time and again we have been proven unable to
engineer reliable software as easily/cheaply as we imagined. Cost
overruns and expensive failures are the norm.
The problem is fundamentally one of complexity: software is
fundamentally complex because it must be precise. Problems that
appear to be specified quite easily in plain language become far
more complex when written in a more formal notation, such as
computer code. Comparisons with other engineering disciplines are
deceptive. One cannot easily increase the factor of safety of
software in the same way that one could in building a steel
structure, for example. Software is typically built assuming
perfection, often without adequate safety nets in case the
unthinkable happens. In such circumstances it should not be
surprising to find out that (seemingly) minor errors have the
potential to cause entire software systems to collapse.
The goal of this book is to uncover techniques that will aid in
overcoming complexity and enable us to produce reliable, dependable
computer systems that will operate as intended, and yet are
produced on-time, in budget, and are evolvable, both over time and
at run time. We hope that the contributions in this book will aid
in understanding the nature of software complexity and provide
guidance for the control or avoidance of complexity in the
engineering of complex software systems.
General
Is the information for this product incomplete, wrong or inappropriate?
Let us know about it.
Does this product have an incorrect or missing image?
Send us a new image.
Is this product missing categories?
Add more categories.
Review This Product
No reviews yet - be the first to create one!