(57)【特許請求の範囲】
【請求項１】
サーバと、該サーバにネットワークを介して接続されたクライアントとを有しており、
前記クライアントは、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出すソフトウェア品質測定手段と、前記サーバへ該測定データをアップロードし前記サーバからソフトウェア品質の評価データをダウンロードするデータ送受信手段と、該評価データを表示制御する評価結果表示制御手段とを有しており、
前記サーバは、前記クライアントからアップロードされた前記測定データを解析し解析データを導き出すソフトウェア測定データ解析手段と、該解析データを評価し評価データを導き出すソフトウェア品質評価手段とを有することを特徴とするソフトウェア品質評価システム。
【請求項２】
サーバと、該サーバにネットワークを介して接続されたクライアントとを有しており、
前記クライアントは、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出すソフトウェア品質測定手段と、該測定データを解析し解析データを導き出すソフトウェア測定データ解析手段と、前記サーバへ該解析データをアップロードし前記サーバからソフトウェア品質の評価データをダウンロードするデータ送受信手段と、該評価データを表示制御する評価結果表示制御手段とを有しており、
前記サーバは、前記解析データに基づいてソフトウェア品質を評価し評価データを導き出すソフトウェア品質評価手段を有することを特徴とするソフトウェア品質評価システム。
【請求項３】
前記クライアントは、前記ソフトウェア品質測定手段からの前記測定データを解析し解析データを導き出すソフトウェア測定データ解析手段を更に有しており、前記データ送受信手段が前記サーバへ該解析データを前記測定データと共にアップロードするように構成されており、
前記サーバは、前記ソフトウェア測定データ解析手段が、アップロードされた前記解析データ及び前記測定データを用いて、評価データを導き出すように構成されていることを特徴とする請求項１に記載のソフトウェア品質評価システム。
【請求項４】
前記クライアントは、前記ソフトウェア品質測定手段からの前記測定データを解析し第１の解析データを導き出すソフトウェア測定データ解析手段を更に有しており、前記データ送受信手段が前記サーバへ第１の解析データを前記測定データと共にアップロードするように構成されており、
前記サーバは、アップロードされた前記第１の解析データと、当該サーバの前記ソフトウェア測定データ解析手段を介して得られる第２の解析データとを前記ソフトウェア品質評価手段に入力し、評価データを導き出すように構成されていることを特徴とする請求項１に記載のソフトウェア品質評価システム。
【請求項５】
前記ソフトウェア品質測定手段は、ソフトウェア字句解析の後で更にソフトウェア構文解析を行うことにより測定データを導き出し、
前記ソフトウェア測定データ解析手段は、ソフトウェア品質用意味解析から解析データを導き出すことを特徴とする請求項１から４のいずれか１項に記載のソフトウェア品質評価システム。
【請求項６】
前記ソフトウェア品質測定手段は、ソフトウェア字句解析により測定データを導き出し、
前記ソフトウェア測定データ解析手段は、ソフトウェア構文解析の後で更にソフトウェア品質用意味解析を行うことにより解析データを導き出すことを特徴とする請求項１から４のいずれか１項に記載のソフトウェア品質評価システム。
【請求項７】
前記ソフトウェア測定データ解析手段は、更にソフトウェア文法用意味解析によりディバック解析データを導き出し、
前記ソフトウェア品質評価手段は、前記ディバッグ解析データに基づいてディバッグ状態をもソフトウェア品質として評価することを特徴とする請求項５又は６に記載のソフトウェア品質評価システム。
【請求項８】
前記サーバは、評価対象のソフトウェアの種類に対応した前記ソフトウェア品質測定手段用の複数のプログラム部品を記録したプログラム部品記憶管理手段を有しており、
前記クライアントは、前記プログラム部品記録手段から、必要なプログラム部品を前記サーバ及びクライアントのデータ送受信手段を介してダウンロードすることを特徴とする請求項１から７のいずれか１項に記載のソフトウェア評価システム。
【請求項９】
前記サーバは、利用者毎に前記評価データを記録管理する記録管理手段を有しており、要求に応じて前記評価データを読み出し、そのまま又は処理した後、前記クライアントへダウンロードすることを特徴とする請求項１から８のいずれか１項に記載のソフトウェア品質評価システム。
【請求項１０】
前記サーバ及びクライアントのデータ送受信手段が、暗号復号化手段を有することを特徴とする請求項１から９のいずれか１項に記載のソフトウェア評価システム。
【請求項１１】
評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データをサーバへアップロードし、前記サーバからソフトウェア品質の評価データをダウンロードし、該評価データを表示制御することを特徴とするプログラムを記録したクライアント用記録媒体と、
アップロードされた前記測定データを解析し解析データを導き出し、該解析データを評価し評価データを導き出し、該評価データをクライアントにダウンロードすることを特徴とするプログラムを記録したサーバ用記録媒体。
【請求項１２】
評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データを解析し解析データを導き出し、該解析データをサーバへアップロードし、該サーバからダウンロードされた評価データを受信し、該評価データを表示制御することを特徴とするプログラムを記録したクライアント用記録媒体と、
アップロードされた前記解析データを評価し評価データを導き出し、該評価データをクライアントにダウンロードすることを特徴とするプログラムを記録したサーバ用記録媒体。
【請求項１３】
評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データを解析し解析データを導き出し、該測定データ及び該解析データをサーバへアップロードし、前記サーバからダウンロードされた評価データを受信し、該評価データを表示制御することを特徴とするプログラムを記録したクライアント用記録媒体と、
アップロードされた前記解析データ及び前記測定データを用いて、ソフトウェア品質を評価し評価データを導き出し、該評価データをクライアントにダウンロードすることを特徴とするプログラムを記録したサーバ用記録媒体。
【請求項１４】
評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データを解析し第１の解析データを導き出し、該測定データ及び該第１の解析データをサーバへアップロードし、前記サーバから評価データをダウンロードし、該評価データを表示制御することを特徴とするプログラムを記録したクライアント用記録媒体と、
アップロードされた前記第１の解析データと、アップロードされた前記測定データを解析し導き出された第２の解析データとを用いて、ソフトウェア品質を評価し評価データを導き出し、該評価データを前記サーバにダウンロードすることを特徴とするプログラムを記録したサーバ用記録媒体。
【請求項１５】
前記サーバ用記録媒体は、更に、評価対象のソフトウェアの種類に対応したソフトウェア品質測定プログラム部品を少なくとも記録管理し、該プログラム部品をダウンロードすることを特徴とするプログラムを記録しており、
前記クライアント用記録媒体は、更に、前記プログラム部品を取得することを特徴とするプログラムを記録している請求項１１から１４のいずれか１項に記載のそれぞれの記録媒体。
【請求項１６】
前記サーバ用記録媒体は、利用者毎に前記評価データを記録管理し、該評価データを読み出し処理し、得られた処理データをダウンロードすることを特徴とするプログラムを記録しており、
前記クライアント用記録媒体は、前記処理データを取得し、該処理データを表示制御することを特徴とするプログラムを記録している請求項１１から１５のいずれか１項に記載のそれぞれの記録媒体。
【請求項１７】
前記サーバ用記録媒体と、前記クライアント用記録媒体とは、それぞれ、前記サーバ及び前記クライアントの間でデータ送受信手段を介して送受される該データを暗号復号化することを特徴とするプログラムを記録した請求項１１から１６のいずれか１項に記載のそれぞれの記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェア品質評価のためのシステム及びそのプログラムを記録した記録媒体に関する。
【０００２】
【従来の技術】
従来のソフトウェア品質評価システムは、ソフトウェア品質評価プログラムが中心となり構成されており、このソフトウェア品質評価プログラムに、評価対象のソースコードからなるソフトウェア（以下「ソフトウェア」と称する）を入力することによってソフトウェア品質評価データ（以下「評価データ」と称する）を得るものである。従って、このシステムを使用するコンピュータ内には、実行される評価プログラムが少なくとも記録されているか、又は入力される必要がある。
【０００３】
ソフトウェア品質評価システムの利用者が、利用者のコンピュータ内でソフトウェアの品質評価を行う場合は、該コンピュータにソフトウェア品質評価プログラムをインストールしなければならない。そのために、利用者は、ソフトウェア品質評価システムのサービス提供者（以下「サービス提供者」と称する）から、記録媒体に格納されたソフトウェア品質評価プログラムを少なくとも購入するか又は該ソフトウェア品質評価プログラムを直接ネットワークを介してダウンロードする必要がある。
【０００４】
一方、ソフトウェア品質評価サービスを利用する場合、サービス提供者のコンピュータ上で利用者のソフトウェアの品質評価を行う必要があり、サービス提供者のコンピュータに利用者のソフトウェアの実体そのものを一時的に記録するか直接入力しなければならない。このために、利用者は、サービス提供者に、記録媒体に格納された利用者のソフトウェアを送付しインストールしてもらうか、又はサービス提供者のコンピュータにネットワークを介して直接アップロードする必要がある。
【０００５】
【発明が解決しようとする課題】
しかし、このような利用方法では、利用者とサービス提供者との双方において不安となる問題がある。
【０００６】
一般に、利用者は、自由に評価作業を進める際に、品質評価毎にサービス提供者のコンピュータにソフトウェアをアップロードやインストールすることなく、自らのコンピュータにソフトウェア品質評価プログラムをインストールした作業環境を保持したいと考える。特に、利用者は、開発中のソフトウェアを直接サービス提供者のサーバ（コンピュータ）上に置くことは、著作権上の問題やソフトウェア内容の秘密保持の立場からも避けたいと考える。しかしながら、ソフトウェア品質評価システムの一括購入は、その使用頻度や使用機能を考えると必ずしも経済的でない場合が多い。
【０００７】
一方、サービス提供者は、ソフトウェア品質評価プログラムをバージョンアップする為にも、常に経済的且つ迅速に内容更新することができるよう、自らのサーバ上でソフトウェア品質評価サービスの提供をしたいと考える。即ち、ソフトウェア品質評価システムの利用希望者への販売後のプログラム内容更新は、利用状況がサービス提供者には解らないにも関らず個々に対応する必要があり、利用者数に比例した膨大なコストを必要とする。更に、サービス提供者は、利用者のサービス提供者へのソフトウェアの直接送付の場合と同様に、ソフトウェア品質評価プログラムの実体そのものや、又は実行モジュールを頒布することは、そのプログラムの著作権上の問題や不正コピーの問題など、又は技術内容秘匿からもできれば避けたいと考える。
【０００８】
従って、サービス提供者及び利用者双方にとって、ソフトウェア品質評価システムを直接販売又は購入等するよりも、利用者がソフトウェア品質評価サービスを利用する毎に、サービス提供者が利用料金を徴収するほうがお互いに経済的で利益が高いとも考える。しかしながら、利用者にとって、転送時の内容秘匿の問題と、サービス提供者に対するソースコードからなるソフトウェアの秘密保持の保証の問題がある。また、サービス提供者にとっても、利用者のソフトウェアの実体が常にサーバ上にアップロードされることは、そのソフトウェア規模が大きい場合には、それらの管理のコスト、処理コストやソフトウェアの転送の際の通信費の問題もある。
【０００９】
更に、前述した利用者のソフトウェアやサービス提供者のソフトウェア品質評価プログラムの内容秘匿や不正コピーの問題は、利用者及びサービス提供者の間でソフトウェアの実体又はソフトウェア品質評価プログラムの実行モジュールが全てやりとりされるために生ずる問題である。
【００１０】
そこで、本発明は、利用者及びサービス提供者の間の前述したような問題を解決すべきソフトウェア品質評価システム及びそのプログラムを記録した記録媒体を提供することを目的とする。
【００１１】
従って、本発明は、利用者及びサービス提供者の間で、利用者のソフトウェアの実体及びサービス提供者のソフトウェア品質評価プログラムの全ての実体又は実行モジュールがやりとりされることなく、サービス提供者がネットワークを介してソフトウェア品質評価サービスを利用者に提供できるものである。
【００１２】
【課題を解決するための手段】
本発明のソフトウェア品質評価システムに於いて、クライアントは、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出すソフトウェア品質測定手段と、サーバへ該測定データをアップロードしサーバからソフトウェア品質の評価データをダウンロードするデータ送受信手段と、該評価データを表示制御する評価結果表示制御手段とを有しており、
サーバは、クライアントからアップロードされた該測定データを解析し解析データを導き出すソフトウェア測定データ解析手段と、該解析データを評価し評価データを導き出すソフトウェア品質評価手段とを有するものである。
【００１３】
これにより、ソフトウェア品質評価過程を測定機能と、解析機能と、評価機能とに分割し、クライアントとサーバ間で配分することにより、利用者及びサービス提供者の間で、利用者の評価対象ソフトウェアの実体、及びサービス提供者のソフトウェア品質評価プログラムの全ての実体又は実行モジュールがやりとりされることはなく、それぞれのソフトウェア及びソフトウェア品質評価プログラムの秘匿性が完全に確保される。
【００１４】
利用者は、クライアントにソフトウェア品質測定手段としてのソフトウェア品質測定プログラムと、評価結果表示制御手段としての評価結果表示プログラムと、データ送受信手段としての送受信インタフェースプログラムとを少なくともインストールすることにより、ネットワークを介してソフトウェア品質評価システム全体を操作し、利用することが可能となる。
【００１５】
一方、サービス提供者は、ソフトウェア品質評価プログラムのバージョンアップなどによる機能改善作業が個々の利用者を意識することなく、容易且つ経済的に行える。更に、上記の如くネットワークを介して測定機能と、解析機能と、評価機能の明確な機能分割を行い、少なくとも評価機能をサーバのみに搭載させることにより、第三者に対するソフトウェア品質評価システムの秘密保持や不法コピーの防止も簡単に実現できる。プログラム管理も容易になり、また、利用者の評価対象のソフトウェア管理も不要であることから、システムコストや通信コストも大幅に減らすことができる。また、ネットワークを介することで、利用者が選択し利用した提供サービスの利用料金を効率良く簡単に徴収できる。
【００１６】
また、本発明の他の実施形態によれば、サーバは、評価対象のソフトウェアの種類や使用環境（例えば、プログラム言語や使用するコンパイラなどの種類やそのバーション）に対応した様々なソフトウェア品質測定手段や利用者の要求にあった評価結果表示制御手段や機能拡張されたバーションなどの各種プログラムを提供する必要があるが、これら複数のプログラムをプログラム部品として記録したプログラム部品記録手段を有しており、ネットワークを介したデータ送受信手段により、プログラム部品記録手段から読み出されたプログラム部品をダウンロードしてリンク処理することが簡単に行え、利用者の要求にあったソフトウェア品質評価サービスを経済的且つ利便的に提供でき非常に好ましい。
【００１７】
一方、個々の利用者では、通常必要とする品質評価内容は数種類に限られており、利用者の開発環境や使用環境に合ったソフトウェア品質評価プログラムを利用できればよい。従って、自らが必要とするソフトウェア品質測定手段やソフトウェア評価結果表示制御手段のプログラム部品がネットワークを介して選択でき、それらを簡単にダウンロードしリンクできることは非常な利点である。即ち、ネットワークを介して必要なソフトウェア品質評価サービスを利用することができ、而も利用者のコンピュータにおけるメモリサイズの節約や実行処理時間の削減などサービス実施環境もよくなる利点がある。
【００１８】
更に、ソフトウェア品質評価過程の測定機能と、解析機能と、評価機能のネットワークを介した効果的な機能分割によって、通常の利用環境では、ネットワーク上で品質評価を行う為の言語仕様に基づくソフトウェア品質測定データ（以下、「測定データ」と称する。）とその評価データとしか基本的に通信されないので、その通信量も少なく、而も第三者がそれらの内容を解読し利用することは困難であり、その秘匿性も高い。また、サーバ及びクライアントのデータ送受信手段に、暗号化機能を有することも好ましく、簡単に実現できる。暗号機能によるこれらのデータ保護により、特に評価データや統計処理データ、更にはシステム利用状況などの情報の秘匿性も大きく改善されることから、同様なクライアント機能を有する他の利用者も含めシステム利用の際の秘匿に対する信頼性をより一層高くすることができる。
【００１９】
更に、本発明の他の実施形態によれば、サーバは、利用者毎のソフトウェアの測定データや評価データを記録管理する品質測定評価結果記録手段と、利用者毎の該測定データや該評価データを統計処理し統計処理データを導き出す統計処理解析手段とを有していることから、クライアントに、統計処理データをダウンロードできる。これにより、利用者は、履歴のある測定データや評価データの統計的評価を行い、ソフトウェア開発工程管理、保守運用管理や再利用管理に反映することもできる。また、インターネットを介した場合などのように、データ送受に不備が発生しても、品質測定浄化記録手段１４を具備していることから、クライアントは簡単に必要なデータを再要求できる。
【００２０】
一方、サービス提供者は、多数の利用者のこれら測定データや評価データの収集と統計処理結果などからソフトウェア品質測定手段、ソフトウェア測定データ解析手段やソフトウェア品質評価手段の改善などを利用者のソースコードからなるソフトウェアに直接関ること無く、より一層効果的に図ることができる。また、利用者のシステム利用形態や利用状況の把握と問題点なども簡単に把握でき、提供サービスの改善に迅速に反映できる。
【００２１】
また、本発明のソフトウェア品質評価システムによれば、クライアントは、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出すソフトウェア品質測定手段と、該測定データを解析し解析データを導き出すソフトウェア測定データ解析手段と、サーバへ該解析データをアップロードしサーバからソフトウェア品質の評価データをダウンロードするデータ送受信手段と、該評価データを表示制御する評価結果表示制御手段とを有しており、
サーバは、解析データに基づいてソフトウェア品質を評価し評価データを導き出すソフトウェア品質評価手段を有するものである。
【００２２】
本発明の他の実施形態によれば、クライアントは、ソフトウェア品質測定手段からの測定データを解析し解析データを導き出すソフトウェア測定データ解析手段を更に有しており、データ送受信手段がサーバへ該解析データを測定データと共にアップロードするように構成されており、
サーバは、ソフトウェア測定データ解析手段が、アップロードされた解析データ及び測定データを用いて、評価データを導き出すように構成されている。
【００２３】
本発明の他の実施形態によれば、クライアントは、ソフトウェア品質測定手段からの測定データを解析し第１の解析データを導き出すソフトウェア測定データ解析手段を更に有しており、データ送受信手段がサーバへ第１の解析データを測定データと共にアップロードするように構成されており、
サーバは、アップロードされた第１の解析データと、当該サーバのソフトウェア測定データ解析手段を介して得られる第２の解析データとをソフトウェア品質評価手段に入力し、評価データを導き出すように構成されている。
【００２４】
本発明の他の実施形態によれば、ソフトウェア品質測定手段は、ソフトウェア字句解析の後で更にソフトウェア構文解析を行うことにより測定データを導き出し、ソフトウェア測定データ解析手段は、ソフトウェア品質用意味解析から解析データを導き出す。
【００２５】
本発明の他の実施形態によれば、ソフトウェア品質測定手段は、ソフトウェア字句解析により測定データを導き出し、ソフトウェア測定データ解析手段は、ソフトウェア構文解析の後で更にソフトウェア品質用意味解析を行うことにより解析データを導き出す。
【００２６】
本発明の他の実施形態によれば、ソフトウェア測定データ解析手段は、更にソフトウェア文法用意味解析によりディバック解析データを導き出し、ソフトウェア品質評価手段は、ディバッグ解析データに基づいてディバッグ状態をもソフトウェア品質として評価する。
【００２７】
本発明の他の実施形態によれば、サーバは、評価対象のソフトウェアの種類に対応したソフトウェア品質測定手段用の複数のプログラム部品を記録したプログラム部品記憶管理手段を有しており、クライアントは、プログラム部品記録手段から、必要なプログラム部品をサーバ及びクライアントのデータ送受信手段を介してダウンロードする。
【００２８】
本発明の他の実施形態によれば、サーバは、利用者毎に評価データを記録管理する記録管理手段を有しており、要求に応じて評価データを読み出し、そのまま又は処理した後、クライアントへダウンロードする。
【００２９】
本発明の他の実施形態によれば、サーバ及びクライアントのデータ送受信手段が、暗号復号化手段を有する。
【００３０】
本発明のソフトウェア品質評価のプログラムを記録した記録媒体は、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データをサーバへアップロードし、サーバからソフトウェア品質の評価データをダウンロードし、該評価データを表示制御するプログラムを記録したクライアント用記録媒体と、
アップロードされた測定データを解析し解析データを導き出し、該解析データを評価し評価データを導き出し、該評価データをクライアントにダウンロードするプログラムを記録したサーバ用記録媒体である。
【００３１】
本発明のソフトウェア品質評価のプログラムを記録した記録媒体は、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データを解析し解析データを導き出し、該解析データをサーバへアップロードし、該サーバからダウンロードされた評価データを受信し、該評価データを表示制御するプログラムを記録したクライアント用記録媒体と、
アップロードされた解析データを評価し評価データを導き出し、該評価データをクライアントにダウンロードするプログラムを記録したサーバ用記録媒体である。
【００３２】
本発明のソフトウェア品質評価のプログラムを記録した記録媒体は、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データを解析し解析データを導き出し、該測定データ及び該解析データをサーバへアップロードし、サーバからダウンロードされた評価データを受信し、該評価データを表示制御するプログラムを記録したクライアント用記録媒体と、
アップロードされた解析データ及び測定データを用いて、ソフトウェア品質を評価し評価データを導き出し、該評価データをクライアントにダウンロードするプログラムを記録したサーバ用記録媒体である。
【００３３】
本発明のソフトウェア品質評価のプログラムを記録した記録媒体は、評価対象のソフトウェアの品質に関連した言語仕様に基づく測定データを導き出し、該測定データを解析し第１の解析データを導き出し、該測定データ及び該第１の解析データをサーバへアップロードし、サーバから評価データをダウンロードし、該評価データを表示制御するプログラムを記録したクライアント用記録媒体と、
アップロードされた第１の解析データと、アップロードされた測定データを解析し導き出された第２の解析データとを用いて、ソフトウェア品質を評価し評価データを導き出し、該評価データをサーバにダウンロードするプログラムを記録したサーバ用記録媒体である。
【００３４】
本発明の他の実施形態によれば、サーバ用記録媒体は、更に、評価対象のソフトウェアの種類に対応したソフトウェア品質測定プログラム部品を少なくとも記録管理し、該プログラム部品をダウンロードするプログラムを記録しており、クライアント用記録媒体は、更に、プログラム部品を取得することを特徴とするプログラムを記録している。
【００３５】
本発明の他の実施形態によれば、サーバ用記録媒体は、利用者毎に評価データを記録管理し、該評価データを読み出し処理し、得られた処理データをダウンロードするプログラムを記録しており、クライアント用記録媒体は、処理データを取得し、該処理データを表示制御するプログラムを記録している。
【００３６】
本発明の他の実施形態によれば、サーバ用記録媒体とクライアント用記録媒体とは、それぞれ、サーバ及びクライアントの間でデータ送受信手段を介して送受される該データを暗号復号化するプログラムを記録している。
【００３７】
【発明の実施の形態】
以下、図面を用いて、本発明の第１の実施形態を詳細に説明する。
【００３８】
図１は、本発明の第１の実施形態におけるソフトウェア品質評価システムの構成図である。その構成は、サービス提供者が管理するサーバ１と、利用者の使用するクライアント２とを有する。
【００３９】
サーバ１は、ソフトウェア測定データ解析手段１１と、プログラム部品記録手段１２と、ソフトウェア品質評価手段１３と、品質測定評価結果記録手段１４と、データ送受信手段１５と、統計処理手段１６と、サーバシステム制御管理手段１７とを有する。
【００４０】
ソフトウェア測定データ解析手段１１は、利用者毎の測定データを解析し解析データを導き出すものである。プログラム部品記録手段１２は、クライアント２における評価対象のソフトウェアの種類やソフトウェア使用環境、システム操作環境・評価結果表示環境に関する複数のプログラム部品を記録したものである。ソフトウェア品質評価手段１３は、解析データを元にソフトウェア品質を評価し評価データを導き出すものである。品質測定評価結果記録手段１４は、利用者毎に該評価データ又は更に該測定データを記録したものである。統計処理手段１６は、該評価データを統計処理し統計処理データを導き出すものである。データ送受信手段１５は、クライアント２からアップロードされたシステム環境情報と、利用環境要求情報と該測定データとを取得し、クライアント２へ該評価データと該統計処理データと利用環境情報と必要となるプログラム部品とをダウンロードするためのものである。サーバシステム制御管理手段１７は、サーバシステムを動作させる為にこれら手段を制御管理するものである。
【００４１】
クライアント２は、ソフトウェア品質測定手段２１と、データ送受信手段２２と、評価結果表示制御手段２３と、表示手段２４、クライアントシステム制御管理手段２５とを有する。
【００４２】
ソフトウェア品質測定手段２１は、評価対象のソフトウェアの品質に関連した字句解析及び構文解析を介して得られる測定データを導き出すものである。データ送受信手段２２は、サーバ１へクライアントのシステム環境情報と、利用環境要求情報と測定データとをアップロードし、サーバ１からダウンロードされる該評価データと、統計処理データと利用環境情報と必要なプログラム部品とを取得するためのものである。評価結果表示制御手段２３は、評価結果や統計処理結果を利用者に対して示すために、評価データや統計処理データやシステム環境情報や利用環境情報を表示手段２４に表示するためのものである。サーバシステム制御管理手段２５は、クライアントシステムを動作させる為にこれら手段を制御管理するものである。尚、サーバ１についても、表示手段やこれを制御する表示制御手段は当然必要であるが、本発明に直接関係がない為にその構成や説明は省略する。
【００４３】
以下これらの動作について、詳細に説明する。
【００４４】
クライアント２について、外部の記録手段３３から入力された又は既に記録された評価対象のソフトウェアをソフトウェア品質測定手段２１を介してソフトウェア字句解析及びソフトウェア構文解析することによって品質に関連した測定データとしてのシンボルテーブル及びパーザツリー情報を測定し、これらを測定データとして、データ送受信手段２２を介して、サーバ１へアップロードする。
【００４５】
クライアント２からアップロードされた測定データをデータ送受信手段１５を介して取得し、ソフトウェア測定データ解析手段１１へ入力し、測定データとしてのシンボルテーブル及びパーザツリー情報から、ソフトウェア品質評価を行う為の品質用意味解析（ソフトウェア品質メトリクス意味解析）を行う。例えば、オブジェクト指向ソフトウェアの品質評価に関する品質用意味解析としては、クラス、メソッド、属性、メッセージなどの識別とそれらの名前、クラス間の継承関係及び部品関係、メソッドと属性との関係、クラス間メッセージ送受信関係などに関する情報を解析データとして得る。
これらの解析データをソフトウェア品質評価手段１３を介して利用者が要求しているソフトウェア品質評価項目に従って評価して、例えば、クラス数、クラス当りのクラス継承数、クラス当りのメッセージ数、メソッド数や属性数、メッセージ当りのアクセス属性数、凝集欠落度、メッセージ当りの分岐数、サイクロマティック数、メッセージ当りのオペレータやオペランド数などを評価データとして得る。その後、測定データと評価データとを利用者毎に品質測定評価結果記録手段１４に格納すると共に、データ送受信手段１５を介して、評価データをクライアント２へダウンロードする。
【００４６】
サーバ１からダウンロードされてきた評価データをクライアント２のデータ送受信手段２２を介して得ると、ソフトウェア評価結果表示制御手段２３を介して表示手段２４上に表示する。
【００４７】
また、利用者から評価データに対する統計処理や、過去の履歴に基づく評価データの比較などが要求された場合には、統計処理手段１６を介して統計処理データとして得た後、評価データと同様にデータ送受信手段１５を介してダウンロードし、ソフトウェア評価結果表示制御手段を介して表示手段２４上に表示する。統計処理手段１６は、例えば、品質測定評価結果記録手段１４から評価データを読み出し、最大、最小や分散などの分布解析やそれらの統計処理、過去の評価結果との比較などを施すものである。
【００４８】
このような構成を提供することで、利用者の評価対象のソフトウェアと共に、提供者のソフトウェア品質評価手段１３としてのソフトウェア品質評価プログラムやこれに直接関連したプログラム部品をサーバ１及びクライアント２の間でやり取りする必要がなく、利用者及びサービス提供者とも高い秘匿性を実現でき、而もネットワークを介して通信されるデータも少なくすることができる。また、サーバ１のソフトウェア測定データ解析手段１１について、測定データを解析した結果、ソフトウェアの測定や解析に関して問題が発生している場合に、これを速やかに検出する手段を設けることもでき、文法規約など言語仕様との整合性の問題に対して対応したソフトウェア品質測定手段やソフトウェア測定データ解析手段又は更にソフトウェア品質評価手段の改修や機能拡張を行うことができる。而もソフトウェア品質測定手段やソフトウェア測定データ解析手段やソフトウェア品質評価手段のプログラム実行モジュールの新たなバーションをソフトウェア部品として格納し、必要に応じて用いても良い。従って、システムの非常に高い保守性を簡単に実現することができる。
【００４９】
上述の如くソフトウェア品質評価にけるサーバとクライアントの動作について詳細に説明したが、この他に、利用者がソフトウェア品質評価システムの利用の際に実行されるシステム設定処理がある。システム設定処理としては、システム環境設定と利用環境設定とがある。
【００５０】
システム環境設定として、クライアント２からシステム環境情報をサーバ１へアップロードし、例えば、利用者ID、現在のクライアントシステム制御管理プログラムバーション、ソフトウェア品質測定プログラムバーション、ソフトウェア評価結果表示制御プログラムバーションなどの確認登録処理などを行い、必要に応じてシステム環境に関連したプログラムをプログラム部品記録手段１２から検索抽出して、使用許可情報と利用環境情報と共にクライアント２にダウンロードする。
【００５１】
ここで、利用環境情報としては、品質評価可能なソフトウェア言語、コンパイラ、それらのバーション、準備されているソフトウェア品質評価項目や統計処理項目などと、それら関連プログラムのバージョンなどの利用可能な情報を意味する。その後、利用環境設定の為に、具体的に品質評価を行う為の利用環境要求情報を同様にアップロードし、サーバ１では、例えば、使用ソフトウェア言語、コンパイラ、評価項目、統計処理項目などを確認し、ソフトウェア品質測定手段２１やソフトウェア評価結果表示制御手段２３に関連した必要なソフトウェア部品をプログラム部品記録手段１２から検索抽出して、データ送受信手段１５を介してクライアント２へダウンロードし、サーバ１の評価システム設定を行う。また、ダウンロードされたプログラム部品をリンクしてクライアント２のソフトウェア品質評価に必要なクライアントシステム設定も行う。システムとして準備しているソフトウェア品質評価項目の中から利用者が新たに評価項目又は統計処理項目を要求した際には、その都度ソフトウェア部品をダウンロードする。
【００５２】
上記のように、サーバ１及びクライアント２間で、ネットワークを介して、利用者のソフトウェアの実体でなく測定データを転送し、また、サービス提供者のソフトウェア品質評価手段１３やソフトェア測定データ解析手段１１をサーバ１にのみ搭載し、而も評価データ又は更に統計処理データを転送することにより、高度なソフトウェア品質評価サービスを実現し提供するとともに、お互いの重要なソフトウェアやプログラムの情報に対して秘匿性を確保できる。また、利用者の品質評価要求機能にあったプログラムをそれぞれ設定し、ソフトウェア品質評価を実行することができる。更に、サービス提供者が新たな評価項目を提供する場合も、必要なプログラム部品を準備し、プログラム部品記録手段１２に格納し、必要に応じて利用者にダウンロードして拡張機能を提供することもできる。
【００５３】
図２は、本発明の第１の実施形態におけるソフトウェア品質評価システムを構成するプログラムを記録した記録媒体における、ソフトウェア品質評価を実施する為に少なくとも必要となる処理のフローチャートである。これらのプログラムは、クライアント用プログラムと、サーバ用プログラムとに分かれている。クライアント用プログラムは、サーバ１からネットワークを介してクライアント２へダウンロードされるか又は、配布されたCDなどの記録媒体３２を介して、クライアント２のシステムに格納される。
【００５４】
クライアント用プログラムは、品質評価が開始されると、入力された評価対象のソフトウェアに対してソフトウェア品質測定４１を行う。次に、測定データをサーバ１に対してアップロード４２する。その後、サーバ１からダウンロードされた評価データを取得４３する。最後に、評価データをもとに評価結果を表示４４する。この時、利用者が評価結果の保存を要求すれば、測定評価データ保存要求をクライアント２からアップロード４５する。保存は、測定データと評価データ両方、又は更に統計処理データも含めてもよいし、評価データだけでも良い。
【００５５】
一方、サーバ用プログラムは、クライアント２からアップロードされた測定データを取得５１する。次に、その測定データの解析を行い、解析データを得た５２後、解析データを元にソフトウェア品質評価５３し、評価データを得る。その後、評価データをクライアント２へダウンロード５４する。
【００５６】
更に、クライアント２から測定評価データ保存要求がアップロードされると、これを取得５５し、少なくとも評価データを保存５６する。
【００５７】
ここで、図２に示す関連プログラムの他に、前述の各種測定機能や評価結果表示機能を持った各種プログラムや、これらのバーションに対応したプログラム部品を持ったプログラム部品記憶管理プログラムと、読み出したプログラム部品をダウンロードするプログラムをサーバ用プログラムに付加し、記録媒体に格納し用いてもよい。
【００５８】
また、ソフトウェアの評価結果などや表示データを格納する為の評価結果記録管理プログラムをクライアント用プログラムに付加し、記録媒体に格納し使用してもよい。
【００５９】
更に、サーバ１について、利用者毎のソフトウェア品質評価結果を記録するプログラムと、ソフトウェア品質評価結果を読み出し、以前の評価データとの比較や、種々の評価データの統計処理を行い統計処理データを得る統計処理プログラムやそれらをダウンロードするプログラムを、また、クライアント２について、これらデータを取得し、表示制御するプログラムなどをそれぞれサーバ用プログラム、クライアント用プログラムに付加し、それぞれの記録媒体に記録し使用してもよい。
【００６０】
図３は、前述のソフトウェア品質評価を実行する前のシステム設定処理に関するフローチャートである。例えば、クライアント２に、クライアントシステム制御管理手段２５、ソフトウェア品質測定手段２１、データ送受信手段２２、及び評価結果表示制御手段２３は、既にCDなどの記録媒体３２又はネットワークを介してインストールされているとする。クライアント２における利用者ID、ソフトウェア品質測定プログラムバーション、ソフトウェア評価結果表示制御プログラムバーションなどインストール状態を示すシステム環境情報をサーバ１へアップロード６１する。サーバ１では、アップロードされたこれら情報を取得７１し、これを元に利用者の確認７２と、クライアント２のプログラムのバーションの確認７２を行い、必要ならば新しいバーションのプログラム部品をシステム環境設定プログラムとして使用許可情報及び利用環境情報と合わせてダウンロード７３する。
【００６１】
次に、クライアント２では、例えば、使用ソフトウェア言語、コンパイラなどの評価要求条件や、ソフトウェア品質評価項目又は更に統計処理項目などの選択情報や、プログラムの新バージョンの利用の有無などを利用環境要求情報として、サーバ１へアップロード６３する。サーバ１では、利用環境要求情報を取得７４し、ソフトウェア品質測定機能及び評価結果表示制御機能の確認とソフトウェア品質測定プログラム又は評価結果表示制御プログラムに関する必要なプログラム部品の選択７５を行い、それらプログラム部品を利用環境設定プログラムとしてダウンロード７６する。その後、これら情報を元に必要な関連プログラムをリンクし評価システムに設定７７する。
【００６２】
一方、クライアント２についても、ダウンロードされたソフトウェア品質測定プログラム及び評価結果表示制御プログラムに関連した利用環境設定プログラムを取得６４し、それらプログラム部品をリンクしクライアントシステムの設定６５を行う。
【００６３】
ここで、上記の如くダウンロードされるプログラムは、ソフトウェア部品としてソフトウェア部品記録手段１２に予め格納されているものを読み出しダウンロードする。
【００６４】
図４は、本発明の第２の実施形態におけるソフトウェア品質評価システムの１構成例である。その構成は、サービス提供者が管理するサーバ１と、利用者の使用するクライアント２とを有する。
【００６５】
サーバ１は、ソフトウェア品質評価手段１３と、品質測定評価結果記録手段１４と、プログラム部品記録手段１２と、データ送受信手段１８と、統計処理手段１６と、サーバシステム制御管理手段１７とを有する。
【００６６】
データ送受信手段１８は、クライアント２からアップロードされた、第１の実施形態と同様のシステム環境情報と利用環境要求情報と、測定データ及び解析データとを取得し、クライアント２へ評価データと、統計処理データと、利用環境情報と、システム環境設定プログラムと利用環境設定プログラムに関連したプログラム部品とをダウンロードするためのものである。ソフトウェア品質評価手段１３は、解析データを元にソフトウェア品質を評価し評価データを導き出すものである。品質測定評価結果記録手段１４は、利用者毎に評価データ又は更に測定データを記録するものである。統計処理手段１６は、必要に応じて品質測定評価結果記録手段１４に記録された評価データを元にそれらを統計処理し、統計処理データを導き出す為のものである。プログラム部品記録手段１２は、クライアント２におけるソフトウェア品質評価システムの操作・表示環境などのシステム環境やシステム利用環境に関する複数のプログラム部品を記録したものである。サーバシステム制御管理手段１７は、サーバシステムを動作させる為にこれら手段を制御管理するものである。
【００６７】
クライアント２は、ソフトウェア品質測定手段２１と、ソフトウェア測定データ解析手段２６と、データ送受信手段２７と、評価結果表示制御手段２３と、クライアントシステム制御管理手段２５とを有する。
【００６８】
ソフトウェア品質測定手段２１は、第１の実施形態と同様の評価対象のソフトウェアの品質に関連した測定データを導き出すものである。ソフトウェア測定データ解析手段２６は、第１の実施形態におけるソフトウェア測定データ解析手段１１と同様に測定データを解析し解析データを導き出すものである。データ送受信手段２２は、サーバ１へシステム環境情報と利用環境要求情報と測定データ及び解析データとをアップロードし、サーバ１からダウンロードされる利用環境情報と評価データとプログラム部品とを取得するためのものである。評価結果表示制御手段２３は、評価結果や統計処理結果を利用者に対して示すために、評価データや統計処理データを表示手段２４に表示するものである。サーバシステム制御管理手段２５は、クライアントシステムを動作させる為にこれら手段を制御管理するものである。
【００６９】
以下これらの動作について、詳細に説明する。
【００７０】
クライアント２について、外部の記録手段３３から入力された又は既に記録された評価対象のソフトウェアをソフトウェア品質測定手段２１を介して字句／構文解析することによって品質に関連した測定データとしてのシンボルテーブル及びパーザツリー情報を測定し、これらを測定データとしてソフトウェア測定データ解析手段２６へ入力し、シンボルテーブル及びパーザツリー情報を元にソフトウェア品質評価を行う為に必要となる品質用意味解析を行う。例えば、オブジェクト指向ソフトウェアの品質評価に必要となる品質用意味解析としては、クラス、メソッド、属性、メッセージなどの識別とそれらの名前、クラス間の継承関係及び部品関係、メソッドと属性との関係、クラス間メッセージ送受信関係などに関する情報を解析データとして得る。その後、測定データと解析データとをデータ送受信手段２７を介して、サーバ１へアップロードする。ここで、測定データは、必ずしもアップロードしなくても良い。
【００７１】
サーバ１では、クライアント２からアップロードされた測定データ及び解析データをデータ送受信手段１８を介して取得する。更に、解析データをソフトウェア品質評価手段１３を介して利用者が選択した評価項目に従って評価して、例えば、クラス数、クラス当りのクラス継承数、クラス当りのメッセージ数、メソッド数や属性数などを評価データとして得る。その後、測定データと評価データとを利用者毎に品質測定評価結果記録手段１４に格納すると共に、評価データをデータ送受信手段１８を介してクライアント２へダウンロードする。また、利用者から評価データに対する統計処理が要求されている場合には、必要に応じて品質測定評価結果記録手段１４から評価データを読み出し、統計処理手段１６を介して、例えば、最大、最小や分散などの分布解析やそれらの統計処理、過去の評価結果などとの比較などを施し、統計処理データとして得た後、評価データと同様にデータ送受信手段１８を介してクライアント２へダウンロードする。ここで、基本的な統計処理を常に行い、評価データと合わせて、統計処理データとしてダウンロードしてもよい。
【００７２】
一方、クライアント２について、サーバ１からダウンロードされてきた評価データや統計処理データをデータ送受信手段２７を介して取得すると、ソフトウェア評価結果表示制御手段２３を介して表示手段２４上に表示する。例えば、クラス当りの属性数、クラス当りのメソッド数、クラス当りの送受メッセージ数、メッセージ当りのアクセス属性数、メッセージ当りの分岐数、メッセージ当りのオペレータ、オペランド数やこれらの統計処理データの分布状況などを評価結果として表示する。
【００７３】
このような構成により、多数の利用者のクライアントがサーバ１を利用しようとした際に、各クライアント２で測定データを解析し、解析データをアップロードすることから、サーバ１で測定データを解析する必要がなくサーバ１の処理能力を軽減できる。特に、クライアント数が非常に多い場合には、有効である。また、サーバ１では、測定データと解析データが得られることから、利用者のソフトウェア上のバグ等の検出や、これらデータを収集する機能を付加し分析することによる測定機能や解析機能、更には評価機能の改修や拡張を行うこともできる。
【００７４】
クライアント２内のソフトウェア測定データ解析手段２６は、基本的に実行モジュールであることから、部分的に解読できる場合もあるが、サーバ１のソフトウェア品質評価手段１３が、明かとならないかぎり特に大きな問題とはならず、本実施形態の利点を打ち消すものではない。
【００７５】
尚、これら秘匿に関する問題を完全に解決するには、後述の図５のフローチャートについて説明するように、ソフトウェア測定データ解析手段１１又は２６の機能を処理順序に影響しないようソフトウェア測定データ前解析手段とソフトウェア測定データ後解析手段とに分割して、クライアント２にソフトウェア測定データ前解析手段を、ソフトウェア測定データ後解析手段をサーバ１にそれぞれ搭載すればよい。
【００７６】
上述の如くソフトウェア品質評価におけるサーバとクライアントの実行動作について詳細に説明したが、この他に、第１の実施形態と同様に利用者がソフトウェア品質評価システムの利用の際に、サーバ１、クライアント２のシステム設定を行う必要があるが、図４のソフトウェア測定データ解析手段２６及びソフトウェア測定データ前解析手段に関するバーションなどの情報を新たにシステム環境情報や利用環境情報として取り扱うこと以外は同様である。従って、これらの説明はここでは省略する。
【００７７】
図５は、本発明の第２の実施形態におけるソフトウェア品質評価システムを構成するプログラムを記録した記録媒体における、ソフトウェア品質評価を実施するに少なくとも必要となる処理のフローチャートである。これらのプログラムは、第１の実施形態と同様にクライアント用プログラムと、サーバ用プログラムとに分かれている。クライアント用プログラムは、サーバ１からネットワークを介してクライアント２へダウンロードされるか又は、配布されたCDなどの記録媒体３２を介して、クライアント２のシステムに格納される。
【００７８】
クライアント用プログラムは、入力された評価対象のソフトウェアに対してソフトウェア品質測定４１を行う。次に、測定データをもとに解析し、解析データを得４６、測定データと解析データとをサーバ１に対してアップロード４７する。その後、サーバ１からダウンロードされた評価データを取得４３する。その後、評価データを評価結果として表示手段表示４４する。評価データを保存する必要がある場合には、サーバ１に評価結果保存要求をアップロード４５する。
【００７９】
一方、サーバ用プログラムは、クライアント２からアップロードされた測定データと解析データとを取得５７する。次に、その解析データを元にソフトウェア品質評価を行い、評価データを得５３る。その後、評価データをクライアント２へダウンロード５４する。その後、クライアント２からアップロードされた評価結果保存要求を取得５５した場合には、評価データ又は更に測定データをソフトウェア品質測定評価データとして保存５６する。
【００８０】
尚、前述した第１の実施形態と同様に、利用者毎のソフトウェア品質評価結果の保存と、以前の評価データとの比較や、種々の評価対称のソフトウェア間での評価データの統計処理などを行う為に、ソフトウェア品質測定評価データ管理プログラム及び統計処理プログラムをサーバ用プログラムに付加し、記録媒体に格納し用いても良い。また、前述の各種測定機能や評価結果表示機能を持った各種プログラムやこれらのバーションに対応したプログラム部品を持ったプログラム部品管理プログラムをサーバ用プログラムに付加し、記録媒体に格納し用いてもよい。更に、ソフトウェアの評価結果などや表示データを格納する為の評価結果管理プログラムをクライアント用プログラムに付加し、記録媒体に格納して使用してもよい。
【００８１】
尚、図５に全ての測定データ解析手段をクライアント２に搭載した場合について説明したが、ソフトウェア測定データ解析手段２６の実行モジュールは、秘匿性は高く、ソフトウェア品質評価手段１３がサーバ１だけに搭載されており公開されなければ解読は困難ではある。しかしながら、部分的な解読の可能性を完全には否定できない。従って、特に秘匿性を非常に高くする為に、この解析処理機能を２つに分け、即ち、前半の処理機能をもったソフトウェア測定データ前解析手段と後半の処理機能をもったソフトウェア測定データ後解析手段とに分け、ソフトウェア測定データ前解析手段をクライアント２側のソフトウェア測定データ解析手段２６の代わりに、また、ソフトウェア測定データ後解析手段をサーバ１のデータ受信手段１８とソフトウェア品質評価手段１３の間に搭載してもよい。これにより、ソフトウェア測定データ解析手段の秘匿性は非常に高くなり、ソフトウェア測定データ前解析手段の解読は一層困難となると共に、コピーしてもその影響はない。
【００８２】
この場合のフローチャートを図６に示す。図６のクライアント２のソフトウェア品質測定４１における測定データとしてのソフトウェア字句解析とソフトウェア構文解析によって得られたシンボルテーブル及びパーザツリーを用いて、ソフトウェア品質用意味解析（ソフトウェア品質を評価する為に必要となる意味解析）の一部前半の処理としてソフトウェア測定データ前解析４８を行い、前解析データを得る。例えば、クラス、メソッド、属性、メッセージなどの識別とそれらの名前だけを解析する。測定データと前解析データをサーバ１にアップロード４９する。サーバ１では、アップロードされた測定データ及び前解析データを取得５８すると、測定データと前解析データとを用いてソフトウェア測定データ後解析５９を行い、ソフトウェアの後半の品質用意味解析によって後解析データを得る。例えば、クラス間の継承関係及び部品関係、メソッドと属性との関係、クラス間メッセージ送受信関係などに関する情報を後半の品質用意味解析として行なう。これら解析データを合わせて、最終的な解析データを得る。この後、これら解析データをもとに品質評価５３し評価データを得る。これをクライアント２へダウンロード５４し、クライアント２で取得４３した後、評価データをもとに評価結果を表示４４する。また、これら評価結果の保存の要求があれば、評価結果保存要求をサーバ１にアップロード４５し、サーバ１についてこの情報を取得５５し、測定データと評価データとを保存５６する。ここで、前解析データに対して後解析を施すように解析機能を分割してもよい。また、測定データからそれぞれ独立に前解析データと後解析データが求められるよう解析機能を分割しても良い。
【００８３】
尚、図２と同様に、図５及び図６に示す関連プログラムの他に、前述の各種測定機能や評価結果表示機能を持った各種プログラムや、これらのバーションに対応したプログラム部品を持ったプログラム部品記憶管理プログラムと、読み出したプログラム部品をダウンロードするプログラムをサーバ用プログラムに付加し、記録媒体に格納し用いてもよい。
【００８４】
また、ソフトウェアの評価結果などや表示データを格納する為の評価結果記録管理プログラムをクライアント用プログラムに付加し、記録媒体に格納し使用してもよい。更に、サーバ１について、利用者毎のソフトウェア品質評価結果を記録するプログラムと、ソフトウェア品質評価結果を読み出し、以前の評価データとの比較や、種々の評価データの統計処理を行い統計処理データを得る統計処理プログラムやそれらをダウンロードするプログラムを、また、クライアント２について、これらデータを取得し、表示制御するプログラムなどをそれぞれサーバ用プログラム、クライアント用プログラムに付加し、それぞれの記録媒体に記録し使用してもよい。
【００８５】
上記の第１及び第２の実施形態について、ソフトウェア品質測定手段２１として、ソフトウェア字句解析及びソフトウェア構文解析を行って、測定データを得る例について説明したが、特別な解読プログラムを用いれば評価対象のソフトウェアの情報が若干漏れるが、ソフトウェア字句解析だけをソフトウェア品質測定手段２１として用いてクライアントのタスクを大幅に削減しても良い。ソフトウェア内容が余り重要でない場合には非常に有効である。尚、この場合には、ソフトウェア測定データ解析手段１１及び２６にソフトウェア品質用意味解析の他にソフトウェア構文解析機能を付加することになる。
【００８６】
また、ソフトウェア品質測定手段２１として、ソフトウェア字句解析及びソフトウェア構文解析によって、シンボルテーブルの生成を行い、これとソフトウェア構文解析のアクションデータを測定データとし、パーザツリーの生成をソフトウェア測定データ解析手段に組み込んでも良い。
【００８７】
上記の実施形態では、ソフトウェア品質に関連したソフトウェア品質用意味解析（ソフトウェア品質メトリクス意味解析）を前提に説明したが、ソフトウェアの文法仕様に対するバグの検出の為のソフトウェア文法用意味解析も行い、バグの発生状況とその理由をソフトウェア品質評価に付加した評価データを生成してもよい。又は、バグの検出の為のソフトウェア文法用意味解析を行い、バグの発生状況とその理由だけを評価データとしたソフトウェアバグ検出のサービスをネットワークを介して提供してもよい。
【００８８】
上記の第１及び第２の実施形態について、前述したネットワークは、インターネット、イントラネット、LAN、WAN、有線、無線などネットワークの種類を特定するものではない。
【００８９】
前述した本発明のソフトウェア品質評価システム及びそのプログラムを記録した記録媒体の種々の実施形態は、本発明の技術的概念及び見地の範囲の種々の変更、修正及び省略が、当業者によれば容易に行うことができる。従って、前述の説明はあくまで１例であり、何ら制約しようとするものではない。
【００９０】
【発明の効果】
以上、詳細に説明したように、本発明によれば、ソフトウェア品質を評価する過程を測定、解析及び評価の機能に分離し、サーバ（サービス提供者）とクライアント（利用者）間で効果的に配分し、少なくとも測定データと評価データとをネットワークを介してアップロード及びダウンロードすることにより、利用者及びサービス提供者の間で利用者の評価対象のソフトウェア及びサービス提供者の品質評価プログラムの実体のやり取りがなく、ソフトウェア品質測定評価を行なうことができる。従って、評価対象ソフトウェア及び品質評価プログラムの内容の秘匿性がお互いに確保される。特に、利用者のソフトウェアに対する秘密保持の信頼性を高く保つことができる。更に、サービス提供者のソフトウェア品質評価手段は、常にサーバ側に搭載されていることから、第三者によるソフトウェア品質評価プログラムの不法コピーやプログラム内容が漏れることを簡単に防ぐことができ、インターネットのような秘匿性の確保が困難なネットワークを用いた場合にも非常に有効である。
【００９１】
利用者は、利用者のコンピュータ（クライアント）にソフトウェア品質評価システムに関連したプログラムを全て搭載することなく、測定及び表示関連のプログラムのみをクライアントに搭載し、必要な評価項目に対してネットワークを介して評価を実施することができ、クライアントのタスク量、メモリサイズの節約も図れる。而も、複雑なプログラムインストール作業やバーションアップへの対応の為の煩雑な作業も殆ど行うことなく、また、バーションに関する情報や問題点を気にすることなく常に最新のサービス機能を必要に応じて利用できる。
【００９２】
一方、サービス提供者は、ネットワークを介してソフトウェア品質評価サービスを提供することにより、プログラム管理も容易となり、また、利用者のシステムへの要求レベル、利用状況や利用環境などの情報収集や、測定データ、評価データや品質評価結果などの分析も実施でき、ソフトウェア品質測定プログラムやソフトウェア品質評価プログラムのバージョンアップなどによる機能改善作業と保守作業が個々の利用者を意識することなく、容易且つ経済的に行える。この結果、廉価な料金の元で高機能で経済的、且つ利便性に優れたソフトウェア品質評価サービスを提供できる。
【００９３】
また、サーバ及びクライアントのデータ送受信手段に、暗号化機能を付加したデータ保護により、特に評価データや統計処理データの秘匿性、又は更にシステム利用状況などの情報の秘匿性も簡単に改善され、同様なクライアント機能を有する他の利用者に対しても一層の秘匿に関する信頼性を飛躍的に高くすることができる。
【００９４】
更に、利用者は、開発終了後のソフトウェアの品質評価のみならず、ソフトウェア開発過程におけるソフトウェア品質の評価やそれまでの履歴を考慮した評価により、ソフトウェアの複雑度の正確な把握や複雑な箇所の確定などができ、重要なテスト箇所を考慮したテスト工程管理や開発スケジュール管理など、更にはソフトウェアの保守性や再利用性の向上にも評価結果を効果的に反映させることができる。
【図面の簡単な説明】
【図１】  本発明の第１の実施形態におけるソフトウェア品質評価システムの構成図である。
【図２】  本発明の第１の実施形態におけるソフトウェア品質評価システムのプログラムを記録した記録媒体における、測定評価プログラムのフローチャートである。
【図３】  本発明の第１の実施形態におけるソフトウェア品質評価システムのシステム初期設定のプログラムを記録した記録媒体における、システム初期設定プログラムのフローチャートである。
【図４】  本発明の第２の実施形態におけるソフトウェア品質評価システムの構成図である。
【図５】  本発明の第２の実施形態におけるソフトウェア品質評価システムのプログラムを記録した記録媒体における、測定評価プログラムのフローチャートである。
【図６】  本発明のソフトウェア品質評価システムのプログラムを記録した記録媒体における、測定評価プログラムのフローチャートである。
【符号の説明】
１  サーバシステム
１１  ソフトウェア測定データ解析手段
１２  プログラム部品記録手段
１３  ソフトウェア品質評価手段
１４  品質測定評価結果記録手段
１５  データ送受信手段
１６  統計処理手段
１７  サーバシステム制御管理手段
１８  データ送受信手段
２  クライアントシステム
２１  ソフトウェア品質測定手段
２２  データ送受信手段
２３  ソフトウェア評価結果表示制御手段
２４  表示手段
２５  クライアントシステム制御管理手段
２６  ソフトウェア測定データ解析手段
２７  データ送受信手段
３１  サーバ用プログラム記録媒体
３２  クライアント用プログラム記録媒体
３３  評価対象ソフトウェア記録媒体
４１  ソフトウェア品質測定
４２  測定データのアップロード
４３  評価データの取得
４４  評価結果の表示
４５  測定評価データ保存要求のアップロード
４６  ソフトウェア品質測定データ解析
４７  測定データ／解析データのアップロード
４８  ソフトウェア品質測定データ前解析
４９  測定データ／前解析データのアップロード
５１  測定データの取得
５２  ソフトウェア品質測定データ解析
５３  ソフトウェア品質評価
５４  評価データのダウンロード
５５  測定評価データ保存要求の取得
５６  ソフトウェア品質測定評価データの保存
５７  測定データ／解析データの取得
５８  測定データ／前解析データの取得
５９  ソフトウェア測定データ後解析
６１  システム環境情報のアップロード
６２  使用許可情報、利用環境情報、システム環境設定プログラムの取得
６３  利用環境要求情報のアップロード
６４  利用環境設定プログラムの取得
６５  クライアントシステムの設定
７１  システム環境情報の取得
７２  利用者、システム環境の確認
７３  使用許可情報、利用環境情報、システム環境設定プログラムの取得
７４  利用環境要求情報の取得
７５  利用環境の確認と選択
７６  利用環境設定プログラムのダウンロード
７７  評価システムの設定
【図１】
0003716682.tif 000002
【図２】
0003716682.tif 000003
【図３】
0003716682.tif 000004
【図４】
0003716682.tif 000005
【図５】
0003716682.tif 000006
【図６】
0003716682.tif 000007