melexis / sphinx-traceability-extension

Traceability extension for Sphinx documentation generator
GNU General Public License v3.0
25 stars 9 forks source link

Traceability matrix of more than 3 item links? #347

Closed passeris closed 1 year ago

passeris commented 1 year ago

I need a traceability table that shows the following:

requirement -> component -> component test -> detailed design -> unit test

Is this even possible for a single table? I have seen that the :intermediate: option will give you 3 columns but I would like to see a trace from requirement down to units.

Letme commented 1 year ago

You would have at least 2 matrixes (with intermediate) for this kind of table. If you add coverage option to each then you ensure that everything is covered as it should be.

I think this longer chain is a feature request, so maybe it would be cool to define it completely so that whoever picks it up can do exactly what you need. This will take quite some build time to generate since it needs to go through many iterations to get to the last regexp/link.

passeris commented 1 year ago

Two tables would be a good solution for now then. After all those are two different levels of design.

What about the tree option?

SwSRS :realized_by: SWCD SWCD :validated_by: CT SWCD :impacts_on: SWDD SWDD :validated_by: UT

A requirement (SwSRS) is realized by a component design (SWCD) which is validated by a component test (CT) and impacts on detailed design (SWDD) which is validated by a unit test (UT)

Letme commented 1 year ago

The item-tree option (see description extract) would show you the whole chain indeed. Might be too much for the browser to handle since it is loading it with a javascript (well actually it is closing it), but all should be there.

if there is a type relationship (type is a space-separated list of relationships), it gets added as a one-level-deeper item in the nested bullet list. This action is repeated recursively.

passeris commented 1 year ago

The tree solution might work afterall.

grafik

I will try it out on the larger set of requirement to see how the performance is. Thanks for the quick support.

passeris commented 1 year ago

I see what you mean now with the browser problems. With 750 requirements it takes some time to load. And it looks like going back from a previous page will also trigger a reload of the page.

Looks like the table option is better in this case.