DOORS Tips: Link Modules
Hazel Woodcock 270002KYG8 Comments (2) Visits (16412)
I often get asked about setting up Rational DOORS by new users.
This is all basic, and very easy once you are familiar with the tool, but we never seem to point out the basics - not just DOORS, not just software, at some point in your life you suddenly find there are things that you should just know! If you have tips to share, not just on tools, but on process too, add an entry to this blog.
Traceability is managed in DOORS with Link Modules. By default you can't see these in the database explorer, but if you use the View menu then you can show them.
What Link Modules do I need?
If you are new to this, put the name of each of your formal modules on a sticky note and arrange them on a large whiteboard. Try to keep the data that is created earliest in the project to the left and to the top, so stakeholder requirements go top left, testing goes over to the right. Draw a line between any two sticky notes where there is a traceability relationship. Put an arrow on the line so that it is pointing towards the earlier data. Now make a sentence describing the relationship. The verb is the name of the link module. For example; test verifies requirement, requirement satisfies requirement, requirement mitigates risk. Use the full sentence as the description for the link module.
It is usually good to have just one 'satisfies' module for each project, and just one 'verifies' module for each project. I typically create a folder in the project named 'Admin' and put all the link modules in there.
How do I make sure the right link module is used?
If you create a link between two objects in formal modules, you don't get a choice of link module - so you have to set up in advance what will be used. If nothing is defined then a default module called DOORS Links will be created. From the formal module at the start of the link look at the module properties and manage the linksets. Here you can define which link module will be used when linking to any other formal module. Add all the allowable relationships and then check the box to make sure only these pairings are used. This prevents users from creating links to irrelevant modules, or from creating links in the wrong direction. If this option is greyed out, then either you are not in exclusive edit mode, or you don't have sufficient powers as a user - talk to your database admin people.
Do I really have to do this every time?
Yes, and no. There is no default traceability model, but if you create a project with all the traceability and attributes and views, but with no data, you can copy that project and use it as the starting point for all your projects. If you want an advanced solution then you can write DXL scripts to set all this up, but that code will need to be tested an maintained.
How do I see the traceability?
Once you have set all the relationships up, and created some links, you can see the link indicators on the objects in the formal modules and you can navigate to the other end of the link. If you want to see the traceability easily then use the Analysis -> Wizard to create a column showing the data at the other end of the link. We only created one 'satisfies' link module for the project so that when you use the analysis wizard you can do recursive analysis to look at the traceability through multiple levels of the project. Once you have the data you want, save the view so that it is easily usable again.
btw, why do I link 'backwards'?
There are two key reasons why we link from the later information to the earlier.
1. You need write access at the start of the link and the older information may be a baseline which is write protected.
2. The link can only be made once the later piece of information is added. Ideally the link is created at the time the data is created. The creator of the later information uses drag and drop to create a link to the earlier information. It is only recently that we have had the option to create links in either direction with this drag and drop feature, it used to be Make link from start only.
3. We like it this way, seasoned DOORS users all do the same thing, we draw the relationships on paper this way and it marks us out as members of the DOORS users 'club' :-)
Hazel Woodcock, IBM, The postings here are my own and don't necessarily represent IBM's positions, strategies or opinions.