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解决方案。
答案 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
,因为这会否定过滤器中的第二条规则。