(57)【要約】【課題】ソフトウェアの開発に際して、実際にアプリケーションを作成して試験を行う以前に、そのフレームワーク部分の評価を行うことの可能なソフトウェア部品の組合せ評価システムを提供すること。【解決手段】ソフトウェア部品３、４、５に評価のための表示信号を供給する信号発生手段７および通信データ発生手段８とを具え、ソフトウェア部品３、４、５が、信号発生手段７および通信データ発生手段８からの供給された信号により動作した際の各々のソフトウェア部品３、４、５の動作ログデータを受け取って、そのデータにより評価する。【選択図】図１
2007183818.tif 000002
【特許請求の範囲】
【請求項１】
複数のソフトウェア部品により構成されたフレームワークにおけるソフトウェア部品の組合せ評価システムであって、
前記ソフトウェア部品に評価のための表示信号を供給する信号発生手段と、前記ソフトウェア部品に評価のための通信データ信号を供給する通信データ発生手段と、前記ソフトウェア部品が前記信号発生手段および前記通信データ発生手段からの供給された信号により動作した際の各々の前記ソフトウェア部品の動作ログを記録する動作ログ記録手段と、前記動作ログ記録手段からのデータを受け取って該データを評価する組合せ評価手段とを有することを特徴とするソフトウェア部品の組合せ評価システム。
【請求項２】
前記ソフトウェア部品の組み合わせは、複数のソフトウェア部品から選択されたソフトウェア部品とアプリケーションソフトとの組み合わせであることを特徴とするソフトウェア部品の組合せ評価システム。
【請求項３】
前記組合せ評価手段は、前記動作ログ記録手段からのデータを受け取った各々の前記ソフトウェア部品の動作ログについて、処理速度により評価することを特徴とする請求項１又は２記載のソフトウェア部品の組合せ評価システム。
【請求項４】
前記組合せ評価手段は、前記動作ログ記録手段からのデータを受け取った各々の前記ソフトウェア部品の動作ログの評価結果を表示画面に表示することを特徴とする請求項１乃至３のいずれか１項に記載のソフトウェア部品の組合せ評価システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、種々のソフトウェア部品を組み合わせた場合の評価を行うソフトウェア部品の組合せ評価システムに関する。
【背景技術】
【０００２】
近年、ソフトウェアの開発では、プログラムの再利用という観点から、オブジェクト指向によるソフトウェア開発が広く行われている。アプリケーションの開発でも、低コスト化や品質向上のためにフレームワークを利用した開発が行われている。
【０００３】
ソフトウェア開発においては、開発されたソフトウェアの品質を確認するために、さまざまな観点から複数のテストを実施している。通常の場合は、ソフトウェアを構成する最小単位のプログラムであるユニットの機能の確認であるユニットテストを実施して、問題がなければ、複数のユニットを組み合わせてコンポーネントテスト、次に機能テスト、システムテストへと徐々にテスト内容を広げていくことで、ソフトウェアの品質を確認している。
【０００４】
これらの各テストでは、それぞれのテストで確認しなければならないさまざまな確認項目を定義し、それらの項目を確認するための操作方法と期待する動作の対を作成する。この各確認項目をテストケースと呼び、それらのテストケースをまとめてテスト仕様書という形の資料を作成する方法が一般的である。通常の場合には、テスト仕様書の作成は、プログラムを作成した技術者もしくは、テスト担当の技術者が作成している（例えば、特許文献１を参照）。
【０００５】
また、対象プログラムの動作確認やいわゆるデバッグ作業のために、対象プログラムの実行動作により得られたログを利用するケースが増加している。具体的には、記録したイベントの情報からなるログを専用のビューアで表示してデバッグ作業の一助とするようなログベースのデバッグ手法が普及してきている。
【０００６】
収集するログの例としては、オペレーティングシステム（ＯＳ）を通じて一連のシステムコールの発行履歴を記録したものであったり、ハードウェア（あるいはエミュレータ）により一連のメモリアクセスの履歴を記録したものなどが挙げられる。これらにおいて、システムコールやメモリアクセスがイベントに相当する。
【０００７】
対象プログラムの実行動作により得られたログを用いてデバッグを行う場合、従来では次の２つの手法が知られている。
【０００８】
（１）１つの異常動作ログを丹念に調査してバグの原因を探す。
【０００９】
（２）正常動作した場合のログと異常動作した場合のログとを比較して違いを探し出し、これを集中的に調査する（例えば、特許文献２を参照）。
【特許文献１】特開２００１−２１６１６２号公報      [０００２]〜[０００３]
【特許文献２】特開平１０−３００４９９号公報      [０００２]〜[０００６]
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述のように、ソフトウェアの開発では、プログラムの再利用という観点から、オブジェクト指向によるソフトウェア開発が広く行われており、アプリケーションの開発でも、低コスト化や品質向上のためにフレームワークを利用した開発が行われている。
【００１１】
しかしながら、フレームワークはアプリケーションと組み合わせて使用されるにもかかわらず、実際にアプリケーションを作成して試験を行うまでは、フレームワーク部分が客先の要求を満たせるかの判断をすることはできない。
【００１２】
また、対象プログラムの動作確認やいわゆるデバッグ作業のために、対象プログラムの実行動作により得られたログを利用するケースの場合も、そもそも、フレームワークを対象にしたものではない。
【００１３】
なお、プログラムを対象にした場合、上記（１）については、ログ中においてどの箇所を重点的に調査すれば良いかなどの指針が無いので、ログの量が増大すると、これに応じてデバッグ作業にも手間がかかり、また熟練を要するという問題点がある。また、上記（２）については、正常動作と異常動作の単純な違いだけに着目すると、その着目すべき箇所が多くなり過ぎて効率的なデバッグに繋がらないという問題点がある。
【００１４】
本発明は、これらの事情を考慮してなされたもので、ソフトウェアの開発に際して、実際にアプリケーションを作成して試験を行う以前に、そのフレームワーク部分の評価を行うことの可能なソフトウェア部品の組合せ評価システムを提供することを目的としている。
【課題を解決するための手段】
【００１５】
上記した課題を解決するために、本発明の一態様によれば、複数のソフトウェア部品により構成されたフレームワークにおけるソフトウェア部品の組合せ評価システムであって、
前記ソフトウェア部品に評価のための表示信号を供給する信号発生手段と、前記ソフトウェア部品に評価のための通信データ信号を供給する通信データ発生手段と、前記ソフトウェア部品が前記信号発生手段および前記通信データ発生手段からの供給された信号により動作した際の各々の前記ソフトウェア部品の動作ログを記録する動作ログ記録手段と、前記動作ログ記録手段からのデータを受け取って該データを評価する組合せ評価手段とを有することを特徴とするソフトウェア部品の組合せ評価システムが提供される。
【発明の効果】
【００１６】
本発明によれば、ソフトウェアの開発に際して、実際にアプリケーションと組み合わせて使用する以前に、ソフトウェア部品の評価を行うことができる。また、簡易にソフトウェア部品の組合せ試験ができ、かつ、ソフトウェア部品の組合せ試験状態を可視化できる利点がある。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態について図面を参照して説明する。
【００１８】
図１はフレームワークを用いたソフトウェア部品の組合せ評価システムのブロック図である。
【００１９】
フレームワークを用いたソフトウェア部品の組合せ評価システム１（以下、単に評価システムという）は、フレームワーク２を用いて構成するコンポーネントであるソフトウェア部品（ソフトウェア部品A〜C）３、４、５の各々を収納して記憶するフレームワーク収納部６に、評価システム１を構成している後述する各部が接続されて構成されている。
【００２０】
すなわち、フレームワーク収納部６に収納されたソフトウェア部品３、４、５にはソフトウェア部品３、４、５に対応して信号発生手段として信号発生部７、通信データ発生手段として通信データ発生部８及び動作ログ記録手段として動作ログ記録部９が接続されている。また、動作ログ記録部９には組合せ評価手段として組合せ評価部１１が接続されている。各部の機能を順次説明すると、
フレームワーク収納部６は、例えば、ソフトウェア部品３、４、５（ソフトウェア部品A〜C）について、様々なパターンの組合せ（例えば、１〜Nまで）を収納して記憶することができる。なお、フレームワーク収納部６は、機能的な表現で、個別の特別なハードウェアという意味ではなく、コンピュータの内蔵メモリであっても、外付けのメモリであっても良い。
【００２１】
信号発生部７は、ソフトウェア部品３に供給する信号を発生するものである。
【００２２】
通信データ発生部８は、必要に応じてソフトウェア部品５に供給する通信データを発生する。
【００２３】
動作ログ記録部９は、信号発生部７からの供給により実際に動作する各ソフトウェア部品３、４、５から得られるデータ（動作ログ）を記録する。
【００２４】
組合せ評価部１１は、この動作ログ記録部９の出力により組合せの評価を行い、その評価結果を表示画面１１ａに表示する。
【００２５】
また、フレームワーク２を構成しているソフトウェア部品３、４、５は、ソフトウェア部品３として表示部３ａを制御するソフトウェア、ソフトウェア部品４として処理部４ａを制御するソフトウェア、及びソフトウェア部品５として通信部５ａを制御するソフトウェアとする。なお、この場合、表示部３ａと通信部５ａは何れも処理部４ａと相互に接続されている。
【００２６】
これらの構成で、信号発生部７は、部品の組合せを評価するため信号発生部７から発生させる模擬データを受け、また、通信部５ａは通信データ発生部８から通信のための信号を受ける。
【００２７】
表示部３ａ、処理部４ａ、通信部５ａはデータを与えられると、実際に動作を行い、その処理速度を動作ログ記録部９に書き込む。動作ログ記録部９は、書き込まれた結果を、表示部３ａ、処理部４ａおよび通信部５ａ毎、あるいはパターン毎に組合せ評価部１１の表示画面１１ａに表示する。フレームワーク２の利用者は、表示画面１１ａを見ることにより、ソフトウェア部品３、４、５とその組合せの評価をおこなうことができる。
【００２８】
以下、評価システム１について、流れの詳細を説明する。
【００２９】
図２は、評価システム１のステップ毎の流れを示すフローチャートである。なお、評価システム１の各部は、図１に示したとおりであるので、以下の説明でもその各符号を援用している。
【００３０】
まず、評価が開始されると、まずフレームワーク２の利用者は、フレームワーク２を利用したアプリケーションを構築後のユーザ操作の模擬の有無を確認する（ステップＳ２０）。
【００３１】
次に、ユーザ操作を模擬する必要がある場合は、ユーザ情報模擬情報（操作回数、操作間隔）を信号発生部７より入力する（ステップＳ２１）。
【００３２】
次に、ステップＳ２０で、ユーザ操作を模擬する必要がない場合、および、ステップＳ２１の終了後に、通信データを模擬するか確認する（ステップＳ２２）。
【００３３】
次に、通信データを模擬する場合に、外部からデータを受け取るシステムであれば、通信模擬情報（データの平均発生密度、最大量、発生頻度）を入力する（ステップＳ２３）。
【００３４】
次に、ステップＳ２２で、通信データを模擬しない場合、および、ステップＳ２３の終了後に、信号発生部７及び通信データ発生部８は、それぞれ先に設定された情報を基にデータを実際に発生させ、擬似的にユーザ操作及び他システムとの通信を模擬する。
【００３５】
その結果、ステップＳ２１でユーザ操作を模擬する場合には、信号発生部７からフレームワーク２の表示部３ａに信号を入力することになる。また、ステップＳ２２で通信データを模擬する場合には、通信データ発生部８からフレームワーク２の通信部５ａに通信データを入力することになる。
【００３６】
これにより実際に表示部３ａ及び通信部５ａにデータが与えられ、あらかじめ設定されているパターン１~Ｎについて動作を行わせた結果（処理速度）を、動作ログ記録部９に記録する（ステップＳ２４）。
【００３７】
次に、動作ログ記録部９の動作ログを受取った組合せ評価部１１は、例えば、処理速度が適切であるか等の動作ログを評価する。その評価結果を組合せ評価部１１の表示画面１１ａに表示する（ステップＳ２５）。
【００３８】
なお、評価としては、処理速度が適切であるか否か他にも、当然、動作ログの内容が適切であるか等も判断される。
【００３９】
これらのステップにより、フレームワーク２のソフトウェア部品３、４、５として、複数のソフトウェア部品３、４、５のうちどのソフトウェア部品３、４、５がよかったか、あるいは、複数のソフトウェア部品３、４、５のうちどの組合せのソフトウェア部品３、４、５がよかったか等が組合せ評価部１１により評価されることになる。
【００４０】
したがって、フレームワーク２の利用者は、このソフトウェア部品３、４、５の組合せ評価システム１を利用することにより、表示部３ａ、処理部４ａ、通信部５ａの処理速度の比較及びフレームワーク２のソフトウェア部品３、４、５の組合せとしての処理性能を、アプリケーションの作成や試験を行う前に知ることが可能になる。
【００４１】
また、このソフトウェア部品３、４、５の組合せ評価システム１によれば、（イ）簡易にソフトウェア部品３、４、５の組合せ試験ができる。（ロ）組合せ試験状態を可視化できる。（ハ）あらかじめ、知りたい評価項目が設定できる。（二）記録を解析し、全体性能、全体指標を提示し、また、各部の指標を提示することができる等の様々な利点がある。
【００４２】
次に、地図情報提供システムの車載側の端末についてフレームワーク２を適用した実施の形態について説明する。
【００４３】
地図情報提供システムは、地図データ、交通情報、気象情報、イベント情報等の各種データベースを保有し、かつこれら各データベースのコンテンツを収集、更新するサーバと、サーバから通信によって情報の提供サービスを受ける１以上の車載端末とが設けられる。そして、車載端末から要求された任意地点間の最適経路をサーバで求め、求めた経路と共に、詳細地図、交通情報、気象情報、イベント情報などを一括して車載端末にダウンロードするものである。以下、車載側の端末についての詳細について、図面を参照しながら説明する。
【００４４】
図３は、本発明の実施形態に係る地図情報提供システムの、車載端末側のフレームワークを用いた基本構成を示すブロック図である。なお、図１と同一箇所には同一符号を付してその個々の説明を省略する。
【００４５】
図３において、本実施形態の地図情報提供システムのフレームワーク２を用いた車載端末は、図１のブロック図に倣って、表示部３ａを制御するソフトウェア部品３と処理部４ａを制御するソフトウェア部品４と、通信部５ａを制御するソフトウェア部品５とで構成されている。
【００４６】
表示部３ａは、不図示のディスプレイとスピーカとを具えるとともに、入力部２２とＲＯＭ２３とを具えている。また、信号発生部７からの信号を受け、処理部４ａと相互に情報を連絡する。表示部３ａのソフトウェア部品３がそれらを対象に制御する。
【００４７】
入力部２２は、車載端末に対するドライバの操作入力を行うものであり、複数のキースイッチをもつ本体操作パネル、あるいは同様の機能をもつリモコン等によって実現される。ＲＯＭ２３は、システム全体の制御を行うためのプログラムを記憶している。なお、このＲＯＭ２３に代えて、フラッシュメモリ等の書き換え可能な記憶媒体を設け、オンラインまたはオフラインの形式で提供されたプログラムを格納するようにしてもよい。入力部２２のソフトウェア部品３がそれらを対象に制御する。
【００４８】
なお、処理部４ａは、位置算出部２１と、ＲＯＭ２３と、演算処理部２４と、ＲＡＭ２５と、地図情報記憶部２６と出力部２７とを備えている。
【００４９】
また、位置算出部２１は、地図上における車両の現在位置を算出するものである。これは、車速センサによって車速を検知し、それをもとに車両の走行距離を算出したり、ジャイロセンサによって車両の進行方向を検出したり、車両の走行軌跡と地図上の道路形状との相関をとったり、ＧＰＳ衛星からの電波を受信して地球上における絶対位置を検出するなどの各手法によって、あるいはそれらを組み合わせることによって実現される。
【００５０】
また、演算処理部２４は、ＲＯＭ２３に記憶されているプログラムに従ってナビゲーションシステム本体の制御を行う。ＲＡＭ２５は、ＲＯＭ２３に記憶されているプログラムに従って演算処理部２４が処理を行う際に、プログラムやデータを展開するためのメモリである。地図情報記憶部２６は、地図データおよびその関連情報を記憶するためのものであり、フラッシュメモリやハードディスク等の書き換え可能な記憶媒体によって実現される。
【００５１】
また、出力部２７は、地図情報記憶部２６に記憶されている地図やその関連情報、および演算処理部２４の処理結果を、表示部３ａの表示装置のディスプレイとスピーカに対して映像あるいは音声で提示する。
【００５２】
通信部５ａは、通信回線を介して車載端末とサーバとの間でデータの送受信を行うものであり、例えば携帯電話、および携帯電話と車載端末との間のデータ変換を行うためのデータ通信モデムから構成される。通信部５ａのソフトウェア部品５がそれらを対象に制御する。
【００５３】
これらの、構成により、例えば、信号発生器７からの供給で、出発地点と目的地点とを設定し表示部に３ａ入力し、処理部４ａで情報を処理して、その間の経路を求めることができる。
【００５４】
また、同様に、信号発生部７からの供給で経由地を設定して、処理部４ａで情報を処理して、経由地をも考慮して経路を選定することもできる。さらに、出発地点および目的地点周辺の詳細地図に加えて、さらに経由地点周辺の詳細地図をサーバ側から車載端末側へダウンロードするようにすることもできる。
【００５５】
また、信号発生部７からの供給で目的地点の設定を地図上の位置を指定することにより行うことも、あるいは、地名の検索、または予め登録しておいた複数の地点から選択することもできる。
【００５６】
なお、本発明は上記の実施形態のそのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００５７】
【図１】本発明のフレームワークを用いたソフトウェア部品の組合せ評価システムのブロック図。
【図２】本発明のフレームワークを用いたソフトウェア部品の組合せ評価システムのステップ毎の流れを示すフローチャート。
【図３】本発明の実施形態に係る地図情報提供システムの、車載端末側のフレームワークを用いた基本構成を示すブロック図。
【符号の説明】
【００５８】
１…ソフトウェア部品の組む合わせ評価システム、２…フレームワーク、３…ソフトウェア部品、３ａ…表示部、４…ソフトウェア部品、４ａ…処理部、５…ソフトウェア部品、５ａ…通信部、６…フレームワーク収納部、７…信号発生部、８…通信データ発生部、９…動作ログ記録部、１１…組合せ評価部、１１ａ…表示画面
【図１】
2007183818.tif 000003
【図２】
2007183818.tif 000004
【図３】
2007183818.tif 000005