bannerd

Some ideas on how to redistribute content in an attempt to make things easier to find. 

Expanded Content Organization

1 SWEs and Topics

The presentation of activities matches that in NPR7150.2. Each activity includes SWEs and relevant topics. SWEs are listed for each activity in the NPR, Supporting SWEs are from other activities but of relevance to the activity. Supporting Topics are relevant to the activity. 



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

This section contains links to all the SWEs from NPR7150.2 and all the Topics. The content is organized by Project Activity. 

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.2C. (An updated Requirements Mapping and Compliance Matrix for NPR 71502.D is under development)

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)

Chapter 3. Software Management Requirements

3.1 Software Life Cycle Planning and Control

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

Supporting Topics

7.3 - Acquisition Guidance

7.4 - Flow Down of NPR Requirements on
        Contracts and to Other Centers in
        Multi-Center Projects

7.5 - Work Breakdown Structures That
        Include Software

7.8 - Maturity of Life Cycle Products at Milestone Reviews

7.9 - Entrance and Exit Criteria 

7.13 - Transitioning to a Higher Class 

7.16 - Appendix C. Requirements Mapping and Compliance Matrix

7.17 - 7150.2C Appendices (Definitions, References, etc.)

7.18 - Documentation Guidance

7.20 - Assessing - Meets the Intent 


3.2 Software Cost Estimation

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

Supporting Topics

7.6 - Software Test Estimation and Testing Levels 


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 

Supporting Topics

7.2 - Software Classification Definitions and
         Software Safety-Criticality Determination

7.13 - Transitioning to a Higher Class 

8.4 - Additional Requirements Considerations
        for Use with Safety-Critical Software
 

8.8 - COTS Software Safety Considerations

8.17 - Software Safety Audit Checklists


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

Supporting Topics

7.2 - Software Classification Definitions and
         Software Safety-Criticality Determination

8.4 - Additional Requirements Considerations
        for Use with Safety-Critical Software
 

8.9 - Software Safety Analysis

8.10 - Facility Software Safety Consideration

8.19 - Dead / Dormant Code and Safety-Critical Software

8.20 - Safety Specific Activities in Each Phase


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

Supporting Topics

7.1 - History and Overview of the Software
         Process Improvement (SPI) Effort


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 Standard
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 


Chapter 4. Software Engineering Life Cycle Requirements

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

Supporting SWEs

SWE-052 - Bidirectional Traceability 

Supporting Topics

7.21 - Multi-condition Software Requirements

8.6 -  IV&V Requirements and Surveillance


4.2 Software Architecture

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

Supporting Topics

7.7 - Software Architecture Description


4.3 Software Design

SWE-058 - Detailed Design

Supporting Topics

7.21 - Multi-condition Software Requirements

8.8 - COTS Software Safety Considerations

9.01 Software Design Principles


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 

Supporting Topics

8.11 - Auto-Generated Code

Programming Checklists Tab


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

Supporting Topics

7.15 - Relationship Between NPR 7150.2 and NASA-STD-7009 

7.21 - Multi-condition Software Requirements

8.1 - Off Nominal Testing

8.2 - Software Reliability

8.5 - SW Failure Modes and Effects Analysis

8.6 -  IV&V Requirements and Surveillance

8.7 - Software Fault Tree Analysis

8.12 - Basics of Software Auditing

8.13 - Test Witnessing

8.16 - SA Products 

8.21 - Software Hazard Causes

8.22 - Hazardous Commands


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

Supporting Topics

8.23 - Software Contents of a Certification of Flight Readiness 


Chapter 5. Supporting Software Life Cycle Requirements

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

Supporting SWEs

SWE-040 - Access to Software Products
SWE-042 - Source Code Electronic Access


5.2 Software Risk Management

SWE-086 - Continuous Risk Management 

Supporting Topics

7.19 - Software Risk Management Checklists


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

Supporting Topics

7.10 - Peer Review and Inspections Including Checklists


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

Supporting Topics

7.14 - Implementing Measurement Requirements and Analysis for Projects

8.3 - Organizational Goals of Software Assurance Metrics

8.18 - SA Suggested 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





2. Just Topics

The presentation of activities matches that in NPR7150.2 but the SWEs are removed and replaced by relevant topics. 


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

This section contains links to all the SWEs from NPR7150.2 and all the Topics. The content is organized by Project Activity. 

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.2C. (An updated Requirements Mapping and Compliance Matrix for NPR 71502.D is under development)

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)

Chapter 3. Software Management Requirements

Software Life Cycle Planning and Control Related Topics

7.3 - Acquisition Guidance

7.4 - Flow Down of NPR Requirements on
        Contracts and to Other Centers in
        Multi-Center Projects

7.5 - Work Breakdown Structures That
        Include Software

7.8 - Maturity of Life Cycle Products at Milestone Reviews

7.9 - Entrance and Exit Criteria 

7.13 - Transitioning to a Higher Class 

7.16 - Appendix C. Requirements Mapping and Compliance Matrix

7.17 - 7150.2C Appendices (Definitions, References, etc.)

7.18 - Documentation Guidance

7.20 - Assessing - Meets the Intent 


Software Cost Estimation Related Topics

7.6 - Software Test Estimation and Testing Levels 


Software Schedules Related Topics



Software Training Related Topics




Software Classification Assessments Related Topics

7.2 - Software Classification Definitions and
         Software Safety-Criticality Determination

7.13 - Transitioning to a Higher Class 

8.4 - Additional Requirements Considerations
        for Use with Safety-Critical Software
 

8.8 - COTS Software Safety Considerations

8.17 - Software Safety Audit Checklists


 Software Assurance and Software
Independent Verification & Validation 
Related Topics



Safety-Critical Software Related Topics

7.2 - Software Classification Definitions and
         Software Safety-Criticality Determination

8.4 - Additional Requirements Considerations
        for Use with Safety-Critical Software
 

8.9 - Software Safety Analysis

8.10 - Facility Software Safety Consideration

8.19 - Dead / Dormant Code and Safety-Critical Software

8.20 - Safety Specific Activities in Each Phase


Automatic Generation of Software Source Code Related Topics



Software Development Processes and Practices Related Topics

7.1 - History and Overview of the Software
         Process Improvement (SPI) Effort


Software Reuse Related Topics



Software Cybersecurity Related Topics



Software Bi-Directional Traceability Related Topics



Chapter 5. Supporting Software Life Cycle Requirements

Software Configuration Management (SCM) Related Topics



Software Risk Management Related Topics

7.19 - Software Risk Management Checklists


Software Peer Reviews and Inspections Related Topics

7.10 - Peer Review and Inspections Including Checklists


Software Measurements Related Topics

7.14 - Implementing Measurement Requirements and Analysis for Projects

8.3 - Organizational Goals of Software Assurance Metrics

8.18 - SA Suggested Metrics


Software Non-conformance or Defect Management Related Topics




3. Chapter 3 Reorganized

In this example, activities from NPR7150.2 are retained. SWEs and Topics are put in a table below a very high level description of the activity. A Control activity is added. Bi-directional Traceability is moved into Requirements. 

Some SWEs from Ch 2 may need to be added here to ensure that valuable guidance is not ignored. 

Topics and SWEs may need to be duplicated in multiple activities to ensure they are not overlooked. Some guidance may apply to multiple activities. 

Chapters 4 and 5 were not done yet. 

Life Cycle activities are represented in Green 

Other activities are represented in Orange

Chapter 3. Software Management Requirements

Software Life Cycle Planning 

Planning is done at the beginning of a project to what is going to be done and how. Re-planning may occur at multiple times during a project to account for changes in requirements, technology or other factors. 



Software Cost Estimation

Estimation is an important part of Planning and Control. It is used to setup budgets for parts of the project. In Control, the actual costs are compared to the budget to determine if corrective action is necessary. 



Software Schedules

Schedules are an important part of Planning and Control. It is used to setup time allocations for parts of the project. In Control, the actual timelines are compared to the planned timelines to determine if corrective action is necessary. 


Software Training

Training is necessary to ensure that all team members can perform their duties. 

Supporting SWEsSupporting Topics
SWE-017 - Project and Software Training

Software Classification Assessments

Classification of a project is used determine what NPR7150.2 requirements apply to the project. 



Software Assurance and Software
Independent Verification & Validation

Software Assurance and IV&V are focused on ensuring that the right software is developed and will perform as needed under all conditions. This activity must be planed and accounted for in the project.  


Safety-Critical Software

Safety-Critical software requires additional planning and control. 




Automatic Generation of Software Source Code

Automatic generation of source code must be carefully considered and tested to ensure that the code is correct for all situations. 


Software Development Processes and Practices

Both internal and external appraisals are used to ensure that processes are developed and maintained to standards. 



Software Reuse

Reuse software can save time and cost when used properly. 


Software Cybersecurity

Security risks are accounted for in planning as well as throughout the life of the product. 


Software Life Cycle Control

Once plans are approved, execution begins and control activities are put into place to track progress and initiating corrective actions in the event that performance significantly deviates from the plan. 




  • No labels