連載
» 2015年07月01日 10時00分 公開

5分で分かる最新キーワード解説:レガシー迷宮を攻略する「ソフトウェア地図」とは? (1/3)

複雑化したレガシーソフトのコンポーネント判別やプログラムとデータ間の依存関係を可視化できる「ソフトウェア地図」が登場した。

[土肥正弘,ドキュメント工房]

 今回のテーマは、長年の開発保守の繰り返しで肥大化、複雑化したレガシーソフトウェアを見直したいけれど、もうどこから手を付ければよいのか分からなくなった企業の道しるべになる「ソフトウェア地図」だ。機能コンポーネント判別やプログラム間とデータ間の依存関係などの可視化にとどまらず、業務ロジックの複雑度も見える化できる技術が登場した。

「ソフトウェア地図」って何?

 ソフトウェア地図は、膨大なアプリケーションのコードを自動解析し、機能コンポーネント別に分類、処理やデータの依存関係などをもとに全体像を俯瞰できるよう「市街地図」風に可視化する技術だ。

 富士通が2012年に発表した技術では、アプリケーション再構築などに必要な初期分析の対象範囲絞り込みなどを省力化して工数を半減させた。2015年5月、業務ロジックの複雑度の可視化技術を開発しソフトウェア地図に反映した。

ソフトウェア地図 図1 ソフトウェア地図。(上)アプリケーション構造の可視化例(下)業務ロジックの複雑度を加味した可視化例(出典:富士通)

なぜ「ソフトウェア地図」が必要になるのか

 「ちょっとここ、もう少し改善できないかな」と業務システムへの急な改善要求。簡単そうだと思って取り掛かったら、影響が別システムに波及、それを直したら今度はまた別の業務に支障が出る。

 長年使い続けたレガシーアプリケーションは、数千から数万のプログラムの集合体で、増改築を繰り返してどこがどうつながっているか分からない迷宮のようなものになっていることが多い。全体像が把握できないままの改修や追加は思わぬトラブルの原因になりがちだ。

 また、スピードアップするビジネスに追随するには、次々に登場する新技術やデバイスへの対応も欠かせない。今後の保守コストアップや陳腐化の進行を考えると、機能の一部や全部を再構築する方が得策と考える企業も多い。

 従来、レガシーマイグレーションはインフラのオープンシステム移行を中心にしたが、現在ではアプリケーションの最適化も視野に入れ、モバイルデバイス対応やクラウド、最新フレームワークの利用、ビッグデータ解析への対応といった現代的課題に答えるための手法を加えた「ITモダナイゼーション」手法が注目される。

 ITモダナイゼーション手法の選択、工数見積もり、スケジューリング、リソース配分を見誤らないために、アプリケーションの正確な姿を知ることは必須条件だ。しかし、古いシステムの開発時の担当者が既に退職し、開発ドキュメントや改修履歴も完全に保管されていないことがしばしばあり、開発を外注した会社がなくなっていることさえある。

 そこで、主にソースコードから構造を解析する必要に迫られる。だが、肥大化、複雑化したシステムではそのための工数は半年程度では収まらない。そこで役に立つのがソフトウェア地図というわけだ。

       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.