Pattern: Define and Enforce a Data Model

By Michael posted 03-06-2019 11:56

  

Intent

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)

Motivation

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

Applicability

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

Structure

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.)

Consequences

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

Implementation

The pattern can be realized with any modern requirements tool.

Related Patterns

0 comments
11 views