Requirement Management tools

Mikail Yayla myayla1245 at gmail.com
Fri Mar 15 10:45:25 UTC 2019


Hello all,

I am helping Sebastian trying out different requirement management tools.
We are currently evaluating doorstop and how well it can be used.

As an example we created a draft of a possible requirements management
document structure in doorstop for the queue creation with
rtems_message_queue_create.
Here is the created document structure: https://depot.tu-dortmund.de/rfek8

In the folder pub there are the automatically generated HTML files of the
requirement documents which can be viewed in the browser. In the rtems
folder are a few source files.  The other folders (header, include, llt,
reqs, source) are for doorstop documents.

I have tried out ProR and Papyrus as well, and in comparison to those two,
getting accustomed to doorstop was much simpler. There are only a few
command line directives, and using them allows creating a decent overview
of the document structure in HTML in a short time.

Here are the pros and cons for doorstop from my view:

Pros:
- Easy to use, either using the command line interface or creating and
editing the document files by hand.
- Automatic generation of the HTML overview. We can work on the requirement
document and see the changes immediately in the HTML using the publish
directive.
- Traceability is enabled by the file structure with fingerprints. When
changes occur in the documents, these fingerprints are changed. The
doorstop files live inside a version controlled folder, so changes can be
traced.
- Markup can be used in the text fields of the document files

Cons:
- It is a bit inconvenient to use a stringent way of naming files. I
stopped using the command line interface and started creating files by hand
because of this. The author also has this issue in this example:
http://jacebrowning.github.io/doorstop/index.html in
http://jacebrowning.github.io/doorstop/REQ.html
- Files can only reference one (source-)file. For links between doorstop
files, when a file has multiple child files, there are problems in the
HTML. Because of this I did not use links between files yet (links are used
to detect changes in the parent, as these could have an influence on the
children)

Possible bugs:
- For the ref field, in the documentation it says doorstop will first
search the file in the ref field (e.g. 'message.h') in the root and its
subdirs, and if no file was found it will search for matches in text files.
However, for INCLUDE001, the file 'rtems.h' is searched first although the
file 'message.h' exists. I'm still trying to find out the issue.
- In the item traceability table, some links disappear, and I haven't found
out yet why. For example, the links for HEADER are now missing. I think it
has to do with creating links between files, in the case when many children
refer to a single mutual parent file.
- Sometimes the HTML has to be cleaned by hand from old HTML files from
documents which were already deleted.

Other Points and ideas to extend doorstop:
- We could try to adapt doorstop such that it accepts reST in the text
fields, then we could use text from the documentation.
- A visualization of the document structure as a graph would be neat
- There is a GUI but it is experimental, can only be used to view the
document.

If you have some other ideas or other things we should try with doorstop,
please let us know.

Here is the summary of the materials:
The paper with some use cases for doortstop:
https://www.researchgate.net/publication/276044183_Doorstop_Text-Based_Requirements_Management_Using_Version_Control
The example from the author:
http://jacebrowning.github.io/doorstop/index.html
Our test example for RTEMS: https://depot.tu-dortmund.de/rfek8

Best,
Mikail

On Wed, Mar 13, 2019 at 1:00 PM Jose Valdez <Jose.Valdez at edisoft.pt> wrote:

> Hello Sebastian,
>
> Thank you for creating this ticket. I believe this will help, since now
> the RTEMS community can contribute with other tools and add other tool
> selection criteria.
>
> Just a note that some selection criteria can be classified as "hard" (that
> means must have or must not have) and other as soft ("desirable" having/not
> having).
>
> I believe that you saw (but devel rtems did not), Andre Ribeiro proposed
> other tools:
> -> http://testlink.org
> ->http://www.eclipse.org/osee
>
> As far as I have seen, they use database, so they cannot be used, but
> maybe I can add them on the report for reference. Also myself take a look
> into another tools. From my research I concluded that almost tools were
> projects that started some years ago, but are deprecated now.
>
> Best regards
>
> José
>
>
> -----Original Message-----
> From: Sebastian Huber [mailto:sebastian.huber at embedded-brains.de]
> Sent: quarta-feira, 13 de março de 2019 06:47
> To: Jose Valdez; devel at rtems.org
> Subject: Re: Requirement Management tools
>
> Hello,
>
> I added a ticket and a wiki page for this topic:
>
> https://devel.rtems.org/ticket/3726
>
> https://devel.rtems.org/wiki/Developer/RequirementsEngineering
>
> --
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone   : +49 89 189 47 41-16
> Fax     : +49 89 189 47 41-09
> E-Mail  : sebastian.huber at embedded-brains.de
> PGP     : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20190315/f8f032c0/attachment-0002.html>


More information about the devel mailing list