Abstract
Although differences exist between building software systems and building physical structures such as bridges and rockets, enough similarities exist that software engineers can learn lessons from failures in traditional engineering disciplines. This paper draws lessons from two well-known failures--the collapse of the Tacoma Narrows Bridge in 1940 and the destruction of the space shuttle Challenger in 1986--and applies these lessons to software system development. The following specific applications are made: (1) the verification and validation of a software system should not be based on a single method, or a single style of methods; (2) the tendency to embrace the latest fad should be overcome; and (3) the introduction of software control into safety-critical systems should be done cautiously.
if needed)
if needed)
I also gave a presentation based on this paper at
the
2001
Military and Aerospace Applications of Programmable Devices and Technologies
International Conference
at the Johns Hopkins University Applied Physics Laboratory
on 13 September 2001.
Here is a photograph
taken during that presentation.
Note: The
tag identifies links that are outside of the NASA domain.