-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implementation concept for "mapped" documents to address the multi-parent problem #569
base: develop
Are you sure you want to change the base?
Conversation
mapped documents address the problem of "multi parent" docs by "mapping" requirements from one document to another. The target document must pick them up so that at least on back link exist, but no mandatory back link from each child requirement is needed (as in a normal parent-child doc relationship)
Codecov Report
@@ Coverage Diff @@
## develop #569 +/- ##
===========================================
- Coverage 95.43% 95.14% -0.29%
===========================================
Files 35 35
Lines 4618 4658 +40
Branches 880 924 +44
===========================================
+ Hits 4407 4432 +25
- Misses 129 139 +10
- Partials 82 87 +5
Continue to review full report at Codecov.
|
@jacebrowning could you please have a look? or let me know who else can help with driving this forward. |
@ckolumbus I'd recommend pulling in folks from the relevant issues to see if this approach will work for their respective industries. |
I already asked there, not much feedback so far .... but I'll try to get some more input on the process aspect👍 From your side any implementation or concept feedback? |
Hi @ckolumbus , here is feedback from someone who is the author of a similar tool. The problem that you are solving is very clear to me and it makes complete sense: by making your TRA document's StrictDoc does not implement this feature yet but I would definitely consider doing it at some point if there was a need. Here are my thoughts:
|
Everything good here from my point of view, looking forward at wider adoption in FuSa relevant design processes with this addition. |
@stanislaw could you maybe provide some more details on the expected behavior of the "multi-parent" mode. AFAIU according to the existing doorstop tracing philosophy every child requirement would need to trace to at least one requirement in each of the parent docs. Is this the expected behavior? I'm working in a medical multi-system environment with strict tracing requirements, but I've not seen this specific use case in our process. What we rather have is that higher level documents assign specific (==individual) requirements to (sub-)systems. So the 'mapped_to' concept is actually executed on a per-requirement basis, not of full document scop. But again, I believe this is not what you have in mind. |
This PR implements the notion of a "mapped" document which addresses (to some extend) the multi-parent problem.
I'm coming from a medical device software development environment and have similar requirements as mentioned in #509 . 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:
doorstop
is, that in for normal trace EVERY requirement in a child document needs to trace to a parent req, unless it is derived. Here it is more saying: "no matter what you do elsewhere in the mapped document, you need to pick up all my requirements at least somewhere". This loosens the tight tracing requirements that would break with multi-parent approach.If the assumptions are above are valid, then the implementation sketch looks like this
mapped_to
attribute and validate whether all items from this document are actually picked up by the "mapped_to" document(s). It's not checked, as in the normal case, whether every child document requirement will have a link to this "mapped" parentMain effort is in the
item_validator
. In addition, a new attribute on document level has been introduced ( and because i need it for something else, also a general "custom attribute" feature similar to items).All existing tests are working fine, no tests for the new implementation exist yet. Please review and if this would be a candiate for integration into the upstream repo then the tests and doc updates follow.
Addresses aspects of: #309 #509