アプリケーションに関する全体的な生産性の向上を目的に、IT部門がより少ない資源でより多くの作業ができるように支援するために、アプリケーション自動分析ツールは多くの企業で導入されています。

 アプリケーション自動分析ツールとは?

アプリケーション自動分析ツールは、ソースファイルやデータベースカタログを自動収集・解析し、解析されたオブジェクト間のすべての関連関係やメトリック情報を抽出します。ツールを利用して抽出された情報はすべて中央リポジトリに保存され最終的にはアプリケーション知識ベース(knowledgebase)の機能を持ちます。





 アプリケーション自動分析ツールが必要である理由


アプリケーション自動分析ツールは、アプリケーションの開発や保守に関し全体的な生産性の向上を支援するために必要とされています。

影響分析

アプリケーション自動分析ツールは、基本的にユーザーによる変更済みソースコードとそれに関係する要素を特定できるため、開発者はアプリケーションやデータベース変更の際、その影響範囲を容易に特定できます。また、アプリケーションの変更が影響を及ぼす範囲のみを集中してテストできるように支援します。
アプリケーション自動分析ツールの使用により、影響分析を行なう開発者達は変更の際に影響を受ける要素を漏れなくチェックできるので、正確性と信頼性の向上が期待できます。それゆえ、影響分析を実施することで、IT部門は頻繁な変更に起因するシステム障害リスクの低減が可能になります。

アプリケーションの現状分析時間の削減

アプリケーション自動分析ツールは、アプリケーションの理解や現状把握(AS-IS)分析をする際の時間とコストを削減できます。ツールと連携されているアプリケーションリポジトリは、すべての担当者にとってオンデマンドで参照できる資料として、アプリケーションの構造と関連性を容易に理解できるように手助けします。特にアプリケーションのマイグレーションや次期システムのプロジェクトにおいて手作業で行われた業務が自動化されることで、予定した期日通り、予算通り進めることが可能になります。アプリケーションの可視性が確保できない場合、対象となるアプリケーションがまだ理解できていない開発者達は古い情報が記載されているドキュメント成果物を探してみたり、ソースコードを直接読むとか、以前の開発担当に直接問い合わせをすることなど非効率な方法でアプリケーションを分析することになります。これらはプロジェクトのコストを増加させる要因になります。

アプリケーション自動分析ツールではユーザーは、解析されたオブジェクト間の関連関係または依頼関係を手作業でマッピングする必要がなくなります。ユーザーによって入力された基本設定をもとに、ツールがすべての作業を自動で行ないます。 ユーザーが生産性向上のため、アプリケーション知識ベースから取得できる情報は以下の通りです。

  • ■ 呼出し関係(Calling chain)
    – クライアント画面からデータベースに至るまで全範囲にわたってどんなオブジェクトまたはメソッドがお互いに呼出しているか
  • ■ 視覚的マップ(map)
    – 馴染みのないアプリケーションに対する理解度を高めるために提供されているグラフで、すべてのオブジェクト間の呼出しや被呼出し関係を含む

  • ■ 全体的な参照関係
    – ある特定のオブジェクトや変数、データベーステーブルフィールドなどがどこで参照されているか
  • ■ ソースコード実行フロー
    – ソースファイルに記述された条件分岐によるすべての実行フローをフロー図形式で提供

アプリケーション知識の共有

アプリケーション知識リポジトリがない場合、一定時間が経過してアプリケーション変更が発生すると初期設計及び実装の過程で蓄積された知識が消滅していきます。アプリケーション自動分析ツールは、リポジトリ内の情報をグラフィックで表現してプログラマや分析者をナビゲートし、多様な関連データやソースコードレベルまでドリルダウンすることを可能にします。このアプリケーション自動分析ツールを活用することにより、IT部門は新しいアプリケーション開発者が採用されたとき、素早く知識の引継ぎが期待できます。企業は視覚的かつ透明なアプリケーション知識を共有することにより分析者や開発者、QAスタッフ間でのよりよいコラボレーションを実現できます。

  • ■ CRUD マトリックス
    – プログラムとデータベーステーブル間のデータ生成 (Create)、読み取り(Read)、更新(Update)、削除(Delete)関連情報マトリックス形式で提供

  • ■ 多様な測定メトリック
    – 業界標準に基づく複雑度やメトリック情報、呼出し関係がないソースコード、参照されていないデータベースフィールド、Dead code など
システムのドキュメント改善

ドキュメントは、通常システムが本番稼働した後すぐにすたれてしまう物質的な紙を意味します。紙のドキュメントでは、ソースコードの変更があった場合にドキュメントとして反映されないままになってしまいます。ドキュメントが不正確であるため、アプリケーションチームは日常的に行われる業務では直接利用しなくなってしまいます。アプリケーション自動分析ツールは、継続的にアプリケーションリポジトリを更新し、自動的にドキュメント化の支援をします。ツールを活用することで、アプリケーションチームは常に最新のドキュメントを直接手に入れることができます。