Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| dido:03-dido-te:99-annexes:annex-c-requirements:start [2026/08/17 11:27] – [Requirement Identifiers] nick_dido | dido:03-dido-te:99-annexes:annex-c-requirements:start [2026/08/19 18:16] (current) – nick_dido | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Annex C contains the canonical requirements register for this specification. | Annex C contains the canonical requirements register for this specification. | ||
| - | The requirements are organized according to defined requirement categories. Each requirement has a stable identifier and resides on a separate | + | The requirements are organized according to defined requirement categories. Each requirement has a stable identifier and resides on a separate |
| + | |||
| + | A requirement page may be a leaf page containing an independently verifiable normative obligation or a non-leaf page organizing subordinate requirements. | ||
| The requirements register distinguishes between: | The requirements register distinguishes between: | ||
| - | * The governance status of a requirement | + | |
| - | * The delivery phase associated with a requirement | + | * The delivery phase associated with a requirement |
| - | * The source and derivation of a requirement | + | * The source and derivation of a requirement |
| - | * The architecture and operational concepts associated with a requirement | + | * The architecture and operational concepts associated with a requirement |
| - | * The ConOps activities associated with a requirement | + | * The ConOps activities associated with a requirement |
| - | * The verification activities used to determine whether a realization satisfies a requirement | + | * The verification activities used to determine whether a realization satisfies a requirement |
| Requirements in this register define required capabilities and constraints without prescribing a particular product, implementation, | Requirements in this register define required capabilities and constraints without prescribing a particular product, implementation, | ||
| Line 27: | Line 29: | ||
| * [[dido: | * [[dido: | ||
| * [[dido: | * [[dido: | ||
| - | |||
| * [[dido: | * [[dido: | ||
| * [[dido: | * [[dido: | ||
| Line 69: | Line 70: | ||
| ^ Prefix ^ Requirement Category ^ | ^ Prefix ^ Requirement Category ^ | ||
| | MO | Mission Objective | | | MO | Mission Objective | | ||
| - | | OR | Operational Requirement | | + | | OPR | Operational Requirement | |
| | ENV | Test Environment Requirement | | | ENV | Test Environment Requirement | | ||
| | NOD | Node Requirement | | | NOD | Node Requirement | | ||
| Line 114: | Line 115: | ||
| A retired or superseded requirement identifier SHALL NOT be reassigned to a different requirement. | A retired or superseded requirement identifier SHALL NOT be reassigned to a different requirement. | ||
| + | |||
| ===== Requirement Decomposition ===== | ===== Requirement Decomposition ===== | ||
| A source requirement may contain multiple independently verifiable obligations. | A source requirement may contain multiple independently verifiable obligations. | ||
| - | Decompose such a requirement into multiple requirements when decomposition improves atomicity, clarity, traceability, | + | A source |
| Derived requirements preserve traceability to the source requirement, | Derived requirements preserve traceability to the source requirement, | ||
| Line 132: | Line 134: | ||
| A requirement may originate from: | A requirement may originate from: | ||
| - | * A source requirement | + | |
| - | * A normative specification or other controlled document | + | * A normative specification or other controlled document |
| - | * A policy or governed constraint | + | * A policy or governed constraint |
| - | * A conceptual or logical model | + | * A conceptual or logical model |
| - | * An architectural decomposition | + | * An architectural decomposition |
| - | * An approved governance determination | + | * An approved governance determination |
| - | * Another requirement | + | * Another requirement |
| Source material may be normalized when necessary to produce an atomic, clear, verifiable requirement. | Source material may be normalized when necessary to produce an atomic, clear, verifiable requirement. | ||
| Line 144: | Line 146: | ||
| Normalization may correct: | Normalization may correct: | ||
| - | * Terminology | + | |
| - | * Grammar | + | * Grammar |
| - | * Active or passive voice | + | * Active or passive voice |
| - | * Normative modality | + | * Normative modality |
| - | * Ambiguous subjects | + | * Ambiguous subjects |
| - | * Compound obligations | + | * Compound obligations |
| - | * Undefined references | + | * Undefined references |
| - | * Implementation-specific wording that is inappropriate at the architectural level | + | * Implementation-specific wording that is inappropriate at the architectural level |
| Normalization SHALL preserve the source' | Normalization SHALL preserve the source' | ||
| - | When a material change in intent | + | The applicable governance process SHALL approve |
| + | |||
| + | Editorial | ||
| ===== Requirement Page Structure ===== | ===== Requirement Page Structure ===== | ||
| Line 161: | Line 165: | ||
| Each requirement page uses the following sections where applicable: | Each requirement page uses the following sections where applicable: | ||
| - | * Statement | + | |
| - | * Source | + | * Source |
| - | * Rationale | + | * Rationale |
| - | * Applies To | + | * Applies To |
| - | * Verification | + | * Verification |
| - | * Traceability | + | * Traceability |
| - | * ConOps Relationship | + | * ConOps Relationship |
| - | * Delivery Phase | + | * Delivery Phase |
| - | * Requirement Status | + | * Requirement Status |
| + | |||
| + | A leaf requirement page contains an independently verifiable normative obligation and therefore includes a '' | ||
| + | |||
| + | A non-leaf requirement page organizes subordinate requirements and does not establish a separate conformance obligation unless explicitly stated otherwise. A non-leaf requirement page therefore normally omits '' | ||
| Additional sections SHALL NOT be added to individual requirement pages merely to duplicate information maintained through backlinks, traceability records, or another authoritative register. | Additional sections SHALL NOT be added to individual requirement pages merely to duplicate information maintained through backlinks, traceability records, or another authoritative register. | ||
| Line 177: | Line 185: | ||
| Requirement statements use the following normative terms: | Requirement statements use the following normative terms: | ||
| - | * **SHALL** identifies a mandatory requirement | + | |
| - | * **SHALL NOT** identifies a mandatory prohibition | + | * **SHALL NOT** identifies a mandatory prohibition |
| - | * **MAY** identifies a permitted capability or action | + | * **MAY** identifies a permitted capability or action |
| - | * **SHOULD** identifies a recommendation when advisory language remains appropriate | + | * **SHOULD** identifies a recommendation when advisory language remains appropriate |
| Normative modal verbs are written in uppercase. | Normative modal verbs are written in uppercase. | ||
| Line 192: | Line 200: | ||
| Requirement review examines characteristics including: | Requirement review examines characteristics including: | ||
| - | * Atomicity | + | |
| - | * Clear identification of the responsible subject | + | * Clear identification of the responsible subject |
| - | * Defined terminology | + | * Defined terminology |
| - | * Appropriate normative modality | + | * Appropriate normative modality |
| - | * Active voice | + | * Active voice |
| - | * Unambiguous scope | + | * Unambiguous scope |
| - | * Verifiability | + | * Verifiability |
| - | * Traceability | + | * Traceability |
| - | * Consistency with related requirements | + | * Consistency with related requirements |
| - | * Absence of unnecessary implementation constraints | + | * Absence of unnecessary implementation constraints |
| - | * Absence of unresolved conflicts or ambiguous precedence | + | * Absence of unresolved conflicts or ambiguous precedence |
| - | Specification | + | Specification |
| - | Common Weakness Enumeration (CWE) analysis may classify confirmed specification | + | The Common |
| - | Automated or AI-assisted analysis may identify, compare, trace, or propose corrections to candidate issues. Automated analysis | + | Automated or AI-assisted analysis may identify, compare, trace, or propose corrections to candidate issues. |
| + | |||
| + | Automated | ||
| A conflict, ambiguity, or unresolved precedence among governed requirements, | A conflict, ambiguity, or unresolved precedence among governed requirements, | ||
| Line 218: | Line 228: | ||
| Possible states include: | Possible states include: | ||
| - | * Draft | + | |
| - | * Proposed | + | * Proposed |
| - | * Approved | + | * Approved |
| - | * Deprecated | + | * Deprecated |
| - | * Superseded | + | * Superseded |
| - | * Withdrawn | + | * Withdrawn |
| Requirement Status describes the requirement' | Requirement Status describes the requirement' | ||
| Line 231: | Line 241: | ||
| Requirements in this annex are product-neutral and may be realized by one or more architectural capabilities, | Requirements in this annex are product-neutral and may be realized by one or more architectural capabilities, | ||
| - | The canonical requirement does not prescribe a specific realization unless such a constraint | + | The canonical requirement does not prescribe a specific realization unless such a constraint |
| - | Maintain realization | + | Traceability records maintain |
| - | For example, requirements in this annex may be realized wholly or partially by: | + | The applicable realization maintains Implementation Status. Implementation Status is not a property of the canonical requirement. |
| - | * Crucible | + | A realization |
| - | * A conforming DevSecOps Reference Architecture | + | |
| - | * A distributed testing capability | + | |
| - | * Another DIDO Solutions capability | + | |
| - | * An external conforming | + | |
| - | The applicable realization, | + | |
| - | + | * Partially Implemented | |
| - | A realization may therefore identify its relationship to a requirement using implementation states such as: | + | * Demonstrated |
| - | + | * Planned | |
| - | * Implemented | + | * Unsupported |
| - | * Partially Implemented | + | * Not Assessed |
| - | * Demonstrated | + | |
| - | * Planned | + | |
| - | * Unsupported | + | |
| - | * Not Assessed | + | |
| Requirement Status and realization-specific Implementation Status remain separate. | Requirement Status and realization-specific Implementation Status remain separate. | ||
| Line 284: | Line 286: | ||
| {{indexmenu> | {{indexmenu> | ||
| - | --- | + | ---- |
| ===== Notes for Editors ===== | ===== Notes for Editors ===== | ||
| - | < | + | < |
| - | < | + | Preserve stable requirement identifiers when moving |
| - | < | + | Do not allocate canonical requirements directly to Crucible, DevSecOps, or another realization within the requirement |
| - | < | + | ---- |
| - | + | ||
| - | --- | + | |
| <WRAP centeralign> | <WRAP centeralign> | ||
| © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc. | © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc. | ||
| </ | </ | ||
| - | |||