View Only

Pattern: Define and Enforce a Data Model

By Michael Jastram posted 03-06-2019 08:56



Effective traceability needs a data model. If one is defined and enforced, this will result in a consistent, high-quality product description

Also Known as

  • Relationship Model
  • Entity-Relationship-Model (ER-Model)


  • Understand your development artifacts and their relationships
  • Perform automated consistency checks


Use the pattern when you are doing actual development work. You may omit it during the creative phase (e.g. brainstorming)


Define the item types that you anticipate and their relationship. Here is a simple example:

And here is another one for agile development:
Of course, you need a tool environment that allows you to develop your product using these artifacts. Ideally, such a tool environment also performs additional activites that are supported by the traceability between these artifacts (coverage checks, change propagation, impact analysis, etc.)


The pattern has the following benefits and liabilities:

  • Benefits:
    • Clear understanding of the relationships between the artifacts
    • Automatic checks possible
  • Liabilities:
    • Can feel constraining to the team, in particular for creative activities
    • If not enforced, this can become an intangible mess. Not all tools enforce a data model


The pattern can be realized with any modern requirements tool.

Related Patterns