UNDER CONSTRUCTION


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. 

1. Introduction


Software peer reviews and inspections are the in-process technical examination of work products by peers to find and eliminate defects early in the life cycle. Software peer reviews and inspections are performed following defined procedures covering the preparation for the review, the review itself is conducted, results are recorded, results are reported, and completion criteria is certified. When planning the composition of a software peer review or inspection team, consider including software testing, system testing, software assurance, software safety, software cybersecurity, and software IV&V personnel.

Activity graphical representation of Inputs, Outputs, Predecessor and Successor Activities as appropriate. Not meant to be exhaustive, but representative of a typical project. 

1.1 Inputs

Examples: 

1.2 Predecessor Activities

Examples: 

Predecessor Activities are performed before Design. These activities produce the work products that will be reviewed. 

1.3 Outputs


Output Work ProductUsed by Downstream Activity
  • Implementation and Unit Testing
  • Preliminary at Preliminary Design Review
  • Baselined at Critical Design Review
  • Updated at Test Readiness Review
  • Implementation and Unit Testing
  • Preliminary at Preliminary Design Review
  • Baselined at Critical Design Review
  • Updated at Test Readiness Review
  • Implementation and Unit Testing
  • Baselined at Operational Readiness Review

1.4 Successor Activities

  • Implementation and Unit Testing - Implements the Design into one or more code modules. 
  • Preliminary Design Review
  • Critical Design Review
  • Test Readiness Review
  • Operational Readiness Review

1.5 Activity Repetition

  • Design is always done once. It should be peer reviewed and analyzed by Software Assurance. 
  • Design may be reviewed and re-analyzed as often as there are significant changes in architecture or requirements. For example:  
    • Technology changes to the architecture requires changes to the design
    • Customer changes to requirements require changes to the design

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). 

ActivityDescription

Design

Assets for use during product design

2. Software Engineering

2.1 SWEs

SWE-058 - Detailed Design with new tab 4

Link to SWE-058 - Copy of SWE-058 - Detailed Design with new tab 4

Class Applicability: A B C

SWE-058 Requirement

2.2 Topics and other Supporting Materials

2.2.1 Topics

2.2.2 Supporting Materials

2.3 Other Associated SWEs, Topics, etc.


3. Software Assurance

Software Assurance is integral to the performance of all Software Development activities. It includes Process Monitoring as well as Process Analysis. 

  • Process Monitoring - addresses the question, "Is the development team following their processes and producing the expected work products?"
  • Process Analysis - addresses the question, "Are there better ways of performing the processes that would result in the early discovery of defects?"

3.1 Software Assurance Tasks from SWEs

Software Assurance Tasks are included in tab 7 of the SWEs. 

SWE-058 - Detailed Design with new tab 4

Link to SWE-058 - Copy of SWE-058 - Detailed Design with new tab 4

SWE-058 Requirement

Tasking From NASA-STD-8739.8B

SA Work Products

3.2 Topics and Other Supporting Materials

3.2.1 Topics

3.2.2 Process Asset Templates

3.3 Other Associated SWEs, Topics, etc.