System Requirements¶
Purpose¶
Propose an alternative to MS Office for technical documentation.
Requirements on Documentation¶
sa7: | Productivity |
---|
The documentation format increases productivity in comparison to MS Office.
s9o: | Community, rj4 |
---|
The documentation format is not new. The documentation format is supported by a large open source community.
s9v: | Traceability |
---|
It is possible to diff a documentation file with the version control system (VCS). Therefore it must be text-based.
scf: | Accessibility |
---|
Tools shall be available for conversion to the following formats
- HTML: to make the documentation viewable over the internet
- PDF: to archive a version and for printing
- DOCX and ODT: to satisfy existing procedures
The tools shall be
- open-source and community supported
- stable
san: | Accessibility, Traceability, hyperlinks |
---|
The documentation items shall be marked by flat and unordered IDs.
Use these IDs to jump to documentation items inside the editor via a keyboard shortcut or a mouse click: hypertext.
Support hyperlinks in the formats the documentation can be converted to.
stq: | Accessibility |
---|
Full text search over all files with regular expressions shall be available from inside the editor for
- source code and
- documentation
sed: | Sustainability |
---|
The documentation can be opened by a normal text editor.
The documentation is easy to read and write in a text editor.
s45: | Formatting vs Content |
---|
Support formatting:
paragraphs, sections with headers
enumerated and bullet lists, footnotes, citations, comments
bold, italic, typeface, hyperlinks
tables, images, figures, code listings, mathematics
The formatting
- is not obtrusive (r9g)
- shall be intuitive
- does not need much learning
Table-like data is stored as text using a format that is
- not too verbose
- easily accessible by scripting (sgt)
sgt: | Redundancy, r1p |
---|
Make it easy to automatically generate parts of documentation
- from source code
- from data
Data shall be usable
- in source code
- in documentation
s0t: | Traceability |
---|
Automatically generate a dependencies file that shows how documentation items are linked. Warn about missing or duplicate targets.
s8c: | Redundancy, r8d |
---|
Provide means to integrate into the documentation
- defines that are also usable in source code
- calculation results
Requirements on Project¶
s10: | Traceability |
---|
The project uses a version control system (VCS) like SVN or GIT.
Documentation history is handled by the VCS. Team members follow changes of documentation on the VCS.
sxr: | Automation |
---|
The project uses a build system.
Creation of documentation is integrated in the build system.
s1g: | Redundancy |
---|
Whenever something is used twice in code and documentation let it be generated from a master copy: constants, defines of structs, …
scs: | Accessibility |
---|
All documentation of concern to development is integrated in the text-based documentation.
- risk analysis / motivation
- specification
- design description
- test plan
- issues
- meeting minutes
- …
sim: | Accessibility |
---|
There is a readme document that informs, where to put and how to find which information.
seo: | r90 |
---|
The developer
- only works and cares about the text sources of documentation
- does not spend time in fixing formatting issues of a generated format
sil: | Parallelism |
---|
Developers can work independently.
This is linked to s10. The VCS needs to enable independent development. A distributed VCS like GIT has advantages in this regard.