ABSTRACT

Space Shuttle Columbia, NASA (The National Aeronautics and Space Administration) consulted a computational model to determine the extent of the damage [150]. Although the model predicted debris had penetrated the left wing, NASA decided to ignore this conclusion because their previous experiences led them to believe the model was over-conservative. On the 1st of February 2003, the Space Shuttle Columbia disintegrated as it made its descent, resulting in the deaths of all seven of its crew members. It is of course vitally important scientific software is correct. However, in this example the model gave the right prediction. It is therefore equally important that scientists understand and have faith in the software they are using and developing. This chapter focuses on the application of software engineering techniques to make scientific software easier to understand, test and communicate.