doorstop-dev / doorstop

Requirements management using version control.
https://doorstop.readthedocs.io
Other
465 stars 126 forks source link

Doorstep and ISO 26262 / EN 61508 #509

Open stefanoco opened 3 years ago

stefanoco commented 3 years ago

Also relates to #309 I'm willing to start a discussion about using doorstop in the context of Functional Safety concerned developments according to mentioned norms. Any experience about this?

jmvillalba commented 3 years ago

We are using doorstop in this context. It's usefull to maintain traceability.

But it's necessary to know the limitations of the tool.

One of the limitations that I miss the most is: being able to have several parent documents. Also, when you change an item, it prompts you to check the traceability upwards, but not downwards.

stefanoco commented 3 years ago

Maybe Doorstop will develop in the direction of easy and simple usability, without bothering too much about the peculiar needs of FUSA concerned env, while the similar StrictDoc will evolve more into a FUSA tool? As far as I can see, StrictDoc solves exactly these limitations you mention here

fkromer commented 2 years ago

In the past I had to use several tools w.r.t. requirement engineering. One pain point overlooked quite often is interoperability with other tools. Usually requirements of a single compontent need to get into the context of some bigger system. This means the tool you use has to support at least the export of requirements in commonly agreed on requirement interoperability standards which will differ dependent on the domain I guess. @stefanoco Thanks for letting us know about StrictDoc.

ckolumbus commented 2 years ago

I do have a proposal for solving the "multi-parent" problem. I'm coming from a medical device software development environment and have similar requirements as mentioned above. We are using Caliber for most of the requirements and the idea is derived from how we define traces there. It depends on what exactly you need to achieve, but please read on and comment on the proposal

Context:

If the assumptions are above are valid, then a possible implementation sketch can look like this

  1. let's define a document that holds the TRA: normal document dependencies, could be a child doc of Feature_Req
  2. configure an "map_to" attribute in the TRA document that lists the documents that need to pick up all the requirements from the TRA, in our case this would list "SW_Req"
  3. as a sanity check we could make sure that the mapped document is neither a parent of a child of the current document (direct or indirect, to avoid trace loops)
  4. when validating document we can check for the existence of the map_to attribute and validate whether all items from this document are actually picked up by the "mapped_to" document(s). we will not, as in the normal case, check whether every child document requirement will have a link to this "mapped" parent

The implementation should be quite easy. we would need a hard-coded or flexible way to configure attributes on document level (maybe a new feature like extended attributes for documents, similar to those for items) and one more validation rule for the case described above.

ckolumbus commented 2 years ago

example implementation is now avail according to the feature description above

ckolumbus commented 2 years ago

@stefanoco I've implemented a suggestion in pr #569 , maybe you you review the proposal to see whether this would fit your needs.

stefanoco commented 2 years ago

Sure @ckolumbus I'm doing now thanks!

mumbricht commented 6 months ago

In addition to these more technical issues, a concern we are having in adopting Doorstop is the implementation of the ReqIF interchange format, the standard interchange used by Doors and others. In our case, we need a ReqIF output or adapter to plug into our MBSE tool, Capella.

Has the use of ReqIF for an export format been investigated? Are there non-obvious technical challenges, or could we make a prototype and send it in as a pull request?