This article describes three fundamental approaches to requirements tracing in xtUML. The approaches can be used with requirements-management tools such as DOORS, Jama, ReqTracer, Jira, Bugzilla, and Redmine, or other tools that support requirement identifiers.
Three approaches
-
Embed requirement keys in xtUML models using BridgePoint. Add the requirement identifier to the Description field of relevant model elements. A requirements-tracing tool can find these keys in the textual files of persisted BridgePoint models. This is straightforward, but requires manual editing.
-
Add xtUML model keys to the requirements in the tracing tool. BridgePoint model elements have identifiers, including automatically generated UUIDs and fully qualified paths. These identifiers can be extracted and linked to requirements in the tracing tool, allowing it to correlate model elements with requirements.
-
Associate requirement keys with configuration-management commits. Associate requirement identifiers with a feature branch, then supply the relevant key with each commit to models, code, or documentation. This can provide a consistent trace from a requirement to all affected artifacts, including model elements, hand-written code, and design notes.
The third approach was the author’s preference because it links each source-artifact change to the requirement that initiated it, for both features and bug fixes.
Other tracing tools may correlate artifacts in additional ways. The right approach depends on the goals of the traceability effort and the team’s existing development workflow.
Historical note: this article reflects practices and tool references from November 2019. Review the current capabilities of any named tool before adopting a workflow.