A rational design process: How and why to fake it
IEEE Transactions on Software Engineering
An annotated bibliography of literate programming
ACM SIGPLAN Notices
Literate programming
Literate Programming Using Noweb
Linux Journal
Requirements Engineering: A Good Practice Guide
Requirements Engineering: A Good Practice Guide
The CWEB System of Structured Documentation: Version 3.0
The CWEB System of Structured Documentation: Version 3.0
The WEB system of structured documentation
The WEB system of structured documentation
Physically Based Rendering: From Theory to Implementation
Physically Based Rendering: From Theory to Implementation
Developing Scientific Software
IEEE Software
A Software Certification Consortium and its Top 9 Hurdles
Electronic Notes in Theoretical Computer Science (ENTCS)
Hi-index | 0.00 |
This paper presents a documentation and development methodology to facilitate the certification of Computational Science and Engineering (CSE) software that is produced by professional end user developers to solve mathematical models of physical systems. To study the problems faced during quality assurance and certification activities, a case study was performed on legacy software used by a nuclear power generating company for safety analysis in a nuclear reactor. Although no errors were uncovered in the code, the documentation still needed significant updating for certification, since its was incomplete and inconsistent. During the case study, 27 issues were found with the documentation. This work proposes improvements to the case study software and other CSE software via a new template for the Software Requirements Specification (SRS) that clearly and sufficiently states the requirements, while satisfying the desired qualities for a good SRS. For developing the design and implementation, this paper suggests Literate Programming (LP) as an alternative to traditional structured programming. Literate Programming documents the numerical algorithms and the logic behind the development and the code together in the same document, the Literate Programmer's Manual (LPM). The LPM is developed in connection with the SRS. The explicit traceability between the theory, numerical algorithms and implementation (code), facilitates completeness and consistency, and simplifies the process of verification and the associated certification.