It's all about the answers!

Ask a question

Copy requirements within a module to auto update requirements in another module

Willie Wilson (612) | asked Jan 29, 12:03 p.m.

Using ELM ver we used the Copy feature within a module to create another module within the same Component Project Area.  Is there a way to update the 2nd (copied) module automatically if(when) the requirements in the original module have changed?

2 answers

permanent link
Daniel Moul (4.7k1118) | answered Jan 29, 1:47 p.m.

I have seen customers use an external script (could be python or java or your favorite language) that use OSLC APIs to find artifacts that match certain criteria and update them. For example:

* update parent requirement 'start' attribute to match earliest child 'done' date
* update parent requirement 'done' attribute to match latest child 'done' date

There is no built-in facility to do this.

permanent link
Ian Barnard (755612) | answered Feb 02, 4:04 a.m.
edited Feb 02, 4:11 a.m.


DOORS Next lets you reuse the same requirement in more than one module, with reuse you only actually have one requirement definition which is displayed in whichever modules you put it, showing attributes from one definition. The actual requirement definition which holds the attributes is called the core artifact, and can be source/target of links, and where the artifact is reused in a module each reuse can also be a different source/target for links. In general you would link either to core artifacts or to module artifacts, not a mixture. If you edit attributes on any of the reuse instances these modifications only modify the core artifact, so all reuse instances will immediately (and always) display the latest attribute values from the core artifact.

If you already have a module that you want to copy in some way to do reuse, doing this is described in the KnowledgeCenter - this is for 7.0.2 but the capability has been in DOORS Next for a long time.

There are four basic ways of copying a module:
  • Duplicate headings and artifacts - this is a full copy, with no reuse - new artifacts are created for everything in the module
  • Duplicate headings and reuse artifacts - this only creates new artifacts for the headings, and the other artifacts in the module are all reused - reading your question this seems the most likely to meet your needs
  • Duplicate artifacts and reuse headings -  - this only creates new artifacts for the non-headings, and the heading artifacts in the module are all reused - note as headings are reused if you change the text of a heading this will always be reflected in other modules which reuse that heading
  • Reuse all artifacts - i.e. headings and non-headings.
You also have options to copy links which doing the duplication, and to duplicate based on a view.

Full details are on the KnowledgeCenter link.

Once you have another module using either of these methods, the structure of either module can be changed without affecting the other, and note that if you want to add new reused artifacts in one module and keep the structure of the two modules the same then you'll have to do this yourself in the other module too.

If this approach to reuse sounds interesting I suggest you try it out and go through the lifecycle of each document to understand the process you'll have to use. In particular you should pay attention to linking; if you want your modules to have different links on the reused artifacts then you must only create links to/from the reused artifacts in each module.


Your answer

Register or to post your answer.