• Imagix 4D ユーザガイド
  • 目次

シーケンス図ビュー

通常、ソフトウェアの呼び出し階層を調べる場合、構造ビューの [関数呼び出し] 選択から関心のある情報を得ることができます。これにより、調査中の関数間のすべての呼び出しが表示されます。また、変数の使用に関心がある場合、[変数付き関数呼び出し] を使用すると、調査対象の変数を設定および読み取る関数が表示されます。

しかし、コード内の関数呼び出しや変数使用の順序や条件を理解したい場合があります。このより詳細な制御フロー解析の可視化は、シーケンス図を通じて利用できます。 (1) シンボル使用の条件に関する情報を提供し、(2) 限られた画面スペース内でのソフトウェアの広範囲な可視化をサポートするために、Imagix 4Dのシーケンス図は標準的なUMLシーケンス図の形式とは異なります。

シーケンス情報

シーケンス図ビューでは、表示は関数と変数に限定されています。構造ビューで関数を表すシンプルな形状(長方形/四角形)や変数を表す形状(四面体/三角形)は、より大きく複雑な表現に置き換えられます。これらは、各表示可能な非ライブラリ関数内で、他の表示可能な関数がどこで呼び出され、表示可能な変数がどこで読み取りおよび設定されるかを示します。

シーケンス図で使用されるレイアウトは、2Dグラフ(通常/ルート)の水平レイアウトに相当します。フローは常に左から右へ流れます。最も左の列には、図に表示されるシンボルの中でルートにあたるものが含まれ、次の列には残りのシンボルのルートが含まれます。

列内では、シンボルはその列内で使用される順序に従って上から下に並べられます。したがって、制御フローの順序は一般的に図の左上から右下へと進みます。

条件情報

しかし、これは過度に単純化されたものであり、シンボルは複数回呼び出されたり、その使用が条件付きであったりすることがあります。

これを伝えるために、シーケンス図ではシンボルの各使用を個別に表示し、その使用に至る条件も示します。このため、関数の表現には、シンボルの使用が発生するソースコードの行(黒)と、関数呼び出しや変数設定/読み取りに実際に到達するかどうかを制御する関連する決定(青)が表示されます。各決定レベルはインデントされているため、使用に至るまでの決定をすばやく確認できます。

デフォルトの動作では、関数のreturn文が発生するソースコードの行と、それに関連する決定も表示されます。

ダイアグラムや表示されている関数群および変数群を修正すると、可視の非ライブラリ関数をそれぞれ表す内部のコンテンツは、自動的に変更されます。これにより、確認する必要のある特定の関数ならびに変数間におけるシーケンス図を、迅速かつ精確に調べることが可能となるのです。

複雑度の管理

シーケンス図は、構造ビューおよびUMLクラス図ビューと同様に、Imagix 4Dのグラフィッククエリ機能を共有しているため、関数や変数の制御フローの特定部分を分析することができます。解析が進むにつれて、図はすぐに非常に大きくなる可能性があります。

そのサイズを制限する一つの方法は、特定の関数に関連するソースコードのスニペットを非表示にするために関数ボックスを選択的に折りたたむことです。もう一つの方法は、returnステートメントの表示を抑制することです。これにより、すべてのreturnステートメントと、それに関連する決定階層のスニペットが非表示になります。以下は、returnを無効にし、特定の関数のソースコードを非表示にした同じ図です。