SOFTWARE ASSURANCE STANDARD
|Publication Date:||28 July 2004|
This standard specifies the software assurance requirements for software developed or acquired and maintained by the National Aeronautics and Space Administration (NASA) and for open source software, Government off-the-shelf (GOTS) software, modified off-the-shelf (MOTS) software, and commercial off-the-shelf (COTS) software when included in a NASA system. This Standard applies to use of new and existing (e.g., reuse, legacy, heritage) software products and components.
The NASA Software Assurance Standard (hereinafter referred to as the "Standard") supports NPD 2820.1, NASA Software Policies, and NPR 7150.2 NASA Software Engineering Requirements. This Standard is compatible with all software life cycle models (e.g., waterfall, spiral, evolutionary, incremental, package-based), and addresses all software life cycle processes, including acquisition, supply, development, operation, and maintenance.
This Standard specifies the requirements for software assurance for use by NASA projects, programs, facilities, and activities. It provides a consistent, uniform basis for defining the requirements for software assurance programs to be applied and maintained throughout the life of that software, that is, from project conception, through operations and maintenance, until the software is retired.
In this Standard the words assure and ensure have the following usages:
· Assure is used when software assurance practitioners make certain that the specified software assurance, management, and engineering activities have been performed by others.
· Ensure is used when software assurance practitioners themselves perform the specified software activities.
The purpose of this Standard is to:
· Establish a common framework, including generic quality procedures, for the software assurance process in support of all life cycle processes, regardless of who performs them.
· Establish and support the cooperation of various groups who are conducting different aspects of the total software assurance process.
· Support and utilize the independent reporting structure required for NASA safety, reliability, and quality processes.
· Define software assurance activities and tasks to meet the objectives of software assurance.
This Standard applies to all software assurance activities
during the entire software life cycle of the software developed or acquired
for NASA, either internally or externally, including the incorporation of open
source, COTS, GOTS, or MOTS into NASA systems. Legacy and reuse software
products are also covered with a focus on how they fit into the new systems.
The requirements of this Standard are applicable whenever NASA is either the
acquirer or provider, and to the extent specified in the contract or other
agreement such as Memorandum of Agreement/Understand