5.2.8.1 The Software Version Description shall identify and provide: (SWE-116) a. Full identification of the system and software (e.g., numbers, titles, abbreviations, version numbers, and release numbers). NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement. Classes C through E and Safety Critical are labeled with "P (Center)" and "SO." "P (Center)" means that an approved Center-defined process that meets a non-empty subset of the full requirement can be used to achieve this requirement. "SO" means that the requirement applies only for safety-critical portions of the software. Classes C and D and Not Safety Critical are labeled with "P (Center)." This means that an approved Center-defined process that meets a non-empty subset of the full requirement can be used to achieve this requirement. 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_SC A_NSC B_SC B_NSC C_SC C_NSC D_SC D_NSC E_SC E_NSC F G H Applicable? X P(C) X P(C) X Key: A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable In accordance with section 5.2.8 of NPR 7150.2, "The Software Version Description identifies and describes a software version consisting of one or more CSCI (Computer Software Configuration Item) s (including any open source software). The software version description (SVD) document is used to release, track, and control a software version." In the event that a project needs to analyze an event that happened in the past, an SVD is a concise record of the software that was delivered and executed. The precision and completeness of the data entries called for in the required content assure that the correct software is made available and used in its intended application, whether it is being released to other software team members, testing, integration, or production. The SVD facilitates product implementation, testing, operations, and maintenance. The SVD 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 recreate the software work product, known changes, uncorrected problems, as well as differences from the prior software release(s). Version information may come from the source code. Problem information may come from bug tracking or the results of static analysis. If a version control system is used, it typically includes the date, time, and size of each software work product. The SVD includes a 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 may consist of one or more types of software items. It lists 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. Because an 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 are necessary for all versions to maintain control and to avoid misinformation. See the lessons learned for an example of when configurations were not properly managed. Below are descriptions of the required content for the SVD for class A and class B software, along with examples and guidance for each. Section 1.2 above presents the approaches to consider for the remaining classes of software. Additional guidance related to the content for the SVD may be found in the work products generated by the following related requirements in this Handbook: Release Version Description Software Configuration Management Plan Software Test Plan Software Maintenance Plan Software Data Dictionary Software Design Description Interface Design Description Software User Manual This requirement applies equally to all projects, regardless of size. The project's software configuration management system can assist the developer in identifying software products and documentation that belong to a particular release. Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN. The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider. A documented lesson from the NASA Lessons Learned database notes the following: Take Configuration Management (CM) Measures to Control the Renaming and Reuse of Old Command Files. Lesson Number 1481: The Mars Odyssey mission ran into a version control issue when they discovered an improperly named file call script. It was determined that the team had taken an old Mars Global surveyor file to reuse. The file was renamed, but its code creation time captured in the header was not changed. This caused the system to label the file as an old file. As a result, the operations team had to manually specify the correct file to use, until subsequent code fixes were implemented. 556
See edit history of this section
Post feedback on this section
1. Requirements
b. Executable software (e.g., batch files, command files, data files, or other software needed to install the software on its target computer).
c. Software life-cycle data that defines the software product.
d. Archive and release data.
e. Instructions for building the executable software, including, for example, the instructions and data for compiling and linking and the procedures used for software recovery, software regeneration, testing, or modification.
f. Data integrity checks for the executable object code and source code.
g. Software product files (any files needed to install, build, operate, and maintain the software).
h. Open change requests and or problem reports, including any workarounds.
i. Change requests and/or problem reports implemented in the current software version since the last Software Version Description was published.1.1 Notes
1.2 Applicability Across Classes
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures2. Rationale
3. Guidance
4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-116 - Software Version Description
Web Resources
View this section on the websiteUnknown macro: {page-info}