(57)【特許請求の範囲】
【請求項１】
複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段と、
前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段と、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配手段で分けた操作群毎に、前記指標を用いて表す精通度を算出する算出手段と、
前記情報取得手段で取得した操作履歴情報及び識別符号情報と、前記算出手段で算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶手段と、
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段と、
前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段と、
前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段と、
を備え、
前記入力装置は、キーボードもしくはマウスである、
ことを特徴とする共同開発支援システム。
【請求項２】
前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段とを備え、
前記判定手段は、前記補正手段で作成した補正操作履歴をもとに類似性判定を行うことを特徴とする請求項１に記載の共同開発支援システム。
【請求項３】
複数の操作者の操作入力を受け付けるサーバが行う共同開発支援方法であって、
前記複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得ステップと、
前記情報取得ステップで取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配ステップと、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配ステップで分けた操作群毎に、前記指標を用いて表す精通度を算出する算出ステップと、
前記情報取得ステップで取得した操作履歴情報及び識別符号情報と、前記算出ステップで算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶ステップと、
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合し類似性判定を行う判定ステップと、
前記判定ステップで判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記操作履歴情報を操作した操作者の精通度より前記操作履歴データベースに格納された操作履歴情報の精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定ステップと、
前記操作履歴データベースから、前記選定ステップで選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した前記操作者へ提示する提示ステップと、
を備え、
前記入力装置は、キーボードもしくはマウスである、
ことを特徴とする共同開発支援方法。
【請求項４】
前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正ステップとを備え、
前記判定ステップは、前記補正ステップで作成した補正操作履歴をもとに類似性判定を行うことを特徴とする請求項３に記載の共同開発支援方法。
【請求項５】
コンピュータを、
複数の操作者による端末の入力装置の操作履歴と、前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段、
前記情報取得手段により取得された操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配手段により分けられた操作群毎、前記指標を用いて表す精通度を算出する算出手段、
前記情報取得手段により取得された操作履歴情報及び識別符号情報と、前記算出手段により算出された精通度と、を関連付けて操作履歴データベースへ格納する記憶手段、
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段、
前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段、
前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段、
として機能させるプログラムであって、
前記入力装置は、キーボードもしくはマウスである、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は共同開発支援システム、共同開発支援方法及びプログラムに関する。より詳しくは、複数人でソフトウェアを共同開発する共同開発支援システム、共同開発支援方法及びプログラムに関する。
【背景技術】
【０００２】
ソフトウェア開発においては、コンピュータプログラムを開発するために、開発を行う操作者がプログラミング技術を習得している必要がある。このプログラミング技術は、基本的には学習して習得できるものであるが、技術の精通度、例えばプログラミング言語やライブラリ関数の使用法などに関して差が生じる。複雑な開発や大きな開発では、共同開発や部分開発における場面で、操作者間の技術の精通度の差が生じる。このため、精通度の高い操作者が、精通度の低い操作者を支援することが重要となってくる。【０００３】
例えば、特許文献１には、無作為に発生して蓄積される膨大な量の操作履歴の中から、ユーザの意図に基づいて行なわれた一連の操作履歴群を少ない処理量で抽出することのできるドキュメント管理システムが記載されている。そのドキュメント管理システムは、蓄積された操作履歴を、予め定められた時間的な範囲内にあって時系列に並んだユーザ別の小さな履歴列に分割して記録する。【０００４】
特許文献２には、ユーザの操作履歴に基づいて、操作傾向を知るための所定の処理を行うことで、操作トラブルを起こしているユーザに対して的確なアドバイスを行うことが可能なデータ処理システムが記載されている。【０００５】
特許文献３には、ユーザの操作が監視され、誤操作であることが判定された場合に、適切な操作を推定して、操作を補助する方法を提供する操作補助方法が記載されている。【０００６】
特許文献４には、複数の参加者により文書等を共同で編集するシステムにおいて、関係参加者の特定にかかる手間を軽減するシステムを提供することが記載されている。その技術は、ユーザの操作履歴を分析し、所定の条件に基づいて操作履歴格納部に格納された履歴から、関係参加者を特定する。【０００７】
特許文献５には、ジョブのタイプに割り当てられる人物の個人パラメータを記憶しておき、ジョブ要求が到着したときに、適切であると確立された人に、処理要求を自動的に送る方法が記載されている。【０００８】
特許文献６には、通信ネットワークを介して技術サポートを提供するための方法が記載されており、例えば、製品またはサービスの購入者が、コンピュータプログラムを実行して、特定の製品において知識を有する人への知的ルーティング化支援要求を確立できる製品を提供することができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０００−１７２６９６号公報
【特許文献２】特開２００３−１７７８４７号公報
【特許文献３】特開２００３−３４５４８７号公報
【特許文献４】特開２００９−０８０７７８号公報
【特許文献５】特表２００５−５３６７９５号公報
【特許文献６】特表２００６−５１６０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上述した関連する技術の第１の問題点は、システムを利用するために、プロファイルを事前に作成しなければならないことである。また、操作者の精通度は経験により高くなり、操作者が習う側から教える側として対応できる項目が時間の経過と共に増えていくため、常にプロファイルを更新する必要が生じる。【００１１】
第２の問題点は、プログラミングにおける特定の関数などの細かい領域の精通度は、プロファイルに記述できないことである。ここでのプログラミングとは、主にプログラムを書く作業の、コーディング作業を指す。人によりプロファイルに記載すべき項目の判断が異なることや、項目を細分化した場合に記載量が多くなるだけでなく、時間がかかりすぎる等の不具合が生じるからである。項目の細分化とは例えば、大見出し、中見出し、小見出し、と、徐々に詳細な内容に分けていくことをいう。【００１２】
本発明は、上述の事情に鑑みてなされたものであり、操作者の精通度の変化に対応できるデータベースを構築する共同開発支援システム、共同開発支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の観点に係る共同開発支援システムは、
複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段と、
前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段と、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配手段で分けた操作群毎に、前記指標を用いて表す精通度を算出する算出手段と、
前記情報取得手段で取得した操作履歴情報及び識別符号情報と、前記算出手段で算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶手段と、
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段と、
前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段と、
前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段と、
を備え、
前記入力装置は、キーボードもしくはマウスである、
ことを特徴とする。
【００１４】
本発明の第２の観点に係る共同開発支援方法は、
複数の操作者の操作入力を受け付けるサーバが行う共同開発支援方法であって、
前記複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得ステップと、
前記情報取得ステップで取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配ステップと、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配ステップで分けた操作群毎に、前記指標を用いて表す精通度を算出する算出ステップと、
前記情報取得ステップで取得した操作履歴情報及び識別符号情報と、前記算出ステップで算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶ステップと、
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合し類似性判定を行う判定ステップと、
前記判定ステップで判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記操作履歴情報を操作した操作者の精通度より前記操作履歴データベースに格納された操作履歴情報の精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定ステップと、
前記操作履歴データベースから、前記選定ステップで選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した前記操作者へ提示する提示ステップと、
を備え、
前記入力装置は、キーボードもしくはマウスである、
ことを特徴とする。
【００１５】
本発明の第３の観点に係るプログラムは、
コンピュータを、
複数の操作者による端末の入力装置の操作履歴と、前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段、
前記情報取得手段により取得された操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配手段により分けられた操作群毎、前記指標を用いて表す精通度を算出する算出手段、
前記情報取得手段により取得された操作履歴情報及び識別符号情報と、前記算出手段により算出された精通度と、を関連付けて操作履歴データベースへ格納する記憶手段、
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段、
前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段、
前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段、
として機能させるプログラムであって、
前記入力装置は、キーボードもしくはマウスである、
ことを特徴とする。
【発明の効果】
【００１６】
本発明によれば、操作者の精通度の変化に対応できるデータベースを構築できる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施形態１に係る共同開発支援システムの構成例を示すブロック図である。
【図２】操作履歴情報の例を示す図である。
【図３】実施形態１に係る共同開発支援システムの、情報取得動作の一例を示すフローチャートである。
【図４】実施形態１に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。
【図５】本発明の実施形態２に係る共同開発支援システムの構成例を示すブロック図である。
【図６】操作履歴情報の例を示す図である。
【図７】文字列長さと対象語の例を示す図である。
【図８】実施形態２に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。
【図９】実施形態２に係る共同開発支援システムの、情報提示動作の一例を示すフローチャートである。
【図１０】本発明の実施形態３に係る共同開発支援システムの構成例を示すブロック図である。
【図１１】操作履歴情報の例を示す図である。
【図１２】実施形態３に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。
【図１３】本発明の実施形態４に係る共同開発支援システムの構成例を示すブロック図である。
【図１４】実施形態４に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。
【図１５】共同開発支援システムのハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１８】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付す。
【００１９】
本発明で精通度とは、入力装置の操作の仕方などの対象を詳しく知っている度合いをいい、精通度の度合いが高いほど、その対象の分野に詳しいと推定する。例えば、何かの処理を行うソフトウェアを開発する際に、精通度の指標となる操作の速さ、修正操作の数、無効な操作の数などを求めておく。操作が速いほど、修正操作が少ないほど、無効な操作が少ないほど、精通度は高くなり、その対象の処理を行うソフトウェア開発に詳しいと推定する。
【００２０】
（実施形態１）
本発明の実施形態１に係る共同開発支援システム１００は、図１に示すように、サーバ１と、ネットワークＮを介して接続する複数の端末２から構成される。サーバ１は、情報取得部１１、格納部（記録部）１２、分配部１３、算出部１４、通信部１７および操作履歴データベース１２１を備え、通信部１７はネットワークＮと接続する。端末２は、入力装置（本実施形態ではキーボード）を備える情報処理装置である。また、端末２は、図示せぬ通信装置を介してネットワークＮと接続する。
【００２１】
サーバ１の情報取得部１１は、ネットワークＮと接続した通信部１７を介して、端末２のキーボードから操作者によって入力された操作の履歴を含む操作履歴情報１１２と、その端末２を識別する識別符号情報１１１とを取得する。情報を取得する方法は、逐次取得する方法と、所定の量の操作履歴が蓄積された時点で、蓄積された分の操作履歴をまとめて取得する方法とがある。例えば、操作履歴の最初の確認をした時から２０秒経過毎に、直前の２０秒分の操作履歴をまとめて取得する。所定の量は、時間だけでなく、キーボードを打つ数などの操作された数や、履歴情報量で設定することができる。
【００２２】
格納部１２は、情報取得部１１で取得した識別符号情報１１１と操作履歴情報１１２とを対応させて、操作履歴データとして操作履歴データベース（以下、操作履歴ＤＢと表記する）１２１に格納（記録）する。また、格納部１２は、後述する算出部１４で算出する精通度の情報についても、操作履歴データと合わせて操作履歴ＤＢ１２１に格納（記録）する。
【００２３】
分配部１３は、操作履歴を連続する操作の集合である操作群へ分ける。例えば、あるプログラムを作成する際に、“ＥＮＤ”の次の行から“ＥＮＤ”までを１つの集合としたり、ファイルを開いてから異なるファイルを開くまでを１つの集合としたり、予め分配する量が決められていてもよい。
【００２４】
算出部１４は、端末２のキーボードが操作された速度、操作を修正する動作を表す修正操作、または入力を伴わないポインタ移動などの操作を表す無効な操作を含む指標を用いて表す精通度を算出する。例えば、端末２のキーボードが操作された速度とは、平均タイピング時間などを指す。また、入力を伴わないポインタ移動の操作とは、画面をスクロールする際にカーソルキーを操作した回数、マウス操作でカーソルを移動することなどをいう。精通度の算出方法は、精通度を求める指標などに合わせて所定の方法に設定する。
【００２５】
ここで、操作履歴情報１１２の例を図２に示す。図２の操作履歴情報１１２は、操作者がキーボードで“ｈｅｌｌｏｗｏｒｌｄ”と入力したときの操作履歴情報である。操作者が操作する端末２のキーボードのキー記号とキーが押された時間について、情報を取得した順に降順で記載している。“ｈｅｌｌｏｗｏｒｌｄ”が操作履歴である。表中のキー記号とは、押されたキーボードのキーの記号をいい、時間とは、直前のキーが押された時から次のキーが押されるまでにかかった時間をいう。入力にかかった時間が、５文字目までは全て０．４秒以下であるのに対して、６文字目以降は全て０．８秒以上かかっていることが分かる。
【００２６】
以下に、具体的にキーボード入力作業でプログラミングを行う場合の例を用いて本実施形態の動作を説明する。
【００２７】
共同開発支援システム１００は、ネットワークＮを介して、通信部１７より端末２の操作が行われたことを受信し、サーバ１を作動する。サーバ１の情報取得部１１は、端末２の操作が行われたことを最初に受信した時間をゼロ時間とし、所定の時間が経過する毎に、通信部１７で受信して蓄積しておいた直前の操作履歴情報１１２をまとめて取得する。また、通信部１７は、端末２の操作が行われたことを受信する際に、その端末２の識別符号情報１１１を合わせて受信しておき、情報取得部１１は識別符号情報１１１の情報を取得する。
【００２８】
情報取得部１１は、取得した識別符号情報１１１と操作履歴情報１１２とを格納部１２へ送信する。格納部１２は、情報取得部１１から受信した識別符号情報１１１と操作履歴情報１１２とを対応させて操作履歴データとして、操作履歴ＤＢ１２１の操作履歴データの生成、もしくは更新を行う。分配部１３は、操作履歴情報１１２を、連続する操作の集合である操作群へ分ける。算出部１４は、操作履歴情報１１２の操作群毎に、平均タイピング時間や修正操作を行うキーを押した回数などをもとに、所定の方法で精通度を算出する。このとき格納部１２は、精通度についても、操作履歴データと関連づけて操作履歴ＤＢ１２１に記憶しておく。
【００２９】
図３及び図４に示すフローチャートを参照して、本実施形態に係る共同開発支援システムの動作の一例について説明する。
【００３０】
図３の情報取得動作では、共同開発支援システム１００を利用する操作者が、端末２の操作を行う。共同開発支援システム１００の通信部１７は、ネットワークＮを介して、端末２が操作された履歴である操作履歴情報１１２と、その端末２の識別符号情報１１１とを受信する（ステップＳ１１）。情報取得部１１は、通信部１７が受信したこれらの情報を取得する（ステップＳ１２）。格納部１２は、情報取得部１１が取得した識別符号情報１１１と操作履歴情報１１２とを対応させて、操作履歴データとして操作履歴ＤＢ１２１へ格納する（ステップＳ１３）。共同開発支援システム１００は、通信部１７で次に受信する情報があれば（ステップＳ１４；ＹＥＳ）、ステップＳ１１に戻って、情報の受信を行う。次に受信する情報がなければ（ステップＳ１４；ＮＯ）、情報取得動作を終了する。
【００３１】
図４の共同開発支援動作１では、まず、図３の情報取得動作を行って、識別符号情報１１１と操作履歴情報１１２の情報を取得する（ステップＳ２１）。分配部１３は、操作履歴情報１１２を連続する操作の集合である操作群へ分ける（ステップＳ２２）。算出部１４は、平均タイピング時間や修正操作を行うキーを押した回数などに基づいて、操作履歴情報１１２の操作群毎に所定の方法で精通度を算出し記憶する（ステップＳ２３）。そして共同開発支援動作１を終える。
【００３２】
本実施形態によれば、共同開発支援システム１００は、共同開発支援システム１００を利用する操作者の操作履歴を記憶してデータの更新を行うので、操作者の精通度の変化に合わせて操作履歴のデータベースを構築することができる。その際に、操作者の精通度を、操作履歴と合わせてデータベースに記憶・保存する。そのため、共同開発支援システム１００を用いることにより、操作者と操作履歴情報とその操作に関する精通度の情報とを得ることができる。その情報を参照することで、的確な支援を行い得る人物の選定が容易になる。また、操作者がデータベースの作成をする必要がないので手間がかからないだけでなく、操作履歴に関する情報を網羅しているので記録漏れなどのおそれがない。
【００３３】
本実施形態では、各端末２を使用する操作者が特定されている場合で、端末２に与えられた識別符号情報１１１より対応する操作者を抽出可能である。端末２を共通で使用する場合は、操作者が端末２を利用する際に、操作者に個別に与えられたＩＤなどの識別符号を入力して認識することで操作者の抽出をすることができる。また、本実施形態では、キーボード入力を例に説明しているが、マウスのクリック数やマウス位置と対応するコマンド情報の抽出、タッチペンなどによる入力など任意に設定可能である。
【００３４】
（実施形態２）
本発明の実施形態２に係る共同開発支援システムについて、図５を参照して説明する。本実施形態の共同開発支援システム１００は、操作者に対して、操作者と類似する操作を行った精通度の高い者を支援者の候補として提示する。また、本実施形態に係る共同開発支援システム１００は、実施形態１の構成に加えて、選定部１５及び情報提示部１６を備える。また、精通度の算出を行う算出部１４に速度測定部１４１及び入力判断部１４２を備える。基本的な構成は実施形態１と同じである。
【００３５】
速度測定部１４１は、分配部１３を介して格納部１２から操作履歴情報１１２を受信する。また、速度測定部１４１は、キーボードのキーが押された時刻の情報から、キーを打つまでにかかる時間やキーを打つ速度を測定する。キーを打つ速度を平均タイピング速度とする。平均タイピング速度は、操作者のものと操作者全員のものがある。平均タイピング速度の比較においては、操作者全員の平均速度と比較したり、操作者の通常の平均速度と今回の操作の平均速度と比較したりと、比較方法は任意に設定できる。
【００３６】
入力判断部１４２は、分配部１３を介して格納部１２から操作履歴情報１１２を受信する。入力判断部１４２は、あるキー記号を打った操作が修正操作や無効な操作であるかどうかの判断を操作履歴情報１１２に基づいて行う。前述したように、修正操作とは操作を修正する動作をいい、無効な操作とは入力を伴わないポインタ移動などをいう。具体的には、キー記号の中の文字列ではない記号の中で一字戻る動作である“ＢＳ”や、取消動作である“Ｅｓｃ”の履歴に対してその操作は修正操作であると判断する。また、文字入力を伴わないカーソルを動かすキー操作又はマウス操作や、選択したコマンドを途中でキャンセルした場合など、文字列入力でも修正操作でもない操作を無効な操作であると判断する。このとき、修正操作や無効な操作の判断基準となるキー記号は任意に選択できる。また、キー操作だけでなく、マウスのクリック操作や、印刷や上書き保存などの作業についての操作を無効な操作に含めてもよい。
【００３７】
算出部１４は、速度測定部１４１で測定したキーを打つ速度や平均タイピング時間、入力判断部１４２で修正操作や無効な操作と判断された回数などに基づいて、操作者の精通度を算出する。例えば、操作者全員の平均タイピング速度と操作者のタイピング速度を比較した結果と、無効な操作の回数を用いる。その他、同一操作者の以前の履歴にあるタイピング速度と直近のタイピング速度を比較したり、修正操作の割合の変化を求めたりするなど、精通度の算出方法は任意に設定可能である。
【００３８】
選定部１５は、操作履歴ＤＢ１２１から取得した操作履歴情報１１２と所定の条件に適合する操作履歴データとを選定する。所定の条件は任意に設定できる。選定部１５は、例えば、操作履歴ＤＢ１２１にある操作履歴情報１１２と操作履歴が所定数以上重複しており、類似と判断された操作履歴データであって、かつ、精通度の値が大きい操作履歴データという条件でプログラム設定しておいてもよい。例えば類似の判断に関しては、入力した文字の記録から、重複する割合が所定の値以上で類似と判断するなどの条件を予め設定しておく。
【００３９】
図６は、操作履歴情報１１２の例を示す図である。“ＢＳ”はカーソルの左側の文字削除を行うバックスペースキーを押したことを表し、“ＥＮ”は実行・確定・改行を行うエンターキーを押したことを表す。また、時間とは、実施形態１と同様に、直前のキーが押された時から当キーが押されるまでにかかった時間である。時間は、当キーが押された時刻の情報を取得してもよい。
【００４０】
図７は、文字列長さと対象語の例を示す図である。“ｃｏｍｐｕｔｅｒ”を入力する場合を例に挙げる。タイピング文字とは、キーを入力した順番で表されるキー記号の集合を指す。予測ワードとは、タイピング文字に対して入力が予測される単語を指す。対象語数とは、入力が予測される単語の数を指す。文字列長さである文字の数が増えるにつれて、対象語数は少なくなる。ここでは単語の例を挙げているが、文章などであってもかまわない。
【００４１】
例えば、操作者が入力しようとしている文字が“ｃｏｍｐｕｔｅｒ”の場合に、最初の文字から５文字分の長さが一致するデータを選定するという条件であれば、選定部１５は１８語の予測ワード（すなわちデータ）を選定する。また、６文字分の長さが一致するデータを選定するという条件であれば、選定部１５は１語の予測ワードである“ｃｏｍｐｕｔｅｒ”を選定する。さらに、操作履歴データから、そのワードを入力した履歴を有する操作者を識別符号情報に基づいて抽出する。その際に、操作者の精通度と抽出した操作者の精通度との比較を行い、より精通度が高い操作者のみを選定することができる。
【００４２】
情報提示部１６は、選定部１５で選定した操作履歴データをもとに、識別符号情報１１１を含む提示できる形のデータにして、通信部１７を介して端末２に送信する。例えば、共同開発支援システム１００を利用する操作者に対して、抽出した識別符号情報１１１の識別符号で表される操作者の名前を画面に提示する。合わせて算出部１４で算出した精通度などを表示してもよい。
【００４３】
以下に、本実施形態の共同開発支援システム１００が精通度を算出する動作及び情報を提示する動作について説明する。
【００４４】
まず、算出部１４の速度測定部１４１が動作する場合について説明する。算出部１４は、分配部１３より操作群に関する情報を受信し、操作履歴情報１１２の操作群毎に精通度の算出を行う。速度測定部１４１は、操作履歴ＤＢ１２１の操作履歴データから操作群に含まれる操作と、その操作が行われた時刻を抽出する。そして、精通度を算出する条件に合わせて、時刻をタイピングにかかった時間などへ必要な形に変換しておく。
【００４５】
算出部１４は、速度測定部１４１から情報を受け、所定の条件に基づいて精通度を算出する。例えば、図２の“ｈｅｌｌｏｗｏｒｌｄ”と入力したときの場合について説明する。本実施形態では、精通度は、全操作回数に対する、基準時間内にタイピングした回数の割合で求めると設定する。基準となるタイピング時間は０．４秒とする。まず、算出部１４は、それぞれの操作に対して、タイピング時間が０．４秒以内であるかを判断し、そして全操作回数、時間内にタイピングした回数を求め割合を算出する。全操作回数は１０回であり、時間内にタイピングした回数は４回なので、精通度は４０％となる。
【００４６】
次に、算出部１４の入力判断部１４２が動作する場合について説明する。算出部１４は、分配部１３より操作群に関する情報を受信し、操作履歴情報１１２の操作群毎に精通度の算出を行う。入力判断部１４２は、操作履歴ＤＢ１２１の操作履歴データから、操作群に含まれる操作を抽出する。そして、精通度を算出する条件に合わせて、キーボードが押された履歴にあるキー記号が、修正操作や無効な操作でないかを判断する。算出部１４は、入力判断部１４２の情報をもとに、精通度を算出する。
【００４７】
図６の例のように、“ａ”、“ｂ”、“ｄ”、“ＢＳ”、“ｅ”、“ＥＮ”の順にキーボードのキーが押された操作履歴を受け、予めプログラムされた条件に従い、入力判断部１４２は、修正操作であるか判断を行う。本実施形態では修正操作の対象条件は、“ＢＳ”と“Ｅｓｃ”の操作履歴なので、図６では、“ＢＳ”が該当する。入力判断部１４２は、修正操作有りという情報を算出部１４へ送る。
【００４８】
算出部１４は、所定の条件に基づいて、精通度を算出する。例えば、精通度は、全操作回数に対する、修正操作ではない回数の割合で求めると予め設定する。また、無効な操作は操作回数に含まないと設定とする。まず、算出部１４は、全操作回数、修正操作回数、無効な操作回数を求め、修正操作ではない回数を算出する。次に全操作回数に対する修正操作ではない回数の割合を算出する。無効な操作回数を全操作回数に含めないので、全回数は全操作回数６回、修正操作ではない回数は５回であるので、精通度は８３．３％となる。
【００４９】
選定部１５は、操作履歴情報１１２に対して、所定の条件と適合する操作履歴データを操作履歴ＤＢ１２１から選定する。そして操作履歴データから、識別符号情報を抽出し、情報提示部１６で、操作者へ提示するための提示データの形式に合わせてデータを作成し、通信部１７へ提示データを送る。通信部１７は、ネットワークＮを介して端末２へ情報の提示を行う。このとき提示する情報は、選定部１５で選定した操作履歴に対応する識別符号情報１１１や、そのときの操作履歴情報１１２、また、その識別符号情報１１１を有する操作者の名前や精通度などである。
【００５０】
図８及び図９は、実施形態２に係る共同開発支援システムの動作の一例を示すフローチャートである。図８は共同開発支援動作２を、図９は情報提示動作を示す。情報取得動作は、実施形態１に係る共同開発支援システムの動作と同じである。
【００５１】
図８の共同開発支援動作２のうち、ステップＳ２１の情報取得は、図３の情報取得動作を指す。共同開発支援システム１００は、識別符号情報１１１と操作履歴情報１１２の情報を取得すると（ステップＳ２１）、分配部１３は、操作履歴情報１１２を、連続する操作の集合である操作群へ分ける（ステップＳ２２）。
【００５２】
算出部１４は、精通度を算出する条件に、操作者のタイピング速度に関する条件が含まれているか確認する（ステップＳ３１）。タイピング速度に関する条件があれば（ステップＳ３１；ＹＥＳ）、速度測定部１４１は、タイピング速度の測定を行う（ステップＳ３２）。タイピング速度に関する条件がなければ（ステップＳ３１；ＮＯ）、そのままステップＳ３３に進む。算出部１４は、精通度を算出する所定の条件に、入力内容の正誤などの、入力判断に関する条件が含まれているか確認する（ステップＳ３３）。入力判断に関する条件があれば（ステップＳ３３；ＹＥＳ）、入力判断部１４２は、入力内容の判断を行う（ステップＳ３４）。算出部１４は、速度測定部１４１で測定した速度に関するデータや、入力判断部１４２で判断した入力判断に関するデータをもとにして、操作履歴情報１１２の操作群毎に所定の方法で精通度を算出し、格納部１２へ記憶する（ステップＳ２３）。入力判断に関する条件がなければ（ステップＳ３３；ＮＯ）、そのままステップＳ２３へ進む。そしてステップＳ２３の精通度の算出・記憶を終えると、情報の提示を行う（ステップＳ４０）。そして共同開発支援動作２を終える。
【００５３】
図９の情報提示動作は、図８の共同開発支援動作２のうち、ステップＳ４０の動作を示す。共同開発支援システム１００は、識別符号情報１１１、操作履歴情報１１２、および精通度の情報を抽出する（ステップＳ４１）。そして、選定部１５は、操作履歴ＤＢ１２１の中から、取得した情報に対応する操作群の操作履歴データを選定する（ステップＳ４２）。情報提示部１６は、識別符号情報１１１を含む提示データの作成を行い（ステップＳ４３）、通信部１７は、ネットワークＮを介して端末２に提示データを送信して提示する（ステップＳ４４）。そして情報提示動作を終える。
【００５４】
本実施形態によれば、共同開発支援システム１００を利用する操作者の操作履歴を記憶し、データの更新を行うので、操作者の精通度の変化に合わせて操作履歴のデータベースを構築することができる。また、その都度、操作に精通する人についての情報を提示でき、操作者は、その作業に精通した操作者を知ることができる。さらに、精通度を算出し比較することで、より、その作業に精通した人を選択することが可能となる。その結果、的確な支援が可能となる人物の選定が可能となり、操作者はより精通度の高い者から支援を得ることができる。
【００５５】
本実施形態では、選定部１５で行う操作履歴の類似性の判断、すなわち、共同開発支援システム１００のデータベースに記憶しているデータと操作者の操作履歴の照合は任意に設定可能である。照合に用いる操作履歴のデータ量を、操作履歴の開始から所定の時間、もしくは所定の文字数の条件で設定することで、操作者に適した支援を行うことができる。例えば、所定の文字数を多くすると、照合する操作履歴の数が少なくなり、対応する操作者の数も少なくなるが、より操作履歴が一致した操作者を抽出し選定することができる。また、所定の文字数を少なくすると、照合する操作履歴の数および操作者の数は多くなるが、共同開発支援システム１００を利用する操作者に、多くの操作者を提示することができ、操作者が多くの対象の中から好ましいと思われる支援者を選択することができる。支援者となる操作者を提示する時に、操作履歴情報や精通度を併せて開示してもよい。
【００５６】
（実施形態３）
本発明の実施形態３に係る共同開発支援システムについて、図１０を参照して説明する。本実施形態の共同開発支援システム１００は、操作者の操作履歴を分析し、操作ミスなどの可能性を排除した上で操作履歴の類似性の判断を行う。また、本実施形態に係る共同開発支援システム１００は、実施形態２の構成に加えて、補正部１８を備える。
【００５７】
補正部１８は、入力判断部１４２で修正操作と判断された操作に対して、その内容を反映させた履歴である補正履歴を作成する。また、無効な操作と判断された操作に対して、その操作を除外した履歴である補正履歴を作成する。また、英語の綴りの間違いや、大文字と小文字の区別など、予測される入力間違いについても反映するように設定してもよい。
【００５８】
図１１に示す操作履歴情報１１２の例は、操作者が操作する端末２がキーボードの場合の例であり、実施形態１と同様の操作履歴である。図１１（ａ）の入力（Ａ）は、入力された操作履歴のキー記号が文字列のときのみ記録する場合で、そのときの操作履歴を図１１（ｂ）で示す。図１１（ａ）の入力（Ｂ）は、入力された操作履歴のキー記号の機能キーを反映して記録する場合で、そのときの操作履歴を図１１（ｃ）で示す。“ＢＳ”はカーソルの左側の文字削除を行うバックスペースキーであるので、文字“ｄ”は間違えて入力していると考えられる。実際に操作した文字列の羅列は図１１（ｂ）であるが、入力しようとしていた文字列は図１１（ｃ）となる。
【００５９】
図１２に示すフローチャートを参照しながら、本実施形態に係る共同開発支援システムの共同開発支援動作の一例を説明する。情報取得動作については実施形態１で示した図３の情報取得動作と同じであり、情報提示動作については実施形態２で示した図９の情報提示動作と同じである。
【００６０】
ステップＳ２１の情報取得は、図３の実施形態１で示した情報取得動作を指す。情報取得部１１が、識別符号情報１１１と操作履歴情報１１２の情報を取得し（ステップＳ２１）、分配部１３が、操作履歴情報１１２を連続する操作の集合である操作群へ分ける（ステップＳ２２）。
【００６１】
入力判断部１４２は、入力内容の判断を行う（ステップＳ５１）。ここでの判断は、操作履歴の修正操作や無効な操作の有無を判断する。操作履歴の修正操作や無効な操作があれば、補正の必要有りとして（ステップＳ５２；ＹＥＳ）、そのキー記号の機能に合わせて修正操作を反映させ、もしくは無効な操作を除外して操作履歴の補正を行い（ステップＳ５３）、ステップＳ２３へ進む。ステップＳ５３は、例えば、前述した図１１の例では、操作履歴に“ＢＳ”があると、“ＢＳ”の直前にある操作履歴“ｄ”を消去する。補正の必要がなければ（ステップＳ５２；ＮＯ）、そのままステップＳ２３へ進む。
【００６２】
算出部１４は、補正操作履歴情報をもとにして、操作履歴情報１１２の操作群毎に所定の方法で精通度を算出し、記憶する（ステップＳ２３）。そして情報の提示を行い（ステップＳ４０）、共同開発支援動作３を終える。
【００６３】
ステップＳ５３で補正し作成した補正操作履歴情報は、操作履歴ＤＢ１２１に記憶してもよい。また、ステップＳ４０の情報の提示の必要がなければ、そのままステップＳ２３で精通度を算出し記憶した後に、共同開発支援動作３を終えてもよい。
【００６４】
本実施形態によれば、共同開発支援システム１００が、入力された操作履歴の、入力ミスなどを判断した上で、類似する操作履歴の検索を行うので、開発支援の際に操作履歴の照合作業や、精通度の高い支援者の絞り込みなどを高い精度で行うことができる。その結果、より操作者に適した支援者を抽出し、開発支援することができる。
【００６５】
また、本実施形態では記載していないが、修正操作や無効な操作と判断された履歴を考慮し、その履歴を反映や除外した上で操作履歴の類似性を判定するだけでなく、所定のあいまいさを含めて操作履歴の類似性を判定してもよい。あいまいさとは、スペルミスを許容して一致判断することや、大文字と小文字の区別をしないことなどをいう。あいまいさを加味した上で、操作履歴情報と類似した、もしくは一致した操作履歴データベースの操作履歴データを選定することで、より操作者に適した開発支援を行うことができる。
【００６６】
（実施形態４）
図１３は、本発明の実施形態４に係る共同開発支援システムの構成例を示すブロック図である。本実施形態の共同開発支援システム１００は、操作者が行った操作の精通度をもとに、支援者を提示するか否かを判定する。本実施形態に係る共同開発支援システム１００は、実施形態２の構成に加えて、判定部１９を備える。
【００６７】
判定部１９は、算出部１４で算出した精通度が、所定の範囲にあるかを判定し、所定の範囲にあれば、支援が必要であると判定する。精通度が低いと判定された操作者に対して開発支援を行うだけでなく、精通度が高いとされた操作者に対して支援を行ってもよい。精通度が高いとされた場合に支援を行うときは、支援の際に提示する操作者の精通度が、支援される側の操作者の精通度よりも充分に高い場合に限定するなどの設定を行ってもよい。判定部１９で判定する際の、支援が必要であるかの基準や、その判定に用いる所定の範囲は、予め統計などにより用意されたデータをもとに共同開発支援システム１００へプログラムしておく。
【００６８】
図１４は、本実施形態に係る共同開発支援システムの、共同開発支援動作の一例を示すフローチャートである。情報取得動作については実施形態１で示した図３の情報取得動作と、情報提示動作については実施形態２で示した図９の情報提示動作と同じである。
【００６９】
ステップＳ２１の情報取得は、図３の情報取得動作を指す。情報取得部１１が、識別符号情報１１１と操作履歴情報１１２の情報を取得すると（ステップＳ２１）、分配部１３が、操作履歴情報１１２を、連続する操作の集合である操作群へ分ける（ステップＳ２２）。算出部１４は、操作履歴情報１１２の操作群毎に、平均タイピング時間や修正操作を行うキーを押した回数などをもとに、所定の方法で精通度を算出し記憶する（ステップＳ２３）。
【００７０】
そして判定部１９で、精通度について、設定された所定の値と、算出した値を比較して判定する（ステップＳ６１）。精通度が所定の範囲にあれば（ステップＳ６２；ＹＥＳ）、判定部１９は支援が必要であると判定し、情報提示（ステップＳ４０）へ進む。精通度が所定の範囲になければ（ステップＳ６２；ＮＯ）、判定部１９は支援が不要であると判定し、そのまま終了する。そして、共同開発支援動作４を終える。
【００７１】
本実施形態によれば、共同開発支援システム１００は、操作者の精通度を算出し、必要に応じて支援をすることができる。また、共同開発支援システム１００は、操作者の精通度を考慮し、より適した人を推薦することができる。さらに、開発支援の必要性の有無を判定し、必要な場合にのみ支援者の提示を行うことで、コンピュータなどの資源の無駄使いを極力抑えることができる。
【００７２】
図１５は、図１、５、１０または１３に示す共同開発支援システムのハードウェア構成の一例を示すブロック図である。共同開発支援システム１００は、図１５に示すように、制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６および送受信部３７を備える。主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６および送受信部３７はいずれも内部バス３０を介して制御部３１に接続されている。
【００７３】
制御部３１はＣＰＵ（Central Processing Unit）等から構成され、外部記憶部３３に記憶されている制御プログラム４０に従って、共同開発支援システム１００の情報取得部１１、格納部１２、分配部１３、算出部１４、選定部１５、情報提示部１６、通信部１７などの各処理を実行する。
【００７４】
主記憶部３２はＲＡＭ（Random-Access Memory）等から構成され、外部記憶部３３に記憶されている制御プログラム４０をロードし、制御部３１の作業領域として用いられる。
【００７５】
外部記憶部３３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Digital Versatile Disc Random-Access Memory）、ＤＶＤ−ＲＷ（Digital Versatile Disc ReWritable）等の不揮発性メモリから構成され、共同開発支援システム１００の処理を制御部３１に行わせるためのプログラムを予め記憶する。また、制御部３１の指示に従って、このプログラムが記憶するデータを制御部３１に供給し、制御部３１から供給されたデータを記憶する。
【００７６】
共同開発支援システム１００の格納部１２や操作履歴ＤＢ１２１は、外部記憶部３３に構成される。また、操作履歴ＤＢ１２１が外部記憶部３３に構成される場合もある。
【００７７】
操作部３４はキーボードおよびマウスなどのポインティングデバイス等と、キーボードおよびポインティングデバイス等を内部バス３０に接続するインターフェース装置から構成されている。操作部３４を介して、操作者の操作が入力され、制御部３１に供給される。
【００７８】
表示部３５は、ＣＲＴ（Cathode Ray Tube）またはＬＣＤ（Liquid Crystal Display）などから構成され、操作履歴情報などを表示する。
【００７９】
入出力部３６は、シリアルインタフェースまたはパラレルインタフェースから構成されている。入出力部３６は、端末２が附属する装置の場合は、それと接続する。
【００８０】
送受信部３７は、ネットワークＮに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインタフェースまたはＬＡＮ（Local Area Network）インターフェースから構成されている。送受信部３７は、ネットワークＮを介して、操作履歴などの情報を受信する。端末２が、共同開発支援システム１００とは別の端末装置の場合は、例えば、送受信部３７を介して、ネットワークＮを経由して、端末２に接続する。
【００８１】
図１、５、１０または１３に示す共同開発支援システム１００の情報取得部１１、格納部１２、分配部１３、算出部１４、選定部１５、情報提示部１６、通信部１７などの処理は、制御プログラム４０が、制御部３１、主記憶部３２、外部記憶部３３、操作部３４、表示部３５、入出力部３６および送受信部３７などを資源として用いて処理することによって実行する。
【００８２】
その他、前記のハードウェア構成やフローチャートは一例であり、任意に変更および修正が可能である。
【００８３】
情報取得部１１、格納部１２、分配部１３、算出部１４、選定部１５、情報提示部１６、通信部１７などから構成される共同開発支援処理を行う中心となる部分は、専用のシステムによらず、通常のコンピュータシステムを用いて実現可能である。たとえば、前記の動作を実行するためのコンピュータプログラムを、コンピュータが読み取り可能な記録媒体（フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）に格納して配布し、当該コンピュータプログラムをコンピュータにインストールすることにより、前記の処理を実行する共同開発支援システムを構成してもよい。また、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置に当該コンピュータプログラムを格納しておき、通常のコンピュータシステムがダウンロード等することで共同開発支援システムを構成してもよい。
【００８４】
また、共同開発支援システムを、ＯＳ（オペレーティングシステム）とアプリケーションプログラムの分担、またはＯＳとアプリケーションプログラムとの協働により実現する場合等には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【００８５】
また、搬送波にコンピュータプログラムを重畳し、通信ネットワークを介して配信することも可能である。たとえば、通信ネットワーク上の掲示板(BBS, Bulletin Board System)に前記コンピュータプログラムを掲示し、ネットワークを介して前記コンピュータプログラムを配信してもよい。そして、このコンピュータプログラムを起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、前記の処理を実行できるように構成してもよい。
【００８６】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００８７】
（付記１）
複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段と、
前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段と、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配手段で分けた操作群毎に、前記指標を用いて表す精通度を算出する算出手段と、
前記情報取得手段で取得した操作履歴情報及び識別符号情報と、前記算出手段で算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶手段と、
を備えることを特徴とする共同開発支援システム。
【００８８】
（付記２）
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合して類似性判定を行う判定手段と、
前記判定手段で判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記入力装置を操作した操作者の操作履歴情報に基づいて求められる精通度よりも、前記操作履歴データベースに格納された操作履歴情報に基づいて求められる精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定手段と、
前記操作履歴データベースから、前記選定手段で選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した操作者へ提示する提示手段と、
を備えることを特徴とする付記１に記載の共同開発支援システム。
【００８９】
（付記３）
前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段と、
を備えることを特徴とする付記１に記載の共同開発支援システム。
【００９０】
（付記４）
前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断手段と、
前記入力判断手段で判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正手段とを備え、
前記判定手段は、前記補正手段で作成した補正操作履歴をもとに類似性判定を行うことを特徴とする付記２に記載の共同開発支援システム。
【００９１】
（付記５）
複数の操作者の操作入力を受け付けるサーバが行う共同開発支援方法であって、
前記複数の操作者による端末の入力装置の操作履歴と前記入力装置の操作とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得ステップと、
前記情報取得手段が取得した操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配ステップと、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配ステップで分けた操作群毎に、前記指標を用いて表す精通度を算出する算出ステップと、
前記情報取得ステップで取得した操作履歴情報及び識別符号情報と、前記算出ステップで算出した精通度と、を関連付けて操作履歴データベースへ格納する記憶ステップと、
を備えることを特徴とする共同開発支援方法。
【００９２】
（付記６）
前記入力装置を操作した操作者の操作履歴情報と、前記操作履歴データベースに格納された操作履歴情報を所定の条件で照合し類似性判定を行う判定ステップと、
前記判定ステップで判定された類似性が所定の値であり、かつ、その判定が行われた操作履歴情報の操作群において、前記操作履歴情報を操作した操作者の精通度より前記操作履歴データベースに格納された操作履歴情報の精通度が高いときの、該操作履歴データベースに格納された操作履歴情報を選定する選定ステップと、
前記操作履歴データベースから、前記選定ステップで選定した操作履歴情報と関連付けて格納された操作者の識別符号情報を抽出し、該操作者の識別符号情報を前記入力装置を操作した前記操作者へ提示する提示ステップと、
を備えることを特徴とする付記５に記載の共同開発支援方法。
【００９３】
（付記７）
前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して補正操作履歴を作成する補正ステップと、
を備えることを特徴とする付記５に記載の共同開発支援方法。
【００９４】
（付記８）
前記操作履歴情報に基づいて修正操作または無効な操作を判断する入力判断ステップと、
前記入力判断ステップで判断された操作履歴情報の修正操作を反映して、または無効な操作を除外して、補正操作履歴を作成する補正ステップとを備え、
前記判定ステップは、前記補正ステップで作成した補正操作履歴をもとに類似性判定を行うことを特徴とする付記６に記載の共同開発支援方法。
【００９５】
（付記９）
コンピュータを、
複数の操作者による端末の入力装置の操作履歴と、前記入力装置の操作時間とを関連付けた操作履歴情報と、前記複数の操作者にそれぞれ関連付けられた識別符号情報と、を取得する情報取得手段、
前記情報取得手段により取得された操作履歴情報を所定の条件にしたがって連続する操作の集合である操作群に分ける分配手段、
前記入力装置が操作された速度、前記操作者の操作を修正する動作を表す修正操作、入力を伴わない操作を表す無効な操作を含む操作、のうち少なくとも１つを指標とし、前記操作履歴情報を前記分配手段により分けられた操作群毎、前記指標を用いて表す精通度を算出する算出手段、
前記情報取得手段により取得された操作履歴情報及び識別符号情報と、前記算出手段により算出された精通度と、を関連付けて操作履歴データベースへ格納する記憶手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００９６】
本発明は２００９年１１月５日に出願された日本国特許出願２００９−２５３７２６号に基づく。本明細書中に日本国特許出願２００９−２５３７２６号の明細書、特許請求の範囲、図面全体を参照として取り込むものとする。
【産業上の利用可能性】
【００９７】
本発明によれば、ソフトウェアの共同開発支援といった用途に適用できる。また、ソフトウェアに限定することなくネットワークを介した議論や合意形成支援といった用途にも適用可能である。
【符号の説明】
【００９８】
１  サーバ
２  端末
１１  情報取得部
１２  格納部
１３  分配部
１４  算出部
１５  選定部
１６  情報提示部
１７  通信部
１８  補正部
１９  判定部
１００  共同開発支援システム
１１１  識別符号情報
１１２  操作履歴情報
１２１  操作履歴データベース（操作履歴ＤＢ）
１４１  速度測定部
１４２  入力判断部
【図１】
0005637143.tif 000002
【図２】
0005637143.tif 000003
【図３】
0005637143.tif 000004
【図４】
0005637143.tif 000005
【図５】
0005637143.tif 000006
【図６】
0005637143.tif 000007
【図７】
0005637143.tif 000008
【図８】
0005637143.tif 000009
【図９】
0005637143.tif 000010
【図１０】
0005637143.tif 000011
【図１１】
0005637143.tif 000012
【図１２】
0005637143.tif 000013
【図１３】
0005637143.tif 000014
【図１４】
0005637143.tif 000015
【図１５】
0005637143.tif 000016