IBM Support

Use of ReqIF IDs

Question & Answer


Question

Why it is risky to copy databases?

Answer

The ReqIF protocol is used to manage the transfer of data between many Requirements Management applications.

A key requirement to be able to manage the transfer of data is that each resource (Requirement or Module), attribute definition, and attribute type must be identifiable by a universally unique ID that is a ReqIF ID. This ID is independent of any application-specific ID. For example, there is no relationship between the ReqIF ID of a requirement and its ID, absolute number or URI.

The existence of these ReqIF IDs allows all applications that create or consume ReqIF packages to identify resources and to tell if they need to update an existing resource, delete an existing resource, or create a new resource in their store.

ReqIF IDs exist only for the identification of resources by ReqIF functionality. Their ability to accurately identify a resource cannot be assumed when they are copied in ways that are not part of the ReqIF data exchange.

For instance, if a requirement is copied within a module in DOORS version 9, the new requirement is clearly not the same as the original requirement. The original requirement and the copy cannot have the same identity, just as they cannot have the same absolute number. The same is true when copying Modules, Folders, and Projects.

When you copy the data through the file system, that is, in a way the completely bypasses any logic or functionality that is implemented in DOORS, the files and their contents are copied with no consideration of their ReqIF identity. This leads to a second database, wherein any resources that have ReqIF IDs in the original database now have those same IDs applied to copied resources in the new database.

File system copies are not ReqIF aware, as such these copied resources do not have the same identity from the point of view of ReqIF. For this reason, it is not recommended to make copies of the DOORS database other than to move the database from one machine to another. In this one case the resources can be considered to be moved rather than copying them, and they can maintain their ReqIF identity.

In DOORS, ReqIF IDs are only generated "on demand". As such any resource, which has not been exported through ReqIF will not have a ReqIF ID. As a result, a copy of the database might have some resources, which appear to have the same ReqIF identity as the originals and others, which have no ReqIF ID at all. If a module and its copy, both of which contain a mixture of objects with ReqIF IDs and without, are exported through ReqIF, the resulting ReqIF packages will contain a mixture of resources where in some cases the original resource and its copy have matching ReqIF IDs and in others they do not.

The confusion can be avoided by not copying DOORS databases.

[{"Line of Business":{"code":"LOB59","label":"Sustainability Software"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSKR2T","label":"IBM Engineering Requirements Management DOORS"},"ARM Category":[{"code":"a8m50000000L3D6AAK","label":"DOORS"}],"Platform":[{"code":"PF033","label":"Windows"}],"Version":"All Version(s)"}]

Document Information

Modified date:
24 September 2020

UID

ibm16333477