ユースケース:構造把握
構造把握とは、ソフトウェアの構造や仕様を把握することです。
例えば、ドキュメントが残されていないソフトウェアに対して部分的な改修や不具合対応を行う場合、変更を行う前にソフトウェアの構造をソースコードから読み解かなければなりません。目視によるソースコードの確認は、ミスが起こりやすく手間がかかります。 ここでは、Understandのソフトウェアを可視化する仕組みを用いた実践的な構造把握の方法をご紹介します。
例えば、ドキュメントが残されていないソフトウェアに対して部分的な改修や不具合対応を行う場合、変更を行う前にソフトウェアの構造をソースコードから読み解かなければなりません。目視によるソースコードの確認は、ミスが起こりやすく手間がかかります。 ここでは、Understandのソフトウェアを可視化する仕組みを用いた実践的な構造把握の方法をご紹介します。
課題
- 他の人が書いたソースコードを理解するのに時間がかかる
- 部分的な改修や不具合修正といったスポット対応が多い
- ドキュメントが古いため、ソースコードを読まなければ仕様が分からない
原因
アーキテクチャ設計が適切になされていない例:設計者以外がアーキテクチャを理解できていないため、構造を把握することが難しい
構造を理解するための材料が乏しい
例:開発担当者が頻繁に変更されるため、ドキュメント・ソースコードコメントがメンテナンスされていない
コードの可読性が低い
例:何年にも渡ってメンテナンスされたレガシーなコードである
1.モジュール(ディレクトリ)間の関係を確認する
ポイント- モジュール・ディレクトリ構造と関連を確認
Understandの利用
モジュールやディレクトリ構造の関連を確認 Understandでは、Internal Dependenciesグラフを用いて、モジュールやディレクトリ構造の関連を確認します。Internal Dependenciesグラフでは、ディレクトリ・ファイル・関数など、任意の粒度への展開が可能です。また、変数アクセス(Init/Set/Use/Modify)のみ、関数コール(Call)のみといった、特定の依存関係だけを表示することもできます。 【操作方法】
関連の詳細情報を確認 Internal Dependenciesグラフに表示された依存関係の詳細を、依存関係ブラウザーを用いて確認します。このブラウザーでは任意のディレクトリ・ファイルに関連する依存関係を一度に確認できます。 【操作方法】
|
2.クラスの仕様を確認する
ポイント- クラスのメンバーや継承関係から、アーキテクチャを理解
Understandの利用
クラスメンバー、クラスの継承関係を確認 Understandでは、Declarationグラフを用いて、クラスのメンバーや継承関係を確認します。Declarationグラフから、表示されているメンバーのDeclarationグラフを表示させたり、関数のControl Flowを確認することができます。 【操作方法】
クラス図を確認 Understandでは、任意のクラスオブジェクトをUMLのクラス図を用いて表示します。 【操作方法】
|
3.関数の処理フローを確認する
ポイント- モジュール(ディレクトリ)内の任意の関数について処理フローを確認
Understandの利用
モジュール(ディレクトリ)間の関係を確認するにて、関係を確認する際、特定の関数について処理を確認したい場合があります。このような場合は、Internal Dependenciesグラフ上からControl Flowグラフを開くことで、容易に関数内の処理フローを確認することができます。 【操作方法】(Internal Dependenciesグラフ上からControl Flowグラフを開く)
【操作方法】(関数名からControl Flowグラフを開く)
|
4.構造体・共用体の仕様を確認する
ポイント- 構造体や共用体の内容を確認し、利用しているデータ型を理解
- 構造体において、入れ子の型仕様を確認
Understandの利用
Understandでは、Data Membersグラフにより、クラス、構造体、または型が持つコンポーネントをダイアグラムで表示します。構造体に含まれる型も表示するため、全体像を用意に理解することができます。 【操作方法】
|
イベント・セミナー
ニュース・キャンペーン
ソースコード解析ツール Understandに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- scitools-info@techmatrix.co.jp