Skip to content

Standard model

The metamodel that workspace.init writes into a new workspace. A workspace can change it; keys never change.

The standard model in the metamodel graph of the app: its types with their properties and the relation kinds between them.

What a stakeholder needs, in their own words. System requirements derive from needs.

  • Short ID prefix: N
  • Meaning: need
  • Properties: title, rationale, topic, source, source-identifier, import-date, delivery, import-version
  • Required: title

A goal a user reaches with the system, step by step. Requirements can refine it.

  • Short ID prefix: UC
  • Properties: title, rationale, source, source-identifier, import-date, delivery, import-version
  • Required: title

What the system must do or be, verified against its acceptance criteria.

  • Short ID prefix: SR
  • Meaning: requirement
  • Properties: title, rationale, requirement-type, acceptance-criteria, validity, packages, emergent, verification-method, statement, source, source-identifier, import-date, delivery, import-version, topic
  • Required: title, requirement-type, acceptance-criteria

A decision with its rationale; requirements are based on it.

  • Short ID prefix: D
  • Properties: title, rationale, source, source-identifier, import-date, delivery, import-version
  • Required: title

A variant of the product. Its requirements replace requirements of the core only through Replaces; Excludes names the core requirements that do not apply in it.

  • Short ID prefix: VAR
  • Meaning: variant
  • Properties: title, source, source-identifier, import-date, delivery, import-version
  • Required: title

A group of elements. System requirements name it in their property Package.

  • Short ID prefix: PKG
  • Meaning: package
  • Properties: title, source, source-identifier, import-date, delivery, import-version
  • Required: title

Short name of the element, shown with its short ID.

  • Kind: text
  • Meaning: title

Why the element exists or is as it is.

  • Kind: text
  • Markdown text.

The kind of requirement.

  • Kind: choice
  • Choices: Functional (functional), Quality (quality), Performance (performance), Interface (interface), Constraint (constraint)
  • Counts to the version of the element.

The conditions under which the requirement is met, one per entry.

  • Kind: text, several values
  • Counts to the version of the element.
  • Markdown text.

The variants the requirement applies to; without validity it belongs to the core and applies to every variant.

  • Kind: relation, several values
  • Target types: variant
  • Meaning: validity
  • Counts to the version of the element.

The packages the element belongs to.

  • Kind: relation, several values
  • Target types: package
  • Meaning: packages

Whether the requirement has emergent behaviour: behaviour that does not follow from its children alone. Such a requirement needs evidence of its own.

  • Kind: choice
  • Choices: Yes (yes), No (no)
  • Meaning: emergent

How the requirement is verified.

  • Kind: choice
  • Choices: Test (test), Analysis (analysis), Inspection (inspection), Demonstration (demonstration)
  • Meaning: verification-method

The supplier’s statement on an imported requirement, exported to the source with reqif export --statements. It does not count to the version; the requirement itself is the element text.

  • Kind: text
  • Meaning: statement

The source the element was imported from.

  • Kind: text
  • Meaning: source

The identifier of the element in its source.

  • Kind: text
  • Meaning: source-identifier

The date of the import.

  • Kind: date
  • Meaning: import-date

The name of the delivery the element was imported from.

  • Kind: text
  • Meaning: delivery

The import version: the version of what the import wrote, right after the last import.

  • Kind: text
  • Meaning: import-version

The topic the element belongs to, as the project names its topics.

  • Kind: text

The source details the target, for example a requirement a need. A chain follows it from need to requirement.

  • Inverse name: Refined by
  • Meaning: derivation

A system requirement derives from a need, a use case or another system requirement. A chain follows it.

  • Inverse name: Derived by
  • From types: system-requirement
  • To types: need, use-case, system-requirement
  • Meaning: derivation

The source is based on a decision.

  • Inverse name: Basis for
  • To types: decision

The source says that it supersedes the target. Superseding an element (element.supersede) also sets the target to an invalid status; the relation alone does not.

  • Inverse name: Superseded by
  • Meaning: succession

A system requirement of a variant replaces one of the core in that variant.

  • Inverse name: Replaced by
  • From types: system-requirement
  • To types: system-requirement
  • Meaning: replacement

A variant excludes a system requirement of the core: it does not apply in that variant.

  • Inverse name: Excluded by
  • From types: variant
  • To types: system-requirement
  • Meaning: exclusion

Being written or changed.

  • The status of a new element.

Agreed and valid.

No longer valid. The element stays visible in the chain.

  • Invalid: the element counts neither for coverage nor for indirect verification.