A repository contains a graph of elements connected by relationships; traceability is the ability to explore this graph from a particular starting point in any direction. Modelers commonly think of traceability as just applying to requirements, and the ability to find which elements in the model realize (implement) the requirements; the term is, however, much broader than this and can be applied to any model element. The requirements, for example, could be traced to stakeholders, which in turn could be traced to a set of drivers and goals, and these could be traced to a set of regulatory constraints. Enterprise Architect provides flexible and expressive features that help you to explore and traverse this graph of connections, including the Traceability window and the Relationship Matrix. Enterprise Architect extends the UML by allowing users to trace between model features such as attributes and operations, which is a handy mechanism for the analyst.
Enterprise Architect provides a number of tools for tracing the definition and implementation of a process, from initial requirement to generated code or technical deployment, or vice versa. Such tools include the:
- Traceability window, also displayed as the 'Trace' tab of the Inspector window
- Relationship Matrix
- Gap Analysis Matrix
- Relationships window
- Browser window, and
- Traceability diagrams
The Traceability window, in particular, is designed to provide very detailed information on an element's relationships and dependencies, both immediate and distant.
If you have performed any transformations in developing your model and code, Enterprise Architect automatically creates Transformation Dependency connectors that you can trace - using the Traceability window - to establish what objects and code have been generated from each PSM element, or what the initial PSM element was for a generated object.
Whether you use transformations or develop the stages of the model in other ways, you can build up a range of Traceability diagrams (Custom diagrams) to identify the development pathway and the dependencies between entities such as Requirements, Use Cases, Classes, Packages, Test Cases and other model Artifacts, or even between these entities and the overall business process model.