DOORS中文网站 > 热门推荐 > DOORS怎么复制对象到新模块 DOORS对象复制后链接为什么会丢失
教程中心分类
DOORS怎么复制对象到新模块 DOORS对象复制后链接为什么会丢失
发布时间:2026/06/29 11:25:59

  在处理需求拆分、版本派生,或者对模块进行重新编排的时候,常常会碰到需要把一整批对象给复制到新模块里去的情况。那么在DOORS里面,到底应该怎样把对象复制到新模块里,又为什么明明复制完成了,链接却会跟着丢掉,这背后的原因,通常并不是系统出了什么故障,而是我们选的复制方式本身就没有把原先的链接给带过来。能不能做到这一点,关键在于得先把它想清楚——这次操作,究竟是只想把内容简单地搬个家,还是希望连同它们之间的追溯关系也一起迁过去,因为DOORS对跨模块的对象复制和整个模块的复制,所采用的规则是完全不一样的。

  一、怎样把对象复制到新模块

 

  如果只是零零散散几个对象,直接用拖拽的方法复制起来很快;但要是希望保留住更多的属性信息,那就更推荐用Object Copier这个工具来做。在正式动手以前,有两件事不能忘掉,一是先把模块做一次备份,二是要确认目标模块里面,已经提前把要用到的属性结构给建好了。

 

  1、同时把来源模块和目标模块都给打开

 

  可以把两个正式的模块窗口都调出来,让它们并排摆着,这样看得清楚。在目标模块里面,得先选中一个具体的对象,因为待会儿复制过来的内容,既可以选择放在这个对象的同级后面,也可以挂到它的下一级去。如果目标位置的那个对象底下本来就带有子项,那么新复制过来的东西,就会变成排在首位的子项。

 

  2、用对象复制器来操作

 

  接着,在来源模块里面把打算要复制的那些对象给选好,然后顺着菜单栏找到工具下面的功能,再点进复制对象这个入口。这个对象复制器,不但可以跨模块去复制对象,而且除了对象的标题、正文和短文本之外,还能够把其他那些自定义的属性也一并带过去。如果这次是想把一整棵层级结构都搬走,那在这之前,就得先确认好当前选中的范围,到底只是一个单独的对象,还是当前视图里能看到的所有东西,甚至是整个模块。

 

  3、少量的内容可以直接拖拽

 

  把对象选好之后,用鼠标直接按住它,往目标模块里拖,等松开鼠标的时候,会弹出一个菜单,让选择是把它拷贝到后面,还是拷贝到下面。要是想把它的下级对象也一块儿带过去,那就去选那个带有“层级”字样的选项。不过得留个心,像这种跨模块的拖拽,默认只会把标题、正文和短文本给复制走,要是还惦记着其他那些属性,仍然得回过头去依靠Object Copier才稳妥。

 

  4、复制完以后马上抽查几处

 

  每一次复制操作结束,都不要只看一眼页面就算完,应该随机挑几个对象打开,去核对一下它们的标题、正文、属性值、所在的层级,还有总数到底对不对。可别光看页面上有字就觉着万事大吉了,像状态、责任人、优先级,还有那些自己加的自定义字段,都要一并确认过才行。

 

  二、复制后链接为什么会丢掉

 

  当对象被复制到新模块以后,以前辛辛苦苦建起来的追溯链接,并没有自己跟过来,这其实是一件非常常见的事情,属于正常的现象。因为在DOORS里面,标准的链接,是保存在一群专门负责连接的模块里的,并且它会按照来源模块和目标模块的不同,拆成不同的链接集;现在对象被弄到了一个新的模块里头,等于是换了一套完全不同的来源身份,之前那个旧的链接集,是不会自作主张去替这套新模块搭关系的。

 

  1、跨模块的复制,本来就不会把老链接也给捎上

 

  按照DOORS官方的规则说明,只要是把对象从一个模块复制到另外一个模块里去,那些原来挂着的链接,就不会自动随着对象一起过来。哪怕新的对象,从正文到每一个属性,都写得跟旧的那个一模一样,它在系统眼里,仍然是一个全新的东西,根本没有办法直接去继承原来那些指向它、或者从它指出去的入链和出链。

  2、复制整个模块和只复制几个对象,规则差别很大

 

  如果把一整块正式的模块都给复制了,那么它里面的出链通常能被保留下来;但是入链就比较特殊了,只有当链接那一头的模块也一块儿被复制过来时,它才留得住。所以,那种只是单独挑几个对象来复制的场景,就完全不能套用复制整个模块时的经验去理解。

 

  3、链接集的强制配对,可能会堵住新链接的路

 

  还有一点,如果这个项目里面,已经事先设好了一套强制性的链接集配对规则,那么当新模块和目标模块之间,压根就没有被允许使用的链接模块时,后面就算想手工去补链接,也根本补不上。在花力气排查之前,不如先去跟管理员确认几件事:现在默认的那个链接模块到底是什么,有没有开强制性的链接集配对,还有相关人员手上的访问权限是不是都足够的。

 

  4、对象的身份标识已经变掉了

 

  不管是通过特殊粘贴,还是从某条基线里派生出来,又或者是其他什么方式,都有可能让对象的绝对编号重新生成一遍。一旦原模块里面的编号,和新模块里面的编号不再是同一套东西了,就没有办法再拿着旧的编号,去机械地一条条把链接给恢复回来,因为那个编号对不上号了。

 

  三、复制完对象以后怎么去把链接补回来

 

  如果只是丢了很少的几条链接,动手一条条手工连一下也还能接受;可要是丢的数量一大,那就必须先耐着性子把对象之间的对应关系整理清楚,然后再走批量重建的路子。千万别为了图快,直接把全部链接都不分青红皂白地重新连上一遍,这样很容易顺手就把那些本来就有错的对应关系,也一并给复制过去了。

 

  1、想要把来源关系留下来的时候,就用“复制并建立链接”的办法

 

  在跨模块拖拽的时候,菜单里面其实还藏着两个很管用的选项,一个是从原对象链接到复制出来的对象,另一个则是反过来,从复制对象链接回原对象。前一个选项,适合拿来做需求的派生,或者把上游和下游拆开;后一个也很灵活。但是要记住,这个玩法只适合去建立那一条上下游之间的来源关系,它并不能把原来对象身上背着的所有外部链接,都重新恢复出来。

 

  2、想批量恢复原来的链接,就靠按属性建链接这条路

 

  这项工作得分几步来走,首先,得把旧模块里那些目标对象的绝对编号,想办法写进一个文本属性里,然后再把这个属性,原封不动地搬到新模块去。接着,顺着链接菜单,找到高级里面的按属性建链接功能,把目标模块、要用哪个链接模块、链接的方向,还有刚才准备好的那个属性,一一选上,然后让它去批量地创建出新链接。IBM的资料里也提醒过,当绝对编号已经改变的时候,就必须要先建立好一套靠得住的对应关系,然后才能着手去一步步恢复链接。

 

  3、在最后清掉那些杂乱状态以前,先把追溯关系复核一遍

 

  当新的链接全部建好以后,还是要再去抽查一下需求一路到设计、到测试,最后到下游需求的那些关系,好好地确认一下,中间没有漏掉的链接、没有同一条线被重复连上的情况,也没有哪个方向给搞反了。对那些比较重要的模块,最好能把复制前后的链接清单,连同每一步改了什么的记录,都好好地保存下来。

  总结

 

  在DOORS里要把对象复制到新模块,如果只是很少的几个,用手拖拽过去就行;可要是属性很多,或者要搬的范围很大,那就最好去用工具菜单下面的对象复制器。复制完以后链接之所以会消失,根子就在于这种跨模块的复制,系统只负责给你造出一批新的对象,并不会自动把旧的追溯关系给挂上去。如果想把那条来源关系给留下来,可以用复制并链接的办法;如果是想把原来那一整套复杂的追溯网给补全,那就得先仔仔细细地整理好新旧对象之间究竟谁对应着谁,然后再靠着高级菜单里按属性建链接的功能,去成批地把它们重新连回来。

135 2431 0251