Micro Focus Enterprise Analyzer

主な機能

インベントリレポート
インベントリレポート
エグゼクティブレポート
エグゼクティブレポート
ポータビリティアセスメントレポート
ポータビリティアセスメントレポート
CRUDレポート
CRUDレポート
ハイパービュー
ハイパービュー
クリッパー
クリッパー
影響分析
影響分析
変更分析プログラム
変更分析プログラム
ダイアグラマー
ダイアグラマー
バッチアプリケーションビューワー
バッチアプリケーションビューワー

1.豊富なレポート

› インベントリレポート

Enterprise Analyzerのリポジトリはワークスペースと呼ばれる単位で管理されます。ワークスペースはさらに複数のプロジェクトを内包することができます。ワークスペースを作成したらインベントリレポートを出力することによってワークスペース内に登録された各対象オブジェクト(プログラム、ジョブ、画面定義など)の一覧を概観することができます。

このレポートには各オブジェクトについて、行数、リポジトリ登録時の問題点などが表示されます。

› エグゼクティブレポート

アプリケーションのより詳細な棚卸し情報を HTML 形式で提供します。「アプリケーション要約」ビューには、プログラム・ボリューム、保守容易性、サイクロマティック複雑度、障害の数など、業界標準メトリックに関する統計が表示されます。

出力されたコンテンツをイントラネット上にアップロードして関連作業者 全員で共有することができます。

› ポータビリティアセスメントレポート(移植性評価レポート)

メインフレームから他の環境にマイグレーションする際の移行性に特化した棚卸し情報をHTML形式で提供します。使用されているがソースコードのないメンバーや、どこからも使用されていないメンバーの一覧に加え、16進定数、LE関数の使用、テープの使用などのメインフレーム固有のプログラミング箇所をハイライトします。

特に Micro Focus Enterprise Serverへのマイグレーションに特化した機能として、サポートされないCICS構文とIMS DLI構文の使用箇所を抽出します。

› CRUDレポート

データベース・データファイルのアクセスに関してどのプログラムからどのデータを生成(Create)、参照(Read)、更新 (Update)、削除(Delete)しているかについてのクロス参照情報をレポートします。

COBOLのI/O文のみならず、JCLのDD文やCICSリソース定義をも包括的に解析するため、物理的に同一のデータセットに対する正確なCRUD情報を生成できます。また EXEC SQL文によるCRUD情報はメインフレームではないオープン環境のCOBOLアプリケーションからも抽出することが可能です。

2. プログラマの作業の包括的な支援

› ハイパービュー(対話式分析)

プログラマがソースコードのウォークスルーを対話型で行うための包括的なサポートを提供します。ソースコード上のデータ項目名や手続き名をクリックすればその定義箇所や他の使用箇所へ素早くナビゲートされます。着目している段落をフローチャート表示することでコードの理解を促進します。また、プログラムの先頭から着目している箇所に至るまでのPERFORM / GO TOの流れを図示し、プログラム全体の処理の流れの把握も支援します。

› クリッパー

システム全体の中から特定の条件に合致するコード箇所を漏れなく抽出するクエリー機能です。豊富に用意された定義済みクエリーに加え、ユーザー定義のクエリーもウィザードを使用して対話型で作成することができます。ユーザー定義クエリーは、一例としてコードのバグ修正に対して潜在する類似のコードを一括抽出したり、納品されるコードの発注条件合致性の検査などで活用することができます。

主な定義済みクエリー:
- 転記の桁落ち箇所
- デッドコード(決して到達することの無い実行文)
- デッドデータ(宣言されているのに使用されていない項目)
- PERFORM範囲の重複
- PERFORM範囲外に分岐するGOTO文
- 入れ子が深すぎるIF文

ユーザー定義クエリーの例:
- 7桁の符号なし数字項目が定数100000と比較されている条件式
- 文字定数が "HDP" で始まる名前の項目の添え字づけに転記されているMOVE文
- 小数点以下を持つ数字項目が割り算の分母で使用されているような段落をPERFORMする文

› 影響分析

アプリケーションが出力する最終結果である画面フィールドや帳票上の項目に着目し、この出力を得るに至った経路(元となるデータベースのカラムや途中の計算式など)を追求することができます。また、逆にデータベースの特定のカラムを出発点として、それがプログラム中でどのように加工されて最終的に画面や帳票に出力されているかを追求することができます。

分析対象となる影響波及経路は、転記、計算、ファイル入出力、SQL文、CICS/IMSの画面入出力が含まれます。

これを活用して複雑で膨大なプログラムの中から業務上本質的なビジネスロジックの部分を抽出し、業務の仕様を理解することができます。

› 変更分析プログラム

例えば製造業にとっての「部品コード」のようなアプリケーション全体にとってキーになるようなビジネスエンティティについて桁数拡張などの項目属性変更を行う場合、アプリケーションの変更量は膨大になります。また、変更漏れによるリグレッションのリスクを回避することも必須です。変更分析プログラムがこのようなケースで活用できます。

まず、出発点となるシードフィールドを、項目名とPICTURE文字列のパターンで定義します。項目名の除外パターンも定義することができます。たとえばBUHINが含まれる項目名であっても BUHINMEIが含まれるようなものは除外することができます。

次に、これらのシードフィールドから出発して同義語を一括抽出することができます。同義語はMOVE文による転記や REDEFINES句によって波及する対象です。これによってシードのパターンに適合しなくても実際には変更する必要のある項目の候補を抽出することができます。これらの候補を目視によって振り分けることによりシードパターンをさらに精緻化することができます。

最後にこれらの同義語全体に対してクリッパークエリーでその使用箇所の条件抽出を行うことができます。

3. 理解しやすい視覚化

› ダイアグラマー

プログラム、データファイル、画面、ジョブといった構成オブジェクト間の関係をグラフィカルに表示し、理解を促進します。図示する対象のオブジェクトと関係は自由に選択することができ、利用者の目的に応じて最適なグラフ化が可能です。グラフの形状は、階層型、スター型、ツリー型など各種選択が可能で、さらに利用者による表示位置の修正や、自由形式のコメント付けにも対応しています。各種作業文書に再利用するための作図を簡単に行うことができます。

› バッチアプリケーションビューワー

ジョブの構造を複数の視点から理解することを支援するビューワーです。ジョブ内のステップ毎に実行プログラムとデータセット(DD)を構造的に表示し、プログラム側またはデータセット側から逆引きでの表示を行うことも可能です。

TOPへ ↑

-----