JP2005301922A - プログラミング回答提示方法およびプログラミング回答提示装置 - Google Patents

プログラミング回答提示方法およびプログラミング回答提示装置 Download PDF

Info

Publication number
JP2005301922A
JP2005301922A JP2004120926A JP2004120926A JP2005301922A JP 2005301922 A JP2005301922 A JP 2005301922A JP 2004120926 A JP2004120926 A JP 2004120926A JP 2004120926 A JP2004120926 A JP 2004120926A JP 2005301922 A JP2005301922 A JP 2005301922A
Authority
JP
Japan
Prior art keywords
answer
programming
terminal
questioner
answers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004120926A
Other languages
English (en)
Inventor
Kentaro Koga
憲太郎 古賀
Takeshi Fujimoto
武 藤本
Nobuaki Nakao
信明 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2004120926A priority Critical patent/JP2005301922A/ja
Publication of JP2005301922A publication Critical patent/JP2005301922A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させること。
【解決手段】プログラミング回答提示装置10は、審査依頼情報として質問に対する回答を該回答の内容に対して審査を行う審査者端末40に通知する審査依頼通知部18dと、審査者端末40から受け付けた回答に対する審査結果を当該質問者端末20に提示する評価結果提示部18gと、複数の回答の中から質問者端末20によって選択された回答の内容を提示する回答内容提示部18hとを備える。
【選択図】 図1

Description

本発明は、プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法およびプログラミング回答提示装置に関し、特に、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることができるプログラミング回答提示方法およびプログラミング回答提示装置に関する。
従来より、プログラマーは、プログラムを組む際に技術的に不明な点が生じた場合、質問しようとするプログラム言語に係るメーリングリストに加入し、かかる質問をメーリングリスト内の有志に行うことによって質問に対する回答を得て疑問点を解消していた。
そして、近年では、質問者に提示する回答を有償とすることで、回答者の回答に対する動機付けを向上させようという試みが行われており、プログラミングの質問に対する回答が入札(オークション)形式で行われるようになってきた。
例えば、特許文献1では、質問に対する回答を示す回答情報を送信する場合に、回答情報を必要に応じて有償とし、該回答情報の価格を回答情報を送信する回答者に決定させ、質問者が有償の回答を閲覧した場合には、決定された価格に基づく決済処理をおこなう問答方法が開示されている。
ところが、質問者が複数の回答者の中から希望の回答者を選択する逆入札方式を採用しようとすると、質問に対する回答という「情報」が取引対象となるため、かかる「情報」そのものを質問者に提示して回答者を選択させることができず、回答内容の評価を示す仕組みが必要となってくる。
そこで、特許文献2では、各回答者の有償情報ごとに、該有償情報に対するアクセス状況を管理し、このアクセス状況を参照して各有償情報の相対評価ポイントを算出し、該算出された相対評価ポイントをもとに各有償情報の相対評価を決定する有償情報提供システムが開示されている。
特開2003−242237号公報 特開2002−245363号公報
しかしながら、上記の従来技術(特許文献1および2)では、信頼性が高くかつ高品質な回答を質問者に選択させることができないという問題点があった。すなわち、上記の特許文献1は、回答者自身が回答の「価格」を主観的に決定するものであるため、質問者は、かかる「価格」から回答内容の評価を示唆するものを何ら得ることができず、回答内容が本当に正しいのか、また、複数の回答のうちどの回答が高品質であるのかを判断することができない。このため、上記の特許文献1では、信頼性が高くかつ高品質な回答を質問者に選択させることができなかった。
また、上記の特許文献2は、回答に対するアクセス状況にもとに回答の相対評価を決定するものであるため、自作自演などの不正行為が行われることによってアクセス数が操作された場合、特定の回答について評価が評価を呼ぶこととなり、回答の品質が低くても評価が高くなるという事態が発生する。このため、回答の信頼性および品質を判断する際の評価基準としてかかる相対評価を採用した場合、質問者は、回答の信頼性および品質を誤って判断してしまうこととなるため、上記の特許文献2では、信頼性が高くかつ高品質な回答を質問者に選択させることができなかった。
そこで、本発明は、上述した従来技術による課題(問題点)を解消するためになされたものであり、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることができるプログラミング回答提示方法およびプログラミング回答提示装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係るプログラミング回答提示方法は、プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知工程と、前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示工程と、前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、を含んだことを特徴とする。
また、本発明に係るプログラミング回答提示方法は、プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、前記回答のソースコードに対してリファクタリングを行うリファクタリング工程と、前記リファクタリング工程によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示工程と、前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、を含んだことを特徴とする。
また、本発明に係るプログラミング回答提示方法は、プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、前記質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは前記質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出する評価指標抽出工程と、前記評価指標抽出工程によって当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示する評価指標提示工程と、前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、を含んだことを特徴とする。
また、本発明に係るプログラミング回答提示装置は、プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知手段と、前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示手段と、前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、を備えたことを特徴とする。
また、本発明に係るプログラミング回答提示装置は、プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、前記回答のソースコードに対してリファクタリングを行うリファクタリング手段と、前記リファクタリング手段によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示手段と、前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、を備えたことを特徴とする。
本発明によれば、審査依頼情報として質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知し、審査者の端末から受け付けた回答に対する審査結果を当該質問者の端末に提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示することとしたので、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能なプログラミング回答提示方法が得られるという効果を奏する。
また、本発明によれば、回答のソースコードに対してリファクタリングを行い、リファクタリングが行われたソースコードの行数と、回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示することとしたので、回答者のスキルに基づく回答内容の評価基準を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能なプログラミング回答提示方法が得られるという効果を奏する。
また、本発明によれば、質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出し、当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示することとしたので、プログラミングの質問に対する回答内容の評価指標を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能なプログラミング回答提示方法が得られるという効果を奏する。
また、本発明によれば、審査依頼情報として質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知し、審査者の端末から受け付けた回答に対する審査結果を当該質問者の端末に提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示することとしたので、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能なプログラミング回答提示装置が得られるという効果を奏する。
また、本発明によれば、回答のソースコードに対してリファクタリングを行い、リファクタリングが行われたソースコードの行数と、回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示することとしたので、回答者のスキルに基づく回答内容の評価基準を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能なプログラミング回答提示装置が得られるという効果を奏する。
以下に図面を添付して、本発明に係るプログラミング回答提示装置(プログラミング回答提示方法)の好適な実施例を詳細に説明する。なお、以下では、本発明に係る概要および特徴を説明した後に、本実施例1に係るプログラミング回答提示装置(プログラミング回答提示方法)を説明し、その後、本実施例2に係るプログラミング回答提示プログラムを実行するコンピュータシステムを説明し、最後に、他の実施例として種々の変形例(実施例3)を説明することとする。
まず最初に、本発明に係るプログラミング回答提示装置の概要および特徴を説明する。図1は、本実施例1に係るプログラミング質問オークションシステムの構成を示すシステム構成図であり、図2は、本実施例1に係るプログラミング回答提示装置の構成を示すブロック図である。
このプログラミング質問オークションシステム1は、図1に示すように、プログラミング回答提示装置10を中心にして、質問者端末20と、回答者端末30−1〜30−3(以下、適宜これらを回答者端末30と言う。)と、審査者端末40−1〜40−2(以下、適宜これらを審査者端末40と言う。)とを公衆電話網やインターネットなどのネットワーク2を介して相互に通信可能に接続して構成される。なお、質問者端末20、回答者端末30および審査者端末40は、既知のパーソナルコンピュータ、ワークステーション、PHS端末、携帯端末、移動体通信端末またはPDAなどの情報処理装置である。
このシステムにおいて、プログラミング回答提示装置10は、質問者端末20から受け付けたプログラミングの質問の内容を回答依頼情報として複数の回答者端末30に通知し、このプログラミングの質問に対する回答を複数の回答者端末30から受け付け、該受け付けた複数の回答の中から質問者端末20によって選択された回答の内容を提示するものである。
ここで、かかるプログラミング回答提示装置10は、審査依頼情報として質問に対する回答を該回答の内容に対して審査を行う審査者端末40に通知し、審査者端末40から受け付けた回答に対する審査結果を当該質問者端末20に提示し、複数の回答の中から質問者端末20によって選択された回答の内容を提示する点に特徴があり、かかる一連の処理によって、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることができるようにしている。
これを具体的に説明すると、このプログラミング回答提示装置10は、審査依頼情報として質問に対する回答を該回答の内容に対して審査を行う審査者端末40に通知する。これを受けて、審査者端末40では、回答者によって回答された回答内容に対して審査が行われることとなる。このように、審査者に回答内容の審査を行わせることで、回答内容の信頼性および品質を評価させることができる。
そして、審査者から受け付けた回答に対する審査結果を当該質問者に提示することで、プログラミングの質問に対する回答の評価を提示し、複数の回答の中から質問者によって選択された回答の内容を提示することで、信頼性が高くかつ高品質な回答を質問者に選択させることができるようにしている。
したがって、上記した従来技術の例で言えば、回答に対するアクセス状況にもとに回答の相対評価を決定することで、質問者に回答の品質を誤認識させる相対評価を提示するのではなく、審査者端末から受け付けた回答に対する審査結果を当該質問者に提示し、複数の回答の中から質問者によって選択された回答の内容を提示することで、上記した特徴のように、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能になる。
また、本発明に係るプログラミング回答提示装置10は、上記した特徴とは並列して以下に示すような特徴を有する。このプログラミング回答提示装置10は、回答のソースコードに対してリファクタリングを行い、リファクタリングが行われたソースコードの行数と、回答者端末30から受け付けた回答のソースコードの行数とを当該質問者端末20に提示し、複数の回答の中から質問者端末20によって選択された回答の内容を提示する点に特徴があり、かかる一連の処理によって、回答者のスキルに基づく回答内容の評価基準を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることができるようにしている。
かかる「リファクタリング」とは、ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が容易になるように、内部構造を改善する処理を示し、本来的には、ソフトウェア設計の向上、ソフトウェア設計の劣化の防止、バグの早期発見並びにプログラミングの効率化を目的として行われる処理である。
ここで、このプログラミング回答提示装置10では、回答者のスキルに基づく回答内容の評価基準を提示するために、回答者によって回答された回答のソースコードに対してリファクタリングを行い、リファクタリングが行われたソースコードの行数と、回答者端末30から受け付けた元の回答のソースコードの行数とを当該質問者端末20に提示する。
すなわち、リファクタリングが行われたソースコードは、最適化されたコード列の行数になるため、回答者によって回答された元の回答のソースコードの行数と比較することにより、質問者は、回答者のスキルに基づく回答内容の評価を行うことができる(図10参照)。そして、かかる回答内容の評価基準をもとに、複数の回答の中から質問者によって選択された回答の内容を提示することで、信頼性が高くかつ高品質な回答を質問者に選択させることが可能になる。
また、本発明に係るプログラミング回答提示装置10は、質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出し、当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示する点に特徴があり、かかる一連の処理によって、プログラミングの質問に対する回答内容の評価指標を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることができるようにしている。
これを具体的に説明すると、このプログラミング回答提示装置10は、質問の内容がプログラムの処理(単一のソースコードで記述可能なもの)である場合に、ソースコードの中から使用されているライブラリ名、関数名を取り出す。例えば、「Java(商標登録)」の場合には、使用されているクラス名(例えば、「java.lang.StringBuffer」など)、クラスのメソッド名(例えば、「StringBuffer.append(String str)」)をキーワードとして抽出する。
すなわち、質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を当該回答の内容に係る評価指標として抽出し、質問者に提示することで、質問者が複数の回答から閲覧を希望する回答を選択する際の判断材料として、既存のライブラリが使用された「回答」であるか(図11参照)、或いは個人またはサードパーティ製のライブラリが使用された「回答」であるか(図12参照)を提示することができるようにしている。
より詳細には、質問者は、図11に示すクラス名「java.lang.StringBaffer」からA社版のJava(商標登録)環境で利用可能な関数であることを知ることができる。また、図12に示すクラス名「test.test01.StringBuffer」からB社版のJava(商標登録)環境で利用可能な関数であることを知ることができる。
このため、質問者の開発環境がA社版のJava(商標登録)環境である場合、質問者は、かかるキーワード(すなわち、図11および図12に示したクラス名)をもとに、図12に示す回答がB社版のJava(商標登録)環境でしか動かない関数を用いた回答であると判断することができ、回答内容を購読しても現在自分が抱える問題点の解決には活用できないと判断することができる。
また、このプログラミング回答提示装置10は、質問の内容がプログラムで実現する機能(複数のソースコードで記述可能なもの)である場合に、ソースコードの処理を順次解析し、処理の手順が分かる設計書(例えば、UML(Unified Modeling Language)を例に取れば、図13および図14に示すシーケンス図に相当する。)を生成する。
すなわち、質問者は、図13および図14に示すシーケンス図を参照することで、図14に示す回答者の回答内容が単純な処理で出来るもの(図13参照)を複雑に処理しているものであり、処理のレスポンスの劣化やバグの発生を招き易いプログラムであると判断することができる。
このように、質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を当該回答の内容に係る評価指標として抽出し、若しくは質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造(例えば、UMLのシーケンス図)を生成し、質問者に提示することで、質問者に回答内容を開示することなく、回答内容の評価指標を提示することができる。そして、回答内容の評価指標をもとに、複数の回答の中から質問者によって選択された回答の内容を提示することで、信頼性が高くかつ高品質な回答を質問者に選択させることが可能になる。
次に、本実施例1に係るプログラミング回答提示装置(プログラミング回答提示方法)について説明する。なお、ここでは、本実施例1に係るプログラミング回答提示装置の構成を説明した後に、このプログラミング回答提示装置の各種処理の手順を説明することとする。
(プログラミング回答提示装置の構成)
図2は、本実施例1に係るプログラミング回答提示装置の構成を示すブロック図である。このプログラミング回答提示装置10は、同図に示すように、当該プログラミング回答提示装置10とネットワーク2との間の通信の制御を行う通信制御IF部11と、回答スキルポイント管理テーブル12と、スキルポイント単金テーブル13と、回答者スキル・履歴管理テーブル14と、記憶部15と、制御部18とを備える。
このうち、回答スキルポイント管理テーブル12は、プログラミングの質問の回答に必要なスキルポイントを管理するテーブルであり、図3に示すように、質問のカテゴリごとに、質問の回答に必要なスキルポイントを対応付けて記憶している。例えば、「サーバアプリケーション」には、必要なスキルポイントとして「10」を、「クライアントアプリケーション」には、必要なスキルポイントとして「5」を対応付けて記憶している。なお、かかる「スキルポイント」とは、回答者の技術レベルを示す指標であり、プログラム言語などの所定のカテゴリごとに設定されるものである。
スキルポイント単金テーブル13は、回答者が回答を行う対価として登録することができる金額の上限を記憶するテーブルであり、図4に示すように、質問の各カテゴリにおけるスキルポイントごとに、上限単金を対応付けて記憶している。例えば、質問のプログラム言語が「Java(商標登録)」である場合には、「Java(商標登録)」のスキルポイント「0〜50」に、上限単金として「¥500」を、「Java(商標登録)」のスキルポイント「51〜100」に、上限単金として「¥750」を対応付けて記憶している。
回答者スキル・履歴管理テーブル14は、回答者のプログラミングの経験情報、回答者のスキルポイント、回答の評価ポイント(審査結果)および回答者の履歴を記憶するテーブルである。例えば、図5に示すように、回答者のプログラミングの経験情報として、各プログラム言語(例えば、「Java(商標登録)」、「VB」、「C#」、「VB.NET」「COBOL」および「C++」など)ごとに、経験年数を対応付けて記憶し、各プログラム言語ごとに、スキルポイントおよび平均評価ポイントを対応付けて記憶している。
記憶部15は、制御部18による各種処理に必要なデータおよびプログラムを格納する格納手段(記憶手段)であり、回答格納DB16と、評価結果DB17を備える。このうち、回答格納DB16は、回答者端末30から受信したプログラミングの質問に対する回答を記憶するデータベースであり、具体的には、回答者によって図7に示す回答内容入力画面200に入力された回答を記憶している。
また、評価結果DB17は、審査者端末40から受信した審査結果、並びにリファクタリング処理部18eおよび評価指標抽出部18fの処理結果を記憶するデータベースであり、具体的には、図10に示すように、審査者によって図8に示す審査結果入力画面300に入力された審査結果、リファクタリング処理部18eの処理結果および評価指標抽出部18fの処理結果(図11〜図14参照)を記憶している。
制御部18は、OS(Operating System)などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行する処理部であり、特に本発明に密接に関連するものとしては、回答スキルポイント算出部18aと、回答者検索部18bと、回答依頼通知部18cと、審査依頼通知部18dと、リファクタリング処理部18eと、評価指標抽出部18fと、評価結果提示部18gと、回答内容提示部18hとを備える。
回答スキルポイント算出部18aは、質問者端末20から受信した回答依頼情報をもとに、回答スキルポイント管理テーブル12を参照して質問の回答に必要なスキルポイント(レベル)を算出する処理部である。具体的には、質問者によって図6に示す質問内容入力画面100に入力された質問のカテゴリ(例えば、プログラム言語が「Java(商標登録)」である場合、環境「サーバアプリケーション」および要素技術「EJB」)をもとに、回答スキルポイント管理テーブル12を参照して質問の回答に必要なスキルポイント(すなわち、サーバアプリケーション「10」+EJB「15」=「25」)を算出する。
なお、図6に示す質問内容入力画面100における「要素技術」、「使用製品」および「質問内容」は、プログラム言語により変動するものであり、随時変動するカテゴリについて選択入力されることとなる。
回答者検索部18bは、回答スキルポイント算出部18aによって算出されたスキルポイント以上の回答者を回答者スキル・履歴管理テーブル14から検索する処理部である。このように、質問の回答に必要なスキルポイントを有する回答者を選別することで、質問内容に応じて質問の回答に必要なスキルを有する回答者のみが回答を行うこととなり、回答の信頼性を担保することができる。
回答依頼通知部18cは、回答者検索部18bによって検索された回答者端末30に回答依頼情報を送信する処理部である。具体的には、質問者端末20から受信したプログラミングの質問の内容(質問者によって図6に示す質問内容入力画面100に入力された内容)を回答依頼情報として回答者端末30に送信する。
審査依頼通知部18dは、審査依頼情報として回答格納DB16に記憶されたプログラミングの質問に対する回答を審査者端末40に送信する処理部である。具体的には、回答者端末30から受信したプログラミングの質問に対する回答(回答者によって図7に示す回答内容入力画面200に入力された内容)を審査依頼情報として審査者端末40に送信する。
リファクタリング処理部18eは、回答格納DB16に記憶されたプログラミングの質問に対する回答のソースコードに対してリファクタリングを行う処理部である。なお、かかる「リファクタリング」とは、ソフトウェアの外部的振る舞いを保ちつつ、理解や修正が容易になるように、内部構造を改善する処理である。
評価指標抽出部18fは、回答格納DB16に記憶されたプログラミングの質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出する処理部である。
これを具体的に説明すると、質問の内容がプログラムの処理(単一のソースコードで記述可能なもの)である場合に、ソースコードの中から使用されているライブラリ名、関数名を取り出す。例えば、「Java(商標登録)」の場合には、使用されているクラス名(例えば、「java.lang.StringBuffer」など)、クラスのメソッド名(例えば、「StringBuffer.append(String str)」)をキーワードとして抽出する。
また、質問の内容がプログラムで実現する機能(複数のソースコードで記述可能なもの)である場合に、ソースコードの処理を順次解析し、処理の手順が分かる設計書(例えば、UML(Unified Modeling Language)を例に取れば、図13および図14に示すシーケンス図に相当する。)を生成する。
評価結果提示部18gは、評価結果DB17によって記憶された審査結果、並びにリファクタリング処理部18eおよび評価指標抽出部18fの処理結果を質問者端末20に提示する処理部である。具体的には、図10に示すように、審査者によって図8に示す審査結果入力画面300に入力された審査結果、リファクタリング処理部18eの処理結果および評価指標抽出部18fの処理結果(図11〜図14参照)を質問者端末20に提示する。
回答内容提示部18hは、回答格納DB16に記憶された複数の回答の中から質問者端末20によって選択された回答の内容を提示する処理部である。質問者端末20によって選択された回答(回答者によって図7に示す回答内容入力画面200に入力された内容)を提示する。
(プログラミング回答提示装置の処理手順)
次に、本実施例1に係るプログラミング回答提示装置の処理手順を説明する。図15は、本実施例1に係るプログラミング回答提示装置の処理手順を示すフローチャートである。同図に示すように、質問者端末20では、図6に示す質問内容入力画面100において質問者から質問内容の入力を受け付け(ステップS1501)、質問内容入力画面100に入力された情報を回答依頼情報として送信する(ステップS1502)。
例えば、図6に示す質問内容入力画面100では、プログラム言語として「Java(商標登録)」、環境として「サーバアプリケーション」、要素技術として「EJB」、使用製品として「Interstage」が選択入力されている。なお、このとき、希望回答金額および回答期限も入力されることとなる。
続いて、プログラミング回答提示装置10では、質問者端末20から回答依頼情報(質問内容入力画面100に入力された情報)を受信し(ステップS1503)、回答スキルポイント算出部18aは、質問者によって質問内容入力画面100に入力された質問のカテゴリ(例えば、プログラム言語が「Java(商標登録)」である場合、環境「サーバアプリケーション」および要素技術「EJB」)をもとに、回答スキルポイント管理テーブル12を参照して質問の回答に必要なスキルポイント(すなわち、サーバアプリケーション「10」+EJB「15」=「25」)を算出する(ステップS1504)。
そして、回答者検索部18bは、回答スキルポイント算出部18aによって算出されたスキルポイント以上の回答者を回答者スキル・履歴管理テーブル14から検索し(ステップS1505)、回答依頼通知部18cは、回答者検索部18bによって検索された回答者端末30に回答依頼情報(質問者によって質問内容入力画面100に入力された内容)を送信する(ステップS1506)。
続いて、回答者端末30では、回答依頼情報(質問者によって質問内容入力画面100に入力された内容)を受信したならば(ステップS1507)、図7に示す回答内容入力画面200において、回答者から回答内容の入力を受け付け(ステップS1508)、回答内容入力画面200に入力された情報をプログラミング回答提示装置10に返信する(ステップS1509)。なお、このとき、回答者が登録することができる価格の上限は、スキルポイント単金テーブル13に基づき回答者が保有するスキルポイントによって制限されることとなる。
その後、プログラミング回答提示装置10では、回答者端末30からプログラミングの質問に対する回答(回答内容入力画面200に入力された情報)を受信して回答格納DB16に登録する(ステップS1510)。
続いて、審査依頼通知部18dは、審査依頼情報として回答格納DB16に記憶されたプログラミングの質問に対する回答(回答者によって回答内容入力画面200に入力された内容)を審査依頼情報として審査者端末40に送信する(ステップS1511)。
そして、審査者端末40では、審査依頼情報(回答者によって回答内容入力画面200に入力された内容)を受信したならば(ステップS1512)、図8に示す審査結果入力画面300において、審査者から審査結果の入力を受け付け(ステップS1513)、該受け付けられた審査結果(審査結果入力画面300に入力された情報)をプログラミング回答提示装置10に返信する(ステップS1514)。
その後、プログラミング回答提示装置10では、審査者端末40から審査結果(審査結果入力画面300に入力された情報)を受信して評価結果DB17に登録する(ステップS1515)。
ここで、リファクタリング処理部18eは、回答格納DB16に記憶されたプログラミングの質問に対する回答のソースコードに対してリファクタリングを行い(ステップS1516)、リファクタリング結果を評価結果DB17に格納する(ステップS1517)。
また、評価指標抽出部18fは、回答格納DB16に記憶されたプログラミングの質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出し(ステップS1518)、該抽出された当該回答の内容に係る評価指標を評価結果DB17に登録する(ステップS1519)。
これを具体的に説明すると、質問の内容がプログラムの処理(単一のソースコードで記述可能なもの)である場合に、ソースコードの中から使用されているライブラリ名、関数名を取り出す。例えば、「Java(商標登録)」の場合には、使用されているクラス名(例えば、「java.lang.StringBuffer」など)、クラスのメソッド名(例えば、「StringBuffer.append(String str)」)をキーワードとして抽出する。
また、質問の内容がプログラムで実現する機能(複数のソースコードで記述可能なもの)である場合に、ソースコードの処理を順次解析し、処理の手順が分かる設計書(例えば、UML(Unified Modeling Language)を例に取れば、図13および図14に示すシーケンス図に相当する。)を生成する。
図15の説明に戻り、評価結果提示部18gは、図10に示すように、審査者によって審査結果入力画面300に入力された審査結果、リファクタリング処理部18eの処理結果および評価指標抽出部18fの処理結果(図11〜図14参照)を質問者端末20に提示する(ステップS1520)。なお、図10では、キーワードとして、使用されているクラス名(例えば、「java.lang.StringBuffer」など)が提示されているが、処理の手順が分かる設計書(例えば、UML(Unified Modeling Language)を例に取れば、図13および図14に示すシーケンス図に相当する。)へのリンクを貼り付けておき、新たなページでUMLのシーケンス図を質問者端末20に表示するようにしても良い。
これを受けて、質問者端末20では、審査者によって審査結果入力画面300に入力された審査結果、リファクタリング処理部18eの処理結果および評価指標抽出部18fの処理結果(図11〜図14参照)が表示され(ステップS1521)、図9に示す回答評価一覧画面400において、複数の回答の中から購入対象の回答の選択を質問者から受け付けてプログラミング回答提示装置10に送信する(ステップS1522)。
そして、プログラミング回答提示装置10では、質問者端末20から受信した購入対象の回答の選択を受け付け(ステップS1523)、回答内容提示部18hは、回答格納DB16に記憶された複数の回答の中から質問者端末20によって選択された回答(回答者によって図7に示す回答内容入力画面200に入力された内容)を提示する(ステップS1524)。その後、質問者端末20では、質問者から受け付けた回答の内容が提示されることとなる(ステップS1525)。
上述してきたように、本実施例1に係るプログラミング回答提示装置10によれば、審査者端末から受け付けた回答に対する審査結果を当該質問者に提示し、複数の回答の中から質問者によって選択された回答の内容を提示することとしたので、プログラミングの質問に対する回答の評価を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能になる。
また、本実施例1に係るプログラミング回答提示装置10によれば、回答のソースコードに対してリファクタリングを行い、リファクタリングが行われたソースコードの行数と、回答者端末30から受け付けた回答のソースコードの行数とを当該質問者端末20に提示し、複数の回答の中から質問者端末20によって選択された回答の内容を提示することとしたので、回答者のスキルに基づく回答内容の評価基準を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能になる。
すなわち、リファクタリングが行われたソースコードは、最適化されたコード列の行数になるため、回答者によって回答された元の回答のソースコードの行数と比較することにより、質問者は、回答者のスキルに基づく回答内容の評価を行うことができる(図10参照)。
また、本実施例1に係るプログラミング回答提示装置10によれば、質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出し、当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示し、複数の回答の中から質問者の端末によって選択された回答の内容を提示することとしたので、プログラミングの質問に対する回答内容の評価指標を提示し、もって信頼性が高くかつ高品質な回答を質問者に選択させることが可能になる。
すなわち、質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を当該回答の内容に係る評価指標として抽出し、質問者に提示することで、質問者が複数の回答から閲覧を希望する回答を選択する際の判断材料として、既存のライブラリが使用された「回答」であるか(図11参照)、或いは個人またはサードパーティ製のライブラリが使用された「回答」であるか(図12参照)を提示することができるようにしている。
より詳細には、質問者は、図11に示すクラス名「java.lang.StringBaffer」からA社版のJava(商標登録)環境で利用可能な関数であることを知ることができる。また、図12に示すクラス名「test.test01.StringBuffer」からB社版のJava(商標登録)環境で利用可能な関数であることを知ることができる。
このため、質問者の開発環境がA社版のJava(商標登録)環境である場合、質問者は、かかるキーワード(すなわち、図11および図12に示したクラス名)をもとに、図12に示す回答がB社版のJava(商標登録)環境でしか動かない関数を用いた回答であると判断することができ、回答内容を購読しても現在自分が抱える問題点の解決には活用できないと判断することができる。
また、質問の内容がプログラムで実現する機能(複数のソースコードで記述可能なもの)である場合に、ソースコードの処理を順次解析し、処理の手順が分かる設計書(例えば、UML(Unified Modeling Language)を例に取れば、図13および図14に示すシーケンス図に相当する。)を生成する。
すなわち、質問者は、図13および図14に示すシーケンス図を参照することで、図14に示す回答者の回答内容が単純な処理で出来るもの(図13参照)を複雑に処理しているものであり、処理のレスポンスの劣化やバグの発生を招き易いプログラムであると判断することができる。
ところで、上記実施例1で説明したプログラミング回答提示装置およびプログラミング回答提示方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、本実施例2では、上記実施例1で説明したプログラミング回答提示装置(プログラミング回答提示方法)と同様の機能を有するプログラミング回答提示プログラムを実行するコンピュータシステムについて説明する。
図16は、本実施例2に係るコンピュータシステムの構成を示すシステム構成図であり、図17は、このコンピュータシステムにおける本体部の構成を示すブロック図である。図16に示すように、本実施例2に係るコンピュータシステム100は、本体部101と、本体部101からの指示によって表示画面102aに画像などの情報を表示するためのディスプレイ102と、このコンピュータシステム100に種々の情報を入力するためのキーボード103と、ディスプレイ102の表示画面102a上の任意の位置を指定するためのマウス104とを備える。
また、このコンピュータシステム100における本体部101は、図17に示すように、CPU121と、RAM122と、ROM123と、ハードディスクドライブ(HDD)124と、CD−ROM109を受け入れるCD−ROMドライブ125と、フレキシブルディスク(FD)108を受け入れるFDドライブ126と、ディスプレイ102、キーボード103並びにマウス104を接続するI/Oインターフェース127と、ローカルエリアネットワークまたは広域エリアネットワーク(LAN/WAN)106に接続するLANインターフェース128とを備える。
さらに、このコンピュータシステム100には、インターネットなどの公衆回線107に接続するためのモデム105が接続されるとともに、LANインターフェース128およびLAN/WAN106を介して、他のコンピュータシステム(PC)111、サーバ112並びにプリンタ113などが接続される。
そして、このコンピュータシステム100は、所定の記録媒体に記録されたプログラミング回答提示プログラムを読み出して実行することでプログラミング回答提示装置(プログラミング回答提示方法)を実現する。ここで、所定の記録媒体とは、フレキシブルディスク(FD)108、CD−ROM109、MOディスク、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」の他に、コンピュータシステム100の内外に備えられるハードディスクドライブ(HDD)124や、RAM122、ROM123などの「固定用の物理媒体」、さらに、モデム105を介して接続される公衆回線107や、他のコンピュータシステム111並びにサーバ112が接続されるLAN/WAN106などのように、プログラムの送信に際して短期にプログラムを保持する「通信媒体」など、コンピュータシステム100によって読み取り可能なプログラミング回答提示プログラムを記録する、あらゆる記録媒体を含むものである。
すなわち、プログラミング回答提示プログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものであり、コンピュータシステム100は、このような記録媒体からプログラミング回答提示プログラムを読み出して実行することでプログラミング回答提示装置およびプログラミング回答提示方法を実現する。なお、プログラミング回答提示プログラムは、コンピュータシステム100によって実行されることに限定されるものではなく、他のコンピュータシステム111またはサーバ112がプログラミング回答提示プログラムを実行する場合や、これらが協働してプログラミング回答提示プログラムを実行するような場合にも、本発明を同様に適用することができる。
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、上記特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施例にて実施されてもよいものである。
例えば、本実施例1では、審査結果の提示機能、リファクタリング結果の提示機能および評価指標抽出結果の提示機能を統括して備えるプログラミング回答提示装置について説明したが、本発明はこれに限定されるものではなく、それぞれの提示機能を独立して実施するようにしても良い。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
(付記1)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、
審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知工程と、
前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示工程と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、
を含んだことを特徴とするプログラミング回答提示方法。
(付記2)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、
前記回答のソースコードに対してリファクタリングを行うリファクタリング工程と、
前記リファクタリング工程によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示工程と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、
を含んだことを特徴とするプログラミング回答提示方法。
(付記3)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、
前記質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは前記質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出する評価指標抽出工程と、
前記評価指標抽出工程によって当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示する評価指標提示工程と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、
を含んだことを特徴とするプログラミング回答提示方法。
(付記4)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、
審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知手段と、
前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示手段と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、
を備えたことを特徴とするプログラミング回答提示装置。
(付記5)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、
前記回答のソースコードに対してリファクタリングを行うリファクタリング手段と、
前記リファクタリング手段によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示手段と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、
を備えたことを特徴とするプログラミング回答提示装置。
(付記6)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、
前記質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは前記質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出する評価指標抽出手段と、
前記評価指標抽出手段によって当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示する評価指標提示手段と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、
を備えたことを特徴とするプログラミング回答提示装置。
(付記7)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示プログラムであって、
審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知手順と、
前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示手順と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手順と、
をコンピュータに実行させることを特徴とするプログラミング回答提示プログラム。
(付記8)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示プログラムであって、
前記回答のソースコードに対してリファクタリングを行うリファクタリング手順と、
前記リファクタリング手順によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示手順と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手順と、
をコンピュータに実行させることを特徴とするプログラミング回答提示プログラム。
(付記9)プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示プログラムであって、
前記質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは前記質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出する評価指標抽出手順と、
前記評価指標抽出手順によって当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示する評価指標提示手順と、
前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手順と、
をコンピュータに実行させることを特徴とするプログラミング回答提示プログラム。
本実施例1に係るプログラミング質問オークションシステムの構成を示すシステム構成図である。 本実施例1に係るプログラミング回答提示装置の構成を示すブロック図である。 回答スキルポイント管理テーブルに記憶される情報の構成例を示す図である。 スキルポイント単金テーブルに記憶される情報の構成例を示す図である。 回答者スキル・履歴管理テーブルに記憶される情報の構成例を示す図である。 質問内容入力画面の一例を示す図である。 回答内容入力画面の一例を示す図である。 審査結果入力画面の一例を示す図である。 回答評価一覧画面の一例を示す図である。 回答評価詳細画面の一例を示す図である。 キーワードの一例を示す図である。 キーワードの一例を示す図である。 UMLのシーケンス図の一例を示す図である。 UMLのシーケンス図の一例を示す図である。 本実施例1に係るプログラミング回答提示装置の処理手順を示すフローチャートである。 本実施例2に係るコンピュータシステムの構成を示すシステム構成図である。 図16に示したコンピュータシステムにおける本体部の構成を示すブロック図である。
符号の説明
1 プログラミング質問オークションシステム
2 ネットワーク
10 プログラミング回答提示装置
11 通信制御IF部
12 回答スキルポイント管理テーブル
13 スキルポイント単金テーブル
14 回答者スキル・履歴管理テーブル
15 記憶部
16 回答格納DB
17 評価結果DB
18 制御部
18a 回答スキルポイント算出部
18b 回答者検索部
18c 回答依頼通知部
18d 審査依頼通知部
18e リファクタリング処理部
18f 評価指標抽出部
18g 評価結果提示部
18h 回答内容提示部

Claims (5)

  1. プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、
    審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知工程と、
    前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示工程と、
    前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、
    を含んだことを特徴とするプログラミング回答提示方法。
  2. プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、
    前記回答のソースコードに対してリファクタリングを行うリファクタリング工程と、
    前記リファクタリング工程によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示工程と、
    前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、
    を含んだことを特徴とするプログラミング回答提示方法。
  3. プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示方法であって、
    前記質問に対する回答の内容が単一のソースコードで記述可能である場合に、該ソースコードからライブラリ名を、若しくは前記質問に対する回答の内容が複数のソースコードで記述可能である場合に、オブジェクト間の処理構造を当該回答の内容に係る評価指標として抽出する評価指標抽出工程と、
    前記評価指標抽出工程によって当該回答の内容に係る評価指標として抽出されたライブラリ名若しくはオブジェクト間の処理構造を提示する評価指標提示工程と、
    前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示工程と、
    を含んだことを特徴とするプログラミング回答提示方法。
  4. プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、
    審査依頼情報として前記質問に対する回答を該回答の内容に対して審査を行う審査者の端末に通知する審査依頼通知手段と、
    前記審査者の端末から受け付けた前記回答に対する審査結果を当該質問者の端末に提示する審査結果提示手段と、
    前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、
    を備えたことを特徴とするプログラミング回答提示装置。
  5. プログラミングの質問に対する回答を複数の回答者の端末から受け付け、該受け付けた複数の回答の中から質問者の端末によって選択された回答の内容を提示するプログラミング回答提示装置であって、
    前記回答のソースコードに対してリファクタリングを行うリファクタリング手段と、
    前記リファクタリング手段によってリファクタリングが行われたソースコードの行数と、前記回答者の端末から受け付けた回答のソースコードの行数とを当該質問者の端末に提示するリファクタリング結果提示手段と、
    前記複数の回答の中から前記質問者の端末によって選択された回答の内容を提示する回答内容提示手段と、
    を備えたことを特徴とするプログラミング回答提示装置。
JP2004120926A 2004-04-15 2004-04-15 プログラミング回答提示方法およびプログラミング回答提示装置 Pending JP2005301922A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004120926A JP2005301922A (ja) 2004-04-15 2004-04-15 プログラミング回答提示方法およびプログラミング回答提示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004120926A JP2005301922A (ja) 2004-04-15 2004-04-15 プログラミング回答提示方法およびプログラミング回答提示装置

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2006079550A Division JP2006236366A (ja) 2006-03-22 2006-03-22 プログラミング回答提示方法、プログラミング回答提示装置およびプログラミング回答提示プログラム
JP2006079551A Division JP2006244511A (ja) 2006-03-22 2006-03-22 プログラミング回答提示方法、プログラミング回答提示装置およびプログラミング回答提示プログラム

Publications (1)

Publication Number Publication Date
JP2005301922A true JP2005301922A (ja) 2005-10-27

Family

ID=35333327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004120926A Pending JP2005301922A (ja) 2004-04-15 2004-04-15 プログラミング回答提示方法およびプログラミング回答提示装置

Country Status (1)

Country Link
JP (1) JP2005301922A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100752351B1 (ko) * 2006-07-03 2007-08-27 (주)이즈메이커 쌍방향 데이터 및 음성 송수신이 가능한 통신매체를 이용한실시간 답변 시스템 및 제공 방법

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11288422A (ja) * 1998-04-01 1999-10-19 Takashi Koike 情報収集支援方法及びシステム
JP2000511672A (ja) * 1996-07-24 2000-09-05 ウォーカー ディジタル コーポレイション エキスパートに基づく商業を促進しサポートする、暗号で補助された商業ネットワーク・システム用の方法および装置
JP2001256361A (ja) * 2000-03-13 2001-09-21 Toshio Tsukishiro 情報流通装置及び方法
JP2002222275A (ja) * 2000-11-24 2002-08-09 Canon Inc ユーザを支援するための機能を有するサーバ、並びにサーバ及びサーバを備えたシステムの制御方法、及びそれらを実施するためのプログラム、及びそれらのプログラム
JP2002236855A (ja) * 2001-02-08 2002-08-23 Sony Corp 質問対価提供方法、質問対価提供装置、質問対価提供プログラムを格納したプログラム格納媒体及び質問対価提供プログラム
JP2003157356A (ja) * 2001-11-19 2003-05-30 Hitachi Ltd インセンティブ付加回答システム
JP2004021620A (ja) * 2002-06-17 2004-01-22 Toshiba Corp ヘルプデスクサービス方法およびヘルプデスクサービスシステム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000511672A (ja) * 1996-07-24 2000-09-05 ウォーカー ディジタル コーポレイション エキスパートに基づく商業を促進しサポートする、暗号で補助された商業ネットワーク・システム用の方法および装置
JPH11288422A (ja) * 1998-04-01 1999-10-19 Takashi Koike 情報収集支援方法及びシステム
JP2001256361A (ja) * 2000-03-13 2001-09-21 Toshio Tsukishiro 情報流通装置及び方法
JP2002222275A (ja) * 2000-11-24 2002-08-09 Canon Inc ユーザを支援するための機能を有するサーバ、並びにサーバ及びサーバを備えたシステムの制御方法、及びそれらを実施するためのプログラム、及びそれらのプログラム
JP2002236855A (ja) * 2001-02-08 2002-08-23 Sony Corp 質問対価提供方法、質問対価提供装置、質問対価提供プログラムを格納したプログラム格納媒体及び質問対価提供プログラム
JP2003157356A (ja) * 2001-11-19 2003-05-30 Hitachi Ltd インセンティブ付加回答システム
JP2004021620A (ja) * 2002-06-17 2004-01-22 Toshiba Corp ヘルプデスクサービス方法およびヘルプデスクサービスシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100752351B1 (ko) * 2006-07-03 2007-08-27 (주)이즈메이커 쌍방향 데이터 및 음성 송수신이 가능한 통신매체를 이용한실시간 답변 시스템 및 제공 방법
US8046342B2 (en) 2006-07-03 2011-10-25 Ismaker Co., Ltd. System and method for providing real time answering service by using communication media capable of transmitting and receiving data and voice

Similar Documents

Publication Publication Date Title
US7305465B2 (en) Collecting appliance problem information over network and providing remote technical support to deliver appliance fix information to an end user
US9262183B2 (en) Self-service composed web APIs
US9070086B2 (en) Data driven component reputation
US20060015390A1 (en) System and method for identifying and approaching browsers most likely to transact business based upon real-time data mining
US20020065824A1 (en) Methods of providing computer systems with bundled access to restricted-access databases
US8812948B2 (en) Systems and methods for automatic submission of forms for web-based legal workflow software
US20150199774A1 (en) One click on-boarding crowdsourcing information incentivized by a leaderboard
US8086577B2 (en) Unified collection of content analytic data
KR101691554B1 (ko) 교육용 컨텐츠 관리 장치 및 방법
JP2010522399A (ja) 定義可能なアプリケーションアシスタント
US20100235339A1 (en) Search Advice Systems and Methods
US20050216329A1 (en) Method for session based user evaluation of distributed content
Ash The Web testing companion: the insider's guide to efficient and effective tests
US20070185747A1 (en) Business process assistance wizard
JP4029654B2 (ja) 回答システム、回答装置、回答方法及び回答プログラム
US20040148285A1 (en) System for distributing form contracts and monitoring usage thereof
US20050278687A1 (en) System and method for facilitating computer software features requested by end users
US20100100827A1 (en) System and method for managing wisdom solicited from user community
JP2005301922A (ja) プログラミング回答提示方法およびプログラミング回答提示装置
JP2004185556A (ja) プロジェクト管理システムおよびその方法
JP2006236366A (ja) プログラミング回答提示方法、プログラミング回答提示装置およびプログラミング回答提示プログラム
JP2006244511A (ja) プログラミング回答提示方法、プログラミング回答提示装置およびプログラミング回答提示プログラム
JP2002157397A (ja) アンケートシステム
US20150199773A1 (en) Creating business profiles by third party user on-boarding
US20100250303A1 (en) Computer implemented recruitment system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060627

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090205

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090210

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090804