システム把握の難しさ
システム更改では、関係者へのヒアリングや設計書などを元に現行システムを把握することなどから開始します。しかし、全ての仕様を把握することは簡単ではありません。なぜなら、関係者の引継ぎ等により詳細情報が失われていたり、長い運用の中で設計書が最新化されていなかったりするケースがあるためです。こうした場合に、ソースコードを元に人手で分析したり、資料を一式読み解くなど、いくつかのアプローチが考えられます。しかし、人手での対応はコスト面で大変な負担になります。そこで、負担を抑えるため、現行システム解析には様々なツールが使われています。
現行システム解析で使われるツール
- 1.システム棚卸ツール/APM(Application Portfolio Management)ツール
「使われていない」、「複雑度が高い」といったシステムの機能や画面を一覧化できるものです。システム更改時のスコープ決定や工数見積もりなどに使われます。APMツールでは、加えてシステムのコストや利用率などのIT投資対効果も参照できます。問題のあるシステムの特定やIT投資戦略の検討に使われます。
- 2.データプロファイリングツール
データベース内の実データを解析し、予期しないデータや極端に数が少ないなどの「外れ値」などを検出するものです。システム更改時に移行対象とするデータの選定に使われます。
- 3.設計書生成ツール
ソースコードをインプットとして設計書を生成するものです。文法を知らない言語で書かれたソースコードの場合でも、設計書の状態にすることで誰でも確認できる点がメリットです。
ツールを賢く使う
各ツールは非常に有用ですが、ツールを使えば全て解決するわけではありません。例えば、設計書生成ツールで作られた設計書は、通常では変数名やコード値などがソースコード上の表記のままになっているため、論理名(日本語)に変換したり、業務の情報を追記するなどして、業務を理解しやすい状態に変えていく必要があります。また、各機能やシステムがどういった目的で作られ、どのような業務を担うのか、といった情報に関しても、ヒアリング等を通じて人手で補完する必要があります。ツールの効果範囲を理解し、適切に使いこなすことが求められます。NTTデータでは、「設計書リカバリーサービス参考」として、システム運用者のノウハウを取り込み、現行のソースコードを元に現行設計書の姿に合わせて設計書を再生し、提供するサービスを提供しています。
図:設計書生成ツールの動作の流れ
- 1.ソースコードを構文解析し、設計情報である意味を取り出す
- 2.設計情報に論理名(日本語)を付与し、設計書に合わせて必要な情報を整理する
- 3.設計書の形式で出力する
現行システム解析の今後
今までの現行システム解析の多くは、プログラムロジックの理解が中心であったため、システム更改の開発プロセスの中で行われてきました。しかしながら、近年では資産の棚卸など企画プロセスや要件定義プロセスでも現行システム解析が行われるようになってきています。今後このような解析の早期化は更に進むと考えられ、保守プロセスでも現行システム解析が行われ、その結果を用いて保守の効率化と次期システムの企画や要件定義が行われるのが一般化するでしょう。