Traceability Analysis
We shall not cease from exploration
And the end of all our exploring
Will be to arrive where we started
And know the place for the first time.
- TS Eliot, Four Quartets
Traceability is a property of an element of documentation or code that indicates the degree to which it can be traced to its origin or "reason for being". Traceability also indicates the ability to establish a predecessor-successor relationship between one work product and another.
A work product is said to be traceable if it can be proved that it complies with its specification. For example, a software design is said to be traceable if it satisfies all the requirements stated in the software requirements specification. Examples of traceability include:
- External source to system requirements
- System requirements to software requirements
- Software requirements to high level design
- High level design to detailed design
- Detailed design to code
- Software requirement to test case.
Traceability analysis is the process of tracking forward or backward through a network of interrelationships between components of a system and their documentation to establish that:
- All the customer's requirements have been satisfied
- No unspecified features have been introduced into the product
- Each work product in the documentation tree complies with its predecessor specification.
The outcome of traceability analysis is typically a traceability matrix. The figure provides an example of the various classes of analysis that can be performed to establish the traceability of a Software Architecture Design Description.
Tracing a Software Architecture Design Description
In this case the four classes of traceability reveal the following insights:
Backward from architecture
- All components of the architectural design satisfy a customer requirement
- No unnecessary architectural components have been added.
Forward to architecture
- All customer requirements have been addressed by one or more architectural components
- No customer requirements have been overlooked.
Backward to architecture
- All detailed design entities implement a component of the architectural design
- No unnecessary detailed design entities have been introduced.
Forward from architecture
- All architectural design components have been implemented with one or more detailed design entities
- All architectural design components have been implemented by the detailed design.
Given the complexity of most software products, traceability matrices are produced with automated tools such as:
Member Comments |
23 Comments |
18 member ratings |
|
✭ ✭ ✭ ✭ ✩
|
|