Book contents
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 Introduction
- Part I Fundamental concepts
- Part II Code verification
- 4 Software engineering
- 5 Code verification
- 6 Exact solutions
- Part III Solution verification
- Part IV Model validation and prediction
- Part V Planning, management, and implementation issues
- Appendix Programming practices
- Index
- Plate Section
- References
4 - Software engineering
from Part II - Code verification
Published online by Cambridge University Press: 05 March 2013
- Frontmatter
- Contents
- Preface
- Acknowledgments
- 1 Introduction
- Part I Fundamental concepts
- Part II Code verification
- 4 Software engineering
- 5 Code verification
- 6 Exact solutions
- Part III Solution verification
- Part IV Model validation and prediction
- Part V Planning, management, and implementation issues
- Appendix Programming practices
- Index
- Plate Section
- References
Summary
Software engineering encompasses the tools and methods for defining requirements for, designing, programming, testing, and managing software. It consists of monitoring and controlling both the software processes and the software products to ensure reliability. Software engineering was developed primarily from within the computer science community, and its use is essential for large software development projects and for high-assurance software systems such as those for aircraft control systems, nuclear power plants, and medical devices (e.g., pacemakers).
The reader may wonder at this point why a book on verification and validation in scientific computing includes a chapter on software engineering. The reason is that software engineering is critical for the efficient and reliable development of scientific computing software. Failure to perform good software engineering throughout the life cycle of a scientific computing code can result in much more additional code verification testing and debugging. Furthermore, it is extremely difficult to estimate the effect of unknown software defects on a scientific computing prediction (e.g., see Knupp et al., 2007). Since this effect is so difficult to quantify, it is prudent to minimize the introduction of software defects through good software engineering practices.
- Type
- Chapter
- Information
- Verification and Validation in Scientific Computing , pp. 146 - 169Publisher: Cambridge University PressPrint publication year: 2010