req#
The req directive captures a system requirement, which can be either functional (defining behavior) or non-functional (defining constraints or quality attributes). Requirements serve as a bridge between user-level expectations and technical implementation.
.. req:: TITLE
:id: req_demo_00001
:status: open
:type_ext: Functional
:reasoning:
:test:
:acceptance:
:refinement: req_demo_00002, req_demo_00003
:satisfy: ftr_demo_00001
CONTENT_BODY
Field Descriptions:
:id:Unique identifier for the requirement. Must match the pattern:req_demo_[0-9]{5,5}.:status:The current status of the requirement (e.g.,open,approved,rejected).:type_ext:Type classification: eitherFunctionalorNonfunctional.:reasoning:(Optional) Rationale or justification for this requirement.:test:(Optional) A brief summary or reference to how this requirement will be tested.:acceptance:(Optional) Criteria that define when the requirement is considered fulfilled.:refinement:(Optional) A comma-separated list of otherreqIDs that refine this requirement.:satisfy:AftrID (or multiple, comma-separated IDs) that this requirement satisfies.CONTENT_BODYA clear and concise description of the requirement, including any relevant context, constraints, or assumptions.
Example:
.. req:: Support export to PNG
:id: req_demo_00001
:status: open
:type_ext: Functional
:reasoning: Users often need static images for documentation.
:test: Diagram renders correctly in PNG format.
:acceptance: Exported image must match visible diagram state.
:satisfy: ftr_demo_00001
The system must allow users to export the currently viewed diagram as a PNG image.