Traceability James D. Palmer Presented by: Megan Heffernan

advertisement
Traceability
James D. Palmer
Presented by: Megan Heffernan
Agenda
•
•
•
•
•
What is traceability?
Why is traceability important?
How is traceability performed?
What tools perform traceability?
What is the future of traceability?
Introduction
• What makes a software project successful?
• Meets stakeholder requirements
• How can this be encouraged?
• Traceability
• Traceability in a nutshell
• Shows forward and backward relationships linking
requirements with design, implementation, test, and
maintenance
• Know reasoning for everything and how to test
Why is Traceability Important?
• Ensures that requirements are met
• Understand relationship between requirements
and the delivered system
• Lowers risk
• Creates an audit trail
• Consistency
• Control
• Change
• Development
• Risk
Problems with Traceability
•
•
•
•
•
Manual process
Viewed by developers as a low priority
Misunderstood
No single modeling method
Poor documentation
When Does Traceability Occur?
• Entire lifecycle!
How is Tracing Performed?
• Client gives developers rough requirements
• Developers create system, hardware, and
software requirements
• Each element is given a unique identifier
• Element – requirement, design attribute, test, etc
• Linkages done manually and managed by a
CASE tool
• Traceability tables are made
• Matrix
Traceability Example
• SRD – System Requirements Document
• High level requirements
• Done by stakeholders
• SS – System Specification
• More detailed requirements
• Developer interpretation
• Segments
• More detailed portions of the SS
• Includes design information
Traceability Example
System Requirements
Document
System Specification
Interface Control
Document
Segment 1
Segment 2
Segment 3
Traceability Example
Traceability Matrix
SRD
SS
Seg 1
Seg 2
3.1.2.1 3.3.4.5 3.2.2.5.6 3.5.3.2
3.3.4.6 3.2.2.5.7
3.4.5.6.2
Seg 3
ICD
3.1.4.6.7
3.1.4.6.8
3.1.4.6.9
3.4.3.1 3.6.7.2 3.5.2.5.1 3.7.4.3.1 3.6.4.5.2 3.3.2.4.5
3.8.4.2
3.7.4.3.2
3.3.2.4.7
Traceability Management
•
•
•
•
Requirements are added/deleted/modified
Impact analysis
Trace changed
Continues through maintenance
Traceability in a Perfect World
• Steps
• Identification of requirements
• Architecture selection
• Classification schema
• Functions, Performance and Security
• Translate into views
•
•
•
•
•
Allocation into schemas
Flow-down to design, code, and test
Entry into traceability database
Linkages
Management
Traceability in the Real World
• Labor Intensive
• Classification schemas are frequently changed
as requirements are allocated
• Ensure that semantics and syntax are correct
Semantics and Syntax
• Semantics required to assure that a trace is
used in context
• Syntax required to assure that a trace goes to a
specific word or phrase
• Manual verification of outcomes
Real World Traceability Workflow
•
•
•
•
•
•
•
•
•
Receipt of requirements documents
Select architecture form to be followed
Select classification schema
Parse document and assign unique numbers
Allocate according to classification scheme
Establish linkages across all requirements
Generate traceability matrices
Maintain traceability linkages in database
Maintain traceability links across entire project
Return on Investment
• Very difficult to measure
• Many factors
• Costs
• Time
• CASE Tools
• Training
• Benefits
• ???
• Only an estimation
• What rework was avoided?
Tools
• CASE Tools
• Characteristics
• Hypertext linking
• Unique identifiers
• Syntactical similarity coefficients
• Problems
• Hypertext linking and syntactical similarity does not consider
context
• Unique identifiers do not show requirement information
• Choosing architecture view and classification schemas will
always be manual
Tools
• DOORS
•
•
•
•
Telelogic
“capture, link, trace, and manage”
For large applications
From the datasheet
•
•
•
•
•
•
Similar look and feel to explorer
Gap analysis for unaddressed requirements
Traceability analysis for identifying areas of risk
Impact analysis reports
Volatility
Traceability by drag and drop
DOORS
DOORS
Tools
• Caliber-RM
• Borland
• From the datasheet
• Centralized repository
• Requirements traceability across the lifecycle
• Impact analysis
CaliberRM
CaliberRM
Future Predictions
• Automation of allocation into architectures and
classification schemas
• Little additional automation seen in current tools
• AIRES (Automated Integrated Requirements
Engineering System)
• Center for Software Systems Engineering at
George Mason University
• Relies heavily of semantics and syntax
Pros/Cons
• Pros
• Clearly reflected traceability importance and need
• Practical workflow
• Cons
• Examples did not reflect lifecycle
• Little practicality with tools
Agenda Revisited
•
•
•
•
•
What is traceability?
Why is traceability important?
How is traceability performed?
What tools perform traceability?
What is the future of traceability?
Questions?
Download