(57)【要約】【課題】ソフトウェアを実行する装置の環境に依存せずに、ソフトウェアの開発に有用な情報を効率的に収集することができるソフトウェア開発支援装置およびソフトウェア開発支援方法を提供する。【解決手段】映像入力部１１は、コンピュータからの映像信号を入力する。演算部１３は、映像入力部１１に入力された映像信号を画像処理することによって、特定の情報が含まれた映像信号を検出する。保存部１４は、特定の情報が検出された映像信号を保存する。【選択図】図２
2008052538.tif 000002
【特許請求の範囲】
【請求項１】
グラフィカルユーザインタフェース機能を有するソフトウェアを実行する装置から出力された映像信号を入力する入力手段と、
前記映像信号を画像処理し、予め設定された設定情報に含まれる情報を前記映像信号から検出する画像処理手段と、
前記設定情報に含まれる情報が検出された前記映像信号を記憶する記憶手段と、
を備えたことを特徴とするソフトウェア開発支援装置。
【請求項２】
特定のパターンの画像を示す画像情報が前記設定情報に含まれることを特徴とする請求項１に記載のソフトウェア開発支援装置。
【請求項３】
特定の色を示す色情報が前記設定情報に含まれることを特徴とする請求項１または請求項２に記載のソフトウェア開発支援装置。
【請求項４】
特定の文字を示す文字情報が前記設定情報に含まれることを特徴とする請求項１〜請求項３のいずれかに記載のソフトウェア開発支援装置。
【請求項５】
グラフィカルユーザインタフェース機能を有するソフトウェアを実行する装置から出力された映像信号を入力するステップと、
前記映像信号を画像処理し、予め設定された設定情報に含まれる情報を前記映像信号から検出するステップと、
前記設定情報に含まれる情報が検出された前記映像信号を記憶するステップと、
を備えたことを特徴とするソフトウェア開発支援方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフィカルユーザインタフェース（ＧＵＩ）機能を有するソフトウェアの開発を支援するソフトウェア開発支援装置およびソフトウェア開発支援方法に関する。
【背景技術】
【０００２】
ＧＵＩ機能を有するソフトウェアは、いかなる操作に対しても、異常終了やハングアップ等を起こさず、安定して動作することが要求される。そのため、ソフトウェアの検査工程では、通常操作の他に、異常値の入力や、無意味な操作を連続的に繰り返す等の負荷試験を行い、異常終了等の予期しない不具合が発生した際には、その原因となった操作手順を頼りにソフトウェアの問題箇所を特定し修正することにより、納期までにソフトウェアの頑健性を可能な限り高めていくことが必要である。
【０００３】
予め決められた検査手順に従って操作を行い、不具合が発生した場合には、不具合の原因となった操作手順が明確である。しかし、偶発的な操作や、操作手順が守られなかったことにより不具合が発生した場合には、不具合発生の原因となった操作を特定することが困難となり、迅速なソフトウェア修正が行えず、納期までに十分な頑健性を確保することが困難になる。
【０００４】
これを解決する方法として、例えば以下のような方法がある。特許文献１に記載された技術では、ソフトウェアを実行するコンピュータと同一のコンピュータ内に監視用の専用ソフトウェアを常駐させ、定期的あるいは画面更新タイミング毎に、コンピュータのモニタ画面に表示されている内容を順次保存していき、不具合発生の際には、保存した画面データを検索する。これにより、不具合発生のきっかけとなった操作手順の特定を手助けし、ソフトウェア開発の支援を行おうとしている。
【０００５】
また、特許文献２に記載された技術では、コンピュータから出力された映像データをビデオ装置に録画し、不具合発生の際には、録画した映像を確認することにより、不具合発生のきっかけとなった操作手順の特定を手助けしようとしている。
【特許文献１】特開平９−４４３７９号公報
【特許文献２】特許第２６３０２３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、ソフトウェアの不具合の中には、微妙な処理タイミングや、ＣＰＵ・メモリ・バス等のハードウェアの負荷状況に依存して発生するものがある。そのため、例えば監視用ソフトウェアが常駐している状態では、不具合が発生しないが、ソフトウェアの出荷後、監視用ソフトウェアが動作していない環境下では、不具合が発生する可能性がある。
【０００７】
また、ソフトウェアの不具合を出荷前までに完全には解消できない場合が多く、出荷後にユーザから不具合報告を受けることがある。その場合、ユーザの証言を頼りに、不具合発生の原因となった操作手順を探り、ソフトウェアの問題箇所を特定し修正することになるが、ユーザの記憶は曖昧であることが多いため、不具合発生のきっかけとなった操作手順を特定することが難しく、解析に多くの時間を必要としてしまう。
【０００８】
上記の対策として、ソフトウェアの検査工程時と同様に、監視用ソフトウェアをコンピュータに常駐させたまま出荷する方法もあるが、出荷先の状況によっては、ＣＰＵの負荷や、メモリ・保存装置等の容量制限により、その方法を採用できない場合がある。また、ソフトウェアの不具合により、ＯＳがハングアップした際には、不具合に関連した情報を収集することが不可能である。
【０００９】
一方、コンピュータから出力された画像をビデオ装置に録画する方法に関しては、不具合発生の有無に関わらず映像データが記録されるため、実際に不具合が発生した場合には、記録された膨大な映像データの中から不具合発生箇所を探す必要があり、運用が困難である。したがって、この方法では、不具合に関連した情報の収集が効率的に行われていない。
【００１０】
本発明は、上述した問題点に鑑みてなされたものであって、ソフトウェアを実行する装置の環境に依存せずに、ソフトウェアの開発に有用な情報を効率的に収集することができるソフトウェア開発支援装置およびソフトウェア開発支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明は、上記の課題を解決するためになされたもので、グラフィカルユーザインタフェース機能を有するソフトウェアを実行する装置から出力された映像信号を入力する入力手段と、前記映像信号を画像処理し、予め設定された設定情報に含まれる情報を前記映像信号から検出する画像処理手段と、前記設定情報に含まれる情報が検出された前記映像信号を記憶する記憶手段とを備えたことを特徴とするソフトウェア開発支援装置である。
【００１２】
また、本発明のソフトウェア開発支援装置において、グラフィカルユーザインタフェース機能を有するソフトウェアを実行する装置から出力された映像信号を入力するステップと、前記映像信号を画像処理し、予め設定された設定情報に含まれる情報を前記映像信号から検出するステップと、前記設定情報に含まれる情報が検出された前記映像信号を記憶するステップとを備えたことを特徴とするソフトウェア開発支援方法。
【発明の効果】
【００１３】
本発明によれば、ソフトウェアを実行する装置から独立したソフトウェア開発支援装置において、設定情報に含まれる情報が検出された映像信号を記憶手段に記憶させるようにしたので、ソフトウェアを実行する装置の環境に依存せずに、ソフトウェアの開発に有用な情報を効率的に収集することができるという効果が得られる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照し、本発明の実施形態を説明する。図１は、本発明の一実施形態によるソフトウェア開発支援装置の接続関係を示している。本実施形態によるソフトウェア開発支援装置１は、ＧＵＩ機能を有するソフトウェアを実行するコンピュータ２と、映像を表示するモニタ３との間に挿入される。ソフトウェア開発支援装置１にはコンピュータ２から出力された映像信号が入力され、その信号がそのままソフトウェア開発支援装置１からモニタ３へ出力される。なお、本実施形態では、コンピュータ２とモニタ３の間にソフトウェア開発支援装置１を挿入しているが、コンピュータ２からの映像信号を分岐してソフトウェア開発支援装置１に入力するようにしてもよい。
【００１５】
コンピュータ２とモニタ３間の映像信号規格が同じであれば、どのようなＧＵＩ機能を有するソフトウェアがコンピュータ２で実行される場合であっても、また、どのようなＯＳがコンピュータ２で動作する場合であっても、ソフトウェア開発支援装置１を挿入するだけで、ソフトウェアの不具合に関する情報を収集することが可能となる。
【００１６】
図２はソフトウェア開発支援装置１の構成を示している。映像入力部１１は、コンピュータ２からの映像信号を入力する。映像出力部１２は映像信号をモニタ３へ出力する。映像入力部１１に入力された映像信号をそのまま出力するか、保存部１４に保存されている映像信号を出力するかを切り替えることが可能である。
【００１７】
演算部１３は、映像入力部１１に入力された映像信号を画像処理することによって、特定の情報が含まれた映像信号（以下、シーンと称する）を検出する他、各種の処理を行う。保存部１４は記録媒体を備えており、映像信号を保存する。演算部１３は、画像処理によって、ソフトウェアの不具合が発生したときのシーンを検出するため、検出対象の情報を含む設定情報を参照する。保存部１４はこの設定情報も保存している。
【００１８】
操作部１５は、ユーザが操作するキーボードやマウス等を備えており、操作結果に応じた信号を出力する。映像信号の出力の切替や、検出するシーンの登録、シーン検出時に行う処理の登録、保存されているデータのコピーや削除等を行う際に、操作部１５が操作される。この操作部１５から出力される信号に基づいて、演算部１３が各種の処理を行う。
【００１９】
なお、図１ではソフトウェア開発支援装置１にモニタ３が接続されているが、ソフトウェア開発支援装置１に表示部を設けてもよい。ソフトウェア開発支援装置１に表示部を設けない場合には、ソフトウェア開発支援装置１のサイズをコンパクトにすることができる。また、ソフトウェア開発支援装置１に表示部を設ける場合には、外部の表示装置を用いることなく、シーン設定等の各種の設定を行うことができると共に、保存された映像信号を再生して画像を確認することができる。
【００２０】
次に、本実施形態によるソフトウェア開発支援装置１の動作を説明する。図３はソフトウェア開発支援装置１の概略的な処理手順を示している。なお、ソフトウェア開発支援装置１の主要動作のみを説明し、設計変更が可能な詳細部分の説明を省略する。例えば、以下の説明では、ソフトウェア開発支援装置１からモニタ３への映像信号の出力に係る処理を省略する。
【００２１】
まず、ソフトウェア開発支援装置１の動作モードがシーン設定モードとなり、検出するシーンに係る様々な設定が行われる（ステップＳ３０１）。この際に、演算部１３は、操作部１５から出力された信号に基づいてユーザの操作を検出し、その操作の内容に基づいた設定情報を保存部１４に格納する。
【００２２】
検出するシーンに係る設定が終了したら、ソフトウェア開発支援装置１の動作モードがシーン検出モードとなり、映像入力部１１に映像信号が入力され、演算部１３へ出力される（ステップＳ３０２）。演算部１３は、入力された映像信号を画像処理し、ステップＳ３０１で設定された検出対象の情報を映像信号から検出する（すなわちシーンを検出する）動作を行う（ステップＳ３０３）。
【００２３】
本実施形態では、シーンを検出する方法として、特定のパターンの画像を入力映像から検出する方法と、特定の色を入力映像から検出する方法と、特定の文字を入力映像から検出する方法とが選択可能である。特定のパターンの画像を入力映像から検出する方法では、異常な操作を行ったときに表示される特定のパターンの画像を入力映像から検出することによって、不具合の発生を検出する。この方法では、演算部１３は、特定のパターンの画像を示す画像情報と映像情報のパターンマッチングにより、シーンを検出する。
【００２４】
また、特定の色を入力映像から検出する方法では、異常な操作を行ったときに画面のほぼ全体が特定の色で占められてしまう状態（コンピュータ２の再起動時の画面等）を検出することによって、不具合の発生を検出する。この方法では、演算部１３は、特定の色を示す色情報を映像信号の色情報と比較し、画面内の所定面積以上が特定の色で占められているか否かを判定することにより、シーンを検出する。
【００２５】
また、特定の文字を入力映像から検出する方法では、異常な操作を行ったときに画面に表示される特定の文字（「システム管理者」、「連絡」、「致命」等）を検出することによって、不具合の発生を検出する。この方法では、演算部１３は、公知の画像処理による手法を用いて、特定の文字を示す文字情報を映像信号から検出することにより、シーンを検出する。検出する文字の設定単位は、語単位、文節単位、文単位等のいずれでもよい。演算部１３の処理能力が高い場合には、画面全体の映像に対して文字認識を行うことが可能となるため、文字が存在する場所を特定する必要はない。
【００２６】
上記のように、特定のパターンの画像だけでなく、特定の色や文字も検出可能とすることによって、シーンの種類が豊富となる。これによって、ソフトウェアの開発に有用な情報をより多く収集することができると共に、不具合発生の検出精度を高めることができる。
【００２７】
続いて、演算部１３は、ステップＳ３０３におけるシーンの検出結果に基づいて、シーンが検出されたか否かを判定する（ステップＳ３０４）。シーンが検出された場合、演算部１３は、入力された映像信号を保存部１４に保存する（ステップＳ３０５）。この後、処理は再度ステップＳ３０２に戻る。
【００２８】
また、シーンが検出されなかった場合、演算部１３は、シーンの検出動作を終了するか否かを判定する（ステップＳ３０６）。この判定は、例えばユーザによる終了指示の入力の有無を検出すること等に基づいて行われる。シーンの検出動作を終了する場合、一連の動作が終了する。また、シーンの検出動作を継続する場合、処理は再度ステップＳ３０２に戻る。
【００２９】
映像信号の保存は、より具体的には以下のようにして行われる。本実施形態では、ソフトウェア開発支援装置１に時系列的に入力された静止画像、すなわち動画像を形成する映像信号は保存部１４のリング状の領域（リングバッファ）に順次、一旦保存される。このリング状の領域がデータで一杯になった場合には、最も古いデータが消去され、そのデータが保存されていた領域に新たなデータが保存される。
【００３０】
特定のシーンが検出された場合には、予め設定された指定期間分の映像信号に対応したデータがリング状の領域から切り取られ、保存部１４の別領域に保存される。なお、特定のシーンが検出された場合にリング状の領域への保存を開始し、さらに別の特定のシーンが検出された場合に、予め設定された指定期間分の映像信号に対応したデータをリング状の領域から切り取り、保存部１４の別領域に保存するようにしてもよい。
【００３１】
次に、検出するシーンの登録（設定）方法を説明する。図４は、シーンの登録時にモニタ３に表示される画像の例を示している。図４は、シーンを検出する方法として、特定のパターンの画像を入力映像から検出する方法と、特定の色を入力映像から検出する方法とが用意されている場合の画像を示している。入力欄４０１は、シーン識別用の登録名称を入力する欄である。
【００３２】
シーンを検出する方法の選択は、チェックボックス４０２，４０３のチェックにより行われる。特定のパターンの画像を入力映像から検出する方法を選択する場合には、チェックボックス４０２をＯＮに設定する。パターン画像表示欄４０４には、この方法で検出する対象となるパターンの画像が表示される。特定の色を入力映像から検出する方法を選択する場合には、チェックボックス４０３をＯＮに設定する。色表示欄４０５には、この方法で検出する対象となる色が表示される。画像情報と色情報のいずれも、入力映像を使用して新規登録することが可能である。
【００３３】
シーンを検出した際の動作に係る設定は以下のようにして行われる。入力欄４０６は、開始遅延時間を入力する欄である。特定のシーンが検出された場合、その時点から開始遅延時間だけ遅れた後、保存部１４のリング状の領域への保存を開始する。入力欄４０７，４０８は、それぞれ前方時間および後方時間を入力する欄である。特定のシーンが検出された時点から前方時間だけ前の時点、および後方時間だけ後の時点の間にリング状の領域に保存された映像信号が切り取られて、別領域に保存される。また、チェックボックス４０９をＯＮに設定すると、入力欄４０７，４０８に入力された時間に基づいた所定期間分の映像信号の保存が終了した場合に、リング状の保存領域への映像信号の保存が停止される。
【００３４】
入力欄４１０は、所定期間分の映像信号を保存する場所（保存部１４の記録媒体内の領域）を入力する欄である。特定のシーンが検出された場合、入力欄４１０に入力された領域に映像信号が保存される。
【００３５】
上述した各種の情報は、追加ボタン４１１の操作により登録され、保存部１４に設定情報として保存される。入力欄３１に入力された登録名称によって、登録された情報の識別が可能であり、登録済みリスト４１２には登録名称が表示される。追加ボタン４１３を操作することによって、登録済みリスト４１２の中から情報を削除することが可能である。上記のような簡単な操作によりシーンを登録することが可能なため、出荷先の現場でも素早く情報収集を行うことが可能となる。
【００３６】
上述したように、本実施形態では、ソフトウェアを実行する装置から独立したソフトウェア開発支援装置を設け、予め設定した特定の画像等の情報が映像信号から検出された場合に、映像信号を保存することを特徴としている。ソフトウェアを実行する装置とソフトウェア開発支援装置が分離しているので、ソフトウェアを実行する装置に負担をかけることなく（すなわちソフトウェアを実行する装置の環境に依存せずに）、不具合発生のきっかけとなった操作手順や、表示された画像を記録することが可能である。
【００３７】
したがって、出荷前のソフトウェア開発段階では、出荷後のソフトウェアの使用状態に近い環境でソフトウェアの検査を行うことができる。また、出荷後も、ソフトウェアを実行する装置の処理性能を低下させることなく、情報を収集することができる。さらに、ソフトウェアを実行する装置やソフトウェア自体に特別な仕組みを用意する必要がない。
【００３８】
また、予め設定した特定の情報が映像信号から検出された場合に、映像信号が保存されるので、ソフトウェアの開発に有用な情報を効率的に収集することができる。
【００３９】
以上、図面を参照して本発明の実施形態について詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、カメラからの映像やマイクからの音声もソフトウェア開発支援装置に入力可能としてもよい。
【００４０】
モニタとユーザの両方が撮像できる位置にカメラを設置し、そのカメラで撮像した画像をに保存することにより、不具合発生のきっかけとなった操作を行った人物の特定やその操作手順の特定が可能となり、ユーザからの聞き取り調査がより容易になる。また、マイクからの音声を信号処理してユーザの苛立ち等を検出することによって、不具合発生の前兆や、明らかな不具合ではないが調子が悪いといった様子を捉えることが可能となる。
【図面の簡単な説明】
【００４１】
【図１】本発明の一実施形態によるソフトウェア開発支援装置の接続関係を示すブロック図である。
【図２】本発明の一実施形態によるソフトウェア開発支援装置の構成を示すブロック図である。
【図３】本発明の一実施形態によるソフトウェア開発支援装置の概略的な処理手順を示すフローチャートである。
【図４】本発明の一実施形態におけるシーンの設定時に表示される画像を示す参考図である。
【符号の説明】
【００４２】
１・・・ソフトウェア開発支援装置、２・・・コンピュータ、３・・・モニタ、１１・・・映像入力部（入力手段）、１２・・・映像出力部、１３・・・演算部（画像処理手段）、１４・・・保存部（記憶手段）、１５・・・操作部
【図１】
2008052538.tif 000003
【図２】
2008052538.tif 000004
【図３】
2008052538.tif 000005
【図４】
2008052538.tif 000006