JP2008084259A - データ収集システム - Google Patents

データ収集システム Download PDF

Info

Publication number
JP2008084259A
JP2008084259A JP2006266400A JP2006266400A JP2008084259A JP 2008084259 A JP2008084259 A JP 2008084259A JP 2006266400 A JP2006266400 A JP 2006266400A JP 2006266400 A JP2006266400 A JP 2006266400A JP 2008084259 A JP2008084259 A JP 2008084259A
Authority
JP
Japan
Prior art keywords
program
data
survey
unit
data collection
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.)
Granted
Application number
JP2006266400A
Other languages
English (en)
Other versions
JP4568262B2 (ja
Inventor
Hisanobu Tennomi
久伸 天呑
Ayumi Oikawa
歩 及川
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.)
Japan Tobacco Inc
Original Assignee
Japan Tobacco Inc
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 Japan Tobacco Inc filed Critical Japan Tobacco Inc
Priority to JP2006266400A priority Critical patent/JP4568262B2/ja
Publication of JP2008084259A publication Critical patent/JP2008084259A/ja
Application granted granted Critical
Publication of JP4568262B2 publication Critical patent/JP4568262B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】プログラムの開発期間が短く、必要な労力が少なく、高度な知識を必要とせずにプログラムを容易に作成できるデータ収集システムを提供する。
【解決手段】ユーザ端末を用いて入力インターフェースを介して入力されたデータを収集する調査プログラムを形成するためのパラメータの入力を受け付ける受付部110と、パラメータに基づいて、ソースコードを動的に生成し、コンパイルしてプログラムを自動的に生成する調査プログラム生成部140と、パラメータに基づいて、調査データDBに調査プログラムに対応したデータ構造を有するデータテーブルを動的に生成するテーブル生成プログラムのソースコードを動的に生成し、コンパイルしてプログラムを自動的に生成するテーブル生成プログラム生成部142と、調査プログラム毎に、データテーブルおよびテーブル生成プログラムと対応付けるための調査IDを付与する調査ID付与部146と、を備える。
【選択図】図7

Description

本発明は、データ収集システムに関し、特に、ユーザが直接的にソースコードを入力することなくプログラムを生成する技術に関する。
コンピュータは、今や日常生活に欠かすことのできないものになっている。コンピュータは、たとえば端末装置、携帯電話、家庭電化製品など種々の装置に搭載され、それらの装置が有するハードウエアを適切に制御し、所定の機能を実現する。たとえば、端末装置は、企業では業務管理のために利用され、研究機関では実験結果の解析のために利用され、個人レベルでは電子メールの送受信やウェブページの閲覧のために利用される。一般に、コンピュータを利用して所定の機能を実現するためには、プログラムをコンピュータで実行する必要がある。
そうしたプログラムを作成するためには、高い専門知識が必要である。たとえばC言語、C++言語、JAVA(登録商標)などのプログラミング言語でソースプログラムを作成し、それをコンパイラでコンパイルすることで、コンピュータで実行可能なマシン語のプログラムが作られる。こうしたソースプログラムを、表形式のプログラム仕様書に基づいて自動的に生成する技術がある(特許文献1)。
特開2003−208307号公報
コンピュータの普及や、コンピュータの利用分野の多様化にともない、プログラムの必要数は年々増加している。さらに、そうしたプログラムの開発期間も短縮される傾向にある。しかしながら、慢性的なプログラマーの不足、プログラム技術の急速な発達、プログラムを実行する装置の急速な発達などにより、必要な時にプログラムの供給を受けることができないことが多々生じる。
本発明は上記事情に鑑みてなされたものであり、その目的とするところは、プログラムの開発期間が短く、プログラムの開発に必要な労力が少なく、高度な知識を必要とせずにプログラムを容易に作成できるデータ収集システムを提供することにある。
本発明によれば、ユーザ端末と、
前記ユーザ端末から送信された所定のデータをネットワークを介して収集する収集装置と、
前記収集装置が収集した前記所定のデータを格納するデータベースと、
前記ユーザ端末に前記データを入力するための入力インターフェースを形成し、前記ユーザ端末を用いて前記入力インターフェースを介して入力されたデータを前記収集装置に送信する機能を実現するための前記ユーザ端末が実行可能なデータ収集プログラムを生成するプログラム生成装置と、を備えたデータ収集システムであって、
前記プログラム生成装置は、
前記データ収集プログラムを形成するためのパラメータの入力を受け付ける受付部と、
前記パラメータに基づいて、前記データ収集プログラムのソースコードを動的に生成し、前記データ収集プログラムの前記ソースコードをコンパイルして前記ユーザ端末が実行可能なデータ収集プログラムを自動的に生成するデータ収集プログラム生成部と、
前記パラメータに基づいて、前記データベースに前記データ収集プログラムに対応したデータ構造を有するデータテーブルを動的に生成するテーブル生成プログラムのソースコードを動的に生成し、前記テーブル生成プログラムの前記ソースコードをコンパイルして前記収集装置が実行可能なテーブル生成プログラムを自動的に生成するテーブル生成プログラム生成部と、
前記データ収集プログラム毎に、前記データ収集プログラムと、前記データテーブルおよび前記テーブル生成プログラムとを対応付けるためのプログラム識別子を付与する識別子付与部と、を含むデータ収集システムが提供される。
この発明によれば、データを入力するための入力インターフェースを形成するデータ収集プログラムと、ユーザ端末が、そのデータ収集プログラムを実行して収集した所定のデータをデータベースに格納するためのテーブルを生成するためのテーブル生成プログラムとを自動的に生成することができる。これにより、ユーザがデータ収集プログラムを形成するためのパラメータを入力するだけで、データ収集プログラムとテーブル生成プログラムが自動的に生成されることとなる。
すなわち、ユーザは高度なプログラム設計技術や知識を必要とせずに、直接ソースコードを入力しなくても、データ収集プログラムおよびテーブル生成プログラムを生成することが可能となる。また、自動的に各プログラムは生成されるので、プログラマーの手入力によるソースコードの作成に比較して、プログラムのデバッグが不要となり、プログラム作成工数を大幅に削減することが可能となる。
上記データ収集システムにおいて、前記プログラム生成装置は、前記テーブル生成プログラムを実行する第1実行部を含むことができ、前記プログラム生成装置の前記識別子付与部は、前記第1実行部が前記テーブル生成プログラムを実行して前記データベースに前記データテーブルを生成するとき、前記プログラム識別子を前記データテーブルに付与することができ、前記ユーザ端末は、前記データ収集プログラムを実行する第2実行部と、前記第2実行部が前記データ収集プログラムを実行して、前記所定のデータを収集するとき、前記プログラム識別子を含む収集データを生成する収集データ生成部と、前記収集データを前記ネットワークを介して前記収集装置に送信する送信部と、を含むことができ、前記収集装置は、前記ユーザ端末から送信された前記収集データを受信する受信部と、前記データベースにアクセスし、前記受信部が受信した前記収集データから前記プログラム識別子を取得し、そのプログラム識別子に対応する前記データテーブルに前記収集データを格納する格納部と、を含むことができる。
この構成によれば、ユーザ端末で収集されたデータをデータベースの該当するデータテーブルに自動的に格納し、蓄積することができる。
上記データ収集システムにおいて、前記データベースの前記データテーブルに格納された前記収集データを解析する解析装置をさらに備えることができ、前記プログラム生成装置は、前記パラメータに基づいて、前記データベースの前記データテーブルにアクセスするためのテーブルアクセスプログラムのソースコードを動的に生成し、前記テーブルアクセスプログラムの前記ソースコードをコンパイルして前記解析装置が実行可能なテーブルアクセスプログラムを自動的に生成するテーブルアクセスプログラム生成部を含むことができ、前記プログラム生成装置の前記識別子付与部は、前記データ収集プログラム毎に、前記データ収集プログラムと前記テーブルアクセスプログラムとを対応付けるために前記プログラム識別子を付与することができる。
この構成によれば、データを入力するための入力インターフェースを形成するデータ収集プログラムと、テーブル生成プログラムと、データベースに格納されたデータにアクセスするためのテーブルアクセスプログラムと、を自動的に生成することができる。これにより、ユーザがデータ収集プログラムを形成するためのパラメータを入力するだけで、データ収集プログラム、テーブル生成プログラム、およびテーブルアクセスプログラムが自動的に生成されることとなる。
すなわち、ユーザは高度なプログラム設計技術や知識を必要とせずに、直接ソースコードを入力しなくても、データ収集プログラム、テーブル生成プログラムおよびテーブルアクセスプログラムを生成することが可能となる。これにより、データの入力から収集、蓄積、そして解析までをトータルで行えるデータ収集システムが容易に提供されることとなる。また、自動的に各プログラムは生成されるので、プログラマーの手入力によるソースコードの作成に比較して、プログラムのデバッグが不要となり、プログラム作成工数を大幅に削減することが可能となる。
上記データ収集システムにおいて、前記解析装置は、前記テーブルアクセスプログラムを実行する第3実行部と、前記第3実行部が前記テーブルアクセスプログラムを実行するとき、前記プログラム識別子をキーとして前記データベースの前記データテーブルにアクセスし、前記データテーブルに格納されている前記収集データを読み出し、所定のファイル形式のデータファイルを生成するデータファイル生成部と、前記データファイルに保存された前記収集データを解析する解析部と、を含むことができる。
この構成によれば、携帯端末から収集され、データベースに格納されたデータを解析しやすい所定のファイル形式のデータファイルに書き出すことができる。
上記データ収集システムにおいて、前記パラメータの入力画面を表示部に表示させる表示処理部をさらに備えることができ、前記受付部は、前記入力画面を介して入力されたパラメータを受け付けることができる。
この構成によれば、ユーザは入力画面を介してパラメータを入力するだけで、データ収集プログラム、データテーブル、テーブル生成プログラム、テーブルアクセスプログラムを自動的に生成させることができる。
上記データ収集システムにおいて、前記データ収集プログラムは、所定の調査内容に対する調査データを入力するための入力インターフェースを形成し、前記入力インターフェースを介して入力された調査データを、前記ネットワークを介して前記収集装置に送信する機能を前記ユーザ端末に実現させるものであり、前記入力画面は、前記調査内容として複数の調査項目と、その調査項目に対する回答の選択肢とを受け付けるように形成されることができる。
この構成によれば、ユーザは調査内容を決定し、対応する調査項目とその回答の選択肢を入力するだけで、データ収集プログラム、データテーブル、テーブル生成プログラム、テーブルアクセスプログラムを自動的に生成させることができる。
以上、本発明の構成について説明したが、これらの各構成の任意の組合せや、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、プログラムの開発期間が短く、プログラムの開発に必要な労力が少なく、高度な知識を必要とせずにプログラムを容易に作成できるデータ収集システムが提供される。
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
図1は、本発明の実施の形態に係る調査システム10の構成を示す概略ブロック図である。本実施形態のデータ収集システム(調査システム10)は、ユーザ端末(端末装置50)と、ユーザ端末から送信された所定のデータをネットワークを介して収集する収集装置220と、収集装置220が収集した所定のデータを格納するデータベース(調査データデータベース340)と、ユーザ端末にデータを入力するための入力インターフェースを形成し、ユーザ端末を用いて入力インターフェースを介して入力されたデータを収集装置に送信する機能を実現するためのユーザ端末が実行可能なデータ収集プログラムを生成するプログラム生成装置100と、を備えたデータ収集システム(調査システム10)であって、プログラム生成装置100は、データ収集プログラムを形成するためのパラメータの入力を受け付ける受付部(図4の受付部110)と、パラメータに基づいて、データ収集プログラムのソースコードを動的に生成し、データ収集プログラムのソースコードをコンパイルしてユーザ端末が実行可能なデータ収集プログラムを自動的に生成するデータ収集プログラム生成部(図4の生成部112、図7の調査プログラム生成部140)と、パラメータに基づいて、データベースにデータ収集プログラムに対応したデータ構造を有するデータテーブルを動的に生成するテーブル生成プログラムのソースコードを動的に生成し、テーブル生成プログラムのソースコードをコンパイルして収集装置が実行可能なテーブル生成プログラムを自動的に生成するテーブル生成プログラム生成部(図4の生成部112、図7のテーブル生成プログラム生成部142)と、データ収集プログラム毎に、データ収集プログラムと、データテーブルおよびテーブル生成プログラムとを対応付けるためのプログラム識別子を付与する識別子付与部(図7の調査ID付与部146)と、を含む。
さらに、本実施形態のデータ収集(調査システム10)システムにおいて、データベース(調査データデータベース340)のデータテーブルに格納された収集データを解析する解析装置300をさらに備え、プログラム生成装置100は、パラメータに基づいて、データベースのデータテーブルにアクセスするためのテーブルアクセスプログラムのソースコードを動的に生成し、テーブルアクセスプログラムのソースコードをコンパイルして解析装置が実行可能なテーブルアクセスプログラムを自動的に生成するテーブルアクセスプログラム生成部(図4の生成部112、図7のテーブルアクセスプログラム生成部144)を含み、プログラム生成装置100の識別子付与部(図7の調査ID付与部146)は、データ収集プログラム毎に、データ収集プログラムとテーブルアクセスプログラムとを対応付けるためにプログラム識別子を付与する。
具体的には、本実施形態の調査システム10において、第1端末装置50a、第2端末装置50b、第3端末装置50c、および第4端末装置50d(以下、単に「端末装置50」という)と、プログラム生成装置100と、プログラム提供装置200と、収集装置220と、解析装置300と、データベースサーバ320と、調査データデータベース340と、を備える。
端末装置50は、たとえば、携帯電話やPDA(Personal Digital Assistants)などの携帯可能な端末である。また端末装置50は、プログラムの実行条件としてプログラムのデータサイズに上限が定められており、メモリサイズが一般的な端末と比較して小さい装置であってよい。端末装置50は、たとえばGPS衛星からGPS信号を受信して位置情報を取得するGPS(Global Positioning System)ユニット、CCDカメラ、マイクなどを有する。また、それぞれの端末装置50は、基地局14を介して第1ネットワーク12に接続し、プログラム提供装置200、収集装置220および解析装置300と通信を行う機能を有する。
プログラム生成装置100は、調査内容を端末装置50の表示部52に表示させ、調査結果を受け付けるための調査プログラムを生成し、プログラム提供装置200に格納する。プログラム提供装置200は、第1ネットワーク12を介して、その調査プログラムを端末装置50に提供する。調査員は、その調査プログラムを実行することにより表示部52に表示された調査内容に基づいて調査を行う。たとえば、調査員は、指定された調査地点まで端末装置50を所持して移動し、その場で調査を行う。
端末装置50は、その移動地点の位置情報(以下、単に「調査位置情報」という)を、GPSユニットを利用して取得する。その取得指示は、調査員の指示に基づいて行われてもよいし、端末装置50内部の調査プログラムにより自動的に行われてもよいし、その他外部からの信号に基づいて行われてもよい。調査員は、端末装置50のCCDカメラを利用して指定された対象物を撮影したり、調査内容に沿った事項を、たとえばキーボタンなどの操作部54を利用して端末装置50に入力したりする。
これらの調査位置情報、画像、およびその他の調査員に直接的に入力された情報以外の端末装置50が取得する情報は、調査結果として利用されるだけでなく、調査結果の信頼性を判断するための情報として利用される。つまり、端末装置50が有するGPS、CCDカメラ、マイクなどから得られるデータは、一般的には調査員が任意に書き換えることができないので、調査結果の信頼性を保証するための情報として利用できる。端末装置50は、調査員に入力された事項、および各デバイスで得られた画像、調査位置情報などを調査結果として収集装置220に送信する。
収集装置220は、第1ネットワーク12を介して端末装置50から調査結果を受信し、第2ネットワーク16を介してデータベースサーバ320に調査結果を受け渡す。収集装置220は、複数の端末装置50から調査位置情報が対応付けられた調査結果を収集する。収集装置220は、その調査結果を、例えばCSV形式や調査項目を示すパラメータ名に対応付けた形式で端末装置50から収集する。本実施形態において、第2ネットワーク16は、企業内などに限定されたイントラネットとするのが好ましい。
図2に、本実施形態の収集装置220が端末装置50から受信する調査結果190のデータフォーマットの一例を示す。調査結果190は、たとえば、調査ID、調査員番号、調査員名、機体番号、営業部コード、営業部名、都道府県コード、都道府県名、GPS取得日、GPS取得時間、緯度、経度、光英X、光英Y、回答完了日、回答完了時間、送信日、送信時間、電界強度、電池残量、GPS測位モード、GPS高度、および複数の調査項目の回答を含むことができる。
図1に戻り、データベースサーバ320は、後述するテーブル生成プログラムを実行することで、所定の調査IDを有する調査プログラムによって収集されたデータを蓄積するためのテーブルを調査データデータベース340に作成する。データベースサーバ320は、調査データデータベース340にアクセスし、収集装置220が端末装置50から受信した調査結果を第2ネットワーク16を介して受けとり、調査データデータベース340に蓄積する。このとき、データベースサーバ320は、受信した調査結果のデータに含まれる調査IDをキーとして、調査データデータベース340内の該当するデータテーブルを見つけ出し、データを格納する。なお、プログラム提供装置200と収集装置220は同じ装置でもよい。
解析装置300は、調査データデータベース340にアクセスし、調査結果を取得し、それぞれの調査結果の信頼性を判断した後、所定の解析を行う。解析装置300は、調査位置情報が対応付けられた調査結果を取得する。解析装置300は後述するテーブルアクセスプログラムを実行することで、任意の調査結果のデータを格納したデータテーブルにアクセスすることができる。解析装置300は、ユーザから指定された調査IDをキーとして該当するデータテーブルを調査データデータベース340から見つけ出し、データをたとえば、CSV形式で読み出す。
図3は、本実施形態の端末装置50で調査プログラム実行時に図1の表示部52に表示される作業画面400の遷移の一例を示す図である。調査プログラムを実行することにより、図1の表示部52には、まず第1作業画面400aが表示され、第2作業画面400b、第3作業画面400c、第4作業画面400d、第5作業画面400e、および第6作業画面400fの順に表示される。第1作業画面400aは、タイトル領域402、入力開始ボタン404、およびデータ送信ボタン406を有する。タイトル領域402は、たとえば調査名などを表示するための領域であり、作業画面400の上部に表示される。
作業画面400は、調査内容を示す情報を表示するための調査項目指示領域440と、その調査内容に対する調査結果を調査員が入力するための調査結果入力領域442とを含む。詳細は後述するが、調査内容を明確に調査員に伝えるために、調査項目指示領域440には、例えば調査内容を表す調査内容文字列434や、その調査内容に関連する例えば商品の外観や、調査内容に含まれる専門用語の説明のための画像420が含まれる。また調査結果入力領域442には、後述するテキストボックス、ラジオボタン、チェックボックスなどのコンポーネントが含まれ、回答を効率的かつ正確に行うために、例えば選択肢の中から回答を選択できるように形成される。
入力開始ボタン404は、調査を開始するための指示を受け付けるボタンである。入力開始ボタン404を選択することにより、調査項目が表示部52に表示される。ここで、調査内容は、複数の調査項目により構成されている。データ送信ボタン406は、各調査項目に対する回答を完了した後、その回答を調査結果として図1の解析装置300に送信するためのボタンである。データ送信ボタン406を押下すなわち選択することにより、調査結果が解析装置300に送信される。
第2作業画面400bは、入力開始ボタン404を押下すると表示される。本実施の形態では、調査項目毎にページが設けられ、その調査項目に適した回答入力用のコンポーネントが配置される。ページ番号領域408は、そのページ番号を表示する領域である。回答内容文字列410は、後述のテキスト入力領域412に入力する回答内容を示す文字列を表示する領域である。テキスト入力領域412は、回答を入力するためのテキストボックスであり、任意の文字列を入力することができる。また、第4作業画面400dのラジオボタン群422は、予め用意された選択肢からひとつ回答を選択するためのコンポーネントである。また、図示していないが、予め用意された選択肢の中から任意の数の回答を選択するためのチェックボックスが、調査結果入力領域442に設けられてもよい。
第2作業画面400bに戻り、次画面表示ボタン414aは、次の調査項目に進むためのボタンであり、このボタンを押下することにより作業画面400が切り替わる。第2作業画面400bの次画面表示ボタン414aを押下すると、第3作業画面400cが表示される。このとき端末装置50は、GPSユニットを利用して位置情報を取得している。位置情報の取得が完了すると、第4作業画面400dが表示される。第4作業画面400dの調査項目に回答し、第4作業画面400dの次画面表示ボタン414bを押下すると、第5作業画面400eが表示される。このように作業画面400を順次切り替えながら、調査員は一連の調査項目に回答を入力する。
第5作業画面400eの撮影開始ボタン430は、図1の端末装置50が有するCCDカメラを利用して撮影を行うためのボタンである。撮影開始ボタン430を押下することにより、CCDカメラがアクティブになり、撮影可能となる。このように、図1のプログラム提供装置200が提供する調査プログラムは、端末装置50が有するGPSユニットやCCDカメラなどのハードウエアを利用して得たデータを調査結果とすることができるようにコーディングされている。
本図では最後の作業画面400になる第6作業画面400fは、保存ボタン432を有する。保存ボタン432は、各作業画面400で入力した回答を保存するためのボタンである。保存ボタン432を押下することにより、端末装置50の記憶領域に調査結果として保存される。そして、調査員が第1作業画面400aのデータ送信ボタン406を選択すると、端末装置50は、保存中の調査結果を図1の収集装置220に送信する。
このように、調査結果を保存した後、送信する形態にすることにより、例えば電波が届かない場所で調査を行い、電波の届く場所で調査結果を送信することができる。つまり、電波状態を気にせず、調査を行うことができるので、様々な場所での調査が可能になる。また、こうした調査項目と、回答のための入力インターフェースをプログラムにより実現することにより、調査項目に適した入力インターフェースを設けることができるので、入力ミスなど人為的なミスを防止できるとともに、迅速な調査が可能になる。また、例えば調査項目をウェブページで提供する場合と比べて、サーバへのアクセス数が大幅に減少するので、サーバの負荷を下げることができる。
このような作業画面400を表示するためのプログラムは、例えばJAVA(登録商標)などのプログラミング言語で作成されたプログラムであってよい。このプログラムを調査毎に毎回プログラマーが作成していたのでは、開発期間の問題により必要なタイミングで必要な調査を実施できないなど、迅速な調査を行うことができないこともある。また、人為的なミスにより、誤った調査項目や選択肢が含まれる場合もある。また、プログラムの開発コストの問題により、調査を控えるということもあり得る。
そのため、こうしたプログラムを自動的に生成することが、図1の調査システム10を運用するためには必要になる。一般に、プログラムは、ソースコードをコンパイルすることにより生成される。プログラマーは、各種の開発ツールを利用してソースコードを作成するが、その作業には高い知識が必要となるため、一般の人は容易にソースコードを作成できない。
本発明者は、様々な調査を想定し、その入力インターフェースを検討した結果、調査項目毎の入力インターフェースを統一し、ひな形を作ることにより、ひな形の組合せ処理と、ひな形中の文字列を他の文字列に置換する処理とにより自動的にソースコードを生成することが可能であるということに想到した。図1のプログラム生成装置100は、この手法に準じてソースコードを生成し、コンパイルすることによりプログラムを自動的に生成する。
また、プログラム生成装置100が生成するプログラムは、上述の調査プログラムと、テーブル生成プログラムと、テーブルアクセスプログラムと、を含む。テーブル生成プログラムは、データベースサーバ320がプログラム生成装置100からの指示に従い実行し、収集された調査結果を調査データデータベース340に格納するためのデータテーブルを調査データデータベース340内に作成するためのものである。
本実施形態のデータ収集システム(調査システム10)において、プログラム生成装置100は、テーブル生成プログラムを実行する第1実行部(図4の実行指示部134)を含み、プログラム生成装置100の識別子付与部(図7の調査ID付与部146)は、第1実行部がテーブル生成プログラムを実行してデータベース(調査データデータベース340)にデータテーブルを生成するとき、プログラム識別子(調査ID)をデータテーブルに付与し、ユーザ端末(端末装置50)は、データ収集プログラムを実行する第2実行部(不図示)と、第2実行部がデータ収集プログラムを実行して、所定のデータを収集するとき、プログラム識別子を含む収集データを生成する収集データ生成部(不図示)と、収集データをネットワーク(第1ネットワーク12)を介して収集装置220に送信する送信部(不図示)と、を含み、収集装置220は、ユーザ端末(端末装置50)から送信された収集データを受信する受信部(不図示)と、データベース(調査データデータベース340)にアクセスし、受信部が受信した収集データからプログラム識別子(調査ID)を取得し、そのプログラム識別子に対応するデータテーブルに収集データを格納する格納部(データベースサーバ320)と、を含む。
テーブルアクセスプログラムは、解析装置300が実行し、調査データデータベース340に蓄積された調査結果を読み出し、所定のファイル形式に書き出すためのものである。
図4は、図1のプログラム生成装置100の構成を示す機能ブロック図である。プログラム生成装置100は、表示部102と、表示処理部104と、操作部108と、受付部110と、生成部112と、コンパイル部114と、格納処理部118と、入力画面情報生成部124と、コンテンツ格納部126と、ひな形格納部128と、基本関数格納部130と、実行指示部134と、第1インターフェース部136と、第2インターフェース部138と、を含む。
プログラム生成装置100の各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インターフェースを中心にハードウエアとソフトウエアの任意の組合せによって実現されるが、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウエア単位の構成ではなく、機能単位のブロックを示している。
入力画面情報生成部124は、前述した調査用のプログラム(以下、単に「調査プログラム」という)を形成するために必要な種々の情報を入力するための入力画面を、表示部102に形成するための情報を生成し、表示処理部104に出力する。表示処理部104は、入力画面からの通知の内容を表示部102に表示させる。操作部108は、例えばキーボードやマウスなどの入力デバイスであり、ユーザから操作を受け付け、入力画面に対する種々の情報をパラメータ管理部109に出力する。パラメータ管理部109は、入力された情報をパラメータとして、パラメータ名などに対応付けて管理する。そして、入力画面情報生成部124は、パラメータ管理部109に管理されているパラメータを読み込み、新たに入力されたパラメータを入力画面に反映する。また、パラメータ管理部109は、所定のタイミングで管理中のパラメータを受付部110に出力する。
図5は、図4の表示部102に表示される入力画面450の一例を示す図である。諸情報入力領域460は、調査プログラムが前述した機能を実現するために必要な種々の情報を入力するための領域である。「調査ID」は、調査プログラムを識別するための情報であり、例えば調査結果を図1の解析装置300に送信する際に、調査結果に対応付けて送信される。たとえば、後述する調査ID付与部が、調査プログラム作成時に自動的に調査プログラムに調査IDを連番で付与することができる。「調査名称」は、調査毎の名称であり、図3のタイトル領域402に表示される。「データ送信URL」は、調査結果の送信先である図1の解析装置300を第1ネットワーク12上で特定するための情報を入力するための領域であり、例えば収集装置220のURL(Uniform Resource Locator)が設定される。
コンポーネント追加操作ボタン群462は、調査項目を追加する場合に利用する。タイプ選択コンポーネント470は、追加する調査項目の回答の入力に利用するコンポーネントのタイプを指定するためのコンポーネントである。タイプ選択コンポーネント470で選択可能なコンポーネントのタイプとして、例えば複数の選択肢の中からひとつの回答を選択可能なラジオボタン(図中では「SA」と表記)、複数の選択肢の中から任意の数の回答を選択可能なチェックボックス(図中では「MA」と表記)、テキスト入力をするためのテキストボックス(図中では「Text」と表記)がある。任意のタイプをタイプ選択コンポーネント470から選択し、コンポーネント追加ボタン472を押下することにより、選択したタイプに応じたコンポーネント設定領域464が追加される。
各コンポーネント設定領域464は、図3の調査項目指示領域440を形成するために必要な情報と、図3の調査結果入力領域442を形成するために必要な情報とを入力できるように、例えばテキストボックスやチェックボックスなどのコンポーネントにより構成されている。
第1コンポーネント設定領域464aは、コンポーネントタイプとして「テキストボックス」を選択した場合に追加される。タイプ表示領域476には、コンポーネントのタイプが表示される。第1コンポーネント設定領域464aには、図3の調査項目指示領域440を形成するために、質問文入力領域480および画像選択コンポーネント486が設けられている。また、図3の調査結果入力領域442を形成するために、回答入力領域482、最大文字数指定領域488、および入力文字タイプ指定ボックス490が設けられている。
質問文入力領域480は、例えば、調査員に調査させる事柄を指示するための文書を入力するための領域である。ここに入力した文字列が、図3の調査内容文字列434として表示される。画像選択コンポーネント486は、図3の画像420として表示する画像コンテンツを選択するためのコンポーネントであり、例えばリストの中から任意の画像コンテンツを選択できるように形成される。詳細は後述するが図4のコンテンツ格納部126は、画像コンテンツを格納しており、入力画面情報生成部124は、コンテンツ格納部126に格納されている画像コンテンツのリストを生成して、図5の画像選択コンポーネント486を形成する。
回答入力領域482は、テキストボックスの周辺に表示される文字列を入力するための領域である。この文字列が、回答を入力するためのテキストボックスの上方、下方、左側、または右側のいずれかに配置される。最大文字数指定領域488は、テキストボックスに入力可能な文字数の上限を設定するための領域である。入力文字タイプ指定ボックス490は、テキストボックスに入力可能な文字タイプを指定するためのチェックボックスである。本実施の形態では、チェックすることにより数字の入力だけが可能になり、チェックをはずすことにより、例えばひらがな、カタカナ、漢字、アルファベット、数字など任意の文字タイプの入力が可能になる。なお、回答入力領域482、最大文字数指定領域488、および入力文字タイプ指定ボックス490は対応付けられている。
本図では、回答入力領域482に「自販機IDを入力」が記入され、最大文字数指定領域488に「4」が記入され、入力文字タイプ指定ボックス490がチェックされている。これにより、図3の第2作業画面400bが形成される。すなわち、テキスト入力領域412の上方の回答内容文字列410に「自販機IDを入力」と表示される。また、そのテキスト入力領域412は、数字のみ入力可能であり、その最大数は4文字になっている。
図5に戻り、回答追加ボタン478は、回答入力領域482を追加する。すなわち、図3の調査結果入力領域442としてテキストボックスを複数設ける場合、回答追加ボタン478を所望の回数、押下する。これにより、第1コンポーネント設定領域464aには、回答追加ボタン478を押下した数の回答入力領域482が新たに追加される。追加したそれぞれの回答入力領域482は、個別に文字列を設定可能である。もちろん、各回答入力領域482に対応付けられた最大文字数指定領域488および入力文字タイプ指定ボックス490を個別に設定できる。また、後述する第2コンポーネント設定領域464b、および第3コンポーネント設定領域464cの回答追加ボタン478は、それぞれラジオボタンならびにチェックボックス用の回答入力領域482を追加する。
回答削除コンポーネント494は、回答入力領域482を削除するためのコンポーネントである。回答削除コンポーネント494を押下することにより、対応する回答入力領域482が削除される。
ラジオボタン474は、調査結果に位置情報を対応付けるか否か、すなわち図1の端末装置50が有するGPSユニットを利用するか否かを指定するためのコンポーネントである。ラジオボタン474がチェックされている場合、調査結果に位置情報が対応付けられる。本実施の形態では、いずれかのコンポーネント設定領域464のラジオボタン474がチェックされている場合、調査プログラムを実行したのち、いずれかのタイミングで位置情報が取得される。
調査項目削除コンポーネント496は、調査項目を削除するためのコンポーネントである。調査項目削除コンポーネント496を押下することにより、対応する調査項目のコンポーネント設定領域464が削除される。
第2コンポーネント設定領域464bは、コンポーネントタイプとして「ラジオボタン」を選択した場合に追加される。第2コンポーネント設定領域464bの回答入力領域482に入力した文字列は、ラジオボタン毎に対応付けられて表示される。つまり、各回答入力領域482には各選択肢を入力する。リンク指定領域492は、その回答を選択した場合に、順番に調査項目を表示するのではなく、リンク先として指定された他の調査項目を表示するか否かを指定するためのコンポーネントである。例えば、リンク指定領域492は、調査項目のリストの中から任意の調査項目を選択できるように形成されている。そして、ラジオボタンが選択された場合に、リンク先として指定された調査項目の画面が表示される。
第3コンポーネント設定領域464cは、コンポーネントタイプとして「チェックボックス」を選択した場合に追加される。第3コンポーネント設定領域464cの回答入力領域482に入力した文字列は、チェックボックス毎に対応付けて表示される。つまり、各回答入力領域482には各選択肢を入力する。
こうした表示処理は、図4の操作部108におけるユーザの操作に応じて更新されたパラメータに基づいて、入力画面情報生成部124が入力画面450を形成するための情報を随時書き換えることにより実現する。
生成ボタン452は、入力画面450に入力された種々の情報を利用してソースコードを生成することを指示するためのボタンである。キャンセルボタン454は、入力画面450への入力をキャンセルするためのボタンである。生成ボタン452を押下した場合、図4のパラメータ管理部109は、管理中のパラメータを受付部110に出力する。パラメータの出力形態はいろいろとあるが、本実施の形態では、パラメータ管理部109は、XML(eXtensible Markup Language)形式のファイル(以下、単に「パラメータファイル」という)として、各パラメータを受付部110に出力する。
図6は、図4のパラメータ管理部109が受付部110に出力するパラメータファイル150のデータ構造の一例を示す図である。ひとつの調査プログラムを生成するための全てのパラメータは、パラメータの開始を示すパラメータ開始タグ151aと、パラメータの終了を示すパラメータ終了タグ151bとに囲まれて保持される。そして、各パラメータは、パラメータの名称を示すタグに囲まれて保持される。調査ID欄152、名称欄154、およびURL欄156は、図5の諸情報入力領域460に入力した、「調査ID」、「調査名称」ならびに「データ送信URL」をそれぞれ保持する。また、図5のコンポーネント設定領域464に入力した種々の情報は、ページ構成情報欄160にそれぞれタグに囲まれて保持される。本実施の形態では、ひとつのページ、すなわち図3のひとつの作業画面400を形成するための情報が、ひとつのページ構成情報欄160に含まれている。
ページNo欄162は、ページを識別するページ識別情報を保持し、例えば表示する順番を保持してもよい。すなわち、後述する図4の生成部112は、ページ識別情報に基づいて各ページを表示する順番を決め、その順番で各ページを表示するようにソースコードを生成する。このページ識別情報は、図5のコンポーネント追加ボタン472を操作して、コンポーネント設定領域464を追加した際に、図4のパラメータ管理部109により各コンポーネント設定領域464に例えば昇順で割り当てられる。
コンポーネント欄174は、図3の調査結果入力領域442を形成するための種々の情報を保持する。データ名欄164は、そのコンポーネントにより入力もしくは選択された回答を特定するデータ名を保持する。図1の端末装置50は、調査結果を解析装置300に送信する際、そのデータ名に対応付けて回答を送信する。また、他の例で、調査結果をCSV形式で送信する場合には、データ名を設定しなくてもよい。
タイプ欄166は、例えば、テキスト(図中「Text」と表記)、ラジオボックス(図中「SA」と表記)、チェックボックス(図中「MA」と表記)などのコンポーネントのタイプを特定するタイプ情報を保持する。また、位置情報を取得するGPSコンポーネント、CCDカメラを利用して画像を撮影する撮影コンポーネントなど端末装置50のハードウエアを制御するためのコンポーネントを識別する情報も同様にタイプ情報としてタイプ欄166に保持される。
文字列欄168は、図5の回答入力領域482に入力された文字列を保持する。文字種欄170は、入力可能な文字の種類を特定する情報を保持する。本実施の形態では、図5の入力文字タイプ指定ボックス490がチェックされている場合に、「数字」が設定され、チェックされていない場合に任意の文字の種類を示す情報が設定される。文字数欄172は、図5の最大文字数指定領域488に入力された数字を保持する。
タイプ欄166にテキストが保持されている場合、コンポーネント欄174には、テキストボックスを形成するために文字種欄170および文字数欄172が含まれる。また、タイプ欄166にラジオボックスを示す「SA」またはチェックボックスを示す「MA」が保持されている場合、ラジオボックスまたはチェックボックスを形成するために、選択肢の枝数分の文字列欄168が含まれる。
質問文欄180は、図5の質問文入力領域480に入力された文字列を保持する。画像ファイル名欄182は、図5の画像選択コンポーネント486で選択された画像ファイルのファイル名を保持する。他の例では、画像ファイル名欄182は、画像ファイルの格納場所を示すパスやURLを保持してもよい。
図4に戻り、パラメータ管理部109は、このように図3の作業画面400を形成するための各パラメータを、調査項目毎にグループに分けて、すなわちページ構成情報欄160毎に分けて保持するパラメータファイルを図4の受付部110に出力する。
受付部110は、パラメータファイルをパラメータ管理部109から受け付ける。生成部112は、図7に示すように、調査プログラム生成部140と、テーブル生成プログラム生成部142と、テーブルアクセスプログラム生成部144と、調査ID付与部146と、を含む。
調査プログラム生成部140は、受付部110が受け付けたパラメータに基づいて、調査プログラムのソースコードを動的に生成し、コンパイル部114に受け渡す。テーブル生成プログラム生成部142は、受付部110が受け付けたパラメータに基づいて、テーブル生成プログラムのソースコードを動的に生成し、コンパイル部114に受け渡す。テーブルアクセスプログラム生成部144は、受付部110が受け付けたパラメータに基づいて、テーブルアクセスプログラムのソースコードを動的に生成し、コンパイル部114に受け渡す。調査ID付与部146は、調査プログラム生成部140がソースコードを生成する調査プログラム毎に、調査プログラムと、テーブル生成プログラムと、テーブルアクセスプログラムと、を対応付けるための調査IDを各々に付与する。
図4に戻り、ひな形格納部128は、ソースコードを生成するための複数種類のひな形を保持する。本実施形態において、ひな形格納部128は、調査プログラム、テーブル生成プログラム、およびテーブルアクセスプログラムの各種プログラム毎に、必要なひな形を保持する。生成部112は、生成するプログラムに応じたひな形を読み出し、生成部112は、そのひな形を組み合わせ、各ひな形の所定の箇所にパラメータファイルに含まれているパラメータを挿入、もしくはひな形中の所定の文字列をパラメータに置換することによりソースコードを生成する。
ひな形格納部128は、ひな形と、そのひな形により実現する機能や入力インターフェースなどを特定する情報とを対応付けて保持する。例えば、ひな形格納部128は、タイプ情報に対応付けて、それらのコンポーネントを端末装置50で実現するためのプログラムコードをひな形として保持する。
一般に、各種のプログラム言語には、API(Application Program Interface)として予め所定の処理を実現するための関数が用意されている。ソースコードは、それらのAPIをプログラム言語毎の文法に準じて組み合わせて作られている。ひな形は、例えば複数の関数を組み合わせたプログラムコードであってもよいし、ひとつの関数から成るプログラムコードであってもよい。要は、ひな形格納部128は、コンポーネントタイプとそのひな形とを対応付けて保持すればよい。
パラメータファイルに基づいて、ソースコードを生成するためのアルゴリズムは、いろいろと考えられる。ひな形格納部128が保持するひな形は、そのアルゴリズムに応じて適宜用意される。
例えば、図3の調査結果入力領域442としてテキストボックスを有する作業画面400を生成するためのひな形は、文字列を表示するための文字列表示関数とテキストボックスを表示するためのテキストボックス関数とを含んでいる。そして、それらの関数の引数に、図6の文字列欄168、文字種欄170、および文字数欄172に保持されている各情報を設定できるように、例えば引数に所定の変数名が割り当てられている。例えば、生成部112は、その変数に対応するパラメータを代入することにより、ソースコードを生成してもよいし、その変数をパラメータに置き換えて、ソースコードを生成してもよい。
また、図3の調査結果入力領域442としてラジオボックスやチェックボックスを有する作業画面400を生成するためのひな形は、それぞれ文字表示関数を含み、ラジオボックスを表示するラジオボックス関数またはチェックボックスを表示するチェックボックス関数の少なくとも一方を含む。こうしたひな形に含まれるプログラムコードは、パラメータファイルに基づいてソースコードを生成するためのアルゴリズムに応じて適切に記述すればよい。要は、生成部112は、パラメータファイルに含まれるタイプ情報に基づいて、そのコンポーネントを形成するための関数もしくはひな形を特定し、その引数にパラメータを設定すればよい。
パラメータファイルに図6の画像ファイル名欄182が含まれている場合、生成部112は、コンテンツ格納部126から該当する画像コンテンツを読み込み、所定のタイミングでソースコードとともにコンパイル部114に出力する。例えばそのタイミングは、後述するコンパイル部114がコンパイル処理を行うときであってもよい。
生成部112は、ソースコードを生成し終えると、その旨をソースコード完成通知としてコンパイル部114に出力する。例えば、生成部112は、パラメータファイルのページ構成情報欄160を単位としてソースコードに変換する処理を順次行う。そして、全てのページ構成情報欄160について変換を終了した時点でソースコードが完成する。生成部112は、このとき、すなわち全てのページ構成情報欄160について変換を終了した時点で、その旨をコンパイル部114に出力してもよい。また、生成部112は、パラメータファイルのパラメータ開始タグ151aからパラメータ終了タグ151bまで、各パラメータに基づいて順次ソースコードに変換する処理を行い、パラメータ終了タグ151bに到達すると変換処理を終了するとともに、ソースコード完成通知をコンパイル部114に出力してもよい。
基本関数格納部130は、コンパイルに必要な種々のファイルを保持する。コンパイル部114は、基本関数格納部130に保持されているファイルを利用して、ソースコードをオブジェクトコードに変換して、調査プログラム、テーブル生成プログラム、またはテーブルアクセスプログラムを生成する。
格納処理部118は、コンパイル部114が生成した調査プログラムをプログラム提供装置200に出力し、配信可能にさせる。また、格納処理部118は、テーブル生成プログラムを実行指示部134に受け渡す。実行指示部134は、テーブル生成プログラムを第1インターフェース部136を介して第2ネットワーク16上のデータベースサーバ320に送信するとともに、テーブル生成プログラムの実行を指示する。さらに格納処理部118は、テーブルアクセスプログラムを第2インターフェース部138を介して第3ネットワーク18上の解析装置300に送信する。
このプログラム生成装置100により、ユーザが図5の入力画面450を利用して単に調査項目を入力することにより、ソースコードを生成し、自動的にコンパイルして調査プログラム、テーブル生成プログラム、およびテーブルアクセスプログラムを生成することができる。
図8は、図1のプログラム提供装置200の構成を示す機能ブロック図である。登録部202は、プログラム生成装置100から調査プログラムを受け付ける。そして、登録部202は、受け付けた調査プログラムをプログラム格納部204に格納する。プログラム提供部206は、端末装置50からの要求に応じて、プログラム格納部204に格納されている調査プログラムを提供する。プログラム提供部206は、調査プログラムを提供する際に、例えば端末装置50に固有に割り当てられている識別情報などにより、調査員の認証を行い、認証に成功した場合に、調査プログラムを端末装置50に提供してもよい。
このように構成された本実施形態の調査システム10の動作について、以下に説明する。図9は、本実施形態の調査システム10の動作の一例を示すフローチャートである。以下、図1乃至図9を用いて説明する。
はじめに、図4のプログラム生成装置100において、表示部102に図5の入力画面450が表示される(S10)。ユーザが入力画面450に従って、諸情報入力領域460に「調査ID」、「調査名称」ならびに「データ送信URL」をそれぞれ入力する。さらに、図5のコンポーネント追加ボタン472を操作して、コンポーネント設定領域464を追加し、コンポーネントのタイプを選択し、図3の調査項目指示領域440を形成するために、質問文入力領域480への質問文の入力および画像選択コンポーネント486の有無を選択する。さらに、回答入力領域482に少なくとも一つの回答を入力することができる。このようにしてユーザが入力画面450を用いて入力したパラメータを図4のパラメータ管理部109が図4の操作部108から受けとり、図4の受付部110に受け渡す。
そして、図4の受付部110は、図4のパラメータ管理部109からパラメータファイルを受け付ける(S12)。そして、図7の生成部112において、受付部110が受け付けたパラメータファイルに含まれるパラメータに基づいて、ひな形格納部128から調査プログラム用のひな形を選択し(S14)、図7の調査プログラム生成部140が、そのひな形中の所定の引数を、パラメータファイル中のパラメータに置き換え、調査プログラムのソースコードを生成する(S16)。
さらに、図7の調査プログラム生成部140にて調査プログラムのソースコードが完成したとき、図4のコンパイル部114は調査プログラムのソースコードのコンパイルを実行する(S18)。このとき、コンパイルされた調査プログラムには、調査ID付与部146により調査IDを含むファイル名が付与される。
コンパイルされた調査プログラムは、図4の格納処理部118に出力され、格納処理部118はその調査プログラムを図1のプログラム提供装置200に出力し、図1の端末装置50に提供可能な状態にさせる(S20)。たとえば、後述するように、調査プログラムを第1ネットワーク12上で公開することにより、端末装置50がプログラム提供装置200にアクセスし、ダウンロードさせる構成とすることもできる。
つづいて、図7のテーブル生成プログラム生成部142が、ひな形格納部128から選択されたテーブル生成プログラム用のひな形中の所定の引数を、パラメータファイル中のパラメータに置き換え、テーブル生成プログラムのソースコードを生成する(S22)。そして、図7のテーブル生成プログラム生成部142にてテーブル生成プログラムのソースコードが完成したとき、図4のコンパイル部114はテーブル生成プログラムのソースコードのコンパイルを実行する(S24)。このとき、コンパイルされたテーブル生成プログラムには、調査ID付与部146により調査IDを含むファイル名が付与される。
そして、コンパイルされたテーブル生成プログラムは、図4の実行指示部134に受け渡され、第1インターフェース部136を介して第2ネットワーク16上のデータベースサーバ320に送信される。そして実行指示部134は、データベースサーバ320にそのテーブル生成プログラムの実行指示を行う(S26)。このとき、データベースサーバ320は、受信したテーブル生成プログラムを実行し、調査データデータベース340にテーブル生成プログラムによってデータテーブルが作成される。
ここで作成されるデータテーブルは、調査プログラムの調査項目と対応したデータ構造を有するテーブルとなる。データテーブルには、調査IDを含むファイル名が付与される。データベースサーバ320は、収集装置220によって収集された調査結果のデータを格納する際、調査結果のデータに含まれる調査IDをキーとしてデータを格納するデータテーブルを探し、該当するデータテーブルに調査結果のデータを格納する。調査結果190のデータは図2に示されるフォーマットを有し、収集装置220が受信した順にデータテーブルに蓄積されていく。
さらに、図7のテーブルアクセスプログラム生成部144が、ひな形格納部128から選択されたテーブルアクセスプログラム用のひな形中の所定の引数を、パラメータファイル中のパラメータに置き換え、テーブルアクセスプログラムのソースコードを生成する(S28)。そして、図7のテーブルアクセスプログラム生成部144にてテーブルアクセスプログラムのソースコードが完成したとき、図4のコンパイル部114はテーブルアクセスプログラムのソースコードのコンパイルを実行する(S30)。このとき、コンパイルされたテーブルアクセスプログラムには、調査ID付与部146により調査IDを含むファイル名が付与される。
図10および図11に、テーブルアクセスプログラム500のソースコードの一例を示す。テーブルアクセスプログラム500は、サーバ名502、テーブル名504、調査共通情報506、および複数の調査項目508、ならびに選択肢510を含むことができる。調査項目508および選択肢510に示すように、図3の作業画面400で調査を実行したときの調査項目の文字列が使用される。
調査項目508および選択肢510は、調査データデータベース340のデータテーブルから調査結果のデータを読み出し、所定の形式のファイルに書き出すときに、たとえばフィールド名として使用することができる。これにより、テーブルアクセスプログラムによって読み出された調査結果のデータは、単なるデータの羅列ではなく、特に分かりやすい意味を持ったレコード群となる。このようにして読み出された調査結果は、その後各種の解析でより扱いやすいデータとなる。たとえば、そのままCSV形式で書き出せば、表計算ソフトなどに読み込むことにより、簡単に集計および図表化することができ、様々な解析が可能となる。
そして、コンパイルされたテーブルアクセスプログラムは、図4の第2インターフェース部138を介して第3ネットワーク18上の図1の解析装置300に送信される(S32)。解析装置300では、テーブルアクセスプログラムをプログラム記憶部(不図示)に格納し、ユーザの要求に応じて実行させることができる。あるいは、調査プログラムと同様に、テーブルアクセスプログラムも、プログラム提供装置200に登録し、解析装置300がプログラム提供装置200にアクセスすることにより、必要なテーブルアクセスプログラムを解析装置300にダウンロードする構成とすることもできる。その場合、図1の解析装置300は、プログラム提供装置200に第3ネットワーク18を介して接続されることとなる。本実施形態において、第3ネットワーク18は、企業内などに限定されたイントラネットとするのが好ましい。
図12は、本実施形態の調査システム10において、複数の調査プログラムを作成、編集するための調査一覧画面530の一例を示す図である。本実施形態において、調査システム10は、複数の調査プログラムを一元管理する調査一覧画面530を提示する提示部(不図示)を含むことができる。調査一覧画面530は、新規作成ボタン532を含み、新規作成ボタン532の押下により、調査プログラムの作成が開始される。すなわち、図5の入力画面450がプログラム生成装置100の表示部102に表示される。
たとえば、プログラム生成装置100は、新規作成ボタン532の押下を操作部108が受け付け、調査プログラムの新規作成の要求に呼応して、表示処理部104が、新規作成の要求に呼応して、表示部102に入力画面450を表示する。
上述したように入力画面450にて作成された調査プログラムは、調査一覧として、調査一覧画面530に表示でき、一元管理することができる。調査一覧画面530は、プログラム提供装置200の登録部202およびプログラム提供部206に相当する。調査一覧には、調査プログラム毎に、調査ID534、調査名称536、作成日538、状況540、および操作メニュー542を含む。操作メニュー542としては、たとえば、編集ボタン544、運用ボタン546、コピーボタン548、および削除ボタン550がある。プログラム生成装置100は、さらにこれらの各種ボタンの押下を操作部108を介して受け付け、各処理を行う処理部(不図示)を含むことができる。たとえば、ユーザが任意に選択した調査プログラムの運用ボタン546の押下を受け付けると、後述する調査運用画面が表示部102に表示され、選択された調査プログラムの各種情報を確認することができる。
図13は、本実施形態の調査システム10において、図12の調査一覧画面530において、運用ボタン546が押下されたとき表示される調査運用画面560の一例を示す図である。図13では、図12の状況540が「未公開」の調査プログラムが選択された場合について示している。調査運用画面560は、公開ボタン562およびアプリ作成ボタン564を含む。調査運用画面560では、調査プログラムの調査運用情報として、公開、未公開などのステータス、公開日、調査公開名、公開対象、公開終了日、アプリ名、アプリ更新日などを含む。さらに調査運用画面560は、調査プログラムの調査情報として、調査ID、調査名、データ送信URL、作成者名、作成日、更新日などを含む。調査ID、調査名、データ送信URLなどは、調査プログラム作成時に、図5の諸情報入力領域460で入力された情報である。
アプリ作成ボタン564の押下を受け付けることにより、図7の生成部112のテーブルアクセスプログラム生成部144により、テーブルアクセスプログラムが生成される。また、公開ボタン562の押下を受け付けることにより、図8のプログラム提供装置200のプログラム提供部206が、端末装置50が第1ネットワーク12から調査プログラムをダウンロード可能なように公開する。
図14は、公開中の調査プログラムの調査運用画面570の一例を示す図である。公開中の調査プログラムのデータ情報として、回答データの圧縮ファイルのファイル名、その更新日、SASプログラム(テーブルアクセスプログラム)を含む。このように、各調査プログラムに関する各種の情報を調査運用画面560および調査運用画面570で確認でき、また編集などの操作をすることができる。
以上、説明したように、本実施形態の調査システム10によれば、データを入力するための入力インターフェースを形成するデータ収集プログラムと、ユーザ端末が、そのデータ収集プログラムを実行して収集した所定のデータをデータベースに格納するためのテーブルを生成するためのテーブル生成プログラムとを自動的に生成することができる。これにより、ユーザがデータ収集プログラムを形成するためのパラメータを入力するだけで、データ収集プログラムとテーブル生成プログラムが自動的に生成されることとなる。
すなわち、ユーザは高度なプログラム設計技術や知識を必要とせずに、直接ソースコードを入力しなくても、データ収集プログラムおよびテーブル生成プログラムを生成することが可能となる。これにより、データの入力から収集、蓄積、そして解析までをトータルで行えるデータ収集システムが容易に提供されることとなる。また、自動的に各プログラムは生成されるので、プログラマーの手入力によるソースコードの作成に比較して、プログラムのデバッグが不要となり、プログラム作成工数を大幅に削減することが可能となる。
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。
たとえば、上記実施形態では、調査プログラムを例に説明したが、調査プログラムだけでなく、例えばアンケートやクイズなど種々のプログラムをであってもよい。
本発明の実施の形態に係る調査システムの構成を示す概略ブロック図である。 図1の調査システムにおいて、端末装置から送信される調査結果のデータフォーマットの一例を示す図である。 図1の調査システムの端末装置の表示部に表示される作業画面の遷移の一例を示す図である。 図1のプログラム生成装置の構成を示す機能ブロック図である。 図4のプログラム生成装置の表示部に表示される入力画面の一例を示す図である。 図4のプログラム生成装置のパラメータ管理部が受付部に出力するパラメータファイルのデータ構造の一例を示す図である。 図4のプログラム生成装置の生成部の構成を示す機能ブロック図である。 図1のプログラム提供装置の構成を示す機能ブロック図である。 本実施形態の調査システムの動作の一例を示すフローチャートである。 テーブルアクセスプログラムのソースコードの一例を示す図である。 図10のテーブルアクセスプログラムのソースコードの一例の続きを示す図である。 図1の調査システムにおいて、複数の調査プログラムを作成、編集するための調査一覧画面の一例を示す図である。 本実施形態の調査システムにおいて、図12の調査一覧画面において、運用ボタンが押下されたとき表示される調査運用画面の一例を示す図である。 公開中の調査プログラムの調査運用画面の一例を示す図である。
符号の説明
10 調査システム
12 第1ネットワーク
14 基地局
16 第2ネットワーク
18 第3ネットワーク
50 端末装置
52 表示部
54 操作部
100 プログラム生成装置
102 表示部
104 表示処理部
108 操作部
109 パラメータ管理部
110 受付部
112 生成部
114 コンパイル部
118 格納処理部
124 入力画面情報生成部
126 コンテンツ格納部
128 ひな形格納部
130 基本関数格納部
134 実行指示部
136 インターフェース部
138 インターフェース部
140 調査プログラム生成部
142 テーブル生成プログラム生成部
144 テーブルアクセスプログラム生成部
146 調査ID付与部
150 パラメータファイル
190 調査結果
200 プログラム提供装置
202 登録部
204 プログラム格納部
206 プログラム提供部
220 収集装置
300 解析装置
320 データベースサーバ
340 調査データデータベース
400 作業画面
450 入力画面
500 テーブルアクセスプログラム
530 調査一覧画面
560 調査運用画面
570 調査運用画面

Claims (6)

  1. ユーザ端末と、
    前記ユーザ端末から送信された所定のデータをネットワークを介して収集する収集装置と、
    前記収集装置が収集した前記所定のデータを格納するデータベースと、
    前記ユーザ端末に前記データを入力するための入力インターフェースを形成し、前記ユーザ端末を用いて前記入力インターフェースを介して入力されたデータを前記収集装置に送信する機能を実現するための前記ユーザ端末が実行可能なデータ収集プログラムを生成するプログラム生成装置と、を備えたデータ収集システムであって、
    前記プログラム生成装置は、
    前記データ収集プログラムを形成するためのパラメータの入力を受け付ける受付部と、
    前記パラメータに基づいて、前記データ収集プログラムのソースコードを動的に生成し、前記データ収集プログラムの前記ソースコードをコンパイルして前記ユーザ端末が実行可能なデータ収集プログラムを自動的に生成するデータ収集プログラム生成部と、
    前記パラメータに基づいて、前記データベースに前記データ収集プログラムに対応したデータ構造を有するデータテーブルを動的に生成するテーブル生成プログラムのソースコードを動的に生成し、前記テーブル生成プログラムの前記ソースコードをコンパイルして前記収集装置が実行可能なテーブル生成プログラムを自動的に生成するテーブル生成プログラム生成部と、
    前記データ収集プログラム毎に、前記データ収集プログラムと、前記データテーブルおよび前記テーブル生成プログラムとを対応付けるためのプログラム識別子を付与する識別子付与部と、を含むデータ収集システム。
  2. 請求項1に記載のデータ収集システムにおいて、
    前記プログラム生成装置は、
    前記テーブル生成プログラムを実行する第1実行部を含み、
    前記プログラム生成装置の前記識別子付与部は、前記第1実行部が前記テーブル生成プログラムを実行して前記データベースに前記データテーブルを生成するとき、前記プログラム識別子を前記データテーブルに付与し、
    前記ユーザ端末は、
    前記データ収集プログラムを実行する第2実行部と、
    前記第2実行部が前記データ収集プログラムを実行して、前記所定のデータを収集するとき、前記プログラム識別子を含む収集データを生成する収集データ生成部と、
    前記収集データを前記ネットワークを介して前記収集装置に送信する送信部と、を含み、
    前記収集装置は、
    前記ユーザ端末から送信された前記収集データを受信する受信部と、
    前記データベースにアクセスし、前記受信部が受信した前記収集データから前記プログラム識別子を取得し、そのプログラム識別子に対応する前記データテーブルに前記収集データを格納する格納部と、を含むデータ収集システム。
  3. 請求項1または2に記載のデータ収集システムにおいて、
    前記データベースの前記データテーブルに格納された前記収集データを解析する解析装置をさらに備え、
    前記プログラム生成装置は、
    前記パラメータに基づいて、前記データベースの前記データテーブルにアクセスするためのテーブルアクセスプログラムのソースコードを動的に生成し、前記テーブルアクセスプログラムの前記ソースコードをコンパイルして前記解析装置が実行可能なテーブルアクセスプログラムを自動的に生成するテーブルアクセスプログラム生成部を含み、
    前記プログラム生成装置の前記識別子付与部は、前記データ収集プログラム毎に、前記データ収集プログラムと前記テーブルアクセスプログラムとを対応付けるために前記プログラム識別子を付与するデータ収集システム。
  4. 請求項3に記載のデータ収集システムにおいて、
    前記解析装置は、
    前記テーブルアクセスプログラムを実行する第3実行部と、
    前記第3実行部が前記テーブルアクセスプログラムを実行するとき、前記プログラム識別子をキーとして前記データベースの前記データテーブルにアクセスし、前記データテーブルに格納されている前記収集データを読み出し、所定のファイル形式のデータファイルを生成するデータファイル生成部と、
    前記データファイルに保存された前記収集データを解析する解析部と、を含むデータ収集システム。
  5. 請求項1乃至4いずれかに記載のデータ収集システムにおいて、
    前記パラメータの入力画面を表示部に表示させる表示処理部をさらに備え、
    前記受付部は、前記入力画面を介して入力されたパラメータを受け付けるデータ収集システム。
  6. 請求項5に記載のデータ収集システムにおいて、
    前記データ収集プログラムは、所定の調査内容に対する調査データを入力するための入力インターフェースを形成し、前記入力インターフェースを介して入力された調査データを、前記ネットワークを介して前記収集装置に送信する機能を前記ユーザ端末に実現させるものであり、
    前記入力画面は、
    前記調査内容として複数の調査項目と、その調査項目に対する回答の選択肢とを受け付けるように形成されるデータ収集システム。
JP2006266400A 2006-09-29 2006-09-29 データ収集システム Expired - Fee Related JP4568262B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006266400A JP4568262B2 (ja) 2006-09-29 2006-09-29 データ収集システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006266400A JP4568262B2 (ja) 2006-09-29 2006-09-29 データ収集システム

Publications (2)

Publication Number Publication Date
JP2008084259A true JP2008084259A (ja) 2008-04-10
JP4568262B2 JP4568262B2 (ja) 2010-10-27

Family

ID=39355018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006266400A Expired - Fee Related JP4568262B2 (ja) 2006-09-29 2006-09-29 データ収集システム

Country Status (1)

Country Link
JP (1) JP4568262B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013114575A (ja) * 2011-11-30 2013-06-10 Nec Corp 情報処理装置、情報処理方法及び情報処理プログラム
CN103186381A (zh) * 2012-12-30 2013-07-03 网易(杭州)网络有限公司 一种用于实现目标定点飞行的方法和装置
JP2014532244A (ja) * 2011-10-11 2014-12-04 インテル・コーポレーション クラウドソーシングされたデータの収集のための自動コード生成
KR101550679B1 (ko) 2013-10-10 2015-09-07 에스케이 텔레콤주식회사 동적 컴파일과 컬럼우선 배열 방식의 질의 처리 엔진을 결합하는 방법
JP2015528978A (ja) * 2012-05-23 2015-10-01 エルジー・ケム・リミテッド バッテリーパックに対する診断テストファイルを生成するシステム及び方法
JP2020013395A (ja) * 2018-07-19 2020-01-23 Zホールディングス株式会社 公開装置、公開方法および公開プログラム
CN114364480A (zh) * 2019-09-04 2022-04-15 松下知识产权经营株式会社 焊接机以及具备其的焊接系统
JP7442516B2 (ja) 2018-10-12 2024-03-04 アリババ・グループ・ホールディング・リミテッド ブロックチェーンノードサービスの展開方法、装置およびシステム、ならびにコンピューティングデバイスおよび媒体

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756962A (ja) * 1993-08-18 1995-03-03 Toshiba Corp データロギングシステムおよびその構築支援装置
JP2000194548A (ja) * 1998-12-25 2000-07-14 Nippon Steel Corp ソフトウェアの稼働環境生成装置および方法、記録媒体
WO2005020070A1 (ja) * 2003-08-20 2005-03-03 Japan Tobacco Inc. プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール
JP2005202612A (ja) * 2004-01-15 2005-07-28 Hitachi Eng Co Ltd データベース生成プログラム作成装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756962A (ja) * 1993-08-18 1995-03-03 Toshiba Corp データロギングシステムおよびその構築支援装置
JP2000194548A (ja) * 1998-12-25 2000-07-14 Nippon Steel Corp ソフトウェアの稼働環境生成装置および方法、記録媒体
WO2005020070A1 (ja) * 2003-08-20 2005-03-03 Japan Tobacco Inc. プログラム生成システム、プログラム生成プログラムおよびプログラム生成モジュール
JP2005202612A (ja) * 2004-01-15 2005-07-28 Hitachi Eng Co Ltd データベース生成プログラム作成装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014532244A (ja) * 2011-10-11 2014-12-04 インテル・コーポレーション クラウドソーシングされたデータの収集のための自動コード生成
KR101612362B1 (ko) * 2011-10-11 2016-04-14 인텔 코포레이션 자동 크라우드소스 데이터 수집을 위한 자동 코드 생성
US10095480B2 (en) 2011-10-11 2018-10-09 Intel Corporation Automatic code generation for crowdsourced automatic data collection
JP2013114575A (ja) * 2011-11-30 2013-06-10 Nec Corp 情報処理装置、情報処理方法及び情報処理プログラム
JP2015528978A (ja) * 2012-05-23 2015-10-01 エルジー・ケム・リミテッド バッテリーパックに対する診断テストファイルを生成するシステム及び方法
CN103186381A (zh) * 2012-12-30 2013-07-03 网易(杭州)网络有限公司 一种用于实现目标定点飞行的方法和装置
KR101550679B1 (ko) 2013-10-10 2015-09-07 에스케이 텔레콤주식회사 동적 컴파일과 컬럼우선 배열 방식의 질의 처리 엔진을 결합하는 방법
JP2020013395A (ja) * 2018-07-19 2020-01-23 Zホールディングス株式会社 公開装置、公開方法および公開プログラム
JP7001559B2 (ja) 2018-07-19 2022-01-19 ヤフー株式会社 公開装置、公開方法および公開プログラム
JP7442516B2 (ja) 2018-10-12 2024-03-04 アリババ・グループ・ホールディング・リミテッド ブロックチェーンノードサービスの展開方法、装置およびシステム、ならびにコンピューティングデバイスおよび媒体
CN114364480A (zh) * 2019-09-04 2022-04-15 松下知识产权经营株式会社 焊接机以及具备其的焊接系统

Also Published As

Publication number Publication date
JP4568262B2 (ja) 2010-10-27

Similar Documents

Publication Publication Date Title
JP4568262B2 (ja) データ収集システム
US20180052811A1 (en) Manifest-driven loader for web pages
US7313564B2 (en) Web-interactive software testing management method and computer system including an integrated test case authoring tool
CN102693183B (zh) 一种实现软件自动化测试的方法及系统
US20180024979A1 (en) Forms conversion and deployment system for mobile devices
CN104484216A (zh) 服务接口文档和在线测试工具生成方法、装置
JP4220519B2 (ja) プログラム生成システムおよびプログラム生成プログラム
CN105138312A (zh) 一种表格生成方法及装置
US9798650B1 (en) Application testing system and method
CN113505082B (zh) 应用程序测试方法及装置
JP4220520B2 (ja) プログラム生成システムおよびプログラム生成プログラム
CN115658529A (zh) 用户页面的自动化测试方法以及相关设备
Leno et al. Robidium: automated synthesis of robotic process automation scripts from UI logs
Asuncion et al. Automated techniques for capturing custom traceability links across heterogeneous artifacts
CN111767229A (zh) 性能测试方法、装置和设备
CN116166907B (zh) 一种使用WebAssembly和服务页面编译技术开发Web应用的方法及装置
US10310958B2 (en) Recording medium recording analysis program, analysis method, and analysis apparatus
US8452717B2 (en) Presenting an interactive guidance structure in a collaborative environment
CN111061627A (zh) 网页埋点方法、装置、电子设备及存储介质
CN116302977A (zh) 应用页面的处理方法及装置、存储介质及电子设备
JP2020119170A (ja) プログラム、情報処理装置及び処理方法
CN115658060A (zh) 基于Vue的表单生成方法及装置
KR20140115456A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 기록매체
JP2018018394A (ja) 情報処理装置とその処理方法及びプログラム
KR20140115458A (ko) 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100715

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100806

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140813

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees