Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • 0.1.1
  • 0.1.0
3 results

requirements-manager

  • Clone with SSH
  • Clone with HTTPS
  • Volker Schukai's avatar
    46f8f1f4
    History

    Requirements Manager

    This tool helps to manage requirements written in Markdown.

    Install

    Reqman is a binary file that must be stored in a directory. The files can be found here.

    For Linux, the execution bit must still be set.

    chmod u+x reqman

    Commands

    The date format for the output can be specified with the parameter --date-format. The format can be looked up in the first column of the table below.

    Layout Java notation C notation Notes
    2006-01-02 yyyy-MM-dd %F ISO 8601
    20060102 yyyyMMdd %Y%m%d ISO 8601
    January 02, 2006 MMMM dd, yyyy %B %d, %Y
    02 January 2006 dd MMMM yyyy %d %B %Y
    02-Jan-2006 dd-MMM-yyyy %d-%b-%Y
    01/02/06 MM/dd/yy %D US
    01/02/2006 MM/dd/yyyy %m/%d/%Y US
    010206 MMddyy %m%d%y US
    Jan-02-06 MMM-dd-yy %b-%d-%y US
    Jan-02-2006 MMM-dd-yyyy %b-%d-%Y US
    06 yy %y
    Mon EEE %a
    Monday EEEE %A
    Jan-06 MMM-yy %b-%y

    Help

    There is help on the command line for each individual command.

    reqman --help

    New Requiremants

    A new request can be created with the following command.

    reqman requirements add --id 1425

    A completely new file with a structure is created. The --id 1425 is both the file name and the ID of the request.

    All available fields are listed in the new file.

    Output a PDF

    A pdf can be created using the following command:

    reqman overview \
           print \
           --path=requirement/documents   \
           --column=ID \
           --column=Title  \
           --template=template/schukai.md  \
           --latex-template-path=requirement/template/schukai.latex \
           --output=report.pdf \
           --format=pdf

    In this case the markdown files in the path requirement/documents are read.

    A table with all requirements is created in the file and the two columns ID and Title are used. Additional columns can be added using additional options --column.

    File template/schukai.md is used as a template.

    The LaTeX template requirement/template/schukai.latex is used for the design of the pdf.

    The output format is PDF and the filename of the pdf document is report.pdf.

    You can use a complete directory or a subdirectory as the path.

    Output of the tasks

    reqman tasks print --path=examples/

    The output is then of the type:

    AUFGABE BIS ERLEDIGT DATEI
    das ist das erste todo 1 ./req1/001-1425.md

    Output of the items

    reqman requirements print --path examples/ --column ID --column Title 

    The output is then of the type:

    ID TITEL
    A1 My requirement

    More columns can be added with --column.

    Output of privacy

    reqman privacy print --path=example/ 

    Output of requirements

    reqman requirements print --path=example/ --column=ID --column=

    The output is then of the type:

    ID GRUPPE NAME TYP BESCHREIBUNG BIS ERLEDIGT AM VON DATEI
    23423-Beistellung1 A1 Beistellung eines Bildes Bild Großes Logo 2022-12-12 2022-12-01 Me ./req1/002/002-01.md

    Output changelog

    reqman changelog print --path=example/ 

    The output is then of the type:

    ### 01.05.2022
    
    - Requirement (R2)
    
    ### 24.01.2022
    
    - Requirement (R1)
    

    Output report

    requirements report --grouped-by ID 

    This command produces two tables:

    Anforderung Gesch TIME SPENT
    ID1 40 1
    ID2 40 1
    ID3 40 1
    ID4 40 1
    ID5 40 2
    ID6 40 2
    ID7 40 2
    ID8 40 2
    ID9 40 2
    ID10 40 2
    ID11 40 3
    ID12 40 3
    ID13 40 3
    ID14 40 3
    ID15 40 3
    ID16 40 3
    ID17 40 3
    ID18 40 4
    ID19 40 4
    ID20 40 4
    ID21 40 4
    ID22 40 5
    ID23 40 5
    ID24 40 6
    ID25 40 6
    1. Groups all estimates and adds up the estimate and the booked times. This allows you to see how much time you have spent.
    KEY PLANNED VALUE TIME SPENT RATIO
    ID1 1000 75h0m0s 7.50
    1. This table shows for each plan value the hours needed, the mean, the variance and the standard deviation.
    PLAN VALUE TIME SPENT MEAN VARIANCE STANDARD DEVIATION
    40 75h0m0s 3.00 2.08 1.44

    On average, we needed 3 hours in the example. However, we needed 6 hours for 2 requirements.

    The variance, or standard deviation, gives us a measure of how accurate we are. The smaller the standard deviation, the better.

    So what decision can we derive? If a new requirement is estimated at 40, the hours offered should be between 3 and 5.

    Structure

    The Text

    The individual requirements are Markdown files with integrated YAML structure. The YAML structure must be introduced with --- and closed with ....

    The data from the YAML block can be integrated in the text via placeholders.

    For example, the following statement can be used to include the items within the document.

    {{ if .Items }}
    **Items**
    
    | ID                 | Name         |        Delivery until |                              Provided on |
    |--------------------|--------------|----------------------:|-----------------------------------------:|
    {{ range .Items 
     }}| {{ .ID }} | {{ .Name }} | {{ .DeliveryUntil.Format "02.Jan" }} | {{ .ProvidedOn.Format "02.Jan"  }} | 
    {{ end }}
    
    {{ end }}

    If the PDF function is used, LaTeX commands can also be included in the text. For example, the LaTex instruction `/newline' leads to a line break.

    Latex

    Individual LaTeX commands can be looked up here: