DOORS复合过滤器困境

时间:2015-06-19 16:42:00

标签: filter ibm-doors

DOORS版本:9.5.2.1

我会尝试尽可能简单地解决这个问题。首先,我将从数据开始。假设我在DOORS中有一个模块 Module 模块由以下内容组成:

树状结构

假设标题和子标题的对象文本为空白,并假设其余 Level 3 对象的对象文本是相同的作为对象本身的名称。例如,对象标题对于 Object_1.1.0-1 是空白的,但其对象文本是“ Object_1.1.0 -1 ”。

- Module
   - 1 Heading1             // Object Heading: "Heading1"       ; Object Number: 1
   |  - 1.1 Sub-Heading1.1  // Object Heading: "Sub-Heading1.1" ; Object Number: 1.1
   |  |  + Object_1.1.0-1   // Object Heading: ""               ; Object Number: 1.1.0-1
   |  |  + Object_1.1.0-2   // Object Heading: ""               ; Object Number: 1.1.0-2
   |  |  |  .
   |  |  |  .
   |  |  |  .
   |  |  + Object_1.1.0-A   // Object Heading: ""               ; Object Number: 1.1.0-A
   |  |
   |  - 1.2 Sub-Heading1.2  // Object Heading: "Sub-Heading1.2" ; Object Number: 1.2
   |     + Object_1.2.0-1   // Object Heading: ""               ; Object Number: 1.2.0-1
   |     + Object_1.2.0-2   // Object Heading: ""               ; Object Number: 1.2.0-2
   |     |  .
   |     |  .
   |     |  .
   |     + Object_1.2.0-B   // Object Heading: ""               ; Object Number: 1.2.0-B
   |
   - 2 Heading2             // Object Heading: "Heading2"       ; Object Number: 2
      - 2.1 Sub-Heading2.1  // Object Heading: "Sub-Heading2.1" ; Object Number: 2.1
      |  + Object_2.1.0-1   // Object Heading: ""               ; Object Number: 2.1.0-1
      |  + Object_2.1.0-2   // Object Heading: ""               ; Object Number: 2.1.0-2
      |  |  .
      |  |  .
      |  |  .
      |  + Object_2.1.0-C   // Object Heading: ""               ; Object Number: 2.1.0-C
      |
      - 2.2 Sub-Heading2.1  // Object Heading: "Sub-Heading2.1" ; Object Number 2.2
         + Object_2.2.0-1   // Object Heading: ""               ; Object Number: 2.2.0-1
         + Object_2.2.0-2   // Object Heading: ""               ; Object Number: 2.2.0-2
         |  .
         |  .
         |  .
         + Object_2.2.0-D   // Object Heading: ""               ; Object Number: 2.2.0-D

And so on and so forth . . .

属性

*Object Heading and Text*, Version, Data

对象标题和文本似乎是DOORS的事情,所以我不会在这里解释。这里的数据是通用的(实际上,它代表多个属性)。某些数据适用于某些版本,而其他数据适用于其他版本。不同版本的数据可能相交,而其他版本的某些数据是互斥的。 Version 是一个单独的字符串,用新行“ \ n ”分隔不同的版本。所以,我们假设 Version 是:

v1\nv2\nv3 . . . v\nvX

或者,以更易读的格式:

v1
v2
v3
 .
 .
 .
vX

对于一个对象, Version 可能是(为了便于阅读而在此处用逗号分隔) v1,v2,v3 ,. 。 。,vX 而另一个可能是 v1,v3 ,另一个可能只是 v2 。可用版本的任意组合,真的。

问题

我想做的事情在我看来应该很容易。一个明智的做法。只是为了选择一个例子,假设我想应用一个过滤器,我只查看 Sub-Heading1.2 及其子项,而且仅用于 Version v3 即可。我已尝试过很多关于主题的变化,但我似乎只能完成其中一个。要么我成功地隔离了单个部分或单个版本的数据,但我无法同时获得这两个部分。当我为一个部分应用过滤器时,请说明 Sub-Heading1.2 及其子项,然后使用“包含v3”的AND;我会得到那个部分,但它拒绝只为 v3 显示该部分。

在任何编程语言中, a和b和c 的评估结果为真,如果 a和b和c < / strong>即可。我在DOORS中看到的更像是 (a和b)或c

使用上面描述的DOORS数据库,如何仅针对给定版本查看给定范围内的对象(或对象及其后代)?我知道DXL作为潜在存在解决方案,但最好使用GUI解决方案。

1 个答案:

答案 0 :(得分:0)

您的问题是Include Descendants。此选项特别忽略过滤器。它真正说的是,“向我展示与我的过滤器及其所有后代相匹配的所有东西”。

使用上面的示例,您想要的过滤器是:

Object Number >= 1.2
and
Object Number < 2 (or maybe 1.3 depending on how you want it)
and
Version includes v3

这将为您提供所需的信息。请确保不要Include Descendants,因为这会否定过滤器中的第二条规则。

祝你好运!