(info) PROJECT SOFTWARE REQUIREMENTS (CHAPTERS 3, 4, & 5)

This section contains guidance, rationale, and lists of useful resources and tools related to each and every one of the requirements in NPR 7150.2D in Chapters 3, 4, and 5. You can use the table below to link to the full text of all requirements and to the guidance on each.

Topic 7.16 - Appendix C. Requirements Mapping and Compliance Matrix contains downloadable spreadsheets for each class of software based on NPR 7150.2D. 

Topic 8.15 - SA Tasking Checklist Tool contains the Software Assurance Tasking Checklist Tool to assist in the planning, execution, and monitoring of the Software Assurance tasks provided in NASA-STD-8739.8 mapped to the NPR-7150.2 Software Engineering Requirements. (An updated SA Tasking Checklist Tool for NPR 71502.D is under development)

Each SWE contains seven tabs: 

  1. Requirement - along with the Notes (if any), and a link to the SWE history
  2. Rationale 
  3. Guidance - information on how the requirement may be satisfied
  4. Small Projects - how the requirement may be satisfied for small projects
  5. Resources - References and other associated information
  6. Lessons Learned
  7. Software Assurance - SA Tasks, Work Products, Metrics, and Guidance specific to Software Assurance and Safety

3.1 Software Life Cycle Planning

SWE-033 - Acquisition vs. Development
                   Assessment
 
SWE-013 - Software Plans

SWE-024 - Plan Tracking 
SWE-034 - Acceptance Criteria
SWE-036 - Software Process Determination
SWE-037 - Software Milestones
SWE-039 - Software Supplier Insight
SWE-040 - Access to Software Products
SWE-042 - Source Code Electronic Access
SWE-139 - Shall Statements
SWE-121 - Document Tailored Requirements
SWE-125 - Requirements Compliance Matrix
SWE-027 - Use of Commercial, Government,
                   and Legacy Software

3.2 Software Cost Estimation

SWE-015 - Cost Estimation
SWE-151 - Cost Estimate Conditions
SWE-174 - Software Planning Parameters

3.3 Software Schedules

SWE-016 - Software Schedule
SWE-018 - Software Activities Review
SWE-046 - Supplier Software Schedule

3.4 Software Training

SWE-017 - Project and Software Training

3.5 Software Classification Assessments

SWE-020 - Software Classification 
SWE-176 - Software Records 

3.6 Software Assurance and Software
Independent Verification & Validation

SWE-022 - Software Assurance
SWE-141 - Software Independent Verification
                   and Validation
SWE-131 - Independent Verification and
                   Validation Project Execution Plan
SWE-178 - IV&V Artifacts
SWE-179 - IV&V Submitted Issues and Risks

3.7 Safety-Critical Software

SWE-205 - Determination of Safety-
                  Critical Software 
SWE-023 - Software Safety-Critical
                   Requirements 
SWE-134 - Safety-Critical Software
                   Design Requirements
SWE-219 - Test Coverage for Safety
                   Critical Software Components

SWE-220 - Cyclomatic Complexity Values
                   for Safety-Critical Software

3.8 Automatic Generation of Software Source Code

SWE-146 - Auto-generated Source Code 
SWE-206 - Auto-Generation Software Inputs

3.9 Software Development Processes and Practices

SWE-032 - CMMI Levels for
                   Class A and B Software

3.10 Software Reuse

SWE-147 - Specify Reusability Requirements
SWE-148 - Contribute to Agency
                   Software Catalog

3.11 Software Cybersecurity

SWE-156 - Evaluate Systems for
                   Security Risks
SWE-154 - Identify Security Risks
SWE-157 - Protect Against
                   Unauthorized Access
SWE-159 - Verify and Validate Risk
                   Mitigations 
SWE-207 - Secure Coding Practices
SWE-185 - Verification of Software Code
                   to Coding Standards
SWE-210 - Detection of Adversarial Actions

3.12 Software Bi-Directional Traceability

SWE-052 - Bidirectional Traceability 

4.1 Software Requirements

SWE-050 - Software Requirements
SWE-051 - Software Requirements Analysis
SWE-184 - Software-related Constraints and
                  Assumptions
SWE-053 - Manage Requirements Changes
SWE-054 - Corrective Action for
                   Inconsistencies
SWE-055 - Requirements Validation

4.2 Software Architecture

SWE-057 - Software Architecture
SWE-143 - Software Architecture Review

4.3 Software Design

SWE-058 - Detailed Design

4.4 Software Implementation

SWE-060 - Coding Software
SWE-061 - Coding Standards
SWE-135 - Static Analysis
SWE-062 - Unit Test
SWE-186 - Unit Test Repeatability
SWE-063 - Release Version Description
SWE-136 - Software Tool Accreditation 

4.5 Software Testing

SWE-065 - Test Plan, Procedures, Reports
SWE-066 - Perform Testing
SWE-187 - Control of Software Items
SWE-068 - Evaluate Test Results
SWE-070 - Models, Simulations, Tools
SWE-071 - Update Test Plans and 
                   Procedures
SWE-073 - Platform or Hi-Fidelity
                   Simulations
SWE-189 - Code Coverage Measurements
SWE-190 - Verify Code Coverage
SWE-191 - Software Regression Testing
SWE-192 - Software Hazardous
                  Requirements
SWE-193 - Acceptance Testing for Affected
                  Behavior
SWE-211 - Testing Levels of Non-Custom
                  Developed Software

4.6 Software Operations, Maintenance,
and Retirement

SWE-075 - Plan Operations, Maintenance,
                   Retirement

SWE-077 - Deliver Software Products 
SWE-194 - Delivery Requirements
                  Verification
SWE-195 - Software Maintenance Phase
SWE-196 - Software Retirement Archival



5.1 Software Configuration Management (SCM)

SWE-079 - Develop CM Plan
SWE-080 - Track and Evaluate Changes
SWE-081 - Identify Software CM Items
SWE-082 - Authorizing Changes
SWE-083 - Status Accounting
SWE-084 - Configuration Audits
SWE-085 - Release Management
SWE-045 - Project Participation in Audits

5.2 Software Risk Management

SWE-086 - Continuous Risk Management 

5.3 Software Peer Reviews and Inspections

SWE-087 - Software Peer Reviews and
                   Inspections for Requirements,
                   Plans, Design, Code, and
                   Test Procedures

SWE-088 - Software Peer Reviews and
                   Inspections - Checklist 
                   Criteria and Tracking

SWE-089 - Software Peer Reviews and
                   Inspections -
                   Basic Measurements

5.4 Software Measurements

SWE-090 - Management and Technical
                   Measurements

SWE-093 - Analysis of Measurement Data
SWE-094 - Reporting of Measurement
                   Analysis
SWE-199 - Performance Measures
SWE-200 - Software Requirements
                  Volatility Metrics

5.5 Software Non-conformance or Defect Management

SWE-201 - Software Non-Conformances
SWE-202 - Software Severity Levels
SWE-203 - Mandatory Assessments for
                  Non-Conformances
SWE-204 - Process Assessments


HR-31 - Single Failure Tolerance

HR-33 - Inadvertent Operator Action

HR-34 - Operator Action With Single System Failure

HR-35 - Mitigate Hazardous Behavior Of Critical Software

HR-36 - Detect And Annunciate Faults

HR-37 - Fault Recovery

HR-38 - Data Analysis

HR-39 - Autonomous Operation

HR-41 - Crew Operations

HR-42 - Crew Override

HR-43 - Crew Control

HR-51 - Crew Flight Control

HR-7142 - Ground Initiate Ascent Abort Sequence

HR-715 - Interface With Range Safety Destruct System