Inah Omoronyia
Requirements Specification and Testing
Part 1
Institutt for datateknikk og
informasjonsvitenskap
Lecture 3
Requirements traceability
Outcome:
1.
Understand the meaning of requirements traceability
2.
Understand the challenges of requirements traceability
3.
Insight into different traceability meta-‐models
4.
Approaches to requirements traceability
Requirements traceability
What is requirements traceability
“Requirements traceability refers to the ability
to describe and follow the life of a
requirement, in both a forwards and
backwards direction, i.e. from its origins,
through its development and specification, to
its subsequent deployment and use, and
through periods of on-‐going refinement and
iteration in any of these phases.”
Requirements traceability
“Why?”
Traceability Goals (I):
•
Project Management
–
Status: “When will we finish?” and “what will it cost?”
–
Quality: “How close are we to our requirements?”
–
Improve Quality: “What can we do better?”
•
Change Management
–
Versioning, documentation of changes (Why? What?
When?)
–
Change Impact analysis
•
Reuse
–
Variants and product families
Requirements traceability
“Why?”
Traceability Goals (II):
•
Validation
–
finding and removing conflicts between requirements
–
completeness of requirements
•
derived requirements cover higher level requirements
•
each requirement is covered by part of the product
•
Verification
–
assure that all requirements are fulfilled
•
System Inspection
–
identify alternatives and compromises
•
Certification/Audits
Requirements traceability
Requirements traceability
Habitat of Traceability Links:
Requirements traceability
Challenges of requirements traceability:
–
Traces have to be identified and recorded among numerous, heterogeneous
entity instances (document, models, code, . . . ). It is challenging to create
meaningful relationships in such a complex context.
–
Traces are in a constant state of flux since they may change whenever
requirements or other development artefacts change.
–
A variety of tool support
•
based on traceability matrix, hyperlink and identifiers.
•
still manual with little automation
–
Incomplete trace information is a reality due to complex trace acquisition and
maintenance.
–
Trust is a big issue: lack of quality attribute
•
There is no use of the information that 70% of trace links are accurate
Requirements traceability
Challenges of requirements traceability:
Different stakeholders usage viewpoint (different questions asked by different
stakeholders):
• Project management:
– “how close are we to our requirements” and “what can we do better” to improve quality.
• Change management
– Tracking down the effect of each change to each involved component that might require
adaptations to the change, recertification or just retesting to proof functionality.
• Reuse:
– Pointing out those aspects of a reused component that need to be adapted to the new
system requirements.
– Even the requirements themselves can be targeted for reuse.
• Validation:
– Traceabilility can be used as a pointer to the quality of requirements:
• Completeness, ambiguity, correctness/noise, inconsistency, forward referencing,
opacity
– Ensures that every requirement has been targeted by at least one part of the product
• Verification
– Checking that constraints are not violated (in most cases this is an extension of validation
context)
• Certification/Audit
Requirements traceability
Traceability meta-models:
•
A model is an abstrac0on of phenomena in the real world; a
metamodel is yet another abstrac0on, highligh0ng proper0es
of the model itself.
•
Meta-‐models for traceability are o<en used as the basis for
the different traceability methodologies and frameworks:
–
Define what type of artefacts should be traced.
–
Define what type of rela0ons could be established between these
artefacts.
Requirements traceability
Traceability meta-models:
European EMPRESS project: Meta model for
requirements traceability
Requirements traceability
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
–
critical tasks in requirements traceability:
•
establish links between requirements and between
requirements and other artefacts.
–
Manual linking and maintaining of such links is time
consuming and error prone
–
Focus is on requirements traceability through (semi-‐)
automatic link generation or through prioritization of
links.
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
Classical traceability methods
-‐ the simplest form of traceability
–
requirements traceability matrices, hypertext,
cross referencing
schemes
–
Use of excel very common
•
Issues:
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
Scenario driven traceability method
–
•
Test-‐based approach to uncover relations amongst requirements, design
and code artefacts (Alexander Egyed )
•
Accomplished by observing the runtime behavior of test scenarios.
•
IBM Rational PureCoverage, open source tool
(org.jmonde.debug.Trace)
•
Translate this behavior into a graph structure to indicate
Requirements traceability
Approaches to requirements traceability
Execution Paths (footprints) of
Scenario driven approach: List of Video on demand VOD Requirements
• Overlapping between r6 and r1 suggest some trace
dependency between the two requirements. • No overlapping between r6 and r2 suggest no
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
Scenario driven traceability method
–
•
Issues:
–
Semi-‐automated but requires enormous amount of 0me from system
engineers to itera0vely iden0fy a subset of test scenarios and how they
related to requirement artefacts.
–
Requirements that are not related due to non matching execu0on paths
might be related in some other form (e.g calling, data dependency,
implementa0on paJern similarity, etc).
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
Information retrieval (IR) methods
–
•
Based on the similarity of terms across requirements
and artefacts.
•
vector-space model
•
probabilistic network model
Requirements traceability
Approaches to requirements traceability: IR method
r5 r2 r4 r1 r9 r3 r6 r0 r7
•
Outcome closely correspond with scenario based
approach
– Possible trace dependency between r6 and r1
– Lesser likelihood of dependency between r6 and r2
•
Further more, IR approach suggest dependency b/w r6
and r8, r3, r0, r9.
Terms /Requirements matrix for VOD system
r8
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
Information retrieval (IR) methods
–
•
Issues:
–
Further inves0ga0on needed by a stakeholder to accept the proposed links
–
The accuracy (precision and recall) depends on the underlying processes
Requirements traceability
Approaches to requirements traceability
•
Creating trace links:
Event based Requirements
Tracing
– Automated harvesting
of trace links based on
navigations and influence
across the collaboration space.
(Omoronyia et.al)
–
Identification of single point of
failure
–
Experience instances
•
Issues
:
-
Highly reliant on capturing
navigation patterns within a
development platform
Requirements traceability
Conclusion
•
Requirements traceability is an important aspect of requirements
management
•
Stakeholders have different traceability information needs
•
Traceability can be complex for not trivial projects
•
Traceability meta-models provide insight on the type of traceability
information required for a project
•
There exist different automated approaches for requirements