Title: A Comprehensive Approach to Requirements Traceability
1A Comprehensive Approach to Requirements
Traceability
- Susanne A. Sherba
- November 4, 2002
2Overview
- Definitions
- Importance of traceability
- Traceability problems
- Requirements for traceability
- Current tools
- Our approach
- Plan
- Contributions
3Traceability Definitions (I)
Requirements traceability refers to the ability
to describe and follow the life of a requirement
, in both a forwards and backwards direction.
Gotel and Finkelstein, 1994
- Pre-requirements traceability
- Post-requirements traceability
4Traceability Definitions (II)
- A link or definable relationship between
entities. - Watkins and Neal, 1994
An SRS is traceable if the origin of each of its
requirements is clear and if it facilitates the
referencing of each requirement in future
development or enhancement documentation. IEEE
Standard 830-1998
5Importance of Traceability (I)
- Traceability gives essential assistance in
understanding the relationships that exist within
and across software requirements, design, and
implementation. - Palmer, 2000
- You cant manage what you cant trace.
- Watkins and Neal, 1994
6Importance of Traceability (II)
- Often mandated by standards or contracts
- Benefits listed in literature include
- Improved software quality
- Prevention of knowledge loss
- Verification
- Impact analysis and change control
- Monitoring the process
7Problems (I)
- Various stakeholders require different
information - Huge amount of information must be tracked and
maintained - Specialized tools must be used
8Problems (II)
- Heterogeneous artifacts
- Time-consuming and expensive to capture
relationships manually - Difficulties related to tracing generally
revolve around the necessity to manually add
trace elements to requirements documents and
subsequent work products from software
development Palmer, 2000
9Traceability Requirements (I)
- Traceability must be established and recorded for
the entire software life cycle. - The creation and maintenance of traceability
relationships must be automated.
10Traceability Requirements (II)
- Stakeholders must be able to create a view of
traceability relationships based on their
information needs. - It should be possible to create traceability
relationships both during and after artifact
creation.
11Traceability Requirements (III)
- Users should be able to create and view
traceability relationships within the tools they
are accustomed to using.
12Current Approaches
- Database
- Information Retrieval
- Runtime
- Process-Centered
13Our Approach
- Overview
- Hypotheses
- Conceptual Framework
- Implementation
14Approach Overview (I)
- Our focus is on artifacts produced during the
software life cycle, not the life cycle itself.
- Software development is a document-based process
-- each step in the development involves the
preparation, manipulation or verification (in
some sense) of one or more documents. - Welsh and Han, 1994
15Approach Overview (II)
- We address life cycle concerns by providing
support for the specification and capture of
relationships between software artifacts.
- Software documents are logically related to each
other according to the software process. - Han, 1994
16Hypotheses
- Open hypermedia and information integration
techniques can be used to make previously
difficult aspects of the requirements
traceability problem feasible. - A requirements traceability approach based on
open hypermedia and information integration can
help automate the creation of requirements
traceability links to a significant degree.
17Conceptual Framework
- Tool
- Artifact
- Relationship
- Metadata
18Conceptual Traceability Framework
19Open Hypermedia
- Ability to create and view relationships in the
original tools - Relationships displayed at any time
- Representation of complex relationships
- Filtering of relationships
20Information Integration (I)
21Information Integration (II)
- Manipulation of heterogeneous artifacts
- Automated creation of relationships
- Customized views of information space
22Metadata
- Allows users to describe artifacts and
relationships produced during their customized
software development process - Exact structure is still an open issue
23Artifact Metadata
- Name
- Types (Physical and Semantic)
- Versioning
- Keywords
- Translators to apply
- User-defined attributes
24Relationship Metadata
- Name
- Type
- Artifacts involved
- Versioning
- Keywords
- Integrators to apply
- User-defined attributes
25Traceability Services (I)
- Scheduling
- Allows translators and integrators to be invoked
based on set of criteria or turned on and off - Relationship Mapping
- Allows relationship navigation from one artifact
to another - Evolution of Artifacts and Relationships
26Traceability Services (II)
- Registration
- Informs users of current relationships and
artifacts the system knows about - Allows users to register new translators and
integrators - Query
- Provides customized views of the information
space - Export
27Implementation Approach (I)
- To evaluate our approach, we propose to build
- A requirements traceability system that
implements our conceptual framework - A representative set of translators and
integrators
28Requirements Traceability System
- The system will provide the required traceability
services. - A method definition tool will allow users to
define artifact and relationship metadata. - We plan to use Chimera for open hypermedia
services and InfiniTe for information integration
services.
29Prototype Translators and Integrators
- We propose to build a representative set of
translators and integrators to apply to artifacts
of a simulated software development process. - Unified Software Development Process
- Pre-requirements artifacts
- Source code
- Issues
30Tool Integration
- Word Processor
- E-mail
- UML diagramming tool
- Integrated Development Environment (IDE)
- Issue Tracking System
- Version Control System
31Plan
- Evaluation
- Open Issues
- Time Line
32Evaluation (I)
- Create artificial artifacts based on our
simulated software development process - Evaluate effectiveness of services and APIs
33Evaluation (II)
- Evaluate the approach using real world data
- Possible sources
- Simulate real software development process
- Obtain actual industry data
- Data from department projects
34Evaluation (III)
- Evaluate user interface for appropriateness and
ease-of-use - Based on computer science graduate students using
the tool - Task analysis and discount useability techniques
35Open Issues (I)
- Structure of metadata
- Relationship and artifact taxonomies
- Create high-level taxonomies which users can
subclass - Issue of multiple types has not been resolved
- Physical and semantic types for artifacts
36Open Issues (II)
- Versioning
- Only current version recognized
- With respect to the information integration
environment - As maintained by a version control system
37Open Issues (III)
- InfiniTe Version 2.0 (Structure Server)
- InfiniTe Integration
- Software Tool Integration
38Time Line
39Contributions (I)
- We will specify and partially implement a
comprehensive approach to requirements
traceability that addresses gaps in the
state-of-the-art with respect to automation, life
cycle coverage, and heterogeneity of artifacts.
40Contributions (II)
- We will provide an approach for detecting,
evaluating, and viewing system evolution based on
the evolution of artifacts and their
relationships.
41Contributions (III)
- We anticipate that we will expand the techniques
and tools used in the area of information
integration.
42Summary
- Definitions
- Importance of traceability
- Traceability problems
- Requirements for traceability
- Current tools
- Our approach
- Plan
- Contributions
43Questions?
44Additional Background Slides
45A Traceability Reference Model
- Ramesh and Jarke, 2001
- Derived from empirical studies
- Meta model plus two models
- Low-end model
- High-end model
46Traceability Meta Model
47Low-end Traceability Model
48Requirements Management Sub-model
49Process-Centered Requirements Engineering
- Klaus Pohl, 1996
- Traceability capture within a process-centered
engineering environment
50Repository-based Approach for PCEE
51Traceability meta model
52Taxonomy of Dependency Types
53Other Traceability Tools
54TRAM
55ARTS
56TOOR
57ATS
58DOORS
59Rational RequisitePro
60Information Retrieval Tools
61TraceAnalyzer
62Unified Software Development Process