Page History
UNDER CONSTRUCTION
| Note |
|---|
Notes in this template provide guidance to authors on how the section if to be completed. Once the section is populated, the Note may be deleted. Notes are not intended to be left in the completed page. |
| Tabsetup | |||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||||||||
2.2 Related Topics and Process Assets
Div | | ||||||||||||||||||||||||||||||||
|
1.1 Inputs
Examples:
1.2 Predecessor Activities
Examples: Predecessor Activities are performed before Peer Reviews. These activities produce the work products that will be reviewed.
1.3 Outputs
Examples: The activities that initiated the Peer Review, receive the findings from Peer Reviews, Those activities then use those findings to to fix defects and implement improvements uncovered in the reviews.
1.4 Successor Activities
1.5 Activity Repetition
1.6 Center Resources From SPAN
Several Centers Process Asset Libraries have materials related to this activity. Related Processes, templates, and other resources may be found in the following Activities in SPAN (available to NASA only). |
| Div | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
2. Defining the Activity
2.1 SWEs
2.2 Topics and other Supporting Materials
2.3 Other Associated SWEs, Topics, etc.
|
| Div | ||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||
3. Software AssuranceSoftware Assurance is integral to the performance of all Software Development activities. It includes Process Monitoring as well as Process Analysis.
3.1 Software Assurance TasksSoftware Assurance Tasks are included in many of the SWEs in this activity.
|
| Div | ||
|---|---|---|
| ||
5. CodingThe project has the primary responsibility for producing the software code. The NPR notes that the "software implementation consists of implementing the requirements and design into code, data, and documentation. Software implementation also consists of the following coding methods and standards. Unit testing is also a part of software implementation." Other guidance areas in this Handbook cover the requirements for data, documentation, methods, standards, and unit testing (see the table in the guidance section for this requirement). Standards are used to ensure safety, security, reliability, quality, maintainability, readability, and testability of the NASA code products. The static analysis requirement for NASA software projects increases the quality and safety of code developed for NASA Missions. Using static analysis helps to ensure that code meets the coding standards/criteria established by the project team and common coding errors are eliminated before system integration and test. Studies show that the cost of catching errors dramatically increases from one phase of development to the next by roughly a factor of 10. Eliminating errors during implementation results in cost and time savings during integration and testing, which is a particularly important cost-saving factor for projects using high-fidelity testbeds. When coding is being obtained by Acquisition, the code is being generated by others. In these cases, project team members efforts are directed toward:
5.1 Related NPR 7150.2 SWEsSWE-060 - Coding Software 4.2 Related Topics and Process Assets |
| Div | ||
|---|---|---|
| ||
6. Unit TestUnit testing is the process of testing the range of inputs to a unit to ensure that only the intended outputs are produced. By doing this at the lowest level, fewer issues will be discovered when the components are later integrated and tested as a whole. Therefore, during unit testing, it is important to check the maximum and minimum values, invalid values, empty and corrupt data, etc. for each input and output to ensure the unit properly handles the data (processes or rejects it). Software testing is required to ensure that the software meets the agreed requirements and design. The application works as expected. The application doesn’t contain serious bugs, and the software meets its intended use as per user expectations. Unit test procedures are to be repeatable so that future runs can confirm that any identified flaws have been corrected and for regression purposes to ensure that any new changes do not introduce new flaws in the software. As stated in SWE-062, unit testing can be described as the confirmation that the unit performs the capability assigned to it, correctly interfaces with other units and data, and represents a faithful implementation of the unit design. 6.1 Related NPR 7150.2 SWEsSWE-186 - Unit Test Repeatability 6.2 Related Topics and Process Assets |
| Div | |||
|---|---|---|---|
| |||
7. IntegrationIntegration is the assembly of discrete code components into a deliverable product that can be installed and used as a finished product. Code is typically used to monitor and control some other machine or device. The deliverable product of coding must be tested in an environment that replicates the environment in which it will operate in service. See SE-Testing. A software version description document (VDD) is used to identify and record the exact version of software to be delivered to a user, support, or other sites. Software development tools contain software defects. Commercial software development tools do have software errors. Validation and accreditation of the critical software development and maintenance tools ensure that the tools being used during the software development life cycle do not generate or insert errors in the software executable components. This requirement reduces the risk in the software development and maintenance areas of the software life cycle by assessing the tools against defined validation and accreditation criteria. The likelihood that work products will function properly is enhanced and the risk of error is reduced if the tools used in the development and maintenance processes have been validated and accredited themselves. This is particularly important for flight software (Classes A and B) which must work correctly with its first use if critical mishaps are to be avoided. 7.1 Related NPR 7150.2 SWEsSWE-063 - Release Version Description |


