bannera

Book A.
Introduction

Book B.
7150 Requirements Guidance

Book C.
Topics

Tools,
References, & Terms

SPAN
(NASA Only)

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
{note}This page is under development and will be ready for review on the morning on March 1st, 2011 for the NSWG F2F{note}

{tabsetup}

{html}

<div {div:class="demo">

<div }
{div2:id="tabs">tabs}
{html}
	<ul>
		<li><a href="#tabs-1">Nunc tincidunt</a></li>
		<li><a href="#tabs-2">Proin dolor</a></li>
		<li><a href="#tabs-3">Aenean lacinia</a></li>
	</ul>
	<div {html}
{div3:id="tabs-1">}
dafdf
	</div>
	<div id="asdfdd
{div3}

{div3:id=tabs-2">}
fdsafdas
	</div>
	<div id="asdf
{div3}

{div3:id=tabs-3">}
fdasfdas
	</div>
</div>

</div><!-- End demo -->asdfd
{div3}

{div2}
{div}



{html}

{html}

<ul id="flowtabs">
	<li><a id="t1" href="#player_tab">The Player</a></li>
	<li><a id="t2" href="#plugins_tab">Plugins</a></li>
	<li><a id="t3" href="#streaming_tab">Streaming</a></li>

</ul>

{html}

{div2:id=flowpanes}

{html}<br clear="all" />{html}

{div}

h2. Requirements

2.4.2 The project shall plan the software validation activities, methods, environments, and criteria for the project.

h3. Notes

Software validation is a software engineering activity that shows confirmation that the software product, as provided (or as it will be provided), fulfills its intended use in its intended environment. In other words, validation ensures that "you built the right thing." Examples of validation methods include but are not limited to: formal reviews, prototype demonstrations, functional demonstrations, software testing, software peer reviews/inspections of software product component, behavior in a simulated environment, acceptance testing against mathematical models, analyses, and operational environment demonstrations. Refer to the software plan requirements for software validation planning and incorporation (NPR 7150.2A, Chapter 5).

h3. Implementation Notes from Appendix D

Class D non-Safety Critical and Class G are labeled with "P(Center)".  This means that local requirements or procedures describe validation planning sufficiently to meet the intent of this requirement.

h3. Applicability Across Classes

This requirement applies to all classes and safety criticalities except:
* Class E and not Safety Critical
* Class H

{html}<br clear="all" />{html}
{div}

{div}

h2. Rationale

Planning should be applied to any activity that is to be repeated, that needs to be verified before use, and that requires thought before implementation. Planning the requirements validation activity allows the project team to put more thought into tasks, methods, environments, and related criteria before they are implemented. Planning also allows a current project to improve based on lessons learned from previous projects, including using more appropriate or efficient techniques and ensuring the completeness of all steps in the process.
Having a plan also allows the requirements validation activity to be reviewed, improved, and verified before it is implemented to ensure the outcome will meet the expectations and goals of the validation activity.  Planning also helps to ensure the validation activity is cost-efficient and timely.

h2. Guidance

The basic validation process is shown below with the steps addressed by this requirement highlighted:
\\
Validation activities should not be performed in an ad hoc manner, but should be planned and captured in a validation plan document.  The validation plan is typically part of a verification and validation (V&V) plan, a software V&V plan (SVVP), or is included in the Software Management / Development Plan (SMP/SDP).
The plan should cover the validation activities that will occur at various times in the development lifecycle including:
* During requirements development, validation is accomplished by bringing in the customer and outside people for a review of the requirements, e.g., focus groups, requirements reviews, etc.
* During design, validation occurs when the customers have a chance to view prototypes of the product or pieces of the product, e.g., focus groups, user groups, etc.
* During implementation, validation occurs when team members review software components for adherence to requirements, e.g., peer reviews/inspections.
* Prior to delivery, validation occurs when customers see the completed product function in a nearly operational environment, e.g., acceptance testing, operational demonstrations, etc.
* During product use, validation occurs when the product is used in the operational environment in the way the customer expects it to be used.

The project team should review the plan and validation results at various lifecycle reviews, particularly whenever requirements change throughout the duration of the project.  Any identified issues should be captured in problem reports / change requests / action items and resolved before the requirements are used as the basis for development activities.
The validation plan will address more than just validation of software requirements.  It should include a schedule, especially if stakeholder reviews are required to complete the validation activities and gain agreement that the requirements are a correct and acceptable description of the system or software to be implemented. Other elements to include in the overall plan:
* Scope
* Approach
* Resources
* Specific tasks and activities
* Validation methods and criteria ({color:#4f81bd}SWE-102{color})
* Identification of work products to be validated ({color:#4f81bd}SWE-102{color})
* Identification of where validation records and corrective actions will be captured ({color:#4f81bd}SWE-102{color})

The Scope and Approach sections of the plan should identify the project and define the purpose and goals of the plan including responsibilities, assumptions, and a summary of the efforts described in the plan.
Resources include personnel, environments such as simulators, facilities, tools, etc. and should include any skills and/or training necessary for those resources to carry out the validation activities.
When developing the validation plan, consider the following for inclusion:
* Identifying the key functions and/or components that require validation (based on criticality, safety, security, etc.)
* Identifying the validation methods, techniques, tests to carry out the validation activities for components as well as the system as a whole (see {color:#4f81bd}SWE-055{color})
* Identifying criteria by which success will be measured for each validation activity
* Establishing the target environment (which could be a high fidelity simulation) for validating the software or system, including validation of tools used in those environments
* Identifying how the results will be documented and reported, when and to whom they will be reported (see {color:#4f81bd}SWE-031{color})
* Issue resolution (capture and tracking to closure) for issues or findings identified during validation activities (could be as simple as using the project configuration management process) (see {color:#4f81bd}SWE-031{color})
* Identifying validation activities, as applicable, to occur during the various lifecycle phases
* Re-validation plans to accommodate changes as the system is developed
* Method for obtaining customer approval of the validation plan, if applicable

If not part of the team developing the validation plan, Software Assurance should be part of the plan's review team to ensure the plan meets all assurance requirements.
See also related requirements in this handbook:
| *SWE-031* | Validation results |
| *SWE-055* | Requirements validation |
| *SWE-102* | Software development/management plan |

h2. Small Projects

There is no information applicable to this section.

{html}<br clear="all" />{html}
{div}

{div}

h2. Resources

# Software Management Plan / Product Plan (SMP/PP) For Class A, B & C Software (Verification and Validation section), 580-TM-033-02, GSFC, [http://software.gsfc.nasa.gov/AssetsApproved/PA1.2.6.1.doc|http://software.gsfc.nasa.gov/AssetsApproved/PA1.2.6.1.doc]
# IEEE Standard for Software Verification and Validation. Chapter 7., IEEE Std 1012-2004
# IEEE Guide for Software Verification and Validation Plans. IEEE Std 1059-1993
# [How to Develop A Software Validation Plan|http://www.effectivearticlemarketing.com/how-to-develop-a-software-validation-plan/], O'Keeffe, August 2010
# [FSW Testbed Validation Description|http://software.gsfc.nasa.gov/AssetsApproved/PA2.5.1.3.2.doc], 582-2008-006, Version 1, GSFC, 2008
# [The CMMi easy button presentation of CMMi -- Validation (VAL)|http://www.software-quality-assurance.org/cmmi-validation.html], Software Quality Assurance.org
# [Reference Information for the Software Verification and Validation Process|http://hissa.ncsl.nist.gov/HHRFdata/Artifacts/ITLdoc/234/val-proc.html], NIST Special Publication 500-234, 1996

\\

h3. Tools

[Software Verification and Validation Plan (SVVP) Template|http://www.cs.txstate.edu/~js55/SVVPLAN.pdf] (based on IEEE standards), Texas State University Computer Science Department, 2001
\\

h3. Lessons Learned

There are currently no Lessons Learned listed for this requirement.
{div}{div2}