Conquering Complexity
Book information
Description
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.
Similar books
Computers and Intractability: A Guide to the Theory of NP-completeness
1979 · PDF
Computers and Intractability: A Guide to the Theory of NP-completeness
1979 · PDF
Understanding Network Hacks: Attack and Defense with Python 3, 2nd Edition
2021 · EPUB
Hands-on Signal Analysis with Python: An Introduction
2021 · PDF
Hands-on Signal Analysis with Python: An Introduction
2021 · EPUB
Python Challenges: 100 Proven Programming Tasks Designed to Prepare You for Anything
2022 · EPUB
Programming for Computations - Python: A Gentle Introduction to Numerical Simulations with Python 3.6, 2nd Edition
2019 · EPUB
Time Series Analysis in Climatology and Related Sciences
2021 · PDF