1. Introduction
StrictDoc is software for writing technical requirements and specifications.
Summary of StrictDoc features:
- The documentation files are stored as human-readable text files.
- A simple domain-specific language DSL is used for writing the documents. The text format for encoding this language is called SDoc (strict-doc).
- StrictDoc reads *.sdoc files and builds an in-memory representation of the document tree.
- From this in-memory representation, StrictDoc can generate the documentation into a number of formats including HTML, RST, ReqIF, PDF, Excel.
- The focus of the tool is modeling requirements and specifications documents. Such documents consist of multiple statements like "system X shall do Y" called requirements.
- The requirements can be linked together to form the relationships, such as "parent-child", and from these connections, many useful features, such as Requirements Traceability and Documentation Coverage, can be derived.
- Requirements to source files traceability (experimental). See Traceability between requirements and source code.
- Custom grammar and custom fields support. The StrictDoc's grammar can be extended to support arbitrary special fields, such as PRIORITY, OWNER, or even more specialized fields, such as Automotive Safety Integrity Level (ASIL) or Verification method. See Custom grammars.
- Good performance of the textX parser and parallelized incremental generation of documents: generation of document trees with up to 2000-3000 requirements into HTML pages stays within a few seconds. From the second run, only changed documents are regenerated. Further performance tuning should be possible.
See the Backlog to get an idea of the overall project direction.