bannerb

This version of SWEHB is associated with NPR 7150.2B. Click for the latest version of the SWEHB based on NPR7150.2C

SWE-063 - Release Version Description

1. Requirements

4.4.6 The project manager shall provide a software version description document for each software release.

1.1 Notes

NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.

1.2 Applicability Across Classes

Class F and Class G are labeled with "X (not OTS)." This means that this requirement does not apply to off-the-shelf software for these classes.

Class

     A      

     B      

     C      

   CSC   

     D      

   DSC   

     E      

     F      

     G      

     H      

Applicable?

   

   

   

   

   

   

   

   

   

   

Key:    - Applicable | - Not Applicable
A & B = Always Safety Critical; C & D = Not Safety Critical; CSC & DSC = Safety Critical; E - H = Never Safety Critical.


2. Rationale

 A software version description document is used to identify and record the exact version of software to be delivered to a user, support, or other site

3. Guidance

Software systems and work products undergo multiple builds, reviews, and rebuild cycles before reaching a fully operational state.  Even then, modifications, error corrections, expanded requirements sets, and even code reuse on other projects result in newer versions of the coded product.  The configuration control of these versions, many of which may be used simultaneously on different projects, requires detailed descriptions to assure the correct work is being performed on the released version of interest.

According to ISO/IEC/IEEE 24765:2010 Systems and software engineering--Vocabulary, a version description document is “a document that accompanies and identifies a given version of a system or component ... Typical contents include an inventory of system or component parts, identification of changes incorporated into this version, and installation and operating information unique to the version described.”

The Software Version Description (SVD) document is the definitive record of all components of a released software work product, whether it is for internal or external release. The SVD defines a set of dependencies among work products that are part of the complete software release. It provides a description of the contents of a specific software work product release, the methods and resources needed to re-create the software work product, known changes, uncorrected problems, as well as differences from the prior software release(s). Use of a template for developing the SVD can ease the initial work load required to develop the baseline SVD.  The recommendation for the content of a Software Version Description document is defined in the SVD section of Topic 7.18 - Documentation Guidance in this Handbook.

The SVD includes the scheme for the identification and classification of software item records and information items and their versions, how to establish baselines, and version identification and control. The release record identifies, tracks, and controls a configuration item at the time a version (including the baseline version) is released. An SVD document for each release lists the items being delivered, including system and software item versions, traceability to specifications or previous releases, what has been changed, known problems, and workarounds. It may include installation or delivery instructions unique to the version described. Version information may come from the software architecture, the software detailed design, and/or the source code. Problem information may come from inspections, bug tracking or the results of static analysis. If a version control system is used, to be effective, it will include the date, time, and size of each software work product. The resulting information from running a checksum algorithm may be included for additional identification and control of the software work product.

Each software release version must have a version number associated with it. A "release" consists of all the components and their associated version numbers. 276 Versioning keeps the changes straight and allows "roll back" to previous versions, if a bug is found later in the software life cycle (see SWE-019). Versioning is part of software configuration management. It involves archiving the source code and keeping previous versions when a new version is entered into the configuration management system. Because an updated SVD document is released with each version of the software, there may be several SVD documents in circulation if different team members are working on different versions of the software work product. Configuration management and control is necessary for all versions to maintain control and to avoid misinformation.

NASA-specific planning information and resources for development of the software version description document are available in Software Processes Across NASA (SPAN), accessible to NASA users from the SPAN tab in this Handbook. 

Additional guidance related to the releasing of the SVD may be found in the work products generated by the following related requirement in this Handbook:

SWE-077

Deliver Software Products

4. Small Projects

No additional guidance is available for small projects.


5. Resources

5.1 Tools

Tools relative to this SWE may be found in the table below. You may wish to reference the Tools Table in this handbook for an evolving list of these and other tools in use at NASA. Note that this table should not be considered all-inclusive, nor is it an endorsement of any particular tool. Check with your Center to see what tools are available to facilitate compliance with this requirement.

Tool nameTypeOwner/SourceLinkDescriptionUser

FactoryTalk® View Studio

COTS

Rockwell Automation

http://www.rockwellautomation.com/rockwellsoftware/products/factorytalk-view-me.page? ...

FactoryTalk View Machine Edition allows for a consistent operator interface across multiple platforms, including PanelView Plus and Windows desktop solutions and consists of: FactoryTalk View Studio: Configuration software for developing and testing HMI applications. FactoryTalk View ME Station: A traditional "stand-alone" HMI solution that provides an integrated operator interface that runs the same HMI application on PanelView™ Plus 7, PanelView™ Plus 6, MobileView™ terminal, Rockwell Automation Industrial Computers, or other industrial PC.

KSC

FactoryTalk® Historian

COTS

Rockwell Automation

http://www.rockwellautomation.com/rockwellsoftware/products/factorytalk-historian.page? ...

FactoryTalk® Historian establishes a reliable foundation for capturing the data you need to improve operations. Powerful reporting and trending tools provide critical insight into performance parameters and are available at high speed and full resolution for any control system or human-machine interface (HMI) software.

KSC

FactoryTalk® Asset Centre

COTS

Rockwell Automation

http://www.rockwellautomation.com/rockwellsoftware/products/factorytalk-assetcentre.page? ...

FactoryTalk® AssetCentre provides you with a centralized tool for securing, managing, versioning, tracking and reporting automation related asset information across your entire facility.

KSC

6. Lessons Learned

A documented lesson from the NASA Lessons Learned database notes the following:

  • Aquarius Reflector Over-Test Incident. Lesson Number 2419.  "The Aquarius reflector was damaged by over-testing during a 2007 test in the JPL acoustic test chamber. The root cause was attributed to a procedural deviation, and the proximate cause was identified as a test control system safing feature that did not activate. This may have been affected by the procedural deviation, but more likely resulted from test control software that had not been updated to the current version. The Aquarius Special Review Board issued a set of recommendations that may help to avoid future over-test incidents 573."
  • No labels