在 Link 模块之间迁移 Links 以及对基线集的影响

Migrating Links between Link Modules and impact on baseline sets

我希望将一些 link 从一个 link 模块迁移到另一个模块,因为最初创建 link 时,项目没有考虑清楚并且只是将它们全部放在一个 link 模块中。现在我们正在尝试通过 DXL 属性进行一些 link 分析,我们发现很难隔离我们想要用于分析的测试 link。因此,我希望将所有测试 link 迁移到单独的 link 模块。

我用于迁移 link 的脚本执行以下操作:

  1. 将旧 link 模块中与测试相关的 link 集复制到新 link 模块中
  2. 更新Link受影响的测试正式模块的模块描述
  3. 对于第 1 步中创建的每个 link 集源模块,打开当前版本的正式模块并创建与旧 link 集关联的所有 link 的副本并将它们放入新的 link 模块中。
  4. 删除与当前的旧 link 集关联的所有旧 link。
  5. 删除旧 link 旧 link 模块中的集

我很确定这个实现是错误的,因为我在第 3/4 步的正式模块的当前版本中只有 creating/deleting links,但我只是想核实。我会丢失所有通过基线集创建的特定于基线的 link 吗?如果我跳过第 5 步删除旧 link 模块中的旧 link 集,我所有的基线特定 link 是否仍然存在于旧 link 模块中,而当前的 link 将存在于新的 link 模块中?

我感觉我不太明白Link们到底住在哪里,是在link模块还是在正式模块?如果他们住在 link 模块中,那么当您在 link 模块中加载 link 集时,为什么您似乎无法查看旧基线的 link 信息?特定于基线的 link 是否存在于 link 模块中?

如能就这些问题提供帮助,我们将不胜感激!

我假设您使用 DOORS 9.6.1 或更高版本。在早期版本中,行为有点“更好”,但部分不一致且难以理解,因此 IBM 对其进行了修改。

当您尝试软删除旧 link 模块时,您收到警告“Link 模块 'old lm' 包含基线化 link 集。删除此模块可能会使一些基线 link 不可见。”尽管如此,在删除后,links 在基线(集合)和当前模块中仍然可见(不应该将所有 links 都移动到新的 link 模块)。清除旧的 link 模块会给您警告“选择包含一个或多个 Link 模块。清除将破坏所有关联的 link。” 在 DOORS 9.6ff 中,这正是发生的情况,至少在 GUI 和 DXL 中是这样:无法再访问使用旧 link 模块的基线中的 links。

在“现实”中,即在数据库级别,link 仍然存在,因为 link 本身实际上存储在传出模块中,而不是 link模块,有关使用的 link 模块的信息只是对 link 模块名称的文本引用。因此,在较早版本的 DOORS 中,您仍然可以看到 link 存在并对其进行迭代,但现在,您无法访问此信息。 当您尝试在 link 集的模块资源管理器中删除 link 集时,您仍然可以看到“真正”发生了什么的记忆,警告说“您即将删除 linkset xx -> yy。这将删除 当前 版本的源模块和任何版本的目标模块之间的所有 link,包括 link 属性“

因此,由于 DOORS 的理念是冻结的基线不能更改,因此也不可能更改基线的 link 信息,您的方法应该是

  • 更改 link 限制以使用新的 link 模块,
  • 将当前输出模块中的 link 移动到新的 link 模块
  • 并软删除旧模块。
  • 您甚至可以考虑为 link 模块创建基线并删除当前版本 link 模块中的 link 集,以防止意外使用旧的 link设置.