UML モデルの追跡可能性分析および影響分析用のツール

要素を検査する追跡可能性分析および影響分析用のツールを使用すると、どの要素が関連しているかを発見し、それらの目的を明確にして、変更のリスクを最小化することができます。

システムを進化させる上では、以下のツールが役に立ちます。

UML モデルの追跡可能性のレビュー

UML モデルに、欠落した仕様、欠落した実装、および循環トレース関係がないか検査できます。

注: IBM® Rational® モデリング製品のバージョン 7.0.5 に、IBM Rational RequisitePro® または Java™ の追跡可能性の分析機能はありません。

追跡可能性の照会

コンテキスト要素の仕様および実装を 発見することができます。つまり、トレース関係を 通してコンテキスト要素に関連している要素を発見し、そのコンテキスト要素が存在する理由およびその要素の実装方法を理解して、その要素の目的を明確にすることができます。

追跡可能性の照会はシステムを検査し、以下のいずれかのトレース関係によってコンテキスト要素に関連している要素を検出します。

コンテキスト要素に依存する要素を発見する際には、以下の表にある 4 つの照会が役に立ちます。

照会 使用
すべての仕様 この照会は、コンテキスト要素を始点にしてすべてのトレース関係を順方向にたどり、抽象化の上位レベルにあるすべての要素を発見します。 この照会を別の言葉で表現すると、「この要素はどの仕様から派生しているのか」ということになります。
仕様 この照会は「すべての仕様」に似ていますが、抽象化の次の上位レベルにある要素のみを発見します。
すべての実装 この照会は、コンテキスト要素を始点にしてすべてのトレース関係を逆方向にたどり、抽象化の下位レベルにあるすべての要素を発見します。 この照会を別の言葉で表現すると、「この要素からはどの仕様が派生しているのか」ということになります。
実装 この照会は「すべての実装」に似ていますが、抽象化の次の下位レベルにある要素のみを発見します。

HTML フォーマットで公開される UML モデルのトレース関係

UML モデルを HTML フォーマットで公開する際、トレース関係のハイパーリンクを生成することができます。「Web 公開 (Web Publish)」ウィザードの「タイプ」タブの「仕様」セクションを選択します。

影響分析の照会

変更の影響を受ける可能性があるコンテキスト要素のクライアントおよびサプライヤーを発見し、それらをダイアグラムで可視化することができます。 言い換えると、コンテキスト要素を変更した結果、 依存関係によってそのコンテキスト要素に直接的また は間接的に関連する要素のうち、変更が必要になる可 能性がある要素を発見することができます。

影響分析の照会の結果は、追跡可能性の照会が返す結果のスーパーセットです。 追跡可能性分析の照会の結果と影響分析の照会の結 果の違いは、追跡可能性の照会では、抽象化のレベル をまたぐ依存関係でコンテキスト要素に関連している 要素のみに結果が限定されるのに対し、影響分析の照会では、システムを検査して、任意の依存関係でコンテキスト要素に関連している要素が検出される点にあります。

したがって、影響分析の照会の結果には、以下のいずれかの関係でコンテキスト要素に関連しているすべての要素が含まれています。

以下の表に、使用可能な 4 つの影響分析の照会を示します。

照会 使用
すべてのサプライヤー この照会は、コンテキスト要素を始点にしてすべての依存関係を順方向にたどり、この要素のサプライヤーであるすべての要素を発見します。 この照会を別の言葉で表現すると、「この要素はどの要素に依存しているのか」または「どの要素が変更または除去されると、この要素が影響を受ける可能性があるのか」ということになります。
サプライヤー この照会は「すべてのサプライヤー」に似ていますが、この要素の直接のサプライヤーである要素のみを発見します。
すべてのクライアント この照会を別の言葉で表現すると、「どの要素がこの要素に依存しているのか」または「この要素を変更または除去すると、どの要素が影響を受ける可能性があるのか」ということになります。
クライアント この照会は「すべてのクライアント」に似ていますが、この要素の直接のクライアントである要素のみを発見します。

「パレット」の「探索」タブ

追跡可能性分析および影響分析の照会結果を新規のダイアグラムに表示することができます。 「パレット」の「探索」タブの機能を使用することによって、ダイアグラム内でトレース関係と依存関係の両方を探索することができます。 「パレット」の「探索」セクションには、以下の照会があります。

追跡可能性
  • 仕様
  • 実装
影響分析
  • サプライヤー
  • クライアント

必要に応じてダイアグラムから追跡可能性分析および影響分析の照会を直接実行し、一度に 1 レベルの関係を発見することができます。 直接のクライアントおよびサプライヤー、または直接の仕様および実装を発見できます。 実行する照会項目を選択して、分析対象となる要素をクリックします。 例えば、UML クラスの直接の仕様を発見するには、「パレット」の「仕様」項目をクリックし、ダイアグラム内の UML クラスをクリックします。 直接の仕様がある場合には、それがダイアグラム内に可視化されます。

注: 追跡可能性分析および影響分析の照会をサポートする要素の上にカーソルを移動すると、カーソルが変化し、照会がサポートされているかどうかが示されます。 Ctrl キーを押したままにすると、「パレット」の項目が選択されたままになり、「パレット」に戻って照会を再選択しなくても照会を複数回実行できるようになります。

ダイアグラム内で使用できる探索機能が、ダイアグラム内での要素間の依存関係の探索に対して、スケーラブルなソリューションを提供することにも注意してください。 複雑なシステムの場合、抽象化のすべてのレベルを探索する照会の実行に時間がかかったり、返される要素が多すぎて、結果が使い物にならなかったりする場合があります。 スケーラビリティーの問題の発生を防ぐには、まず ダイアグラム内で要素を可視化し、それから必要に応じて探索機能を使用して、トレース関係および依存関係を一度に 1 レベル探索します。 これは、UML ダイアグラム内でこれらの関係を探索する際のスケーラブルな方法です。

ワークフローの例

追跡可能性の利点を活用するには、要素の開発に使用するプロセスを、追跡可能性を考慮して設計する必要があります。 開発プロセスの例を以下に示します。

  1. Rational RequisitePro 要求を作成します。
  2. UML ユースケースを作成します。
  3. 各ユースケースから、それが実装する対応する要求への連結性リンクを作成します。
  4. シーケンス図を作成して、ユースケースを洗練します。
  5. シーケンス図内の各コラボレーションから、そ れが洗練した対応するユースケースへの抽象化関係を作成します。
  6. 共通」タブの「トレース関係の作成 (Create trace relationships)」チェック・ボックスを選択した状態で、UML から Java への変換を使用して、UML モデルを Java に変換します。

フィードバック