Information Technology Reference
In-Depth Information
Chapter 11. Modern Software Problems
Computers and software have brought many new capabilities to the modern world.
But they have also brought many new kinds of problems, some of which never ex-
isted before in all of human history.
This postlude presents a short history of major software failures from the 1960s
through the modern era. Each problem is explained, the lessons learned are dis-
cussed, and possible solutions for similar future problems are shown.
Analysis of Major Software Failures
This chapter revisits significant historical software failures. The idea is to analyze
each failure and consider what lessons it taught and which forms of defect preven-
tion or defect removal might have prevented the problems. Because the failures in
this chapter are famous and information has been published about them, they are a
useful set of historical data points for retrospective quality analysis.
The following are many forms of defect prevention and removal methods:
• Acceptance testing
• Automated code static analysis for common languages
• Automated text static analysis for requirements and design
• Beta testing with clients
• Code inspections
• Component testing
• Debugging tools
• Design inspections
• Function testing
• Mathematical test-case design based on design of experiments
• Pair programming
• Peer reviews
• Performance testing
• Proofs of correctness
• Quality function deployment (QFD)
Search WWH ::




Custom Search