v0.4.1/spec.txt
v0.4.2/spec.txt
f1      Identify requirements within plain-text specificationsf1      Identify requirements within plain-text specifications
22
3Status of This Memo3Status of This Memo
44
5This document is not an Internet Standards Track specification; it is5This document is not an Internet Standards Track specification; it is
6published for examination, experimental implementation, and6published for examination, experimental implementation, and
7evaluation.7evaluation.
88
9Abstract9Abstract
1010
11Plain-text specifications are readable and many follow [RFC 2119]11Plain-text specifications are readable and many follow [RFC 2119]
12when phrasing requirements.  This specification introduces a syntax12when phrasing requirements.  This specification introduces a syntax
13to augment such requirements with identifiers for easy reference.13to augment such requirements with identifiers for easy reference.
1414
15§1 Introduction15§1 Introduction
1616
17Being able to reference a requirement within a large document aids17Being able to reference a requirement within a large document aids
n18many stakeholders within projects.  Author and reviewer while then18many stakeholders.  Author and reviewer while the specification is
19specification is being written and discussed.  The developer during19being written and discussed.  The developer during implementation and
20implementation and testing.  Customer while accepting the final20testing.  Customer while accepting the final product.
21product.
2221
23A test suite could e.g. use the wording of a requirement verbatim if22A test suite could e.g. use the wording of a requirement verbatim if
24it fails, by parsing the referenced requirement.  Having a way to23it fails, by parsing the referenced requirement.  Having a way to
25easily index all requirements and reference them elsewhere keeps the24easily index all requirements and reference them elsewhere keeps the
26requirements at it's source.25requirements at it's source.
2726
28§1.2 Requirements27§1.2 Requirements
2928
30The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",29The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
31"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this30"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
32document are to be interpreted as described in [RFC 2119].31document are to be interpreted as described in [RFC 2119].
3332
34§2 Requirement Identifier Syntax33§2 Requirement Identifier Syntax
3534
36Requirement identifiers MUST(R1) be placed directly after keywords as35Requirement identifiers MUST(R1) be placed directly after keywords as
37defined by [RFC 2119].  Requirement identifiers SHOULD(R2) be written36defined by [RFC 2119].  Requirement identifiers SHOULD(R2) be written
38within parenthesis and start with 'R' followed by a number.  This37within parenthesis and start with 'R' followed by a number.  This
39combination is less likely to conflict with normal wording and use of38combination is less likely to conflict with normal wording and use of
40parenthesis within a document.  Requirement identifiers MUST(R3) be39parenthesis within a document.  Requirement identifiers MUST(R3) be
41unique within one specification.40unique within one specification.
4241
43Example;42Example;
4443
45    "... MUST NOT(R1) .." ok44    "... MUST NOT(R1) .." ok
nn45    "... SHOULD\nNOT(R1)" ok, keyword split over two lines
46 
47the following examples are wrong
48 
46    "... SHOULD ..."      missing identifier49    "... SHOULD ..."     missing identifier
47    "... MAY (R1) ..."    error spacing after keyword50    "... MAY (R1) ..."   spacing after keyword
48    "... SHOULD\nNOT(R1)" ok when keyword split over two lines51    "... MAY\n(R1) ..."  new line between keyword and identifier
52 
4953
5054
51It is RECOMMENDED(R4) that authors do not use identifier series for55It is RECOMMENDED(R4) that authors do not use identifier series for
52grouping, e.g. identifiers within the R100 series are used for56grouping, e.g. identifiers within the R100 series are used for
53feature X and R200 series for feature Y.  It is also RECOMMENDED(R5)57feature X and R200 series for feature Y.  It is also RECOMMENDED(R5)
t54that authors not change identifiers for one requirement over time.t58that authors not change identifiers for one requirement once a
55This is however likely to happen more during authoring and reviewing59specification is published.  This is however likely to happen during
56phase but should be avoided once a specification is published.60authoring and reviewing phase.  Assign identifiers late in the
61process.
5762
5863
5964
60[RFC 2119]: https://www.ietf.org/rfc/rfc211965[RFC 2119]: https://www.ietf.org/rfc/rfc2119
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op