ドア バージョン: 9.5.2.1
これをできるだけ簡単に分解してみます。まず、データから始めます。DOORSにモジュール Moduleがあるとします。モジュールは次のもので構成されています。
ツリー構造
見出しと小見出しのオブジェクト テキストは空白であると想定し、残りのレベル 3オブジェクトのオブジェクト テキストはオブジェクト自体の名前と同じであると想定します。たとえば、Object_1.1.0-1のObject Headingは空白ですが、そのObject Textは " 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 のものと思われるので、ここでは説明しません。ここでのデータは一般的なものです (実際には、複数の属性を表しています)。一部のデータは一部のバージョンに適用できますが、他のデータは他のバージョンに適用できます。異なるバージョンのデータが交差する場合がありますが、他のバージョンの一部のデータは相互に排他的です。バージョンは、異なるバージョンを改行 " \n "で区切る単一の文字列です。したがって、バージョンが次のとおりであると仮定しましょう。
v1\nv2\nv3 . . . v\nvX
または、より読みやすい形式で:
v1
v2
v3
.
.
.
vX
さらに、1 つのオブジェクトのバージョンは、v1、v2、v3、. . ., vX一方、別の場合はv1、v3の場合があり、別の場合はv2の場合があります。利用可能なバージョンの任意の組み合わせです。
問題
私がやろうとしていることは、簡単であるように思えます。簡単です。例を挙げると、 Sub-Heading1.2とその子のみを表示し、バージョン v3のみを表示するフィルターを適用するとします。このテーマで多くのバリエーションを試しましたが、どちらか一方しか達成できないようです。1 つのセクションまたは 1 つのバージョンのデータを正常に分離できますが、両方を取得することはできません。単一のセクションにフィルターを適用すると、たとえばSub-Heading1.2とその子、および「v3 を含む」との AND になります。そのセクションを取得しますが、 v3の場合のみそのセクションのみを表示することを拒否します。
どのプログラミング言語でも、 a and b and cは true IF AND ONLY IF a and b and c と評価されます。私が DOORS で見ているのは、 (a and b) または c のように思えます。
上記の DOORS データベースを使用して、特定のバージョンの特定の範囲内のオブジェクト (またはオブジェクトとその子孫) のみを表示するにはどうすればよいでしょうか? DXL が潜在的なソリューションとして存在することは知っていますが、GUI ソリューションが望ましいです。