Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the...

23
Tracing CS4310 Fall 2012

Transcript of Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the...

Page 1: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing

CS4310

Fall 2012

Page 2: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

What is Requirements Traceability?

• The ability to describe and follow the life of a requirement throughout the system lifecycle, in both forward and backward directions.

Page 3: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

DoD Std 21267A• The document in question contains or implements all

applicable stipulations of the predecessor document• A given term, acronym, or abbreviation means the

same thing in all documents• A given item or concept is referred to by the same

name or description in the documents• All material in the successor document has its basis in

the predecessor document, that is no untraceable material has been introduced

• The two documents do not contradict one another

Page 4: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Artifacts• Pairs: What artifacts can be used for

tracing, 3 minutes. Think of the following stages:

• Elicitation

• Specification

• Construction

Page 5: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Artifacts• Elicitation

– Interview report– Requirement specification– Memos, conversations, email

• Specification– SRS

• Construction– Design models– Code– Test plan

Page 6: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing

• An SRS is traceable if it is written to facilitate referencing individual requirements.

Page 7: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing

• An SRS is traceable if it is written to facilitate referencing individual requirements.

• Take some feature of design and map it through the SRS to the source of the requirement.

Page 8: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing

• An SRS is traceable if it is written to facilitate referencing individual requirements.

• Take some feature of design and map it through the SRS to the source of the requirement.

• How: careful and complete numbering of the sections and elements of the SRS.

Page 9: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing

• An SRS is traceable if it is written to facilitate referencing individual requirements.

• Take some feature of design and map it through the SRS to the source of the requirement.

• How: careful and complete numbering of the sections and elements of the SRS.

• An SRS is traced if a flow up path can be identified between a requirement in the SRS and system level requirements in a statement of need or some other artifact (email, meeting notes, etc).

Page 10: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing

• For any feature of the deliverable,

– Trace to its initial source

– Trace to its ultimate implementation

Page 11: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Types of tracing

• Pairs: Name four types of tracing

Page 12: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Types of tracing

• A. Forward from requirements

• B. Backward to requirements

• C. Forward to requirements

• D. Backward from requirements

1. 2.

3. 4.SRS

C. A.

D. B.ELICITATIONARTIFACTS

CONSTRUCTIONARTIFACTS

Page 13: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Benefits• V&V

• Align business needs with software being developed

• Reduce risk by capturing knowledge vital to project success

• Determine impact of change to requirements

• Support process improvement

• Conflict detection and resolution

Page 14: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Tracing helps QA/QC

• everything must be verified

• goals of verification– results may not be binary– verification may be objective or subjective

Page 15: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

When?

• Continuously.– Initially

• Interview, prototype

– Elaboration• Architecture

– Construction• Unit testing, verification

– Maintenance

Page 16: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Secrets

• Trace continuously

• Understand why traceability is important

• Have a strategy

Page 17: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Problems

• It’s hard to do: manual links

• Benefits frequently not seen until later

• Difficult to measure return on investment

Page 18: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Requirements Management

• Requirements management is the set of activities that help the project team to identify, control, and track requirements and changes to requirements at any time as the project proceeds.

• Requirements management begins with the identification of requirements.

Page 19: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Requirements Management- Identification

• Each requirement is assigned a unique identify that might take the form:– <artifact-identifier><internal-identifier>

• artifact-identifier: code that identifies the artifact.– e.g., FR for Feasibility Report, SRS for Software

Requirements Specification, IR for Interview Report, M11-10-03 for Memoranda dated 11/10/2005.

• internal-identifier: code that references a section, a requirements number, or some other part of the document. – The internal identifier should allow someone to locate the

information easily. 

Page 20: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Traceability Tables

• Possible types of traceability tables include:– Features traceability table

– Source traceability table

– Dependency traceability table

– Subsystem traceability table

– Interface traceability table

Page 21: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Traceability Tables

• Features traceability table: - Shows how requirements relate to important

customer observable system/product features.

• Source traceability table: - Identifies the source of each requirement.

• Dependency traceability table: - Indicates how requirements are related to one

another.

Page 22: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Traceability Tables

• Subsystem traceability table: - Categorizes requirements by the

subsystem(s) that they govern.

• Interface traceability table: - Shows how requirements related to both

internal and external system interfaces.

Page 23: Tracing CS4310 Fall 2012. What is Requirements Traceability? The ability to describe and follow the life of a requirement throughout the system lifecycle,

Source Traceability

SRS Requirements

IR Proto Memo 1 … … Artifact n

req1

req2 x x

x x

x

x

… x x x

reqn x

Sources