メンテナンス&分析

PowerBuilderコードの可読性・保守性・安全性を向上させます。
PowerBuilder開発チームが直面する、保守上の課題を解決するソリューションです。

PowerBuilderメンテナンスの現実

多くのPowerBuilderアプリケーションは、長年にわたり稼働し続けています。開発当初の担当者が退職・異動していることも少なくありません。ドキュメントが古くなっている、あるいはそもそも存在しないケースもあります。ソースコードは大規模かつ複雑で、セキュリティや品質を常に確認し続けることは容易ではありません。

これにより、現場ではさまざまな課題が発生しています。

  • 十分に理解できていないコードを、どのように安全に修正すればよいのか?
  • 変更が他の箇所に影響を及ぼさないことを、どう確認すればよいのか?
  • 最後のベテラン開発者が退職する前に、どのようにナレッジを継承すればよいのか?

このページでは、コードの理解、ドキュメント化、安全な修正を支援するツールによって、 これらの保守上の課題に対応するソリューションをご紹介します。

既存コードを理解する

アプリケーションの構造と依存関係を把握

メンテナンス上の課題

  • アプリケーション全体の構造を可視化したい。
  • 各オブジェクトが行うデータ操作(テーブル/カラム)を可視化したい。
  • 画面・オブジェクト・コード間の参照関係を把握したい。
  • 仕様書が古い、または存在しないため、ソースコードからドキュメントを自動生成したい。

ソリューション

コード内のCRUD操作を確認

どのプログラムがどのデータにアクセスしているかを示すCRUDマトリクスを生成します。
たとえば、どのデータウィンドウやプロシージャが、どのテーブルに対してCreate/Read/Update/Deleteを行っているかを確認できます。

  • データベースとPBアプリケーション間の依存関係を確認できます。
  • テーブルやカラムを変更した場合の、コードへの影響を分析できます。

複雑な呼び出しの連鎖を探索

コールツリーを表示:関数やイベントの相互呼び出し関係を確認できます。
複数の関数で構成されるアプリケーション機能を把握できます。
すべての実行パスを可視化できます。
コードにドリルダウンして詳細を確認できます。

AIにコードを解説させる

PowerBuilder向けAI

ドキュメントを自動生成し、工数を削減します。

ソースコードが変更された際も、ドキュメントを最新の状態に保てます。

アプリケーションを構成するオブジェクト、その属性や依存関係を把握できます。

ソースコードドキュメント

AIがコードをビジネスレベルで解説します。

アプリケーション内のウィンドウや関数の目的を理解できます。

AIは既存の関数にコメントを自動生成することもできます。これにより、開発者がコードの各ブロックを理解しやすくなります。

Visual Expert のご紹介

主な機能のご紹介
 
日本語サイトへ

Visual Expert 製品リーフレット

Visual Expertの機能、メリット、活用事例の概要
PDFダウンロード

Visual Expert デモを試す

PowerBuilderデモアプリケーションを分析するWeb版
デモを起動

コードインスペクション

PowerBuilderコードを検査し、バグ、セキュリティ上の問題、保守性の課題を検出します。

メンテナンス上の課題

  • コードインスペクションにより、セキュリティ脆弱性、バグ、保守性の問題を排除したい。

ソリューション

コードインスペクション概要

検出された問題の概要と、修正コストの見積もりを表示します。
このページから、コードにドリルダウンして問題のある命令を特定できます。

コード内の問題箇所を特定

問題に関連するコードを表示します。問題のある命令がハイライトされ、説明と準拠コード例が修正の参考になります。

CI/CDの導入

メンテナンス上の課題

  • PBの開発・保守にCI/CD(継続的インテグレーション/継続的デリバリー)を導入したい。

CI/CDとは? なぜ導入するのか?

継続的インテグレーション(CI)とは、すべての開発者の作業コピーを頻繁に統合バージョンへマージすることです。

継続的デリバリー(CD)とは、ビルドを本番環境に適用する前に、セキュリティと信頼性を自動的に検証するプロセスです。

CI/CDを導入することで、開発チームの生産性が向上し、アプリケーションの品質とセキュリティも高まります。

ホワイトペーパー:PowerBuilderの継続的インテグレーション

アジリティ、生産性、セキュリティの向上

ホワイトペーパーを読む

影響分析

コード変更による影響範囲を分析

メンテナンス上の課題

  • コード修正時の影響範囲を把握したい。
  • PBの変更作業を短期間で効率よく行いたい。
  • テーブル/カラムの変更によって影響を受けるオブジェクトを特定したい。

ソリューション

変更に必要な修正範囲を見積もることができます。

変更後にアプリケーションを壊さないようにしましょう。

  • テーブルやカラムを変更した場合、どのコードを更新する必要があるか?
  • 関数にパラメータを追加した場合、他にどこが影響を受けるか?
  • プロシージャがどのPowerBuilderオブジェクトから呼び出されているか?

コードパフォーマンス

パフォーマンスの問題を検出し、改善します。

メンテナンス上の課題

  • アプリケーションの応答時間が遅い。
  • 特定の画面の読み込みに時間がかかりすぎる。
  • どのクエリが遅延の原因か分からない。
  • データベースとのやり取りを最適化する必要がある。

ソリューション

遅いオブジェクト

アプリケーション内で最も処理の遅いオブジェクトを検出します。
AIを活用してコードの最適化を提案します。

コールグラフによるパフォーマンス分析

呼び出しの連鎖を分析し、パフォーマンスのボトルネックを特定します。

処理時間の長い呼び出しパスを視覚的に確認できます。

 

遅いSQLクエリ

実行時間の長いSQLクエリを検出し、パフォーマンス改善の対象を特定します。

欠落インデックス

SQLクエリの実行速度を低下させている欠落インデックスを特定します。

PowerBuilderのメンテナンスを改善しませんか?

Visual ExpertによるPowerBuilderアプリケーションの理解、ドキュメント化、 効果的な保守について、NCSまでお気軽にご相談ください。

コードクリーンアップ

コードインスペクションでは、PowerBuilderアプリケーションのソースコードを検査し、バグ、脆弱性、設計上の問題を検出します。これにより、アプリケーションの品質、保守性、セキュリティが向上します。

メンテナンス上の課題

  • 不要コード(使われていないオブジェクト、メソッド、関数)を削除し、保守性を向上させたい。

ソリューション

未使用のオブジェクト、メソッド、変数

コード内で参照が見つからない項目を検出します。
詳細を見る

未使用オブジェクト、PBL順に並べ替え済み
(コード内で参照が見つかりません) 未使用オブジェクト、PBL順に並べ替え済み (コード内で参照が見つかりません)

重複オブジェクト

PowerBuilderでは、同一の型、名前、ターゲットを持つオブジェクトはサポートされていません。

予期しない問題を避けるために、これらを検出する必要があります。

詳細を見る

 

非推奨機能

PowerBuilderアプリケーション内で使用されている廃止済みPB機能への参照を検出します。

詳細を見る

Visual Expert デモサイト

このページでご紹介しているソリューションの多くは、Visual Expertというツールで提供されています。

サンプルアプリケーションを使って、オンラインで無料でお試しいただけます。

お試し方法:

  • ブラウザでこちらのページを開いてください。
  • こちらのガイドで使い方をご確認ください。

Visual Expertの主な機能

コード分析

セキュリティスキャン

ドキュメント

パフォーマンス