(57)【要約】【課題】開発したアプリケーションソフトウェアの性能評価を自動、かつ継続的に行えるようにする。【解決手段】ビルドサーバ１２のビルド部１２１は、構成管理サーバ１１のソフトウェア部品のソースに更新があった場合、ソースを取得して実行プログラムを作成し、静的解析を行い、レポートを作成する。ビルド部１２１は、計測プログラムを取得して、作成した実行プログラムに埋め込んだ計測付実行プログラムを作成し、ビルド完了通知を出す。ＭＦＰ１３のインストール部１３１は、計測付実行プログラムを取得して、インストールし、実行する。性能測定サーバ１４の評価部１４３は、取得した計測データとしきい値とを比較して、評価結果を下し、レポート部１４４がレポートを作成する。【選択図】        図２
2010061461.tif 000002
【特許請求の範囲】
【請求項１】
開発したアプリケーションソフトウェアの性能を評価するソフトウェアの自動性能評価システムであって、
ソフトウェア部品、ソフトウェア部品の仕様書、およびソフトウェア部品を使って作成された実行プログラムを格納し、管理する構成管理装置と、
前記構成管理装置が格納するソフトウェア部品を取得して実行プログラムを作成し、その解析を行って、プログラムの作成と解析結果とをレポート化し、作成した実行プログラムの性能計測に必要なプログラムを埋め込んで計測付実行プログラムを作成するビルド装置と、
前記ビルド装置から計測付実行プログラムの作成完了通知を受領して、インストール開始の通知を出力する性能測定装置と、
前記性能測定装置からインストール開始の通知を受領すると、前記ビルド装置から前記計測付実行プログラムを取得してインストールを行う実機と、
を備え、前記実機は、インストールした前記計測付実行プログラムを実行し、前記性能測定装置はその実行結果と所定のしきい値とを比較した結果に基づいて、開発したアプリケーションソフトウェアの性能評価を行うことを特徴とするソフトウェアの自動性能評価システム。
【請求項２】
前記実機に対して、前記ビルド装置と、前記性能測定装置とが接続され、
前記性能測定装置は、前記ビルド装置で作成された計測付実行プログラムを前記実機にインストールし、その実行結果に基づいて開発したアプリケーションソフトウェアの性能を自動評価することを特徴とする請求項１に記載のソフトウェアの自動性能評価システム。
【請求項３】
前記ビルド装置は、
装置内で作成したプログラムの静的解析を行う静的解析手段と、
前記静的解析手段による解析結果をレポート化する第１のレポート作成手段と、
を備えたことを特徴とする請求項１または２に記載のソフトウェアの自動性能評価システム。
【請求項４】
前記実機は、前記ビルド装置で作成された前記計測付実行プログラムをインストールし、それを実行した実行結果を格納する実行結果格納手段を備え、
前記性能評価装置は、前記実行結果格納手段からの実行結果に基づいて動的解析を行うことを特徴とする請求項１または２に記載のソフトウェアの自動性能評価システム。
【請求項５】
前記性能測定装置は、
以前に行われた評価結果を格納する履歴格納手段を備え、
次回以降の評価時に、前記履歴格納手段に格納されている履歴を用いて解析を行うことを特徴とする請求項１〜４のいずれか一つに記載のソフトウェアの自動性能評価システム。
【請求項６】
前記性能測定装置は、
前記計測付実行プログラムを前記実機で実行させた実行結果の評価をレポート化する第２のレポート作成手段と、
前記第２のレポート作成手段で作成されたレポートを格納するレポート格納手段と、
を備え、
前記第２のレポート作成手段は、前記実機で前記計測付実行プログラムを実行して出力された実行結果としきい値との比較結果に加え、前記履歴格納手段に格納された履歴と、前記レポート格納手段に格納されたレポートに基づいて、以前の実行結果の変化やしきい値違反のあったソフトウェア部品を列挙したレポートを作成することを特徴とする請求項１〜５のいずれか一つに記載のソフトウェアの自動性能評価システム。
【請求項７】
前記実機と前記ビルド装置とはネットワーク接続され、
前記実機は、前記ビルド装置から前記ネットワークを介して前記計測付実行プログラムを取得して、インストールすることを特徴とする請求項１〜６のいずれか一つに記載のソフトウェアの自動性能評価システム。
【請求項８】
前記性能測定装置は、
前記構成管理装置が格納するソフトウェア部品の仕様書に基づいて各計測項目のメトリクス値を算出するメトリクス演算手段と、
前記メトリクス演算手段により算出されたメトリクス値と実測値との関係を示す係数を格納する係数格納手段と、
をさらに備えていることを特徴とする請求項１〜７のいずれか一つに記載のソフトウェアの自動性能評価システム。
【請求項９】
前記メトリクス演算手段は、
前記ソフトウェア部品の仕様書を用いて、ファンクションポイント法によりＲＯＭのメトリクス値を算出することを特徴とする請求項８に記載のソフトウェアの自動性能評価システム。
【請求項１０】
前記性能測定装置は、
前記メトリクス値と前記係数格納手段の係数から目標値を算出し、前記計測付実行プログラムを実行して出力された実行結果と前記目標値とを比較して、前記実行結果が前記目標値を超えた場合に、前記履歴格納手段の履歴を参照して評価を行う評価手段を備え、
前記評価手段は、前記目標値と前記実行結果とを継続して比較することにより、前記係数としきい値の精度を向上させることを特徴とする請求項１〜９のいずれか一つに記載のソフトウェアの自動性能評価システム。
【請求項１１】
前記性能測定装置の評価手段は、
類似した性質や類似した機能を持った前記ソフトウェア部品をグループ分けすることにより、前記係数としきい値の精度を向上させることを特徴とする請求項１０に記載のソフトウェアの自動性能評価システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、開発したアプリケーションソフトウェアの性能評価を自動で行うソフトウェアの自動性能評価システムに関するものである。
【背景技術】
【０００２】
従来の画像処理を行う複写機、ファクシミリ装置、スキャナ装置、あるいは、コピー機能、ファックス機能、プリンタ機能などの複数の機能を一つの筐体に収納した複合機（マルチファンクション装置、ＭＦＰ：Multi Function Peripherals）等では、新たなアプリケーションソフトウェアを開発し、それを組み込むことが行われている。このアプリケーションは、開発後に試験的に起動させて初めてソフトウェアの性能（ＲＯＭ使用量、ＲＡＭ使用量、起動時間等）を評価することが可能となる。
【０００３】
従来、開発した組み込みソフトウェアを性能評価する場合は、評価対象となるアプリケーションを手動で組み込み対象となる実機（例えば、ＭＦＰ）にインストールし、実行させて評価を行っていた。
【０００４】
また、これに関連したソフトウェアの品質測定装置としては、ソフトウェアを構成するプログラムの構造を定量的に把握する尺度であるメトリクス値を算出し、これをソフトウェアの品質特性値に変換して、その品質特性値がどのように影響するのかを明確化するものがあった（特許文献１参照）。
【０００５】
【特許文献１】特開２００２−２６８９１９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来例にあっては、アプリケーションの開発が進行するたびに、毎回手動でアプリケーションを実機にインストールし、評価を行うのは、手間やコストが非常にかかるという問題があった。
【０００７】
また、上記特許文献１は、品質測定装置の使い勝手や、ソフトウェアの品質測定の信頼性を向上させるものであるが、開発したアプリケーションソフトウェアの性能評価を自動で行うものではなかった。
【０００８】
本発明は、上記に鑑みてなされたものであって、開発したアプリケーションソフトウェアの性能評価を自動、かつ継続的に行うことができるソフトウェアの自動性能評価システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明にかかるソフトウェアの自動性能評価システムは、開発したアプリケーションソフトウェアの性能を評価するソフトウェアの自動性能評価システムであって、ソフトウェア部品、ソフトウェア部品の仕様書、およびソフトウェア部品を使って作成された実行プログラムを格納し、管理する構成管理装置と、前記構成管理装置が格納するソフトウェア部品を取得して実行プログラムを作成し、その解析を行って、プログラムの作成と解析結果とをレポート化し、作成した実行プログラムの性能計測に必要なプログラムを埋め込んで計測付実行プログラムを作成するビルド装置と、前記ビルド装置から計測付実行プログラムの作成完了通知を受領して、インストール開始の通知を出力する性能測定装置と、前記性能測定装置からインストール開始の通知を受領すると、前記ビルド装置から前記計測付実行プログラムを取得してインストールを行う実機と、を備え、前記実機は、インストールした前記計測付実行プログラムを実行し、前記性能測定装置はその実行結果と所定のしきい値とを比較した結果に基づいて、開発したアプリケーションソフトウェアの性能評価を行うことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、開発したアプリケーションソフトウェアの性能評価を自動、かつ継続的に行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に添付図面を参照して、この発明にかかるソフトウェアの自動性能評価システムの最良な実施の形態を詳細に説明する。
【００１２】
（第１の実施の形態）
図１は、第１の実施の形態にかかる自動性能評価システムのハードウェア構成を示すブロック図である。図１に示す自動性能評価システム１０は、構成管理装置としての構成管理サーバ１１、ビルド装置としてのビルドサーバ１２、実機であるＭＦＰ（複合機）１３、性能測定装置としての性能測定サーバ１４などで構成されている。そして、性能測定サーバ１４には、ここではディスプレイ１５とプリンタ１６が接続されている。また、構成管理サーバ１１、ビルドサーバ１２、ＭＦＰ１３、および性能測定サーバ１４は、ネットワーク１７によって相互に接続されている。さらに、性能測定サーバ１４とディスプレイ１５との間は、シリアルケーブル１８で接続され、性能測定サーバ１４とプリンタ１６との間は、シリアルケーブル１８あるいはネットワーク１７で接続されている。上記した自動性能評価システム１０を構成する構成管理サーバ１１、ビルドサーバ１２、ＭＦＰ１３、性能測定サーバ１４のそれぞれの具体的なハードウェア構成は、図１に示していないが、ＣＰＵなどの制御装置、ＲＯＭ（Read Only Memory）やＲＡＭなどの記憶装置、ＨＤＤ、ＣＤドライブ装置などの外部記憶装置の他、ディスプレイなどの表示装置、および、キーボードやマウスなどの入力装置を備えている。そして、以下の実施の形態において実行される動作プログラムは、インストール可能な形式、または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００１３】
図２は、図１における自動性能評価システムを機能別に表したソフトウェア構成を示すブロック図である。また、図３−１は、第１の実施の形態にかかる自動性能評価システムの前半動作を説明するフローチャートであり、図３−２は、第１の実施の形態にかかる自動性能評価システムの後半動作を説明するフローチャートである。さらに、図４−１は、構成管理サーバの実行プログラム格納部に格納されている実行プログラムの図であり、図４−２は、構成管理サーバのソース格納部に格納されている部品のソースの図であり、図５−１は、ビルドサーバのレポート格納部に格納されているビルド結果の図であり、図５−２は、ビルドサーバのレポート格納部に格納されている静的解析結果の図であり、図６は、ビルドサーバの計測付実行プログラム格納部に格納されている計測付実行プログラムの図であり、図７は、ＭＦＰの取得先情報格納部に格納されている取得先情報の図であり、図８−１および図８−２は、ＭＦＰの実行結果格納部に格納されている実行時の計測データの図であり、図９は、性能測定サーバの計測プログラム格納部に格納されている計測プログラムの図であり、図１０は、性能測定サーバのしきい値格納部に格納されているしきい値の図であり、図１１−１および図１１−２は、性能測定サーバの履歴格納部に格納されている履歴データの図であり、図１２は、性能測定サーバの参照履歴数格納部に格納されている参照履歴数の図であり、図１３−１、図１３−２、図１３−３は、性能測定サーバのレポート格納部に格納されているレポート例を示す図である。
【００１４】
図２の構成管理サーバ１１は、ソフトウェア部品のソース、仕様書、実行プログラムのバージョンなどを一元管理する管理部１１１、ソフトウェア部品のソースを格納するソース格納部１１２、ソフトウェア部品の仕様書を格納する仕様書格納部１１３、ビルドサーバ１２でビルドされた実行プログラムを格納する実行プログラム格納部１１４などで構成されている。そして、実行プログラム格納部１１４には、図４−１に示すビルドされた実行プログラムが格納されており、ソース格納部１１２には、図４−２に示すソフトウェア部品のソースが格納されている。
【００１５】
図２のビルドサーバ１２は、ソフトウェア部品のソースから実行プログラムを作成すると共に、作成した実行プログラムに計測プログラムを付与した計測付実行プログラムを作成するビルド部１２１、ビルド部１２１で作成された実行プログラムを動作させることなく静的に解析を行う静的解析手段としての静的解析部１２２、ビルド部１２１におけるビルド結果と静的解析部１２２における静的解析結果のレポートを作成する第１のレポート作成手段としてのレポート部１２３、レポート部１２３で作成されたレポートを格納するレポート格納部１２４、および、ビルド部１２１で作成された実行プログラムに計測プログラムを合わせて作成した計測付実行プログラムを格納する計測付実行プログラム格納部１２５などで構成されている。そして、レポート格納部１２４には、図５−１に示すビルド結果、あるいは、図５−２に示す静的解析結果が格納されている。
【００１６】
図２の実機としてのＭＦＰ１３は、ビルドサーバ１２上に格納されている計測付実行プログラムを取得してＭＦＰ１３にインストールを行うインストール部１３１、インストール部１３１によりインストールされた計測付実行プログラムを実行する実行部１３２、実行部１３２によるプログラム実行時に計測された実行結果（実測値）を格納する実行結果格納手段としての実行結果格納部１３３、および、インストールを行う計測付実行プログラムの取得先であるビルドサーバ１２の情報を格納する取得先情報格納部１３４などで構成されている。そして、ＭＦＰ１３の取得先情報格納部１３４には、図７に示すインストールする実行プログラムの取得先情報が格納されている。また、ＭＦＰ１３の実行結果格納部１３３には、図８−１および図８−２に示す実行プログラムの実行時における計測データが格納されている。
【００１７】
図２の性能測定サーバ１４は、ビルドサーバ１２のビルド部１２１からプログラムの作成完了の通知を受けると、ＭＦＰ１３に対してインストール実行の通知を送信する通知制御部１４１、ＭＦＰ１３の実行結果格納部１３３から必要な計測データを取得する結果取得部１４２、計測付実行プログラムを実行した実行結果と目標値とを比較した比較結果に、後述の履歴格納部１４７に格納されている履歴を参照して評価する評価手段としての評価部１４３、評価部１４３の評価結果をレポートする第２のレポート作成手段としてのレポート部１４４、性能計測に必要なプログラムを格納する計測プログラム格納部１４５、ＭＦＰ１３の性能を表すしきい値を格納するしきい値格納部１４６、過去の評価結果を格納する履歴格納手段としての履歴格納部１４７、過去の履歴を何回まで遡って参照するかの回数を格納する参照履歴数格納部１４８、および、レポート部１４４で作成されたレポートを格納するレポート格納手段としてのレポート格納部１４９などで構成されている。そして、性能測定サーバ１４の計測プログラム格納部１４５には、図９に示す性能計測に必要なプログラムが格納されている。また、性能測定サーバ１４のしきい値格納部１４６には、図１０に示すＭＦＰ１３の性能を表すしきい値が格納されている。さらに、性能測定サーバ１４の履歴格納部１４７には、図１１−１および図１１−２に示す過去の履歴データが格納されている。また、性能測定サーバ１４の参照履歴数格納部１４８には、図１２に示す過去の履歴をどこまで遡るかの参照回数を格納している。また、性能測定サーバ１４のレポート格納部１４９には、図１３−１、図１３−２、図１３−３に示すレポート部１４４で作成されたレポートが格納されている。
【００１８】
第１の実施の形態にかかる自動性能評価システムは、上記のように構成されており、以下、図３−１および図３−２のフローチャートを使い動作を説明する。まず、図３−１に示すように、ビルドサーバ１２のビルド部１２１が構成管理サーバ１１の管理部１１１に対して、ソフトウェア部品のソースの更新の有無を確認する（ステップＳ１００）。
【００１９】
ソースの更新があった場合、ビルド部１２１は、管理部１１１を通じてソース格納部１１２から更新のあったソースを取得し、ビルドを実行する（ステップＳ１０１）。そして、ステップＳ１０２において、ビルドが成功したか否かを判断し、成功した場合は、作成された実行プログラムが管理部１１１を介して実行プログラム格納部１１４に格納される。
【００２０】
また、ビルドサーバ１２の静的解析部１２２では、ビルドされた実行プログラムの静的解析が行われる（ステップＳ１０４）。このように、ビルド部１２１によるビルド結果と静的解析部１２２による静的解析結果に基づいて、レポート部１２３がレポートを作成し、レポート格納部１２４に保存する（ステップＳ１０５）。
【００２１】
続いて、ビルド部１２１は、性能測定サーバ１４の計測プログラム格納部１４５より計測プログラムを取得し、ビルドされた実行プログラムに埋め込んで再度ビルドすることにより、計測付実行プログラムを作成し、計測付実行プログラム格納部１２５に保存する（ステップＳ１０６）。
【００２２】
そして、ビルド部１２１が性能測定サーバ１４の通知制御部１４１に対してビルド完了通知を出すと、それを受けた通知制御部１４１は、実機であるＭＦＰ１３のインストール部１３１に対してインストール開始通知を出す（ステップＳ１０７）。
【００２３】
インストール部１３１は、ＭＦＰ１３の取得先情報格納部１３４を参照して、ビルドサーバ１２の計測付実行プログラム格納部１２５から計測付実行プログラムを取得して、ＭＦＰ１３にインストールさせる（ステップＳ１０８）。
【００２４】
ＭＦＰ１３の実行部１３２は、インストールされた計測付実行プログラムを実行することにより、実測値として出力される実行結果を実行結果格納部１３３に保存する（ステップＳ１０９）。
【００２５】
続いて、性能測定サーバ１４の評価部１４３は、しきい値格納部１４６からＭＦＰ１３の性能を表すしきい値を取得し、結果取得部１４２を通じて実行結果格納部１３３から必要な計測データを取得する（ステップＳ１１０）。
【００２６】
そして、図３−２に示すように、評価部１４３は、取得した計測データとしきい値とを比較し、計測データがしきい値内か否かを判断して（ステップＳ１１１）、しきい値以内であれば合格（Ｐａｓｓｅｄ）とし（ステップＳ１１２）、しきい値を超えていれば失敗（Ｆａｉｌｅｄ）という評価結果を下す（ステップＳ１１３）。このように、評価部１４３は、今回の評価結果と、評価に用いた各計測データおよびしきい値を履歴格納部１４７に保存する（ステップＳ１１４）。
【００２７】
また、評価部１４３は、参照履歴数格納部１４８から参照回数を取得して、その参照回数分の履歴が履歴格納部１４７から取得できたか否かを判断する（ステップＳ１１５）。参照回数に見合った履歴が取得できた場合は、レポート部１４４が今回の内容と履歴からの内容に基づいてレポートを作成し、レポート格納部１４９に保存する（ステップＳ１１６）。上記ステップＳ１１５において、参照回数に見合った履歴が取得できない場合は、評価部１４３が参照可能な履歴を取得し、レポート部１４４が今回の内容と取得可能な履歴内容に基づいてレポートを作成し、レポート格納部１４９に保存する（ステップＳ１１６）。
【００２８】
なお、上記ステップＳ１０２において、ビルドが成功しなかった場合については、ビルドサーバ１２のレポート部１２３でエラーレポートを出力する（ステップＳ１１８）。
【００２９】
このように、第１の実施の形態によれば、構成管理サーバ１１、ビルドサーバ１２、および性能測定サーバ１４が実機であるＭＦＰ１３に接続されていて、構成管理サーバ１１に格納された部品のソースを使ってビルドサーバ１２が実行プログラムを作成し、それに計測機能を埋め込んだ計測付実行プログラムを作成し、ＭＦＰ１３にインストールして、実行させた実行結果を得る。そして、性能測定サーバ１４の評価部１４３は、その実行結果と過去の評価履歴とを用いることにより、アプリケーションを自動的にビルドし、そのビルドされたアプリケーションの性能を自動的に評価することができる。
【００３０】
（第２の実施の形態）
第２の実施の形態の特徴は、第１の実施の形態における性能測定サーバ１４にメトリクス値を算出するメトリクス演算部と、メトリクス値と実測値の関係を示す係数を格納する係数格納部を新たに具備したことにある。
【００３１】
図１４は、第２の実施の形態にかかる自動性能評価システムを機能別に表したソフトウェア構成を示すブロック図である。第１の実施の形態にかかる図２の構成図と異なるのは、性能測定サーバ１４の破線枠内に示したメトリクス演算手段としてのメトリクス演算部１５１と、係数格納手段としての係数格納部１５２とが追加された点であり、その他の構成部については図２と同じであるため、重複説明を省略する。
【００３２】
メトリクス演算部１５１は、構成管理サーバ１１の仕様書格納部１１３に格納されている仕様書を管理部１１１経由で取得し、これに基づいて各計測項目のメトリクス値を算出するものである。ここでいうメトリクスとは、ソフトウェアを構成するプログラムの構造を定量的に把握するための尺度のことである。
【００３３】
係数格納部１５２は、メトリクス演算部１５１で算出したメトリクス値と実測値との関係を示す係数を格納するものである。この係数格納部１５２には、過去の係数も格納されている。
【００３４】
図１５−１は、メトリクス演算部がファンクションポイント法を用いてＲＯＭのメトリクス値を算出する場合に用いる外部仕様書の概略構成図であり、図１５−２は、図１５−１の概念クラス図の一例を示す図であり、図１５−３は、図１５−１のインターフェース（Ｉ／Ｆ）記述の一例を示す図であり、図１６−１は、メトリクス演算部でメトリクス値を算出する際に用いられた履歴データを示す図であり、図１６−２は、メトリクス演算部でメトリクス値を算出した際に用いられた部品毎の履歴データを示す図であり、図１７は、係数格納部に格納されている係数例を示す図であり、図１８は、第２の実施の形態にかかる自動性能評価システムの後半動作を説明するフローチャートであり、図１９−１は、評価部が部品毎にメトリクス値と実測値の関係をプロットして係数およびしきい値を決定する方法を説明する図であり、図１９−２は、今回と過去数回の履歴に基づいて再度係数を設定し直す場合を説明する図である。
【００３５】
図１５−１に示すように、外部仕様書２０は、概念クラス図２０１とインターフェース記述２０２とで構成されている。図１５−２に示すように、概念クラス図２０１は、ソフトウェアを構成する部品Ａ２１、部品Ｂ２２、部品Ｃ２３からなり、部品Ａ２１にはデータ１とデータ２を含み、部品Ｂ２２にはデータ３を含み、部品Ｃ２３にはデータ４が含まれている。図１５−２および図１５−３に示すように、部品Ａ２１のデータ１は、部品Ａの内部データであるＩＬＦ（内部論理ファイル）であり、データ２は、外部にデータを出力する機能であるＥＯ（外部出力）である。また、部品Ｂ２２のデータ３は、部品Ａの内部を変える外部からのデータ入力を受け付ける機能であるＥＩ（外部入力）である。さらに、部品Ｃ２３のデータ４は、外部照会を行って検索する機能であるＥＱ（外部照会）である。
【００３６】
ファンクションポイント法とは、ソフトウェアの機能要素を抽出し、その機能数および複雑さからソフトウェアの規模（ファンクションポイント）を導き出す手法のことである。見積対象となるソフトウェアをＥＩ（外部入力）、ＥＯ（外部出力）、ＥＱ（外部照会）、ＩＬＦ（内部論理ファイル）、ＥＩＦ（外部インターフェースファイル）といった５種類の機能、データに分割し、これらの機能、データの複雑さに応じてポイント数を計算する。機能の複雑さとは、その機能が扱う項目数や参照するデータの数であり、低、中、高にカテゴライズされる。ＥＩ、ＥＯ、ＥＱでは、複雑さのカテゴリ毎に規定のポイント数が決められている。ＩＬＦ、ＥＩＦでは、項目数、レコード種類数から低、中、高にカテゴライズされ、ポイント数が決定される。このように、機能、データについてポイント数を算定し、システム特性や開発言語などによって決定される補正特性をかけたものがファンクションポイントとなる。
【００３７】
このように、性能測定サーバ１４のメトリクス演算部１５１は、ソフトウェア部品の外部仕様書を利用し、ファンクションポイント法によってＲＯＭのメトリクス値をより正確に算出することができる。
【００３８】
また、上記算出されたメトリクス値は、図１４に示すように、評価部１４３がメトリクス値と実測値との関係を部品毎にプロットし、全ての部品の結果に基づいて係数としきい値とを決定し、しきい値はしきい値格納部１４６へ、係数は係数格納部１５２へ保存する。また、今回用いられたデータは、履歴格納部１４７に保存され、レポート部１４４が今回のレポートを作成して、レポート格納部１４９に保存される。
【００３９】
また、上記の履歴格納部１４７には、図１６−１に示すようなメトリクス演算部１５１でメトリクス値を算出する際に用いた履歴データ、あるいは、図１６−２に示すようなメトリクス演算部１５１でメトリクス値を算出した際に用いた部品毎の履歴データなどが保存される。また、上記の係数格納部１５２には、図１７に示すような、日付、係数、種別などのデータが係数格納部１５２に格納される。
【００４０】
第２の実施の形態にかかる自動性能評価システムは、上記のように構成されており、以下、図１８のフローチャートを用いて動作を説明する。なお、図１８以前の動作フローについては、第１の実施の形態で説明した図３−１のフローチャートである。この図３−１のフローチャートでは、ビルドサーバ１２が構成管理サーバからソースを取得して実行プログラムを作成し、静的解析を行ってレポートを作成する。ビルドサーバ１２は、性能測定サーバ１４から計測プログラムを取得して、計測付実行プログラムを作成する。ＭＦＰ１３は、この計測付実行プログラムをインストールして実行し、出力された実行結果を保存する。性能測定サーバ１４の評価部は、しきい値とＭＦＰ１３から必要な実行結果とを取得するところまでが行われる。
【００４１】
これに続く図１８のステップ２１１では、メトリクス演算部１５１が構成管理サーバ１１の管理部１１１に対して仕様書の更新の有無を確認し、更新ない場合は、メトリクス演算部１５１が履歴格納部１４７から前回のメトリクス値を取得し（ステップＳ２１２）、更新ある場合は、メトリクス演算部１５１が更新された仕様書に基づいて新メトリクス値を算出する（ステップＳ２１３）。
【００４２】
ここで、評価部１４３がメトリクス値と実測値に基づいて、係数としきい値を決めていない初回の場合は（ステップＳ２１４）、評価部１４３が部品ごとにメトリクス値と実測値との関係を順次プロットしていき、全ての部品のプロット結果に基づいて、係数としきい値とを決定する（ステップＳ２１５）。
【００４３】
これを図１９−１で見ると、横軸がメトリクス値であり、縦軸が実測値であって、部品ごとのメトリクス値と実測値との関係を黒点で表し、全ての部品に対応した黒点をプロットする。評価部１４３は、プロットされた全ての黒点のほぼ平均値を示す線分を係数とし、上下の特異点を除外して（図中に×印で示した）、係数から最大離れている点をしきい値としている。特異点の除外については、直ちに除外せずに除外フラグを付けておき、何度も特異点として認識される場合に初めて除外するようにしても良い。また、しきい値の決定方法についても、上記に限定されず、特異点を除外せずに係数から最大離れているものの中間点をしきい値としたり、各プロットした点の係数からの絶対値の標準偏差をしきい値としたりしても良い。
【００４４】
続くステップＳ２１６では、評価部１４３で決定された係数としきい値とを係数格納部１５２としきい値格納部１４６へ保存する。このしきい値格納部１４６には、図１０に示すようなデータが格納されている。そして、評価部１４３は、今回の係数としきい値の決定に際して用いたデータを履歴格納部１４７に保存する（ステップＳ２１７）。この履歴格納部１４７には、図１１−１および図１１−２に示すようなデータが格納されている。
【００４５】
さらに、性能測定サーバ１４のレポート部１４４は、今回のレポートを作成してレポート格納部１４９に保存する。このレポート格納部１４９には、作成したレポート以外に、ＭＦＰ１３の実行結果格納部１３３の情報も保存される。レポートの作成例としては、図１３−１〜図１３−３に示すようなものがあり、図１３−１に示すように、データ種別ごとの結果と値とを表形式にまとめたもの、図１３−２に示すように、全体のＲＡＭの使用量をグラフで表示したもの、図１３−３に示すように、部品ごとのＲＡＭの使用量をグラフで表示したものなどを一例としてあげることができる。
【００４６】
再び、ステップＳ２１４に戻り、評価部１４３が係数としきい値を決めた後の２回目以降は、ステップＳ２１９に移行して、評価部１４３が係数格納部１５２から係数を取得する。そして、評価部１４３は、メトリクス値と取得した係数とを掛け合わせることで、目標値を算出し（ステップＳ２２０）、実測値と目標値との差分がしきい値以内かを判断する（ステップＳ２２１）。
【００４７】
評価部１４３は、実測値と目標値との差分がしきい値以内であれば合格（Ｐａｓｓｅｄ）とし（ステップＳ２２２）、しきい値を超えていれば失敗（Ｆａｉｌｅｄ）という評価結果を下す（ステップＳ２２３）。このように、評価部１４３は、今回の評価結果と、評価に用いた各計測データおよびしきい値を履歴格納部１４７に保存する（ステップＳ２２４）。
【００４８】
これらの処理は、部品の数だけ繰り返され、失敗（Ｆａｉｌｅｄ）と評価された部品の数が一定数より少量か否かを判断する（ステップＳ２２５）。失敗（Ｆａｉｌｅｄ）と評価された部品の数が一定数未満の場合は、失敗（Ｆａｉｌｅｄ）と評価された部品をピックアップレポートとしてレポート部１４４が作成し、これと履歴格納部１４７が保存する過去の履歴を参照して、その変化についてもレポートする（ステップＳ２２６）。
【００４９】
また、失敗（Ｆａｉｌｅｄ）と評価された部品の数が一定数以上ある場合は、履歴格納部１４７が保存する過去の履歴を参照し、失敗（Ｆａｉｌｅｄ）と評価された部品が増加傾向にあるか否かを判断する。増加傾向が見られない場合は、上記したステップＳ２２６の処理が行われる。
【００５０】
一方、増加傾向にある場合は、履歴格納部１４７が保存する過去数回の履歴より、評価部１４３が再度係数を設定し直して、係数格納部１５２に保存し（ステップＳ２２８）、レポート部１４４でレポートを作成して（ステップＳ２２９）、レポート格納部１４９に保存する。どこまで過去の履歴を参照するかについては、参照履歴数格納部１４８に図１２に示すような参照履歴数（ここでは、「２」）が保存されているため、これに基づいて必要な回数の履歴を参照するようにする。また、過去数回の履歴に基づいて、評価部１４３が再度係数を設定し直す場合については、図１９−２に示すように、当初設定していた係数１に対して、過去数回の履歴を参照して、新たな係数２を設定し直すようにする。
【００５１】
このように、第２の実施の形態によれば、ソフトウェアを構成するプログラムの構造を定量的に把握する尺度であるメトリクス値を部品の仕様書に基づいて算出し、そのメトリクス値と実測値との関係から係数としきい値を求め、メトリクス値と係数から目標値を求めて、実測値と目標値との差分としきい値を比較することによって、仕様書からソフトウェアの性能を見積もることが可能となる。
【００５２】
また、第２の実施の形態によれば、評価結果の割合に応じて過去の履歴を参照することにより、部品の傾向が把握可能となり、その結果に応じたレポートを作成すると共に、係数の再設定を行うことができる。
【００５３】
（第３の実施の形態）
第３の実施の形態の特徴は、上記第２の実施の形態では、全ての部品の係数を１つと考えていたが、各部品同士で類似しているものや傾向の異なるものがある場合に、類似した性質を持った部品ごとにグループ分けして計測を行い、評価できるようにする点に特徴がある。
【００５４】
基本的な構成や動作については、上記第２の実施の形態にかかる構成図やフローチャートとほぼ同様であるため省略するが、第３の実施の形態に特徴的な構成および動作部分に絞って以下説明する。
【００５５】
図３の実施の形態にかかる動作は、第２の実施の形態で説明した図１８のフローチャートとほぼ同様であるが、ステップＳ２１５〜ステップＳ２１８において、グループごとに部品のメトリクス値と実測値との関係をプロットし、１つのグループ内の全ての部品のプロット結果に基づいて係数としきい値とを決定する。そして、これをグループ単位で繰り返す点が第２の実施の形態の動作と異なる点である。
【００５６】
図２０−１は、ソフトウェア部品の中で類似した性質や機能毎にグループ分けが可能な場合のそれぞれの係数を示す図であり、図２０−２は、図２０−１における部品とグループとの関係を示す図であり、図２１−１は、ベース部分が同じユーザインターフェースである部品同士をグループ化した場合の系統図であり、図２１−２は、ベース部分が同じフィルタである部品同士をグループ化した場合の系統図である。
【００５７】
図１４の構成図と図１８のステップＳ２１５とを参照し、評価部１４３が部品ごとにメトリクス値と実測値の関係をプロットしていき、全ての部品の結果をプロットし終わった時点で、図２０−１に示すように、性質の異なる２つの部品グループ（Ｇ１，Ｇ２）に分けることができ、グループ毎に係数を求めることができる。
【００５８】
例えば、図２０−２に示すように、部品Ａ、Ｂ、Ｃについてそれぞれ図２０−１にプロットしたとする。この場合、部品Ａと部品Ｃは、互いに性質が類似しているため、同じグループＧ１に含まれる。また、部品Ｂは、部品Ａ，Ｃと性質が異なることから、もう一方のグループＧ２に含まれる。
【００５９】
性質の類似した部品例としては、図２１−１に示すように、同じユーザインターフェース（ＵＩ）のファームウェアで親子関係にある部品同士では、ベース部分と同じ機能を子も継承しているため、親と子にはある程度の相関がある可能性が高くなる。その場合は、性質が類似し、似たような係数となる。特に、ユーザインターフェースなどは、一般的なロジックアプリケーションと傾向が異なり、特異点となり易いことから、別のグループに分けた方が都合の良い場合が多い。
【００６０】
また、図２１−２に示す別の部品例では、同じフィルタのファームウェアで親子関係にある部品同士の場合も同様であって、部品のベース部分が同じ場合は、機能を継承して性質が類似するため、似たような係数となる。
【００６１】
このように、第３の実施の形態によれば、部品を性質や機能に応じて複数のグループに分け、グループごとに係数としきい値を決めて、グループごとに性能評価が行われる。これにより、係数やしきい値の精度を上げることができるため、開発したソフトウェアをより詳細かつ正確に性能評価することが可能となる。
【図面の簡単な説明】
【００６２】
【図１】第１の実施の形態にかかる自動性能評価システムのハードウェア構成を示すブロック図である。
【図２】図１における自動性能評価システムを機能別に表したソフトウェア構成を示すブロック図である。
【図３−１】第１の実施の形態にかかる自動性能評価システムの前半動作を説明するフローチャートである。
【図３−２】第１の実施の形態にかかる自動性能評価システムの後半動作を説明するフローチャートである。
【図４−１】構成管理サーバの実行プログラム格納部に格納されている実行プログラムの図である。
【図４−２】構成管理サーバのソース格納部に格納されている部品のソースの図である。
【図５−１】ビルドサーバのレポート格納部に格納されているビルド結果の図である。
【図５−２】ビルドサーバのレポート格納部に格納されている静的解析結果の図である。
【図６】ビルドサーバの計測付実行プログラム格納部に格納されている計測付実行プログラムの図である。
【図７】ＭＦＰの取得先情報格納部に格納されている取得先情報の図である。
【図８−１】ＭＦＰの実行結果格納部に格納されている実行時の計測データの図である。
【図８−２】ＭＦＰの実行結果格納部に格納されている実行時の計測データの図である。
【図９】性能測定サーバの計測プログラム格納部に格納されている計測プログラムの図である。
【図１０】性能測定サーバのしきい値格納部に格納されているしきい値の図である。
【図１１−１】性能測定サーバの履歴格納部に格納されている履歴データの図である。
【図１１−２】性能測定サーバの履歴格納部に格納されている履歴データの図である。
【図１２】性能測定サーバの参照履歴数格納部に格納されている参照履歴数の図である。
【図１３−１】性能測定サーバのレポート格納部に格納されているレポート例を示す図である。
【図１３−２】性能測定サーバのレポート格納部に格納されているレポート例を示す図である。
【図１３−３】性能測定サーバのレポート格納部に格納されているレポート例を示す図である。
【図１４】第２の実施の形態にかかる自動性能評価システムを機能別に表したソフトウェア構成を示すブロック図である。
【図１５−１】メトリクス演算部がファンクションポイント法を用いてＲＯＭのメトリクス値を算出する場合に用いる外部仕様書の概略構成図である。
【図１５−２】図１５−１の概念クラス図の一例を示す図である。
【図１５−３】図１５−１のインターフェース記述の一例を示す図である。
【図１６−１】メトリクス演算部でメトリクス値を算出する際に用いられた履歴データを示す図である。
【図１６−２】メトリクス演算部でメトリクス値を算出した際に用いられた部品毎の履歴データを示す図である。
【図１７】係数格納部に格納されている係数例を示す図である。
【図１８】第２の実施の形態にかかる自動性能評価システムの後半動作を説明するフローチャートである。
【図１９−１】評価部が部品毎にメトリクス値と実測値の関係をプロットして係数およびしきい値を決定する方法を説明する図である。
【図１９−２】今回と過去数回の履歴に基づいて再度係数を設定し直す場合を説明する図である。
【図２０−１】ソフトウェア部品の中で類似した性質や機能毎にグループ分けが可能な場合のそれぞれの係数を示す図である。
【図２０−２】図２０−１における部品とグループとの関係を示す図である。
【図２１−１】ベース部分が同じユーザインターフェースである部品同士をグループ化した場合の系統図である。
【図２１−２】ベース部分が同じフィルタである部品同士をグループ化した場合の系統図である。
【符号の説明】
【００６３】
１０  自動性能評価システム
１１  構成管理サーバ
１１１  管理部
１１２  ソース格納部
１１３  仕様書格納部
１１４  実行プログラム格納部
１２  ビルドサーバ
１２１  ビルド部
１２２  静的解析部
１２３  レポート部
１２４  レポート格納部
１２５  計測付実行プログラム格納部
１３  ＭＦＰ（複合機）
１３１  インストール部
１３２  実行部
１３３  実行結果格納部
１３４  取引先情報格納部
１４  性能測定サーバ
１４１  通知制御部
１４２  結果取得部
１４３  評価部
１４４  レポート部
１４５  計測プログラム格納部
１４６  しきい値格納部
１４７  履歴格納部
１４８  参照履歴数格納部
１４９  レポート格納部
１５１  メトリクス演算部
１５２  係数格納部
１７  ネットワーク
１８  シリアルケーブル
【図１】
2010061461.tif 000003
【図２】
2010061461.tif 000004
【図３−１】
2010061461.tif 000005
【図３−２】
2010061461.tif 000006
【図４−１】
2010061461.tif 000007
【図４−２】
2010061461.tif 000008
【図５−１】
2010061461.tif 000009
【図５−２】
2010061461.tif 000010
【図６】
2010061461.tif 000011
【図７】
2010061461.tif 000012
【図８−１】
2010061461.tif 000013
【図８−２】
2010061461.tif 000014
【図９】
2010061461.tif 000015
【図１０】
2010061461.tif 000016
【図１１−１】
2010061461.tif 000017
【図１１−２】
2010061461.tif 000018
【図１２】
2010061461.tif 000019
【図１３−１】
2010061461.tif 000020
【図１３−２】
2010061461.tif 000021
【図１３−３】
2010061461.tif 000022
【図１４】
2010061461.tif 000023
【図１５−１】
2010061461.tif 000024
【図１５−２】
2010061461.tif 000025
【図１５−３】
2010061461.tif 000026
【図１６−１】
2010061461.tif 000027
【図１６−２】
2010061461.tif 000028
【図１７】
2010061461.tif 000029
【図１８】
2010061461.tif 000030
【図１９−１】
2010061461.tif 000031
【図１９−２】
2010061461.tif 000032
【図２０−１】
2010061461.tif 000033
【図２０−２】
2010061461.tif 000034
【図２１−１】
2010061461.tif 000035
【図２１−２】
2010061461.tif 000036