Establishing default link module

Hi All,

Even though we have been using DOORS for a few years, we started using the links capability of DOORS recently. We have a set of requirements modules and a set of test plan modules. We are establishing links between the requirements to test cases in the test plans modules (many to many).
I want to standardize the default link module for the linksets. If I set up one link module for the entire folder containing the requirement modules, this may grow large enough to cause delay in opening the modules themselves (or will it not? I am not sure). I have approx 25 modules in the requirements folder and each module is expected to have an average of 200 out-links (could be more).
Will someone advise me what would be the best practice? We have just started the process of establishing links and we are using one link module in the folder.
Thanks in advance.

  • Krishna

SystemAdmin - Fri Feb 06 19:22:38 EST 2009

Re: Establishing default link module
GordonWoods - Tue Feb 10 11:19:36 EST 2009

Krishna
You first need to define your data schema.

Test cases will "verify" your requirements so this is a good name for the link module. You only want one link module. Locate this in an admin or link module folder at the project level.

Do not allow the use of the default link module "DOORS links". So make sure you add the default "DOORS links" link module then delete but not purge. -this prevents anyone creating any linksets that are not pre defined according to your schema.

The links are from the test cases to the requirements on the basis that the source will be edit and the target is in read only. You should set up linkset pairings in the test case modules, make the linkset pairings mandatory and only allow links through these linksets.

The number of links is not large so you will not have any performance issues.

Don't forget to use the traceability wizards to make the data in the other linked module available - and use the convert to dxl attribute from the tools -> support tools menu option to improve performance.
I'm amazed that you having been using DOORS for so long without traceability !


Gordon Woods
BAE Systems (Operations) Limited, Warton, UK
gordon.woods2@baesystems.com

Re: Establishing default link module
SystemAdmin - Fri Feb 13 15:37:37 EST 2009

Hi All,

Gordon, thanks for the response.

Yes, we were not utilizing DOORS for traceability (strange, yes) and we are starting the process now.

We have about 35 Req modules in two folders and about 25 Test Plan modules in another folder. This is for one customer. Similar setup exists for other customers on a much smaller scale.

This is what I understand – please correct me if I am wrong –

We create a default “DOORS Links” module for each folder and make it inactive (delete, but not purge). This prevents the automatic creation of a default links module by the users. We establish one links module appropriately named for each folder and designate that module. This will be the default link module set in Tools – Options – Settings in the DOORS Explorer. Now the linksets from the modules in this folder will be in the specified link module.

1. When another folder is opened, the default links module remains unchanged. That means all the linksets for the modules of this folder are in the default links module created in the earlier folder, but not in the named links module for the current folder. To achieve that, the user should remember to change the setting of the default link module.

2. With the Module Properties – Linksets for each module, the dialog box allows the addition of linksets from the current module to the specified target modules and link module. By checking the box below, we do not allow any links outside the linksets specified in the dialog box.

This means:
1.With item 1, the user should ensure that the default link module is set to the specified link module in that folder BEFORE creating links. Otherwise the linkset will be established in the default link module of some other folder.
2.With item 1 and 2, we should first establish all the linksets from each module to the possible target modules and specify the link module as well. If a new linkset is to be created, the user gets the warning. One should go back to the dialog box of Module Properties - Linksets,add the linkset and then proceed again.

In both cases, the users need to be educated about creation of links and the possible mess that can result over a period of time by not following the procedure.

What would be a good practice to follow? Your experiences will help.

  • Krishna

Re: Establishing default link module
GordonWoods - Mon Feb 16 13:05:06 EST 2009

SystemAdmin - Fri Feb 13 15:37:37 EST 2009
Hi All,

Gordon, thanks for the response.

Yes, we were not utilizing DOORS for traceability (strange, yes) and we are starting the process now.

We have about 35 Req modules in two folders and about 25 Test Plan modules in another folder. This is for one customer. Similar setup exists for other customers on a much smaller scale.

This is what I understand – please correct me if I am wrong –

We create a default “DOORS Links” module for each folder and make it inactive (delete, but not purge). This prevents the automatic creation of a default links module by the users. We establish one links module appropriately named for each folder and designate that module. This will be the default link module set in Tools – Options – Settings in the DOORS Explorer. Now the linksets from the modules in this folder will be in the specified link module.

1. When another folder is opened, the default links module remains unchanged. That means all the linksets for the modules of this folder are in the default links module created in the earlier folder, but not in the named links module for the current folder. To achieve that, the user should remember to change the setting of the default link module.

2. With the Module Properties – Linksets for each module, the dialog box allows the addition of linksets from the current module to the specified target modules and link module. By checking the box below, we do not allow any links outside the linksets specified in the dialog box.

This means:
1.With item 1, the user should ensure that the default link module is set to the specified link module in that folder BEFORE creating links. Otherwise the linkset will be established in the default link module of some other folder.
2.With item 1 and 2, we should first establish all the linksets from each module to the possible target modules and specify the link module as well. If a new linkset is to be created, the user gets the warning. One should go back to the dialog box of Module Properties - Linksets,add the linkset and then proceed again.

In both cases, the users need to be educated about creation of links and the possible mess that can result over a period of time by not following the procedure.

What would be a good practice to follow? Your experiences will help.

  • Krishna

Hi Krishna
Almost right. The aim is to enforce everyone to use the link relationships that you, as the database administrator, have set up in DOORS. Unfortunately DOORS does not respect this concept and allows users to create their own pairings using the default link module.

So in order to stop this from happening you have to effectively prevent anyone from creating the default link module. Since DOORS will not allow 2 modules to exist in the same folder with the same name then this is why we create and delete an empty link module with the same name as the default link module.

So to be absolutely clear, the default Link Module, as set in Tools –> Options –> Settings in the DOORS Explorer, is not modified - it remains as "DOORS Links" - and this should never be changed. You then have to create and delete a "DOORS Links" link module in each folder of your database.

Having prevented the user from using the default module, you obviously have to ensure that the correct pairings are created for them by using Module Properties –> Linksets for each source module and then adding the linkset pairings in the link modules.

If you have done the job correctly then the only time a User will ever get a warning message asking to create a linkset is when they are trying to link from an object in the source to another module that you have not specified. Now this may be a valid linking from their perpective - but if you have set the permissions on the link modules correctly then they will not be able to do this linking and will have to come to you to set up the relationship for them.

Hence, control is maintained between the data schema and the physical DOORS implementation.

I hope that this explanation is a bit clearer!


Gordon Woods
BAE Systems (Operations) Limited, Warton, UK
gordon.woods2@baesystems.com

Re: Establishing default link module
SystemAdmin - Mon Feb 16 14:39:30 EST 2009

GordonWoods - Mon Feb 16 13:05:06 EST 2009
Hi Krishna
Almost right. The aim is to enforce everyone to use the link relationships that you, as the database administrator, have set up in DOORS. Unfortunately DOORS does not respect this concept and allows users to create their own pairings using the default link module.

So in order to stop this from happening you have to effectively prevent anyone from creating the default link module. Since DOORS will not allow 2 modules to exist in the same folder with the same name then this is why we create and delete an empty link module with the same name as the default link module.

So to be absolutely clear, the default Link Module, as set in Tools –> Options –> Settings in the DOORS Explorer, is not modified - it remains as "DOORS Links" - and this should never be changed. You then have to create and delete a "DOORS Links" link module in each folder of your database.

Having prevented the user from using the default module, you obviously have to ensure that the correct pairings are created for them by using Module Properties –> Linksets for each source module and then adding the linkset pairings in the link modules.

If you have done the job correctly then the only time a User will ever get a warning message asking to create a linkset is when they are trying to link from an object in the source to another module that you have not specified. Now this may be a valid linking from their perpective - but if you have set the permissions on the link modules correctly then they will not be able to do this linking and will have to come to you to set up the relationship for them.

Hence, control is maintained between the data schema and the physical DOORS implementation.

I hope that this explanation is a bit clearer!


Gordon Woods
BAE Systems (Operations) Limited, Warton, UK
gordon.woods2@baesystems.com

Thanks, Gordon, for the reply.

This is pretty clear now how to establish the link modules and linksets. I should have a session with the users about the logic behind this arrangement.

A couple of more questions:

1. As I see it, I may have to establish a maximum of about six linksets for outgoing links for some modules; for the others, it would be even less. Let us say that I assign one link module for all the modules in the folder and this contains the linksets for all the outgoing links of all the objects in all the modules. That would amount to a large number of linksets in one link module. Is there any limitation to the number of linksets a link module can contain?

2. When a module opens or an object with a link is selected (I am not sure which is the case), the link module opens in the background. Will there be any performance degradation, if a link module contains many linksets ? If we consider a linkset to be an object of a link module, this should not happen because a module can contain a large number of objects. I know that you touched this point in your earlier post, but I would like to assure myself.

Thanks again for useful input.
  • Krishna

Re: Establishing default link module
GordonWoods - Tue Feb 17 04:34:22 EST 2009

SystemAdmin - Mon Feb 16 14:39:30 EST 2009
Thanks, Gordon, for the reply.

This is pretty clear now how to establish the link modules and linksets. I should have a session with the users about the logic behind this arrangement.

A couple of more questions:

1. As I see it, I may have to establish a maximum of about six linksets for outgoing links for some modules; for the others, it would be even less. Let us say that I assign one link module for all the modules in the folder and this contains the linksets for all the outgoing links of all the objects in all the modules. That would amount to a large number of linksets in one link module. Is there any limitation to the number of linksets a link module can contain?

2. When a module opens or an object with a link is selected (I am not sure which is the case), the link module opens in the background. Will there be any performance degradation, if a link module contains many linksets ? If we consider a linkset to be an object of a link module, this should not happen because a module can contain a large number of objects. I know that you touched this point in your earlier post, but I would like to assure myself.

Thanks again for useful input.

  • Krishna

Hi Krishna

1. we have a "Satisifes" link module that contains 172 linksets. I am not aware that there is any limitation.
Remember that the link module should only contain the linkset pairings of the same type of relationship - not all links.

For example

1. System Requirements -> Customer Requirements through satisfies links
2. Software Requirements -> System Requirements through satisfies links
3. Verification Results -> System Requirements through verifies links
4. Verification Results -> Customer Requirements through verifies links

1 and 2 use the same link module; 3 & 4 use a different link module to 1 & 2.

There is no detectable performance degradation when a linkset or even links are added.

When the "linked modules" are opened in background depends on whether the links are incoming or outgoing, and the content of the traceability columns you are displaying.

Performance drivers and mitigations are more likely to be:
1. if the module is set up for sharing so limit to main sections
2. if there has been a lot of changes on the module and the history is extensive. http://This can be improved by regular baselines - if that can be reconciled with the Change Management processes that you have.
3. high use of layout dxl. mitigated by conversion to dxl attribute

Gordon Woods
BAE Systems (Operations) Limited, Warton, UK
gordon.woods2@baesystems.com

Re: Establishing default link module
SystemAdmin - Tue Feb 17 12:10:02 EST 2009

GordonWoods - Tue Feb 17 04:34:22 EST 2009
Hi Krishna

1. we have a "Satisifes" link module that contains 172 linksets. I am not aware that there is any limitation.
Remember that the link module should only contain the linkset pairings of the same type of relationship - not all links.

For example

1. System Requirements -> Customer Requirements through satisfies links
2. Software Requirements -> System Requirements through satisfies links
3. Verification Results -> System Requirements through verifies links
4. Verification Results -> Customer Requirements through verifies links

1 and 2 use the same link module; 3 & 4 use a different link module to 1 & 2.

There is no detectable performance degradation when a linkset or even links are added.

When the "linked modules" are opened in background depends on whether the links are incoming or outgoing, and the content of the traceability columns you are displaying.

Performance drivers and mitigations are more likely to be:
1. if the module is set up for sharing so limit to main sections
2. if there has been a lot of changes on the module and the history is extensive. http://This can be improved by regular baselines - if that can be reconciled with the Change Management processes that you have.
3. high use of layout dxl. mitigated by conversion to dxl attribute


Gordon Woods
BAE Systems (Operations) Limited, Warton, UK
gordon.woods2@baesystems.com

Hi Gordon,

Thanks for the all details you gave me. This is going to help me a lot in setting up the links.

  • Krishna