[core.req] Requirement¶ ↑
{{ parent: core }} The System shall provide the Requirement
entity.
[core.req.data] Requirement data¶ ↑
The System shall provide the following data elements for Requirement
entity:
Name | Type | M | Description :——— | —————— | - | :————————————- id | String | Y | Unique requirement identifier title | String | Y | Requirement title attributes | Hash | N | Requirement attributes body | Text | Y | Requirement body parent | Reference | N | Reference to parent requirement object items | Array | N | Array of child requirement entities
[core.req.file] Reading requirement from a file¶ ↑
The System shall provide the ability to read Requirement from the formatted Markdown file. An example of this formatted Markdown file is provided below.
# [<requirement id>] <requirement title> {{ <attribute1>: value1 <attribute2>: value2 }} <body> ## [<child requirement id>] <child requirement title> <child requirement body
[core.req.file.attr] Attributes excerpt¶ ↑
The System shall parse section {{ }}
as the hash of requirement attributes. Attributes section might follow (the section is optional) the header section. The header section might be separated from attributes section by an empty line or a line of spaces.
[core.req.file.attr.key] Key and Value¶ ↑
The System shall support attribute keys written as a sequence of [a-z,A-Z,._]
characters finished by a colon :
and followed by a space. The remainder of the line must be determined as attribute value.
[core.req.file.attr.sys] System attributes¶ ↑
The System shall support the following list of system attributes. This attributes must be interpreted in a special way.
Attribute | Value | Description :———- | :—- | ————————————————– parent | [id] | Reference to parent requirement suppress_id | true | Suppress output of the requirement id in header while creating a document. child_order | text | Order of child requirements while creating a document.
[core.req.file.struct] Headers structure¶ ↑
The System shall parse at least three levels of markdown headers structure. Headers with low level and its paragraphs must be parsed as child requirements and placed into the appropriate items
array of its parent requirement.