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 Segment 1 Segment 2 Segment 3 Interface Control Document
Traceability Example Traceability Matrix SRDSSSeg 1Seg 2Seg 3ICD
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
Tools Caliber-RM Borland From the datasheet Centralized repository Requirements traceability across the lifecycle Impact analysis
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?