Combining requirements from multiple modules into one

I created two different modules with multiple objects. Each of these two modules have numerous requirements linked to the individual objects. While in either of these modules the data is based upon each object, and with attributes and columns it is very useable. Then I created a third new module, but it needed to be a composite of the requirements from the first two modules. I therefore linked all of the requirements from the first two modules to this new module. Using the "analysis wizard" I was able to bring into this new third module a column consisting of the composite requirements from the first two modules. The problem now is that this new module consists of just one object with all of the composite requirements. This configuration does not allow for specific information on one line for each requirement as is found in the first two modules. The new third module consists merely of one long list of requirements. Is there a way to bring the requirements by linking to this third module and maintain the individual structured nature and details of the requirements instead of just one big long string.
kottkl - Tue Jan 25 16:01:10 EST 2011

Re: Combining requirements from multiple modules into one
SystemAdmin - Wed Jan 26 01:07:29 EST 2011

Was there a specific reason why you decided to link requirements from objects in Modules 1 and 2 to a single object in Module 3?

What you can try is the Copy Objects feature of DOORS.

It's recommended that you play around with this feature in a sandpit copy of your project somewhere.

1. Create a new blank Module 3.
2. Filter modules 1 & 2 so that only the requirements and any other important objects that you want to be in Module 3 are visible.
3. In Module 1, select Tools > Functions > Copy Objects,
4. Select Module 3 as your Target,
5. Set the Copy option to "Current Display Set",
6. Set "New Position" to "After"
7. Select the attributes you want to copy over to Module 3 (Object Heading and Object Text as a minimum),
8. Select the "Create Links" check box,
9. Select the desired direction of the links and then select OK.
10. Repeat for Module 2 but you will need to open Module 3 and select the object that represents the "New Position" of where the copied objects from Module 2 will be positioned - either "After" that selected object or "One Level below"
11. Now Module 3 has a composite and linked copy of the objects in Modules 1 and 2.

But there is more that you will need to take into consideration. Where things might come unstuck is how your links are being managed within the project. Unless you have linkset pairs defined in Modules 1,2 and 3, the attempt to make links will either fail or end up in a default link module which might be undesirable. Also, getting the filter right in Modules 1 and 2 might take a few attempts so hence the recommendation to create a copy of the project and play around in that first.
Paul Miller
Melbourne, Australia

Re: Combining requirements from multiple modules into one
kottkl - Wed Jan 26 10:51:14 EST 2011

I created the new module 3 and linked the requirements from objects in modules 1 and 2 because I understood that method would ensure that if the requirements changed in either module 1 or 2 that they would automatically change in the new module 3. It was my understanding that it was best not have the same requirements in more than one place.
You suggest the "copy object" approach to create a copy in the new module 3 of all requirements and selected attributes that reside in the current modules 1 and 2. Using this approach what happens when the requirements are changed in module 1 or 2? I am assuming that I would have to initiate a new "copy object" every time this happens in order to keep the two seperate but identical requirement sets current and identical. Additionally I have never used the "copy object" with "create links", but for some reason I was of the understanding that one could not copy objects with links from one module to another module. I thought that the links would only stay with the copied object if one was working within one module. I probably don't understand the workings of these things as well as I should which is why I am here in this discussion forum. I would appreciate any help and suggestions.

Re: Combining requirements from multiple modules into one
PDU - Wed Jan 26 11:46:54 EST 2011

kottkl - Wed Jan 26 10:51:14 EST 2011
I created the new module 3 and linked the requirements from objects in modules 1 and 2 because I understood that method would ensure that if the requirements changed in either module 1 or 2 that they would automatically change in the new module 3. It was my understanding that it was best not have the same requirements in more than one place.
You suggest the "copy object" approach to create a copy in the new module 3 of all requirements and selected attributes that reside in the current modules 1 and 2. Using this approach what happens when the requirements are changed in module 1 or 2? I am assuming that I would have to initiate a new "copy object" every time this happens in order to keep the two seperate but identical requirement sets current and identical. Additionally I have never used the "copy object" with "create links", but for some reason I was of the understanding that one could not copy objects with links from one module to another module. I thought that the links would only stay with the copied object if one was working within one module. I probably don't understand the workings of these things as well as I should which is why I am here in this discussion forum. I would appreciate any help and suggestions.

Hello,

the process described by Paul works fine. Try it on a test module.

I don't understand why you need a composite module 3.
What append if you add or suppress a requirement in module 1 or 2 ?

In your solution with all objects in module 3 linked with objects from modules 1 and 2, you can :
  • with the Wizard, generate layout DXL column, with attribute "Object Text" from modules 1 and 2
  • use only data from this column, you can replace data in "Object Text" of module 3 with " "
Pierre

Re: Combining requirements from multiple modules into one
SystemAdmin - Wed Jan 26 16:15:55 EST 2011

PDU - Wed Jan 26 11:46:54 EST 2011
Hello,

the process described by Paul works fine. Try it on a test module.

I don't understand why you need a composite module 3.
What append if you add or suppress a requirement in module 1 or 2 ?

In your solution with all objects in module 3 linked with objects from modules 1 and 2, you can :

  • with the Wizard, generate layout DXL column, with attribute "Object Text" from modules 1 and 2
  • use only data from this column, you can replace data in "Object Text" of module 3 with " "
Pierre

Just a few of things to add to PDU's good advice.

1. An alternative to deleting the duplicated contents in the Object Text and\or Object Heading attributes of Module 3 is to create a view that only displays the DXL layout column generated by the Wizard and does not have a Main column (to avoid confusion, I would agree that the contents of these attributes in Module 3 should be removed anyway).

2. Have a read up on the DOORS Suspect Links feature, this feature can insert special columns into Module 3 that can visually flag a change to any of the linked requirements in Modules 1 and 2.

3. To help keep things neat and tidy and not cram too much info into each cell of a DXL layout column - use the Analysis Wizard to create multiple DXL layout columns - for example - a column that only displays the Object Identifier (unique ID) of linked objects from Modules 1 and 2, a column that only displays the Object Text, and maybe separate columns dedicated to any other important attribute data in Modules 1 and 2.

The only down side to this approach is that every time you add a new requirement to Modules 1 and 2, you will need to create new objects in Module 3 and then add a link, remembering to maintain the same link direction as the other links. If you delete a requirement in Modules 1 and 2, you will need to do the same in Module 3 as well - as a safety measure - when you set the link direction in the Copy Objects feature, select the target-to-source option, this means that if you try to delete any object in Modules 1 and 2, you should receive a warning prompt preventing this action due to Module 3 being the source of incoming links. This will serve as a reminder to deal with the associated linked objects in Module 3 first.


Paul Miller
Melbourne, Australia

Re: Combining requirements from multiple modules into one
cliff.sadler - Fri Jan 28 13:54:12 EST 2011

Sounds to me like Kottkl wants a "live" virtual view of both modules in a single module, probably so it can be exported as a single document. Copy and link won't help with "automatically updating" requirements in module 3 if one changes in module 1 or 2. Only a layout DXL column will show what's happening in the other modules.

So, do the requirements in module 3 have to be in some particular order, or do they need to reside within structure of module 3, like sections and subsections? Are you trying to just get a composite export of 2 modules? If so, there's easier ways.

Tell us more about what you are trying to solve.

Re: Combining requirements from multiple modules into one
SystemAdmin - Sat Jan 29 23:51:11 EST 2011

cliff.sadler - Fri Jan 28 13:54:12 EST 2011
Sounds to me like Kottkl wants a "live" virtual view of both modules in a single module, probably so it can be exported as a single document. Copy and link won't help with "automatically updating" requirements in module 3 if one changes in module 1 or 2. Only a layout DXL column will show what's happening in the other modules.

So, do the requirements in module 3 have to be in some particular order, or do they need to reside within structure of module 3, like sections and subsections? Are you trying to just get a composite export of 2 modules? If so, there's easier ways.

Tell us more about what you are trying to solve.

cliff.sadler: ....Only a layout DXL column will show what's happening in the other modules.....

Isn't that what I was recommending in point 1 of my previous post? Or are you thinking of something else?


Paul Miller
Melbourne, Australia

Re: Combining requirements from multiple modules into one
kottkl - Mon Jan 31 10:48:07 EST 2011

Module one is for the requirements of one system, module two is for the requirements of another system, and lastly module three is for a new system which is a composite of system one and system two. Therefore the requirements in module three should be a combination of the requirements in module one and two. The requirements in module three are just repeats of requirements in module one and two, and therefore I did not want to add them as redundant line objects in module three. I did want them to be "live" and thus any changes in module one and module two would be reflected in module three. I can and have done this with links from module one and module two tho module three. The problem is that the links are all going to one object in module three, and when I run the analysis wizard all of the requirements show up in a column relating to one object. Those same requirements are each individual line objects in module one and module two. How can I have the "live" requirements in module three with the detail of multiple line objects? I could just live with the view that I have created in DOORS for module three, and use a publishing tool to bring out the detailed line by line requirement information from both module one and module two. This would require the procurement of Rational Publishing Engine which I am presently trying to obtain. Any advice on how I can make this module three requirement set look better?

Re: Combining requirements from multiple modules into one
SystemAdmin - Mon Jan 31 16:39:35 EST 2011

kottkl - Mon Jan 31 10:48:07 EST 2011
Module one is for the requirements of one system, module two is for the requirements of another system, and lastly module three is for a new system which is a composite of system one and system two. Therefore the requirements in module three should be a combination of the requirements in module one and two. The requirements in module three are just repeats of requirements in module one and two, and therefore I did not want to add them as redundant line objects in module three. I did want them to be "live" and thus any changes in module one and module two would be reflected in module three. I can and have done this with links from module one and module two tho module three. The problem is that the links are all going to one object in module three, and when I run the analysis wizard all of the requirements show up in a column relating to one object. Those same requirements are each individual line objects in module one and module two. How can I have the "live" requirements in module three with the detail of multiple line objects? I could just live with the view that I have created in DOORS for module three, and use a publishing tool to bring out the detailed line by line requirement information from both module one and module two. This would require the procurement of Rational Publishing Engine which I am presently trying to obtain. Any advice on how I can make this module three requirement set look better?

Have you tried playing around with the Copy Objects function as outlined in my previous postings to this topic? There's no harm in trying it on a sandpit copy of the Project to see if it's what you're after.

W.r.t. your concerns about keeping module 3 in sync with modules 1 and 2, does it work the other way as well? That is, a change in module 3 could needs to be synched back to 1 and 2?

Either way, this needs to be a manual job, it's needs a human to make considered decisions first about what impact a change should have on linked objects. To help out, you can use the DOORS Suspect links feature in module 3 to help identify any changes to linked objects in modules 1 and 2 where a considered decision can then be made as to whether those changes should be copied into module 3 and retain the synch. Modules 1 and 2 can also be set up with the Suspect links feature to highlight any changes in linked objects in module 3.

If the rule is that requirements in module 3 are always a lock step copy of requirements in modules 1 and 2, then my suggestion in a previous post to use DXL Layout would be a safe option.

Paul Miller
Melbourne, Australia

Re: Combining requirements from multiple modules into one
cliff.sadler - Tue Feb 01 09:18:18 EST 2011

kottkl - Mon Jan 31 10:48:07 EST 2011
Module one is for the requirements of one system, module two is for the requirements of another system, and lastly module three is for a new system which is a composite of system one and system two. Therefore the requirements in module three should be a combination of the requirements in module one and two. The requirements in module three are just repeats of requirements in module one and two, and therefore I did not want to add them as redundant line objects in module three. I did want them to be "live" and thus any changes in module one and module two would be reflected in module three. I can and have done this with links from module one and module two tho module three. The problem is that the links are all going to one object in module three, and when I run the analysis wizard all of the requirements show up in a column relating to one object. Those same requirements are each individual line objects in module one and module two. How can I have the "live" requirements in module three with the detail of multiple line objects? I could just live with the view that I have created in DOORS for module three, and use a publishing tool to bring out the detailed line by line requirement information from both module one and module two. This would require the procurement of Rational Publishing Engine which I am presently trying to obtain. Any advice on how I can make this module three requirement set look better?

You need a "surrogate" object in module three for each requirement in module one and module two. There are a number of ways to get this done. The standard technique is to use what Paul is talking about. Copy objects, and link. That will NOT give you a dynamic view of module one and two's requirement current state. As he pointed out, you could use suspect links to flag when a requirement has changed, and then you can update the requirement text in module 3 with the changes.

Or,

You could create "placeholder" objects in module 3 for all requirements in module one and two. No, the numbering will not be the same as the original, unless you planned ahead and use different blocks of numbers for the original modules. Then, you will link module one requirements to the placeholders in module three, one at a time (link by attribute will help here). Do the same for module two. THEN, create a dxl layout column following the links and displaying the requirement text from the original modules. Disregard the main column of module three, and just display the layout column. That will get you a dynamic (and potentially slow) view of module one and two, along with whatever you put into module three. Adding the complexity of tree structure to module three will make the setup of this a bit more labor intensive. Obviously, adding requirements to module one or two will also complicate how you know that even happened, and how and where to put the placeholder objects in module three, and link em up. You may find it easier to manage all three separately, and use RPE to create your composite. Really depends on who's looking at it, and whether they want to see it in DOORS, or in a document/export.

Re: Combining requirements from multiple modules into one
kottkl - Tue Feb 01 12:28:40 EST 2011

I have been provided with several good ideas that will help me solve my problem. The "surrogate object" idea addresses the one object problem. It seems that there are pros and cons with each idea, and I will have to determine which method to utilize that will offer the most value. The various tidbits of knowledge and help that I have received are very beneficial.
Thanks