Search code examples
ibm-doors

Doors, creating link from one baseline to another baseline


I am using Doors 9.6.1 and DXL scripting.

Consider Module A and Module B, I would like to link objects in a baseline of Module A to a baseline of Module B.


I tried the following, consider this Scenario 1:

Baseline 1.0 of Module B is generated, and links are created from actual Module A to Baseline 1.0 of Module B, the outgoing links from actual Module A link to Baseline 1.0 of Module B and the outgoing links from Baseline 1.0 of Module B link to actual Module A.

I generate Baseline 1.0 of Module A, and the links remain the same, in the actual module I delete the objects, but then links from Baseline 1.0 of Module B are broken because they point to links in actual Module A, I was hoping that when generating Baseline 1.0 of Module A, the incoming links would be updated to link to the objects in Baseline 1.0 of Module A, rather than to the objects in actual Module A.


I also tried the following, consider this Scenario 2:

I generate Baseline 1.0 of Module A and Baseline 1.0 of Module B attempting to create the links afterwards, but it is not possible in Doors to create links between baselines.


Hopefully I managed to explain it properly, if something is not clear please let me know.

My question comes down to this, is it possible in Doors to generate a bidirectional link between Baseline 1.0 of Module A and Baseline 1.0 of Module B? And in that case, how is it possible to achieve this?


Solution

  • First of all, you should not work with bidirectional links in Doors. A typical scenario is that one Module contains high level requirements (let's say "SYS" for system requirements), this module is completed and baselined. Later, a module with low level requirements (let's say "HR" for hardware requirements) is created, each requirements in HR corresponds to a requirement in SYS, the relation might be called "refines". This module will probably be baselined much later.

    If you have two modules A and B and both are developed at the same time and both link to one another, you might get problems later, e.g. when you want to create a valid requirements report, a dependency or coverage report.

    Having said that and if you still want to go on with your approach, I think your solution is "Baseline Sets".

    • Project --> Properties --> Baseline Set Definitions
    • Create a new Baseline Set Definition (BSD) with a name that corresponds to why the modules belong together
    • In the new BSD there's an Edit Button where you add the modules that belong together (A and B in your example)
    • Now for the BSD, create a Baseline Set (BS). A BS consists of several baselines, 0 or 1 baselines for each module contained in the BSD. For the BS, define whether the contained Baselines shall have a new major or minor number and define a suffix. The BS will have a number and a suffix, the Baselines will also have the suffix and the next free major/minor number for their respective modules.
    • For the new BS, navigate to "Baselines", you will see all modules of the BSD and you will see for which module a Baseline has been created that corresponds to this specific BS
    • with "Add to Set" a new Baseline is created for the module(s) you choose
    • when Baselines have been created for all modules defined in the BSD (or when you choose not to include a module for a specific BS and press BS --> Close), you will see that the links in the baselines of the BS point to one another.