影響範囲の分析 「Lattix / Understand 構造解析ソリューション」

ソフトウェアの開発、特に保守開発・追加開発において、事前に修正の影響範囲を分析することは非常に重要なタスクです。影響範囲の分析では、変更対象の要素に対して直接依存関係を持つ要素だけではなく、さらにそれらに対して間接的に依存関係を持つ要素も抽出する必要があります。
右図の例では、ModuleCに対する変更の影響を分析する場合、ModuleA,Gだけではなく、ModuleD,Eも考慮する必要があります。
このような分析をソースコードベースで実施した場合、膨大な時間を必要とし、かつ、抜けや漏れが発生しやすいという問題があります。

コード変更時の影響範囲

課題

ツールを使わない影響分析(Grep)では、1つの要素名を検索し、直接の影響箇所を分析します。


  • 間接的な影響箇所は調査範囲が漏れることがあります
  • 調査や分析に時間がかかることがあります
  • 調査方法や調査結果は属人性が高い場合があります

解決策

ツールを利用することで、影響範囲の分析結果は、下記の方法で効率的に確認できます。

Understandでは、変更予定要素を選択し、影響範囲をグラフィカルに表示します。直感的で分かりやすい分析が可能で、気になる影響の詳細を手元で確認したい際に役立ちます。

例) Calls / Called By(関数の呼び出し/被呼び出しグラフ)
関数やメソッドの呼び出し関係をコールグラフで表示します。

>>Understandトップページ

Understandでは、ソースコード変更後の影響範囲差分を表示できます。実装後に、修正箇所の確認、コードのレビューに役立ちます。

例) Compare Butterfly(差分グラフィカルビュー)
2つのUnderstandプロジェクトを比較し、追加/削除/変更された関数の参照関係の差分を色分けして表示します。

>>Understandトップページ

Lattixは、複数の点からの影響分析が得意です。Lattixでは新規に追加された要素、依存先が追加された要素を変更点と認識し、依存関係の差分からの影響範囲を可視化できます。

Lattix Web (ブラウザー経由で結果を表示)では、任意のバージョン間における実際の変更からの影響範囲(変更後の影響分析)を一覧表示することができます。これにより、複数要素から直接または間接的な影響範囲を網羅的に確認することが可能です。
テスト範囲を見積もる際の抜け漏れのチェックリストとしてもご活用いただけます。

影響分析レポートでは、呼び出し元がある要素がリンクで表示されます。リンクをクリックするとその要素でフィルタリングが可能です。直接的に影響する要素だけでなく、間接的に影響する要素について、呼び出し元がある要素(UsedBy)のみをリンク表示し、その要素でフィルタリングできるため、簡単に呼び出し元を辿ることができます。

>>Lattixトップページ

運用

影響範囲の分析は、CI環境に取り入れてより効率的に(機械的に)運用ができると抜け漏れの防止につながります。
特に変更箇所からの影響分析は、コマンドラインからレポートを自動出力する運用が効果的です。


〈CI環境との運用イメージ図〉

<サービスラインナップ>
・1言語対応影響分析ソリューションツールセット
・CIレポート出力環境構築サービス付き
※本サービス関する詳細や価格は、お問い合わせフォームにてお気軽にお問い合わせください。別途、メールで回答いたします。

アーキテクチャ分析ツール Lattixに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
lattix-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。