|2. SWEHB Introduction
|3. Title Material
|5. Accessing Other Versions of SWEHB
Welcome to the NASA Software Engineering and Assurance Handbook,
Software is a core capability and key enabling technology for NASA's missions and supporting infrastructure.
This wiki-based NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 provides users and practitioners with guidance material for implementing the requirements of NPR 7150.2, NASA Software Engineering Requirements, and the implementation of the NASA Software Assurance and Software Safety requirements in NASA-STD-8739.8
The NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 is for the community that is involved in the acquisition, management, development, assurance, maintenance, and operations of NASA software. The use of this handbook is intended to provide "best-in-class" guidance for the implementation of safe and reliable software in support of NASA projects.
The NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 as an easily accessible reference or manual that captures the broad knowledge base of numerous experts who have extensive experience in all aspects of NASA's software systems. The handbook is a key component of an Agency-wide plan to work toward a continuous and sustained software engineering and software assurance process and product improvement.
The NASA Software Engineering Requirements, NPR 7150.2C, can be viewed at https://nodis3.gsfc.nasa.gov/displayDir.cfm?t=NPR&c=7150&s=2C.
The NASA Software Assurance and Software Safety Standard requirements, NASA-STD-8739.8A, can be viewed at https://standards.nasa.gov/standard/nasa/nasa-std-87398.
You can submit any inputs and suggestions via "Feedback" in the NASA Technical Standards System (NTSS) at http://standards.nasa.gov/.
We hope you will find the information helpful in your day-to-day quest for engineering excellence. It has been provided by many contributing experts, distilled into useful chunks by the NASA software community team.
The NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203, originated from multiple requests for additional guidance, rationale, resources, references, and lessons learned for acquiring, managing, developing, assuring, and maintaining NASA software systems. The design of the electronic (wiki-based) format was selected to accommodate the following evolving needs:
The NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 is accessible via https://swehb.nasa.gov, the NASA Technical Standard site https://standards.nasa.gov, or on the NASA Engineering Network (NEN). Links are available for relevant processes, templates, and tools in the Software Processes Across NASA (SPAN) repository, accessible only to NASA users from the SPAN tab in this Handbook.
The NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 wiki can be used similarly to the use of any hard copy guidebooks, but it offers significant advantages for the reader. Once familiar with the resource, a user will be able to directly access concise information relevant to their interest or need. (Typically, a quick scan and flip through the Handbook structure, including the chapter organization and the reference/appendix material, is enough to gain familiarity.)
The NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 provides guidance associated with each SWE (Software Requirement) in NPR 7150.2, guidance in the form of features and topics, and software assurance and software safety requirements and guidance information. Users are expected to consult NASA Center resources for local procedures and guidance, when available.
Here's an overview of each major section within the NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203:
Explanation of the SEARCH Box in the splash banner above: This utility allows the NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 user to interrogate the Handbook contents for particular items of interest.
In the handbook, each typical requirement, SWE, has seven sections:
Remember that the NPR 7150.2 is a requirements document. It uses "shall" exclusively to indicate requirements. Applicability of an NPR 7150.2 requirement applies per the NASA Software Classification, and the matrix in Appendix C (of the NPR). The handbook is not a requirements document, only an informational document.
Earlier versions of NPR 7150.2 made extensive use of the NPR's Notes sections to help with the interpretation of the SWE. This Handbook is intended to collaborate with and to augment the current NPR's Notes, and to include valuable guidance from previous versions of NPR 7150.2.
The Requirements Mapping Matrix (RMM) in NPR 7150.2 provides a list of the applicability of each software project requirement by the class of software. Associated with many of the entries in the RMM are one or more notes that modify the applicability of the requirement for a particular class. Since the handbook makes explicit mention of these modifiers in section 1 of the guidance for each requirement, SWE, an additional explanation for the modifiers are:
Each requirement marked 'X' for the project's software classification(s) should be addressed in the Requirements Mapping Matrix. All requirements can be tailored per the guidance in this directive. Requirements that are not applicable to a given project, such as the IV&V requirements, should be tailored out in the Requirements Mapping Matrix with justification.
Some general comments:
NASA TECHNICAL HANDBOOK
National Aeronautics and Space Administration
Washington, DC 20546-0001
NASA Software Engineering and Software Assurance Handbook
Approved: April 20, 2020
DOCUMENT HISTORY LOG
Handbook updated to address the NASA Software Engineering Requirements, NPR 7150.2B, changes. Update the guidance topics.
This NASA Technical Handbook is published by the National Aeronautics and Space Administration (NASA) as a guidance document to provide engineering information; lessons learned; possible options to address technical issues; classification of similar items, materials, or processes; interpretative direction and techniques; and any other type of guidance information that may help the Government or its contractors in the design, construction, selection, management, support, or operation of systems, products, processes, or services.
This NASA Technical Handbook is approved for use by NASA Headquarters and NASA Centers and Facilities. It may also apply to the Jet Propulsion Laboratory and other contractors only to the extent specified or referenced in applicable contracts.
This wiki-based NASA Technical Handbook provides users and practitioners with guidance material for implementing the requirements of NPR 7150.2, NASA Software Engineering Requirements
Requests for information should be submitted via "Feedback" at http://standards.nasa.gov/. Requests for changes to this NASA Technical Handbook should be submitted via MSFC Form 4657, Change Request for a NASA Engineering Standard.
Ralph R. Roe, Jr
NASA Chief Engineer
April 20, 2020
The version of the handbook that you are viewing is noted in the header image. Clicking on this image while on any page of the SWEHC will take you back to the Introduction page for this version.
To access other versions of the Software Engineering Handbook use the links below:
- Baseline Click here to go back to the Software Engineering Handbook from NPR 7150.2A
- Baseline Click here to go back to the Software Engineering Handbook from NPR 7150.2B
- Version B - You are already in the Software Engineering and Software Assurance Handbook from NPR 7150.2C
Three versions of the NASA Software Engineering and Assurance Handbook, NASA-HDBK-2203 are available for use (see Tab 5 to access the versions of handbook)
- The original version of the handbook - addresses the NASA Software Engineering Requirements in NPR 7150.2A. NPR 7150.2A had an effective date of November 19, 2009, to the expiration date of November 19, 2014.
- Revision A - addresses the NASA Software Engineering Requirements in NPR 7150.2B. NPR 7150.2B had an effective date of November 19, 2014, to the expiration date of August 2, 2019.
- Revision B - addresses the NASA Software Engineering Requirements in NPR 7150.2C and the requirements in the NASA Software Assurance and Software Safety standard, NASA-STD-8739.8A. NPR 7150.2C had an effective date of August 2, 2019, to the expiration date of August 2, 2024. NASA-STD-8739.8A
has an effective date of June 10, 2020.
Swerefn refnum 278
NPR 7150.2C is the latest version of the NASA Software Engineering Requirements.
NASA-STD-8739.8A is the latest version of the NASA Software Assurance and Software Safety Standard
5.1 SWE History
Click SWE History to view.