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?