I can create links from one module to another, but what is the prefered direction, and why? On the last project I worked on, links went in all directions, depending on who created which link. Is there a standard?
In the project I am just starting, I have a module with a direct import of the proposed requirements and another module with a direct import of the list of modifications called out in the contract. Many of the statements either flow to separate requirements or have requirements that span several statements. I plan to create a module with one requirement per object, and link these back to the appropriate statements in the other two modules. Once that is done, I can add in the V&V.
Brian
Hamilton_Sundstrand - Mon Mar 30 16:44:44 EDT 2009 |
|
Re: Choice of Link Direction Ron_Lewis - Mon Mar 30 18:01:26 EDT 2009
Most project use a reverse chronological order. This happens because usually highler level documents are created first and they then usually have restricted edit priviledges while lower level documents have edit priviledges to junior level engineers that create the lower level documents.
Another way to say this is: link go from bottom of a hierarchial structure to top.
|
|
Re: Choice of Link Direction Hamilton_Sundstrand - Mon Mar 30 18:21:46 EDT 2009 Ron_Lewis - Mon Mar 30 18:01:26 EDT 2009
Most project use a reverse chronological order. This happens because usually highler level documents are created first and they then usually have restricted edit priviledges while lower level documents have edit priviledges to junior level engineers that create the lower level documents.
Another way to say this is: link go from bottom of a hierarchial structure to top.
Thanks! This makes perfect sense.
Brian
|
|
Re: Choice of Link Direction sammyc - Mon Mar 30 18:34:35 EDT 2009
Here are some possible sources to help you decide further:
http://docs.huihoo.com/development/rup/traceability.htm
http://www.ibm.com/developerworks/rational/library/feb07/behrens/
|
|
Re: Choice of Link Direction llandale - Tue Mar 31 12:06:46 EDT 2009
There are three sometimes conflicting considerations
[1] The source module of the link must be editable to create the links; meaning the person responsible for creating them needs Edit access to the module. Since often 'finished' higher level specifications are locked down leaving 'unfinished' lower level ones and unlocked, linking lower level to higher level often is required to support configuration management.
[2] The verbiage of the relationship decides the direction of the links. If you are linking 'tests' with 'requirements', then the link should go from test to requirement if the link means 'tests', and the link should go from requirements to tests if the link means 'tested by'.
[3] The object that decides that a relationship should exist should be the one that sources the links. If I am referencing a diagram in another spec, clearly the link should Target the diagram. If I am satisfying a parent requirement, clearly links go lower to higher level specs. In the case of 'tests' and 'requirements', almost certainly the Requirement does not decide which 'test' is appropriate for it; rather each 'test' decides which 'requirement' it tests, suggesting that links go from Tests to Requirements. Generally, a higher level specs will 'Allocate' each requirement to some lower level SPEC but not to any specific lower level object; and each lower level object will 'Satisfy' higher level objects. Thus, the lower level object decides the relationship.
All three considerations lean heavily toward linking from lower level specs to higher level specs.
A reasonable argument I've seen for linking higher level to lower level is when the owner of the higher level specs is writing some portion of the lower level spec, and the links mean 'Justifies'. The parent not only decides which portion of their requirements each lower level spec must satisfy, they also decide exactly how. Another argument is to create the lower level using the exact verbiage of the higher level spec and link DOWN to those raw requirements meaning 'Needs To Be Satisfied'. When the lower level owner evaluates each such raw requirement and often creates a few more detailed requirements from it, the new requirements link up and 'Satisfies' the parent. One measure of progress is the lowering number of Downward links; eventually it should be zero.
>Louie
|
|
Re: Choice of Link Direction Tony_Goodman - Thu Apr 02 03:31:29 EDT 2009 llandale - Tue Mar 31 12:06:46 EDT 2009
There are three sometimes conflicting considerations
[1] The source module of the link must be editable to create the links; meaning the person responsible for creating them needs Edit access to the module. Since often 'finished' higher level specifications are locked down leaving 'unfinished' lower level ones and unlocked, linking lower level to higher level often is required to support configuration management.
[2] The verbiage of the relationship decides the direction of the links. If you are linking 'tests' with 'requirements', then the link should go from test to requirement if the link means 'tests', and the link should go from requirements to tests if the link means 'tested by'.
[3] The object that decides that a relationship should exist should be the one that sources the links. If I am referencing a diagram in another spec, clearly the link should Target the diagram. If I am satisfying a parent requirement, clearly links go lower to higher level specs. In the case of 'tests' and 'requirements', almost certainly the Requirement does not decide which 'test' is appropriate for it; rather each 'test' decides which 'requirement' it tests, suggesting that links go from Tests to Requirements. Generally, a higher level specs will 'Allocate' each requirement to some lower level SPEC but not to any specific lower level object; and each lower level object will 'Satisfy' higher level objects. Thus, the lower level object decides the relationship.
All three considerations lean heavily toward linking from lower level specs to higher level specs.
A reasonable argument I've seen for linking higher level to lower level is when the owner of the higher level specs is writing some portion of the lower level spec, and the links mean 'Justifies'. The parent not only decides which portion of their requirements each lower level spec must satisfy, they also decide exactly how. Another argument is to create the lower level using the exact verbiage of the higher level spec and link DOWN to those raw requirements meaning 'Needs To Be Satisfied'. When the lower level owner evaluates each such raw requirement and often creates a few more detailed requirements from it, the new requirements link up and 'Satisfies' the parent. One measure of progress is the lowering number of Downward links; eventually it should be zero.
>Louie
Hamilton, I would recommend the following:
1. Create a soft-deleted "DOORS Links" module in every folder. This prevents links being created in the default link module.
2. Setup linkset pairing for all your modules and nmake them mandatory.
Then users can only create links in the direction and to the targets that you have specified. Saves loads of work later.
|
|
Re: Choice of Link Direction Miamc - Fri Apr 17 09:15:17 EDT 2009 Tony_Goodman - Thu Apr 02 03:31:29 EDT 2009
Hamilton, I would recommend the following:
1. Create a soft-deleted "DOORS Links" module in every folder. This prevents links being created in the default link module.
2. Setup linkset pairing for all your modules and nmake them mandatory.
Then users can only create links in the direction and to the targets that you have specified. Saves loads of work later.
Hear, hear!
If your links go every direction you might as well not have them at all.
We use the bottom-up approach with named link modules in each folder for link type ("satisfies," "conforms to," etc.). Requirements satisfy use case steps and conform to business rules. If a requirement in one project conforms to a rule in another, the link goes through the module that's part of the requirement's project (not the rule's project). All linksets are mandatory and cannot be overridden.
I'm not certain that the different flavors of link module is really doing anything for us at this time, but I expect that as our req model grows it will become helpful. And when we're setting up new projects that don't fit our standard, it's very helpful to talk through the types of links we're considering, just to see if we're all on the same page and all understand what it is we're trying to document.
|
|
Re: Choice of Link Direction Tony_Goodman - Mon Apr 20 03:19:13 EDT 2009 Miamc - Fri Apr 17 09:15:17 EDT 2009
Hear, hear!
If your links go every direction you might as well not have them at all.
We use the bottom-up approach with named link modules in each folder for link type ("satisfies," "conforms to," etc.). Requirements satisfy use case steps and conform to business rules. If a requirement in one project conforms to a rule in another, the link goes through the module that's part of the requirement's project (not the rule's project). All linksets are mandatory and cannot be overridden.
I'm not certain that the different flavors of link module is really doing anything for us at this time, but I expect that as our req model grows it will become helpful. And when we're setting up new projects that don't fit our standard, it's very helpful to talk through the types of links we're considering, just to see if we're all on the same page and all understand what it is we're trying to document.
Yes, use different flavours of link modules to represent different relationships between the data. This is helpful when you are analysing traceability as you can filter on link type.
Stick to a simple naming convention for your link modules, for example always name the link module from the point of view of the source module. i.e. use "satisfies" rather than "is satisfied by".
|
|