Visual Expert for PowerBuilder

参照の発見 (インパクト アナリシス)

変更に伴うバグの回避: アプリケーションのアイテム (使用されているオブジェクト、メソッド、変数、テーブルまたはカラム...) を変更する必要がある場合、 Visual Expert はそのアイテムに関係を持つすべてのコンポーネントをリスト出来ます。 これによりPB開発者はその変更に関連する事項を評価出来、予測できない問題を回避できます。

たとえば、特定のデータベース カラムを使用しているデータウィンドウまたはスクリプトをすべて調べることが出来ます。

ドキュメントの作成

Visual Expert を使用すると、PowerBuilder コードのテクニカル ドキュメントを作成し、いつでもそれをカスタマイズおよび更新可能です。 アプリケーションの知識を簡単にトランスファーできます。

コード内の参照や呼び出しをドキュメントにできます。 ドキュメント内では、ハイパーリンクを使用しているので、これらを簡単にナビゲートできます。

ドキュメントのカスタマイズ

  • 表示したいアイテムの詳細を選択できます。たとえば、ウィンドウ、インパクト アナリシスなどによって参照されるコントロール、関数およびイベント コード、属性、アイテムを表示または非表示にできます。
  • 貴社のビジュアル アイデンティティに一致するカラー、フォントをドキュメント スタイルに適合できます。

ドキュメント作成をスケジュール

  • ドキュメントを毎日/毎週/毎月または特定の日時に自動的に作成できます。
  • PCを使用していないときにドキュメント作成をスケジュールすることにより、リソースを開放でき、必要なときに利用できます。
  • ドキュメントをサーバの共有フォルダーで作成すると、各チームのメンバーは、必要なときに最新のドキュメントを利用できます。

サンプル ドキュメントを参照するには ここをクリックしてください。

複雑なコードの調査と理解

複雑で大きいPBアプリケーションをメンテナンスするとき、慣れ親しんでいないコードを理解する必要があるかも知れません。このような場合、PowerBuilder のパートナーとしてVisual Expert を利用できます。

Visual Expert のツリービューでは、アプリケーション構造 、コンポーネント (PBL、ユーザオブジェクト、ウィンドウ、データウィンドウ、メニュー...) およびそれらの従属性を調査できます。

Visual Expert のコード ブラウザを使用してコード内をナビゲートできます。コード内ではあらゆる参照がハイパーリンクされており、簡単に参照されるアイテムに移動できます。選択されたアイテム上にマウスを当てると特定の情報が表示されます。

コードの構造とコンポーネントを簡単に調べられます。 

  • 複雑なオブジェクトの構造をツリービュー内に表示できます。たとえば、複雑なウィンドウに貼り付けられたコントロール、メソッド、変数を表示できます。
  • オブジェクトまたはメソッド間の呼び出しを表示できます。 
  • PBL間の従属性をチェックアウトし、PBLのどのオブジェクトが他のPBL内のオブジェクトから呼び出されるかを表示できます。
  • オブジェクトまたはメソッド間の参照を確認し、コード内での特定の行で各アイテムが参照されているかを表示できます。
  • PB コードとデータベース (使用されているテーブル、カラム、またはストアド プロシジャー) 間の従属性をレビューできます。
  • PB 内で宣言されている外部関数、およびアプリケーションによって使用されている DLL をリストできます。

継承の従属性

PB アプリケーションは、複雑なフレームワークと先祖ライブラリから構成されることがあります。
継承による従属性の理解は、アプリケーション内部の動作または先祖ライブラリのメンテナンスのキーとなります。

Visual Expert は...

  • ウィンドウ、ユーザオブジェクト、およびメニューの継承階層を調べることができます。
  • 関数およびイベント レベルで継承階層を表示できます。
  • どのメソッドが単純に継承されているか、または拡張されているかを表示できます。
  • 選択されたPBオブジェクトの上書きイベント/関数を見つけることができます。

高度な文字列サーチ

大量のコードで文字列サーチを行うと、あまりにも多くの結果が戻され生産性が低下します。 Visual Expert は、この課題を以下の機能でカバーします。

  • サーチ結果を少なくするため、複数の条件を使用できます。
    • サーチをコメントのみに制限します。
    • サーチをいくつかのオブジェクト型に制限します。
    • 「正確な単語」、「文字パターンで開始」、「文字パターンで終了」など、多彩な条件でサーチできます。
    • 正規表現でサーチします。
    • 大文字と小文字を区別してサーチ
  • 同時に複数のPBターゲット内でサーチできます。
  • サーチにあらゆるテキスト ファイル (SQL、他のソースコード、シェルスクリプト、ascii..) を含めることができます。
  • サーチ結果を高度に調べることができます。
  • チーム メンバー間で結果を共有 (共有プロジェクト、Excel または HTML ドキュメントとしてエクスポート) できます。

 

データウィンドウ サポート機能

データウィンドウは PowerBuilder アプリケーションの中心に位置づけられます。 Visual Expert はデータウィンドウに関連して以下の機能を提供します。

  • データソース (SQL、ストアド プロシジャー、外部) に依存するデータウィンドウをリストします。
  • dataobject プロパティの動的な変更により参照されるデータウィンドウを見つけます。
  • ドロップダウン データウィンドウとして使用されるDWを表示します。
  • 同じバッファを共有するデータウィンドウ(共有 DW) を見つけます。
  • 式により動的に計算されるカラムを持つデータウィンドウを見つけます。
  • 選択されたデータウィンドウのDW カラム / DB カラムのマッピングを表示します。
  • その他

PowerBuilder とのインテグレーション:

  • PB ターゲットを選択することにより、そのコード解析を実行します。
  • コードを調べている間に、Visual Expert 内で変更したいコードを見つけ、PB IDE に切り替えてそのコードを編集できます。
  • Visual Expert 内で ( たとえば、インパクト アナリシスの結果から...) 複数のアイテムを選択してPB のTo-Doリストに追加できます。これによりPB 内でこれらを編集できます。

コード レビュー

使用されていないコードの検出: 既に使用されていないコードを見つけこれを削除することにより、アプリケーションのパフォーマンスを改善し、メンテナンスを簡単にします。 使用されていないコードは、オブジェクト、関数、イベント、プロパティ、パラメータまたは変数において検出できます。

Visual Expert は、従属性 ( 継承、参照、埋め込みオブジェクト…) を持たないアイテムをリストできます。これらのアイテムは使用されていないと識別できます。

コンポーネントの重複: PowerBuilder ターゲット内で同じデータ型、同じ名前のオブジェクトがある場合、PowerBuilder は、最初に見つけられたオブジェクトのみを使用し他のオブジェクトを無視するため、結果として予期しないアプリケーション動作を引き起こす可能性があります。

Visual Expert は、このような重複しているコンポーネントを自動的にスキャンします。

コード メトリックス: Visual Expert はコードのサイズおよび統計情報を生成出来ます。

空のメソッド: アプリケーションのメンテナンス中に、ソースコードを一時的にコメントにしたり空にすることがあります。 Visual Expert はそのようなメソッドを探し出すことが出来、これらを削除することによりコードが軽くなります。

チーム連携機能

チーム メンバーは、Visual Expert を使用して、同じアプリケーション情報を共有できます。

  • Visual Expert はサーバ上で実行でき、各チーム メンバーは同じプロジェクトを各自のPC上で同じプロジェクトをオープンできます。
  • ソースコードはサーバ上で解析され、すべてのユーザがこれを利用できます。
  • すべてのチーム メンバーは、同時に同じプロジェクトを使用してコードを調べられます。
  • 解析結果 (たとえばインパクト アナリシスの後) を共有できます。チーム メンバーは、Visual Expert ビューを他のメンバーと共有できます。
  • チーム メンバーは、Visual Expert ビューをviews as Excel または HTML ファイルとしてエクスポートし、送信できます。

複数のアプリケーションを同時に解析

多くのシステムは、複数の PB アプリケーションで構成されます。これらのアプリケーションは共通のリソース (テーブル、ストアド プロシジャー、DLL、PB 先祖ライブラリ…) を共有しているかも知れません。このような場合、 それらの複数のアプリケーションを同時に解析することは、以下の意味があります。

Visual Expert は...

  • 複数アプリケーションを同時に解析できます。
  • 共通のリソースへの参照を発見できます。
  • 複数アプリケーションを横断して文字列サーチできます。
  • 複数の PB ターゲットを含めてドキュメントを作成できます。

Visual Expert は、特に充分なRAMを持つサーバにインストールされ、SQL サーバのプロフェッショナルまたはエンタプライズ版を使用することにより大きなアプリケーションのコードを解析できます。

 

Visual Expert 試す

何故 Visual Expert を使用するか?

ナレッジ マネジメント

Visual Expert は、アプリケーション知識をツール内で集約します。 すべての開発者およびプロジェクト リーダーは、このアプリケーション知識をいつでも利用できます。

変更管理

Visual Expert は、インパクト アナリシスにより、アプリケーションの変更により発生する可能性がある予期しない影響を回避できます。

コスト セービング

Visual Expertの利用により30 % の開発工数を削減できます。

直接的な恩恵

ツールは使い続けてこそ目的を達成できます! Visual Expertのインストールにより、1時間以内でその恩恵を得ることができます。

VisualExpert for PowerBuilderの詳細機能

コードの探索

  • PowerBuilder コンポーネント
    プロジェクトの解析後、VisualExpertは次の要素をツリービューで表示します。
    * アプリケーションのPBL、および各PBL内のコンポーネント
    * タイプ毎のPowerBuilderオブジェクト(たとえばデータウィンドウ)
    * PowerBuilderオブジェクトに定義されたコントロール、関数、イベント、プロパティ、変数、パラメータ

    ツリービュー内のコード探索による表示:
    * 選択された項目のコンテナ(たとえば、オブジェクトが含まれるPBL、コントロールが含まれるオブジェクト、イベントが含まれるコントロール、または変数を含むイベント…) 
    * コンテナの階層(項目から継承されるすべてのコンテナ)。たとえばイベントのコンテナ階層はこのイベントが定義されているコントロール/オブジェクト/PBL/プロジェクトが表示される。

    ツリービュー内のメニューオブジェクトに関する表示:
    * メニューオブジェクトに定義されたメニュー項目の階層
    * 同じ階層における各メニュー項目に定義されたすべてのイベント

  • データベース コンポーネント
    VisualExpertはデータベース項目のすべての参照を解析します。
    ツリービューに表示される項目:
    * PowerBuilderコードにより参照されるデータベース テーブル(データウィンドウと埋め込みSQL)
    * PowerBuilderコードにより参照される各テーブルのカラム
    * PowerBuilderコードにより呼び出されるストアド プロシージャ(データウィンドウ、PBスクリプト)

    アプリケーションでPL/SQL または Transact-SQLを使用している場合、VisualExpertはテーブル、カラム、およびストアド プロシージャのすべての参照を表示します。
    詳細はVisual Expert for Oracle, またはVisual Expert for Sybase ASE or Visual Expert for SQL Serverのページを参照してください。

    VisualExpert のオプションを利用することにより、PowerBuilder + DBコードで構成されるp路ジェクトの全体像を把握できます。たとえば、アプリケーションがPBコードとsybaseストアド プロシージャから構成される場合、同じPC上でVisualExpert for PowerBuilderとVisual Expert for Sybase ASE or Visual Expert for SQL Server を利用できます。
  • SQLクェリ
    プロジェクトを解析後、VisualExpertは次のプロシージャのリストを表示します:
    * アプリケーションで定義されているSQLステートメント
    * 文字列検索で指定された文字列を含むSQLステートメント
    * アクセス タイプ毎のSQLステートメント(select、insert、updateまたはdelete ステートメント)
    * 定義毎のSQLステートメント(PowerBuilderスクリプト内の定義、データウィンドウ、Transact-SQLコード(1)またはPL/SQL コード(2))
    (1): Visual Expert for Sybase ASE or Visual Expert for SQL Server が必要です。
    (2): Visual Expert for Oracle, が必要です


  • 継承関係
    VisualExpertは、オブジェクトの従属関係を解析して、次の情報を表示します:
    * PowerBuilder オブジェクトの直接の子孫(チャイルド)
    * 子孫オブジェクトの階層(複数レベルのツリビューですべての子孫オブジェクトを表示)。たとえば、フレームワークとビジネス オブジェクトを含むすべての継承階層。
    * PowerBuilder オブジェクトの直接の先祖
    * オブジェクトのすべての先祖のリスト (指定されたオブジェクトのすべての先祖)

    オブジェクトが継承されたとき、このオブジェクトに定義されたスクリプトが子孫オブジェクト内で変更される場合があります。
    このような状況で、VisualExpertは、"先祖" と"子孫" スクリプト間で継承関係を維持します。
  • 文字列検索
    文字列検索では、次のオプションを利用できます:
    * プロジェクト全体のグローバル検索(PBコード、PL/SQL、 Transact SQL、SQLファイル…)
    * コンポーネント タイプによる検索(たとえばウィンドウのみの検索)
    * 名前による検索またはコンポーネントのソースコードの検索
    * 検索における正規表現の使用 (正規表現については、ここをクリックしてください)
    * 選択したコンポーネント内の検索(たとえば、ツリービュー内でのいくつかのプロシージャの選択後の検索)
  • Dll 呼び出し
    PowerBuilderコードの解析において、VisualExpertはDll関数のすべての参照を表示します。

    結果として、ツリービューに次のリストを表示します:
    * アプリケーションで使用されているdll
    * PowerBuilder コード内で宣言されたdll関数
    * dll関数を宣言しているPowerBuilderオブジェクト
    * PowerBuilderで宣言された各dll関数のすべての参照(dll関数の影響度分析)
  • System and Application Globals
    * PowerBuilder アプリケーションで宣言されているグローバル変数のリスト (名前、各変数の呼び出し回数)
    * PowerBuilder アプリケーションで宣言されているグローバル関数のリスト(名前、各関数の呼び出し回数)
    * PowerBuilderコード内で参照されるシステム プロパティのリスト(例:visible、titleなど...)
    * PowerBuilderコード内で参照されるシステム関数のリスト(例:close、opensheet、setpointer...)

影響度分析

クロス リファレンス

  • 影響度分析の詳細
    この機能は、指定されたオブジェクト、メソッド、変数、テーブル、カラムに関連するすべてのコンポーネントをリストします。
    この機能を利用することにより、アプリケーションの変更前に、変更に関連するコンポーネントをチェックする手助けになります。

    完全な結果を提供するために、影響度分析には次のすべてのタイプの従属関係を含みます:

    * PowerBuilderとデータベースの関係:DBスキーマのあらゆる変更は、変更されたテーブルやカラムを使用するPowerBuilderコンポーネントに影響を与えます。たとえば、テーブルを選択して影響度分析を行うと、指定されたテーブルを使用しているデータウィンドウ、埋め込みSQL、ストアド プロシージャがすべて表示されます。また、アクセス タイプ(Select、Insert、Update、Delete)に応じてフィルタをかけて表示できます。

    * PowerBuilder の継承関係: PowerBuilder オブジェクトへのあらゆる変更は、その子孫オブジェクトに影響を与えます。
    それ故、PBオブジェクトの影響度分析は、すべての子孫に対して行われます。

    * PB コードの参照: PBオブジェクト、メソッドまたは変数の影響度分析は、すべてのPBオブジェクトとそれを呼び出しているメソッドをリストします。データウィンドウのカラムとドロップダウン データウィンドウ間の参照のようなPowerBuilder特有の参照関係もサポートします。
    影響度分析はまた、グローバル変数と関数のみならず、システム プロパティと関数でも可能です。その結果には、すべての参照が含まれます。 

    * PBとDB コードの関係:
    PBアプリケーションがストアド プロシージャを呼び出している場合、これらのプロシージャがリストされます:
    - アプリケーションの各PBLから呼び出されるすべてのストアド プロシージャをリストできます。
    - 各オブジェクトから呼び出されるすべてのストアド プロシージャをリストできます。
    PBコードによって参照される各ストアド プロシージャの影響度分析ができます。
    結果として、このストアド プロシージャを呼び出しているPBオブジェクトと関数をすべて表示します


    (1) アプリケーションがストアド プロシージャ(PL/SQLまたはTransact-SQL)から構成されている場合、VisualExpert はこれらストアド プロシージャからテーブル、カラムへのすべて参照を分析します。
    詳細は Visual Expert for Oracle, または Visual Expert for Sybase ASE or Visual Expert for SQL Serverを参照してください。
  • 呼び出す関数の階層
    関数を呼び出しているすべてのメソッドをツリービューに表示します(例:関数Aは関数Bに呼び出され、関数C呼び出すなど…)。
  • 呼び出される関数の階層
    関数によって呼び出されるすべてのメソッドをツリービューに表示します(例:関数Aは関数Bを呼び出し、関数C呼び出すなど…)。 アプリケーションの完全なプロセスを理解したい場合にこの機能を使用します(たとえば、ユーザが特定のイベントをトリガした後、どの関数が実行されるか ? など…)。

アーキテクチャ

  • 開始時の階層
    ウィンドウやメニューなど、プロジェクト内のすべてのオブジェクトをリストします。結果は、ナビゲーション パス(ウィンドウからウィンドウ、メニューからウィンドウなど)と共にツリービューに表示されます。
  • 全般のアーキテクチャ
    オブジェクトの詳細アーキテクチャ(オブジェクトを構成するすべてのコントロール、関数、イベントおよび変数)。
  • コントロールのアーキテクチャ
    PowerBuilderオブジェクトを構成するコントロールのアーキテクチャ (ツリービューに表示されます)。

その他

  • プレビュー
    PowerBuilderビジュアル オブジェクト(ウィンドウ、データウィンドウ、ビジュアル ユーザオブジェクト)をグラフィカルに表示します。 プレビューは、コードを探索しているときに、オブジェクトを理解する手助けになります。 また、プレビューに表示されたコントロールが定義されている場所をツリービューに表示できます。
  • デッドコード (使用されていない項目)
    アプリケーション内で参照または使用されていない次の項目を表示します。
    * ウィンドウ、ユーザオブジェクト、データウィンドウ、メニュー
    * 関数、イベント、およびグローバル関数
    * プロパティ、グローバル変数、パラメータ
    * Dll、Dll関数
  • 重複コンポーネント
    プロジェクト内で同じ名前を持つ同じタイプのコンポーネントをサーチします。
  • Locate
    この機能は、オブジェクト、メソッド、または変数をプロジェクト内に配置するために使用します(例:この項目はプロジェクト内のどこで生成/宣言されているか?)。結果はツリービューに表示されます。
  • ドロップダウン データウィンドウ
    プロジェクト内で、ドロップダウン データウィンドウとして使用されているすべてのデータウィンドウを表示します。
  • 動的参照データウィンドウ
    PBコード内で動的に参照されるすべてのデータウィンドウを表示します。(例: Control.DataObject = "<データウィンドウ名>")
  • PBL の統計情報
    PowerBuilder ライブラリ(PBL)のサイズおよび内容について統計情報を表示します。
  • 肥大PBL
    含まれるコンポーネント多すぎるPBLを表示します。