What is Traceability?
There are many definitions of software traceability; however we define it as "the ability to interrelate any uniquely identifiable software engineering artifact to any other, maintain required links over time, and use the resulting network to answer questions of both the software product and its development process."
Navigable links must be created between artifacts that are otherwise disconnected. Establishing these links can enable a better evaluation of a system. (Is the system doing what it was built to do?)
Traceability helps to determine whether or not a given system is doing its job.
Example: Every system that you design has what are called requirements. These are the things that the system needs to be able to do. For example, Facebook needs to have mechanisms for people to post, and then for people to see others' posts and leave comments. The program controlling the temperature in an isolette in a hospital must have a Thermostat that sets its temperature. This would be listed as a system requirement. We'll call this system requirement 1, or SR1.
SR1: The thermostat must set the value of the heat control.
Here are some more system requirements:
SR2: The thermostat function must set the value of the operator feedback (What does that mean)
SR3: The isolette shall include an independent Thermostat Function that maintains the current temperature within the desired temperature range inside the isolette. (Note: this requirement is derived from SR1.)
SR4: An independent monitor function shall activate an alarm within 5 seconds whenever the current temperature inside the Isolette falls below or rises above the Alarm temperature range. (Derived)
SR5: An alarm shall sound when the current temperature is flagged as invalid. (Derived)
What are the things that could go wrong in such a system? In this case, the isolette could have the wrong temperature, and expose the infant to unsafe heat or cold. We'll identify this as Hazard 1, or H1. This hazard is the result of a system requirement that has not been met, in this case SR4. (SR5?)
Components of Traceability
Trace Artifact: units of data that are amenable to being traced. Often, what constitutes an artifact (the project as a whole? Some element of the project?) is not predetermined, which makes traceability within the project more challenging.
Source Artifact: Where the trace starts.
Trace: The data in question.
Target Artifact: Where the data ends up.
Tracing is often done ad-hoc, after the fact. Since it can be costly to make a system exhaustively traceable, it must be determined what the needs are of the system or stakeholder: what information needs to be tracked?
MediaWiki has been successfully installed.
Consult the User's Guide for information on using the wiki software.