システムを進化させる上では、以下のツールが役に立ちます。
UML モデルに、欠落した仕様、欠落した実装、および循環トレース関係がないか検査できます。
コンテキスト要素の仕様および実装を 発見することができます。つまり、トレース関係を 通してコンテキスト要素に関連している要素を発見し、そのコンテキスト要素が存在する理由およびその要素の実装方法を理解して、その要素の目的を明確にすることができます。
追跡可能性の照会はシステムを検査し、以下のいずれかのトレース関係によってコンテキスト要素に関連している要素を検出します。
コラボレーション Y に含まれているシーケンス図のライフラインのタイプが X である場合、要素 X と要素 Y の間に暗黙のトレース関係が存在します。
UML から Java への変換を実行すると、派生抽象化が作成されます。
コンテキスト要素に依存する要素を発見する際には、以下の表にある 4 つの照会が役に立ちます。
| 照会 | 使用 |
|---|---|
| すべての仕様 | この照会は、コンテキスト要素を始点にしてすべてのトレース関係を順方向にたどり、抽象化の上位レベルにあるすべての要素を発見します。 この照会を別の言葉で表現すると、「この要素はどの仕様から派生しているのか」ということになります。 |
| 仕様 | この照会は「すべての仕様」に似ていますが、抽象化の次の上位レベルにある要素のみを発見します。 |
| すべての実装 | この照会は、コンテキスト要素を始点にしてすべてのトレース関係を逆方向にたどり、抽象化の下位レベルにあるすべての要素を発見します。 この照会を別の言葉で表現すると、「この要素からはどの仕様が派生しているのか」ということになります。 |
| 実装 | この照会は「すべての実装」に似ていますが、抽象化の次の下位レベルにある要素のみを発見します。 |
UML モデルを HTML フォーマットで公開する際、トレース関係のハイパーリンクを生成することができます。「Web 公開 (Web Publish)」ウィザードの「タイプ」タブの「仕様」セクションを選択します。
変更の影響を受ける可能性があるコンテキスト要素のクライアントおよびサプライヤーを発見し、それらをダイアグラムで可視化することができます。 言い換えると、コンテキスト要素を変更した結果、 依存関係によってそのコンテキスト要素に直接的また は間接的に関連する要素のうち、変更が必要になる可 能性がある要素を発見することができます。
影響分析の照会の結果は、追跡可能性の照会が返す結果のスーパーセットです。 追跡可能性分析の照会の結果と影響分析の照会の結 果の違いは、追跡可能性の照会では、抽象化のレベル をまたぐ依存関係でコンテキスト要素に関連している 要素のみに結果が限定されるのに対し、影響分析の照会では、システムを検査して、任意の依存関係でコンテキスト要素に関連している要素が検出される点にあります。
したがって、影響分析の照会の結果には、以下のいずれかの関係でコンテキスト要素に関連しているすべての要素が含まれています。
以下の表に、使用可能な 4 つの影響分析の照会を示します。
| 照会 | 使用 |
|---|---|
| すべてのサプライヤー | この照会は、コンテキスト要素を始点にしてすべての依存関係を順方向にたどり、この要素のサプライヤーであるすべての要素を発見します。 この照会を別の言葉で表現すると、「この要素はどの要素に依存しているのか」または「どの要素が変更または除去されると、この要素が影響を受ける可能性があるのか」ということになります。 |
| サプライヤー | この照会は「すべてのサプライヤー」に似ていますが、この要素の直接のサプライヤーである要素のみを発見します。 |
| すべてのクライアント | この照会を別の言葉で表現すると、「どの要素がこの要素に依存しているのか」または「この要素を変更または除去すると、どの要素が影響を受ける可能性があるのか」ということになります。 |
| クライアント | この照会は「すべてのクライアント」に似ていますが、この要素の直接のクライアントである要素のみを発見します。 |
追跡可能性分析および影響分析の照会結果を新規のダイアグラムに表示することができます。 「パレット」の「探索」タブの機能を使用することによって、ダイアグラム内でトレース関係と依存関係の両方を探索することができます。 「パレット」の「探索」セクションには、以下の照会があります。
必要に応じてダイアグラムから追跡可能性分析および影響分析の照会を直接実行し、一度に 1 レベルの関係を発見することができます。 直接のクライアントおよびサプライヤー、または直接の仕様および実装を発見できます。 実行する照会項目を選択して、分析対象となる要素をクリックします。 例えば、UML クラスの直接の仕様を発見するには、「パレット」の「仕様」項目をクリックし、ダイアグラム内の UML クラスをクリックします。 直接の仕様がある場合には、それがダイアグラム内に可視化されます。
ダイアグラム内で使用できる探索機能が、ダイアグラム内での要素間の依存関係の探索に対して、スケーラブルなソリューションを提供することにも注意してください。 複雑なシステムの場合、抽象化のすべてのレベルを探索する照会の実行に時間がかかったり、返される要素が多すぎて、結果が使い物にならなかったりする場合があります。 スケーラビリティーの問題の発生を防ぐには、まず ダイアグラム内で要素を可視化し、それから必要に応じて探索機能を使用して、トレース関係および依存関係を一度に 1 レベル探索します。 これは、UML ダイアグラム内でこれらの関係を探索する際のスケーラブルな方法です。
追跡可能性の利点を活用するには、要素の開発に使用するプロセスを、追跡可能性を考慮して設計する必要があります。 開発プロセスの例を以下に示します。