Reqflow is a free and open-source tool for traceability of requirements across documents, designed to analyse documents with speed and efficiency.
No screenshot, but an example: reqReport.html
Build From Source :
git clone https://github.com/goeb/reqflow.git
cd reqflow
./configure
make
cd test && ../reqflow stat -s
Latest stable:
Previous versions:
Usage: 1. reqflow <command> [<options>] [<args>]
2. reqflow <config-file>
1. reqflow <command> [<options>] [<args>]
Commands:
stat [doc ...] Print the status of requirements in all documents or the
given documents. Without additionnal option, only
unresolved coverage issues are reported.
-s Print a one-line summary for each document.
-v Print the status of all requirements.
Status codes:
'U' Uncovered
trac [doc ...] Print the traceability matrix of the requirements
(A covered by B).
[-r] Print the reverse traceability matrix (A covers B).
[-x <fmt>] Select export format: text (default), csv, html.
If format 'html' is chosen, -r is ignored, as both foward
and reverse traceability matrices are displayed.
review Print the requirements with their text.
[-f | -r] Print also traceability (forward or backward)
[-x <fmt>] Choose format: txt, csv.
config Print the list of configured documents.
debug <file> Dump text extracted from file (debug purpose).
regex <pattern> [<text>]
Test regex given by <pattern> applied on <text>.
If <text> is omitted, then the text is read from stdin.
version
help
Options:
-c <config> Select configuration file. Defaults to 'conf.req'.
-o <file> Output to file instead of stdout.
Not supported for commands 'config', debug' and 'regex'.
2. reqflow <config>
This is equivalent to:
reqflow trac -c <config> -x html -o <outfile> && start <outfile>
Purpose: This usage is suitable for double-cliking on the config file.
Note: <config> must be different from the commands of use case 1.
conf.req
# document <document-id> -path <document-path> -req <pattern> \
# [-stop-after <pattern>] [-ref <pattern>] [-start-after <pattern>] \
# [-nocov]
#
# <pattern> must be a Perl Compatible Regular Expression (PCRE)
# -req indicates how the requirements must be captured
# -ref indicates how the referenced requirements must be captured
#
# Keyword 'define' may be used to define values:
#
# define PATH
# document x -path PATH/x.txt
# document y -path PATH/y.txt
document SPEC -path SPEC.docx -req REQ_[-a-zA-Z0-9_]* -stop-after Annex
document TEST -path TEST.txt \
-req T_[-a-zA-Z0-9_]* \
-ref "Ref: *(.*)" \
-stop-after "Annex" \
-start-after "Tests cases" \
-nocov -sort alphanum
# CSS for HTML output (optional)
htmlcss style.css
A configuration file contains directives:
document
: document to be analysed (at least 1)define
: expression that can be reused within the configuration file (zero or more)htmlcss
: CSS file to be used for HTML output (zero or one)General syntax:
\
)\
)define
Define a variable.
Syntax:
define NAME PATTERN
Example:
define ALPHANUM [-a-zA-Z0-9_]
document X -path /path/to/x -req REQ_ALPHANUM
document
Start a document description.
Syntax:
document NAME PARAMETERS ...
Parameters:
-end-req
Indicate the end of the text of a requirement. This is used when you run reqflow review
. Note that the capture of requirements identifiers takes precedence over this option: a requirement id will automatically put an end to the text of the previous requirement.
-nocov
Do not report uncovered requirements (useful for-top level documents).
-path
Path to the file.
-ref
Pattern for capturing references identifiers (regular expression).
-prefix-req
Add this prefix to captured requirements to obtain the final requirements identifiers (useful to avoid conflicts when different documents use the same requirements identifiers)
-req
Pattern for capturing requirements identifiers (regular expression).
-sort
Sort method when listing requirements: document
(same order as the are in the document) or alphanum
(alphanumeric order).
-start-after
Start capturing requirements after this pattern (regular expression).
-stop-after
Stop capturing requirements after this pattern (regular expression).
-type
Type of the document, overriding the file extension. One of: txt
, docx
, odt
, xml
, pdf
.
htmlcss
Indicate a CSS file for HTML output (generated with command-line option -x html
).
Example:
htmlcss style.css
Generated HTML:
<link href="style.css" rel="stylesheet" type="text/css"/>
If no htmlcss
is given, a default embedded CSS stylesheet is used.
Environment variables can be inserted in the configuration file, using a dollar sign ($) prefix.
Example:
document SPEC -path $DOCUMENT -req REQ_[-a-zA-Z0-9_]*
# or
document SPEC -path ${DOCUMENT} -req REQ_[-a-zA-Z0-9_]*
The Windows release includes these as static libraries.
Reqflow Copyright (C) 2014 Frederic Hoerni
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.