DOORS 复合过滤器困境
DOORS Compound Filter Dilemma
DOORS 版本:9.5.2.1
我会尽可能简单地分解它。首先,我将从数据开始。假设我在 DOORS 中有一个模块 Module。 模块 包括:
树结构
假设 Object Text 和 sub-headings 为空白,并假设 Object Text 对于剩余的 级别 3 object 与 object 本身的名称相同。例如,Object 标题 对于 Object_1.1.0-1 是空白的,但它的 Object 文本 是“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
Object Heading and Text 好像是DOORS的东西,这里就不解释了。 Data 这里是通用的(而且,实际上,代表不止一个属性)。有些数据适用于某些版本,有些数据适用于其他版本。不同版本的数据可能相交,而其他版本的某些数据则相互排斥。 Version 是一个单独的字符串,用新行分隔不同的版本,“\n”。所以,我们假设 Version 是:
v1\nv2\nv3 . . . v\nvX
或者,以更易读的格式:
v1
v2
v3
.
.
.
vX
更重要的是,一个 object 的 Version 可能是(comma-separated 这里是为了便于阅读) v1, v2, v3, . . ., vX 而另一个可能是 v1, v3 而另一个可能只是 v2。可用版本的任意组合,真的。
问题
我想做的事情在我看来应该很容易。一个no-brainer。举个例子,假设我想应用一个过滤器,我只查看 Sub-Heading1.2 及其 children,并且只查看 版本 v3。我已经尝试了很多关于这个主题的变体,但我似乎只能完成一个或另一个。我成功地隔离了单个部分或单个版本的数据,但我无法同时获得两者。当我为单个部分应用过滤器时,说 Sub-Heading1.2 及其 children,然后与 "includes v3" 进行 AND 运算;我会得到那个部分,但它拒绝只显示 v3.
的那个部分
在任何编程语言中,a and b and c 计算结果为真当且仅当 a 和 b 和 c。我在 DOORS 中看到的在我看来更像是 (a and b) 或 c.
使用如上所述的 DOORS 数据库,如何仅查看给定范围内的 object(或 object 及其后代) version? 我知道 DXL 是一种潜在的解决方案,但 GUI 解决方案更可取。
您的问题是 Include Descendants
。此选项专门忽略过滤器。它真正的意思是,"Show me everything that matches my filter, and all of their 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
,因为这会否定过滤器中的第二条规则。
祝你好运!
DOORS 版本:9.5.2.1
我会尽可能简单地分解它。首先,我将从数据开始。假设我在 DOORS 中有一个模块 Module。 模块 包括:
树结构
假设 Object Text 和 sub-headings 为空白,并假设 Object Text 对于剩余的 级别 3 object 与 object 本身的名称相同。例如,Object 标题 对于 Object_1.1.0-1 是空白的,但它的 Object 文本 是“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
Object Heading and Text 好像是DOORS的东西,这里就不解释了。 Data 这里是通用的(而且,实际上,代表不止一个属性)。有些数据适用于某些版本,有些数据适用于其他版本。不同版本的数据可能相交,而其他版本的某些数据则相互排斥。 Version 是一个单独的字符串,用新行分隔不同的版本,“\n”。所以,我们假设 Version 是:
v1\nv2\nv3 . . . v\nvX
或者,以更易读的格式:
v1
v2
v3
.
.
.
vX
更重要的是,一个 object 的 Version 可能是(comma-separated 这里是为了便于阅读) v1, v2, v3, . . ., vX 而另一个可能是 v1, v3 而另一个可能只是 v2。可用版本的任意组合,真的。
问题
我想做的事情在我看来应该很容易。一个no-brainer。举个例子,假设我想应用一个过滤器,我只查看 Sub-Heading1.2 及其 children,并且只查看 版本 v3。我已经尝试了很多关于这个主题的变体,但我似乎只能完成一个或另一个。我成功地隔离了单个部分或单个版本的数据,但我无法同时获得两者。当我为单个部分应用过滤器时,说 Sub-Heading1.2 及其 children,然后与 "includes v3" 进行 AND 运算;我会得到那个部分,但它拒绝只显示 v3.
的那个部分在任何编程语言中,a and b and c 计算结果为真当且仅当 a 和 b 和 c。我在 DOORS 中看到的在我看来更像是 (a and b) 或 c.
使用如上所述的 DOORS 数据库,如何仅查看给定范围内的 object(或 object 及其后代) version? 我知道 DXL 是一种潜在的解决方案,但 GUI 解决方案更可取。
您的问题是 Include Descendants
。此选项专门忽略过滤器。它真正的意思是,"Show me everything that matches my filter, and all of their 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
,因为这会否定过滤器中的第二条规则。
祝你好运!