NASA Procedures and Guidelines
This Document is Obsolete and Is No Longer Used.
|| TOC | Preface | Chapter1 | Chapter2 | Chapter3 | Chapter4 | Chapter5 | Chapter6 | AppendixA | AppendixB | AppendixC | AppendixD | AppendixE | ALL ||
Software engineering is a core capability and key enabling technology for NASA's missions and supporting infrastructure. This directive establishes the engineering requirements for software acquisition, development, maintenance, retirement, operations, and management consistent with the governance model contained in NASA Policy Directive (NPD) 1000.0. This NASA Procedural Requirements (NPR) supports the implementation of NPD 7120.4.
a. This directive applies to NASA Headquarters and NASA Centers, including Component Facilities and Technical and Service Support Centers. This language applies to the Jet Propulsion Laboratory (JPL) (a Federally Funded Research and Development Center (FFRDC)), other contractors, grant recipients, or parties to agreements only to the extent specified or referenced in the appropriate contracts, grants, or agreements.
Note: The above statement alone is not sufficient to stipulate requirements for the contractor, grant recipient, or agreement. This directive provides requirements for NASA contracts, grant recipients, or agreements to the responsible NASA project managers and contracting officers that are made mandatory through contract clauses, specifications, or statements of work (SOWs) in conformance with the NASA Federal Acquisition Regulation (FAR) Supplement or by stipulating in the contracts, grants, or agreements which of the NPR requirements apply.
b. This directive applies to the complete software development life cycle, including software planning, development, testing, maintenance, retirement, operations, management, acquisition, and assurance activities. The requirements of this directive cover such software created, acquired, or maintained by NASA or for NASA to the extent specified or referenced in an appropriate contract, grant, or agreement. The applicability of these requirements to specific systems and subsystems within the Agency's investment areas, programs, and projects is through the use of the NASA-wide definition of software classes, defined in Appendix D. Some projects may contain multiple software systems and software subsystems having different software classes.
Figure 1. NASA software classification structure.
c. For existing Class A through E programs and projects, the software engineering requirements of this NPR apply to their current and future phases as determined by the responsible Mission Directorate as approved by the NASA Chief Engineer (or as delegated).
d. For existing Class F programs and projects, the software engineering requirements of this NPR apply to their current and future phases as determined by the Center CIO and approved by the NASA Chief Information Officer (or delegate).
e. This NPR can be applied to other NASA investments at the discretion of the responsible manager or the NASA Associate Administrator. This directive is not retroactively applicable to software development, maintenance, operations, management, acquisition, and assurance activities started before September 27, 2004 (i.e., existing systems and subsystems containing software for the International Space Station, Hubble, Chandra, etc.).
f. This directive does not supersede more stringent requirements imposed by individual NASA organizations and other Federal Government agencies or by Federal law.
g. In this directive, all mandatory actions (i.e., requirements) are denoted by statements containing the term "shall," followed by a software engineering (SWE) requirement number. The terms "may" or "can" denote discretionary privilege or permission, "should" denotes a good practice and is recommended but not required, "will" denotes expected outcome, and "are/is" denotes descriptive material.
h. In this directive, all document citations are assumed to be the latest version unless otherwise noted.
a. The National Aeronautics and Space Act, as amended, 51 U.S.C. § 20113(a).
b. NPD 1000.0, NASA Governance and Strategic Management Handbook.
c. NPD 1000.3, The NASA Organization.
d. NPD 1000.5, Policy for NASA Acquisition.
e. NPD 7120.4, NASA Engineering and Program/Project Management Policy.
a. NPD 1000.0, NASA Governance and Strategic Management Handbook.
b. NPD 1000.3, The NASA Organization.
c. NPD 1200.1, NASA Internal Control.
d. NPD 1210.2, NASA Surveys, Audits, and Reviews Policy.
e. NPD 1600.2, NASA Security Policy.
f. NPR 1600.1, NASA Security Program Procedural Requirements.
g. NPD 2091.1, Inventions Made By Government Employees.
h. NPR 2800.1, Managing Information Technology. i. NPR 2810.1, Managing Security of Information Technology.
j. NPR 7120.5, NASA Space Flight Program and Project Management Requirements.
k. NPR 7120.7, NASA Information Technology and Institutional Infrastructure Program and Project Management Requirements.
l. NPR 7120.8, NASA Research and Technology Program and Project Management Requirements.
m. NPR 7123.1, NASA Systems Engineering Processes and Requirements.
n. NPR 8000.4, Agency Risk Management Procedural Requirements.
o. NPR 8705.2, Human-Rating Requirements for Space Systems.
p. NPR 8705.4, Risk Classification for NASA Payloads.
q. NPR 8715.3, NASA General Safety Program Requirements.
r. NPR 8735.2, Management of Government Quality Assurance Functions for NASA Contracts.
s. NASA-STD-3000, Volumes I-II, Man-Systems Integration Standards.
t. NASA-STD-7009, Standard for Models and Simulations.
u. NASA-STD-8739.8, Software Assurance Standard.
v. NASA-STD-8739.9 Software Formal Inspection Standard.
w. NASA-HDBK-2203, NASA Software Engineering Handbook.
x. NASA-HDBK-4008, Programmable Logic Devices (PLD) Handbook.
y. NASA-HDBK-7009, NASA Handbook for models and simulations: an implementation guide for NASA-STD-7009.
z. DO-178B, Software Considerations in Airborne Systems and Equipment Certification.
aa. IEEE 828-2012, IEEE Standard for Configuration Management in Systems and Software Engineering,
bb. IEEE 1012, IEEE Standard for Software Verification and Validation.
cc. IEEE 1028, IEEE Standard for Software Reviews and Audits.
dd. ISO/IEC 2382-20, Information technology--Vocabulary--Part 20: System development, 20.05.05.
ee. ISO/IEC 19770-5:2015, Information technology.
ff. ISO/IEC 19770-1:2017, Information technology - IT asset management - Part 1: IT asset management systems--Requirements.
gg. ISO/IEC 26514:2008, Systems and software engineering--requirements for designers and developers of user documentation.
hh. ISO/IEC/IEEE 24765, Systems and software engineering - Vocabulary.
ii. ISO/IEC/IEEE 26513:2017, Systems and software engineering--requirements for testers and reviewers of information for users.
Implementation of this directive is defined as implementing all the identified processes, activities, and requirements in accordance with the software classification and approved software tailoring. Compliance with this document is verified by submission of the completed Requirements Mapping Matrix(ces) to responsible NASA officials, including any approved tailoring (see Appendix C) and by internal and external controls. Internal controls processes are defined in NPD 1200.1. Internal controls include surveys, audits, and reviews conducted in accordance with NPD 1210.2. External controls may include external surveys, audits, and reporting or contractual requirements.
a. NPR 7150.2B, NASA Software Engineering Requirements, dated November 19, 2014.
b. NASA Interim Directive 7150-113: NASA Interim Directive for Software License Management, dated June 13, 2017.
| TOC | Preface | Chapter1 | Chapter2 | Chapter3 | Chapter4 | Chapter5 | Chapter6 | AppendixA | AppendixB | AppendixC | AppendixD | AppendixE | ALL |
|| NODIS Library | Program Formulation(7000s) | Search ||