JP2003005977A - System for supplying software - Google Patents

System for supplying software

Info

Publication number
JP2003005977A
JP2003005977A JP2001193329A JP2001193329A JP2003005977A JP 2003005977 A JP2003005977 A JP 2003005977A JP 2001193329 A JP2001193329 A JP 2001193329A JP 2001193329 A JP2001193329 A JP 2001193329A JP 2003005977 A JP2003005977 A JP 2003005977A
Authority
JP
Japan
Prior art keywords
software
customer
component
build
information
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
JP2001193329A
Other languages
Japanese (ja)
Inventor
Takahiro Furukawa
隆弘 古川
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2001193329A priority Critical patent/JP2003005977A/en
Publication of JP2003005977A publication Critical patent/JP2003005977A/en
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To dynamically complete and supply software from software components equipped with functions to be executed by a user and user interfaces to be used by the user. SOLUTION: A system terminal equipment 20 is composed of a customer request item inputting part 1 for allowing a customer to input data and a preview part 3 for performing software. A component server device 30 is composed of a retrieval condition deciding part 4 for deciding a conditional formula for retrieving software components, a component database part 7 having order information at the time of building a plurality of software components, a component retrieving part 5 for retrieving the software components, and for preparing build procedure information, and a component shipping part 6 for shipping the software components and the build procedure information. A build server device 40 is composed of a build part 8 for building the software, an performing part 9 for confirming the operation of the software before distributing the software to the customer, a software distributing part 10 for distributing the software to the customer, and peripheral equipment 11 necessary for the purpose of confirming the operation of the software.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、ソフトウェア供給
システムに関し、特に、情報処理装置およびネットワー
ク環境を利用したソフトウェアまたはコンテンツを供給
する技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a software supply system, and more particularly to a technology for supplying software or contents using an information processing device and a network environment.

【0002】[0002]

【従来の技術】近年IT関連のハードウェアおよびソフ
トウェア技術が急速に進歩し、インターネットを利用し
てソフトウェアまたはコンテンツを、パソコン等情報処
理装置に配信するサービスが普及してきている。例え
ば、WEB技術を使用したサーバを構築し、ソフトウェ
アをダウンロードできるWEBサイトが数多く稼動して
いる。本サービスはインターネットを利用して、ユーザ
に個別サービスを提供することを目的としている。ここ
でいう個別サービスとは、ユーザが実施したい機能を有
し、ユーザが使用したいユーザインターフェースをオー
ダーメイドにして供給することである。また、近年ソフ
トウェアの開発に関して部品化技術が進み、たとえばJa
va(米国サンマイクロシステムズ社が開発したアーキテ
クチャニュートラルなプログラム言語)技術等を使用し
たオブジェクト指向開発手法により機能別、目的別のソ
フトウェアを部品として開発し、複数のソフトウェア部
品を組み合わせてソフトウェアを完成させることが可能
になってきた。
2. Description of the Related Art In recent years, IT-related hardware and software technologies have made rapid progress, and services for distributing software or contents to information processing devices such as personal computers using the Internet have become widespread. For example, there are many WEB sites in operation where servers that use WEB technology can be built and software can be downloaded. This service aims to provide individual services to users by using the Internet. The individual service referred to here is that the user interface has a function that the user wants to implement and the user interface that the user wants to use is made to order and supplied. In recent years, componentization technology has advanced in software development.
VA (architecture neutral programming language developed by Sun Microsystems, Inc. in the US) Develops software for each function and purpose by using an object-oriented development method that uses technology, etc., and completes the software by combining multiple software components. It has become possible.

【0003】[0003]

【発明が解決しようとする課題】しかしながら現在のサ
ービスでは、ユーザが事前に実施したい機能および、そ
の機能を実現するユーザインターフェースを有するソフ
トウェアの名前を事前に認識していて、WEBサイトが
提供する検索機能で検索して所望のソフトウェアをダウ
ンロードする必要がある。また、現在のWEBサイト
は、ソフトウェアを選択できる様に品揃えしているが、
あくまでも完成品として用意されており、ユーザにとっ
て不必要な機能が付加されていたり、ユーザがイメージ
したユーザインターフェースが必ずしも用意されていな
かったりする。 即ち個別サービスとしてソフトウェア
を動的に生成し供給するシステムは現在存在しない。本
発明は、前記従来技術の現状に鑑みなされたもので、ユ
ーザが実施したい機能と使用したいユーザインターフェ
ースを品揃えしたソフトウェア部品から、動的にソフト
ウェアを完成し、供給することを目的とする。他の目的
は、ユーザ要求を的確に把握して、それに合致した動作
を提供し、システムの効率化を図る。
However, in the current service, the function provided by the user and the name of the software having the user interface for realizing the function are known in advance, and the search provided by the WEB site is provided. You need to search by function and download the desired software. In addition, although the current WEB site offers a selection of software,
It is provided as a finished product to the last, a function unnecessary for the user is added, and a user interface imaged by the user is not necessarily provided. That is, there is currently no system that dynamically generates and supplies software as an individual service. The present invention has been made in view of the current state of the art, and an object of the present invention is to dynamically complete and supply software from a software component in which a function desired by a user and a user interface desired by a user are provided. Another purpose is to accurately grasp the user's request, provide an operation that matches the request, and improve the efficiency of the system.

【0004】[0004]

【課題を解決するための手段】本発明はかかる課題を解
決するために、請求項1の発明は、情報処理装置及びネ
ットワーク環境を利用したソフトウェア供給システムに
おいて、顧客が要求項目データを入力する要求項目入力
手段と、前記顧客名及びソフトウェア配信の可否を入力
する顧客情報入力手段と、前記顧客が要求するソフトウ
ェアを受信するソフトウェア受信手段とを有するシステ
ム端末装置と、前記要求項目入力手段と前記顧客情報入
力手段から入力されたデータを受信するデータ受信手段
と、複数のソフトウェア部品と該複数のソフトウェア部
品を一つのソフトウェアに構築するための順番情報を有
する部品データベース部と、該部品データベース部から
得られる取得ソフトウェア部品と前記順番情報を元にビ
ルド手順情報を作成する部品検索手段と、前記顧客情報
入力手段から入力されたデータを保管管理する顧客情報
管理データベース部と、前記取得ソフトウェア部品と前
記ビルド手順情報及び前記顧客情報管理データベース部
の情報を発送する部品発送手段を有する部品サーバ装置
と、前記部品発送手段からのデータに基づいて一つのソ
フトウェアに構築するビルド手段と、該ビルド手段によ
り構築された本ソフトウェアを前記ソフトウェア受信手
段に配信するソフトウェア配信部を有するビルドサーバ
装置と、を備えたことを特徴とする。ユーザの要求を受
入れ、そこから動的にソフトウェアを完成するために
は、ユーザが要求項目を入力する手段とユーザ名とユー
ザがソフトウェアの配信を希望するか否かの情報が必要
である。具体的にはPC(パーソナルコンピュータ)の
キーボードやマウスである。そして、最終的にユーザが
ソフトウェアを確認できる手段も必要である。それは目
視により確認できるCRTや液晶表示装置である。ま
た、サーバ側が前記要求項目の入力情報を受信して、そ
の情報に基づいて最適なソフトウェア部品を検索する。
このソフトウェア部品は複数からなり、そのためそれら
を1つのソフトウェアにビルドしなければユーザは使用
することができない。本発明はこのビルド手段が特徴的
である(詳細は後述する)。そして1つのソフトウェア
としてビルドされてユーザに配信される。かかる発明に
よれば、ユーザが実施したい機能と使用したいユーザイ
ンターフェースを品揃えしたソフトウェア部品から、ユ
ーザが希望する要求項目に対して、その結果が動的に自
らの表示装置で確認できるため、動的にソフトウェアを
完成することができる。
In order to solve the above problems, the present invention provides a software supply system utilizing an information processing apparatus and a network environment, wherein a customer inputs a request item data request. A system terminal device having item input means, customer information input means for inputting the customer name and availability of software distribution, and software receiving means for receiving software requested by the customer, the requested item input means, and the customer Data receiving means for receiving data input from the information input means, a component database unit having a plurality of software components and order information for constructing the plurality of software components into one software, and a component database unit obtained from the component database unit Build procedure information is created based on the acquired software components and the order information. Parts search means, a customer information management database part for storing and managing data input from the customer information input means, a parts dispatch for sending the acquired software parts, the build procedure information and information of the customer information management database part A part server device having means, a build means for building one piece of software based on the data from the part sending means, and a software distribution section for distributing the software constructed by the build means to the software receiving means. And a build server device. In order to accept a user's request and dynamically complete the software from the user's request, a means for the user to input a request item, a user name, and information as to whether or not the user wants to deliver the software are required. Specifically, it is a keyboard or mouse of a PC (personal computer). Finally, a means for the user to check the software is also necessary. It is a CRT or liquid crystal display device that can be visually confirmed. Further, the server side receives the input information of the request item and searches for the optimum software component based on the information.
This software component consists of multiple parts, so it cannot be used by the user without building them into one piece of software. The present invention is characterized by this build means (details will be described later). Then, it is built as one piece of software and distributed to users. According to such an invention, the result can be dynamically confirmed on the user's own display device from the software component in which the function desired by the user and the user interface desired by the user are provided, and the result can be dynamically confirmed on the display device. Software can be completed in a physical way.

【0005】また、請求項2の発明は、前記部品検索手
段は、前記本ソフトウェアを前記顧客がプレビューする
ためのデモソフトウェア若しくは期間限定ソフトウェア
をビルドする手順を作成することも本発明の有効な手段
である。ユーザが自らの要求により作成したソフトウェ
アは、その時点ではまだ未完成である。つまりソフトウ
ェア設計段階での想い違いや、バグあるいは選択肢が複
数ある場合があるからである。それをなるべく迅速に、
しかも確実に確認する必要がある。ここではプレビュー
するユーザソフトウェアをデモソフトウェアと呼び、本
ソフトウェアとは区別する。かかる技術手段によれば、
完成したソフトウェアを供給する以前に、ユーザ側のソ
フトウェア受信手段でプレビューするので、ソフトウェ
ア作成の効率を高めることができる。また、請求項3の
発明は、前記データ受信手段は、前記要求項目入力手段
から入力されたデータに基づいて、ソフトウェア部品を
検索するための条件式を決定し、前記部品検索手段は、
前記データ受信手段で決定された前記条件式に基づいて
前記取得ソフトウェア部品を検索することも本発明の有
効な手段である。条件式とは、要求項目入力手段からの
複数の項目を組合わせるための条件を式に表したもので
あり、例えば、WEB上で検索項目が複数の場合、AN
D、OR等の論理式で検索し、その論理条件に合致した
データを検索結果として出力するものである。従って、
この条件式が決定すればその式に基づいて合致するソフ
トウェア部品を検索することは容易である。かかる技術
手段によれば、顧客からの要求項目を予め決められたデ
ータとみなして、そこから選択されたデータの組合わせ
を式に変換することにより、検索作業が迅速にしかも正
確に行われる。
Further, the invention of claim 2 is also effective means of the present invention, wherein the component searching means creates a procedure for building demo software or limited-time software for the customer to preview the software. Is. The software created by the user at his request is still incomplete at that time. In other words, there are cases where there are misunderstandings at the software design stage, bugs, and multiple options. Do it as quickly as possible,
Moreover, it is necessary to confirm surely. Here, the user software to be previewed is called demo software to distinguish it from this software. According to such technical means,
Since the preview is made by the software receiving means on the user side before the completed software is supplied, the efficiency of software creation can be improved. Further, in the invention of claim 3, the data receiving unit determines a conditional expression for searching a software component based on the data input from the request item inputting unit, and the component searching unit,
Retrieving the acquired software component based on the conditional expression determined by the data receiving means is also an effective means of the present invention. The conditional expression is an expression of a condition for combining a plurality of items from the request item input means. For example, when there are a plurality of search items on the WEB, AN
A search is performed using a logical expression such as D or OR, and data that matches the logical condition is output as a search result. Therefore,
Once this conditional expression is determined, it is easy to search for a matching software component based on that expression. According to such a technical means, the request item from the customer is regarded as the predetermined data, and the combination of the data selected from the data is converted into the formula, whereby the search operation is performed quickly and accurately.

【0006】また、請求項4の発明は、前記ビルド手段
は、前記部品発送手段から送られた前記取得ソフトウェ
ア部品及び前記ビルド手順情報に基づいてソフトウェア
をビルドすることも本発明の有効な手段である。部品発
送手段から送られるソフトウェア部品は、ユーザの要求
から検索された部品であり、ユーザの希望する内容を最
低限含んでいるはずである。そして、これらの複数の部
品から1つのソフトウェアにビルドするためには、その
ビルド手順が明らかでなければならない。それを提供す
るのがビルド手順情報である。かかる技術手段によれ
ば、ビルドに必要な全ての情報が揃っているので、複雑
な操作を必要とせず、確実にユーザ要求のソフトウェア
をビルドすることができる。また、請求項5の発明は、
前記ビルド手段で構築された前記本ソフトウェアは、前
記ソフトウェア配信部から配信される以前に、確認実行
手段により動作確認されることも本発明の有効な手段で
ある。かかる技術手段によれば、前記ビルド手段により
ビルドされたソフトウェアは、必ずしもそのままユーザ
の要求を満足しているとは限らない。そこで、本発明で
はビルドサーバ装置内に、作製したソフトウェアを事前
に動作させて、その結果を外部の周辺装置で確認できる
環境を構築しておく。こうすることにより、ユーザに配
信する前に事前にチェックして無駄な配信を防ぐことが
できる。また、請求項6の発明は、前記ソフトウェア配
信部は、前記顧客情報管理データベース部の情報に基づ
いて前記部品検索手段により作成された前記デモソフト
ウェア若しくは前記期間限定ソフトウェアを、前記本ソ
フトウェアを供給する以前に前記ソフトウェア受信手段
に配信するか否かを判断することも本発明の有効な手段
である。請求項5では作製したソフトウェアを事前に動
作させて、その結果を外部の周辺装置で確認している
が、この時点では動作としての確認は済んでいるが、そ
れが必ずしも顧客の要求を満足するかは判然としない。
そこで、そのソフトウェアを顧客にデモソフトウェアと
して配信し、顧客自らに評価してもらう方法である。こ
れはCS(Customer Satisfaction)の思想に合致する
ものである。また、ユーザがそのソフトウェアの配信を
望んでいない場合もありうるので、その判断手段が必要
である。かかる技術手段によれば、顧客自らが評価する
ため、評価基準にばらつきが無くなり迅速に結果が出
て、さらに顧客の満足度を向上できる。
Further, the invention of claim 4 is an effective means of the present invention, wherein the build means builds software based on the acquired software component and the build procedure information sent from the component sending means. is there. The software component sent from the component delivery means is a component retrieved from the user's request and should include at least the content desired by the user. In order to build one piece of software from these plural parts, the build procedure must be clear. It is the build procedure information that provides it. According to such a technical means, since all the information necessary for the build is gathered, it is possible to surely build the software requested by the user without requiring a complicated operation. The invention of claim 5 is
It is also an effective means of the present invention that the operation of the present software constructed by the build means is confirmed by the confirmation executing means before being distributed by the software distributing section. According to such technical means, the software built by the build means does not always satisfy the user's request as it is. Therefore, in the present invention, an environment is built in which the produced software is operated in advance in the build server device and the result can be confirmed by an external peripheral device. By doing this, it is possible to prevent unnecessary distribution by checking in advance before distribution to the user. Also, in the invention of claim 6, the software distribution unit supplies the demo software or the limited-time software created by the component search means based on the information of the customer information management database unit to the main software. It is also an effective means of the present invention to determine whether or not to deliver to the software receiving means previously. In claim 5, the produced software is operated in advance, and the result is confirmed by an external peripheral device. At this point, the operation is confirmed, but it does not always satisfy the customer's request. I'm not sure.
Therefore, it is a method of distributing the software to the customer as demo software so that the customer can evaluate it. This is in accordance with the concept of CS (Customer Satisfaction). In addition, the user may not want to deliver the software, so that determination means is necessary. According to such a technical means, since the customer himself / herself evaluates the evaluation criteria, there is no variation, and the result can be obtained quickly, and the customer satisfaction can be further improved.

【0007】また、請求項7の発明は、前記顧客情報管
理データベース部の情報が前記デモソフトウェア若しく
は前記期間限定ソフトウェアの配信を望まない場合、若
しくは同一の前記顧客から同一の要求が複数回あった場
合、前記ソフトウェア配信部は、前記確認実行手段によ
り動作確認された実行結果を前記ソフトウェア受信手段
に配信することも本発明の有効な手段である。ユーザが
ソフトウェアの配信を望まない理由は、ユーザ側に何ら
かのミスあるいは変更が発生して、そのソフトウェアそ
のものを必要としない場合である。また、同一ユーザが
同一要求を複数回出した場合、毎回ソフトウェアを供給
するのは通信コストの無駄になる。従って、サーバ側で
は既にソフトウェアの動作確認を実行済みであるため、
その実行結果のみを配信するのがCSに叶っている。か
かる技術手段によれば、実行部にてソフトウェアの動作
確認の結果は出ているので、それを配信することがで
き、ユーザはその結果から次の判断を的確にできる。
Further, in the invention of claim 7, when the information in the customer information management database section does not want to deliver the demo software or the limited-time software, or the same customer makes the same request a plurality of times. In this case, it is also an effective means of the present invention that the software distribution unit distributes the execution result whose operation has been confirmed by the confirmation executing means to the software receiving means. The reason why the user does not want to deliver the software is that the user does not need the software itself due to some mistake or change. Further, when the same user makes the same request a plurality of times, supplying the software every time is a waste of communication cost. Therefore, since the operation confirmation of the software has already been executed on the server side,
It is suitable for CS to deliver only the execution result. According to such a technical means, the result of the operation confirmation of the software has been obtained in the execution unit, so that it can be distributed, and the user can accurately make the next judgment from the result.

【0008】[0008]

【発明の実施の形態】以下、本発明を図に示した実施形
態を用いて詳細に説明する。但し、この実施形態に記載
される構成要素、種類、組み合わせ、形状、その相対配
置などは特定的な記載がない限り、この発明の範囲をそ
れのみに限定する主旨ではなく単なる説明例に過ぎな
い。図1は、本発明の実施形態の構成を示すブロック図
である。システム端末装置20は、顧客が操作する装置
で、顧客がデータを入力する顧客要求項目入力部1(要
求項目入力手段)と、顧客名およびソフトウェア配信を
要求するか否かを示す情報を入力する顧客情報入力部2
(顧客情報入力手段)と、顧客へソフトウェアを供給す
る前にデモソフトウェア、または期間限定ソフトウェア
を実行するプレビュー部3(ソフトウェア受信手段)で
構成される。部品サーバ装置30は、顧客要求項目入力
部1と顧客情報入力部2で入力されたデータをもとに、
該データを処理する装置であって、顧客要求項目を満足
するソフトウェアを構成するソフトウェア部品を検索す
るための条件式を決定する検索条件決定部4(データ受
信手段)と、ソフトウェア部品とソフトウェア部品をビ
ルドする場合の順番情報とソフトウェア部品をもつ部品
データベース部7と、条件決定部4の条件式を元に、部
品データベース部7にあるソフトウェア部品を検索し、
そのソフトウェア部品とビルド順番情報をもとにビルド
手順情報を作成する部品検索部5(部品検索手段)と、
前記顧客情報入力部2から入力されたデータを保管管理
する顧客情報管理データベース部12と、ビルドサーバ
へソフトウェア部品とビルド手順情報及び顧客情報を発
送するビルドサーバへの部品発送部6(部品発送手段)
で構成される。また部品検索部5は、ビルド手順情報を
作成する時、顧客の要求項目を満足するソフトウェア
と、顧客に本ソフトウェアを発送する前に顧客がプレビ
ューするためのデモソフトウェア、および期間限定ソフ
トウェアをビルドする手順とビルド手順情報も作成す
る。さらに顧客要求を満足するソフトウェアが複数ある
場合もあるので、各ソフトウェアに対するソフトウェア
部品のビルド手順情報が複数作成されることもある。ビ
ルドサーバ装置40は、部品サーバ装置30のビルドサ
ーバへの部品発送部6から、顧客要求を満足するソフト
ウェアのソフトウェア部品とビルド手順情報及び顧客情
報をもとに、ソフトウェアをビルドするビルド部8(ビ
ルド手段)と、ビルド後、顧客にソフトウェアを配信す
る前に動作確認をする実行部9と、顧客にソフトウェア
を配信するソフトウェア配信部10と、ソフトウェアの
動作確認に必要な周辺装置11から構成される。ここ
で、実行部9を省略してビルド部8とソフトウェア配信
部10を直結した構成でも構わない。また、周辺装置1
1は、実際CDにデータを記録して再生できる装置であ
る。
BEST MODE FOR CARRYING OUT THE INVENTION The present invention will be described in detail below with reference to the embodiments shown in the drawings. However, the constituent elements, types, combinations, shapes, relative arrangements, and the like described in this embodiment are merely explanatory examples, not the gist of limiting the scope of the present invention thereto, unless specifically stated. .. FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention. The system terminal device 20 is a device operated by the customer, and inputs the customer request item input unit 1 (request item input means) to which the customer inputs data, and the customer name and information indicating whether or not to request software distribution. Customer information input section 2
(Customer information input means) and a preview unit 3 (software receiving means) that executes demo software or limited-time software before supplying software to the customer. Based on the data input in the customer request item input unit 1 and the customer information input unit 2, the parts server device 30
A device for processing the data, which includes a search condition determining unit 4 (data receiving means) for determining a conditional expression for searching a software component forming software that satisfies a customer requirement item, a software component and a software component. A software component in the component database unit 7 is searched based on the component database unit 7 having order information and software components for building, and the conditional expression of the condition determination unit 4,
A component search unit 5 (component search means) that creates build procedure information based on the software component and build order information;
A customer information management database unit 12 that stores and manages the data input from the customer information input unit 2, and a parts sending unit 6 (parts sending means) to a build server that sends software parts, build procedure information, and customer information to a build server. )
Composed of. Also, when creating the build procedure information, the component search unit 5 builds software that satisfies the customer's requirements, demo software for the customer to preview before sending this software to the customer, and limited-time software. Also create procedure and build procedure information. Further, since there may be a plurality of pieces of software that satisfy customer requirements, a plurality of pieces of software component build procedure information may be created for each piece of software. The build server device 40 builds the software based on the software parts of the software satisfying the customer's request, the build procedure information, and the customer information from the parts sending section 6 to the build server of the parts server device 30 ( (Building means), an execution unit 9 for confirming the operation after the build and before distributing the software to the customer, a software distributing unit 10 for distributing the software to the customer, and a peripheral device 11 required for confirming the operation of the software. It Here, the execution unit 9 may be omitted and the build unit 8 and the software distribution unit 10 may be directly connected. In addition, peripheral device 1
Reference numeral 1 is an apparatus capable of actually recording and reproducing data on a CD.

【0009】図2は、本発明の実施形態の動作を示すフ
ローチャートである。図1と併せて参照しながらその動
作について詳細に説明する。まず、システム端末装置2
0の顧客要求項目入力部2で顧客が、顧客名およびソフ
トウェア配信を要求するか否かを示す情報を入力する
(ステップS1)。次に、自ら実施したい項目(図3参
照)を選択する(ステップS2)。詳細は後述するが、
顧客が希望する項目をチェックすることにより、そのデ
ータが図示しないネットワークを通じて部品サーバ装置
30に送られる。次に、部品データベース部7と顧客情
報管理データベース部12より所望のソフトウェアを検
索する(ステップS3)。次に、その検索結果から同一
顧客が同一の要求を複数回したかをチェックする(ステ
ップS4)。YESでれば、ステップS10に進む。N
Oであれば、システム端末装置20から送られてきたデ
ータを、部品サーバ装置30内の検索条件決定部4で受
信して、顧客要求項目を満足するソフトウェアを構成す
るソフトウェア部品を検索するための検索条件式を決定
する(ステップS5)。ここで、条件式とは、要求項目
入力手段からの複数の項目を組合わせるための条件を式
に表したものであり、例えば、WEB上で検索項目が複
数の場合、AND、OR等の論理式で検索し、その論理
条件に合致したデータを検索結果として出力するもので
ある。従って、この条件式が決定すればその式に基づい
て合致するソフトウェア部品を検索することは容易であ
る。
FIG. 2 is a flowchart showing the operation of the embodiment of the present invention. The operation will be described in detail with reference to FIG. First, the system terminal device 2
In the customer request item input unit 0 of 0, the customer inputs information indicating whether or not to request the customer name and software distribution (step S1). Next, the item (see FIG. 3) that the user wants to implement is selected (step S2). Details will be described later,
By checking the item desired by the customer, the data is sent to the parts server device 30 through a network (not shown). Next, desired software is searched from the parts database unit 7 and the customer information management database unit 12 (step S3). Then, it is checked from the search result whether the same customer makes the same request a plurality of times (step S4). If YES, the process proceeds to step S10. N
If it is O, the data sent from the system terminal device 20 is received by the search condition determination unit 4 in the component server device 30 to search for the software component forming the software that satisfies the customer requirement item. A search condition expression is determined (step S5). Here, the conditional expression is an expression of a condition for combining a plurality of items from the request item input means. For example, when there are a plurality of search items on the WEB, logical expressions such as AND and OR are used. The data is searched by an expression and the data matching the logical condition is output as the search result. Therefore, if this conditional expression is determined, it is easy to search for a matching software component based on the expression.

【0010】次に、顧客情報を顧客情報管理データベー
ス部12に渡す(ステップS6)。次に、決定した検索
条件式を部品検索部5に送り、部品検索部5ではこの検
索条件式に基づいて部品データベース部7からソフトウ
ェア部品を検索する動作にはいる。(ステップS7)。
ここで、検索条件決定部4で決定された検索条件式を満
足する部品が存在するか判断される(ステップS8)。
この時、検索条件式に該当する複数のソフトウェア部品
が検索される。存在すれば、部品検索部5は、部品デー
タベース部7から得るソフトウェア、デモソフトウェ
ア、期間限定ソフトウェアを構成するソフトウェア部品
とビルド順番情報を元に、ビルド手順情報を作成してビ
ルドサーバへの部品発送部6に出力する(ステップS
9)。ここで、検索されたソフトウェア部品を区別する
ために取得ソフトウェア部品と呼ぶ。次に、ビルドサー
バ装置40内のビルド部8が、部品発送部6からのデー
タから複数の取得ソフトウェア部品をビルド順番情報に
基づいてビルドする(ステップS10)。そして、ビル
ドが終了するまでステップS10をループし、ビルドが
終了すると次のステップに進む(ステップS11)。次
に、ビルドが終了すると、顧客にソフトウェアを配信す
る前に動作確認をする実行部9に送られる(ステップS
12)。次に、実行部9はビルド部8から送られたソフ
トウェアの動作確認のため、そのソフトウェアを実行し
(ステップS13)、動作確認終了するまで続けられる
(ステップS14)。ここで、動作確認用に外部の周辺
装置11が使われる。確認動作が終了すると、顧客情報
を顧客情報管理データベース部12から送られた情報か
ら顧客がソフトウェアの配信を望むかをチェックする
(ステップS15)。NOであれば、実行部9の実行結
果をソフトウェア配信部10から配信する(ステップS
16)。YESであれば、ソフトウェア配信部10は、
デモソフトウェア及び期間限定ソフトウェアをシステム
端末装置20内のプレビュー部3に配信する(ステップ
S17)。次に、システム端末装置20内のプレビュー
部3で受信したデモソフトウェア及び期間限定ソフトウ
ェアを実行し、顧客が所望したソフトウェアであるか実
際に確認する(ステップS18)。問題が無ければ、本
ソフトウェアを配信してもらうために、システム端末装
置20からソフトウェア配信要求をビルドサーバ装置4
0に要求し(ステップS19)、ビルドサーバ装置40
のソフトウェア配信部10が本ソフトウェアをシステム
端末装置20内のプレビュー部3に配信して(ステップ
S20)、別処理ルーチン(ステップS21)に進み、
終了する。ここで、(ステップS8)、(ステップS1
9)のNOのルーチンは、全て別処理ルーチン(ステッ
プS21)に進み、終了する。
Next, the customer information is passed to the customer information management database unit 12 (step S6). Next, the determined search condition formula is sent to the component search unit 5, and the component search unit 5 starts the operation for searching the software component from the component database unit 7 based on this search condition formula. (Step S7).
Here, it is determined whether or not there is a component that satisfies the search condition formula determined by the search condition determination unit 4 (step S8).
At this time, a plurality of software components corresponding to the search condition expression are searched. If it exists, the component search unit 5 creates build procedure information based on the software components that compose the software, the demo software, and the limited-time software obtained from the component database unit 7 and the build order information, and sends the component to the build server. Output to the unit 6 (step S
9). Here, in order to distinguish the retrieved software component, it is called an acquired software component. Next, the build unit 8 in the build server device 40 builds a plurality of acquired software components from the data from the component sending unit 6 based on the build order information (step S10). Then, step S10 is looped until the build is completed, and when the build is completed, the process proceeds to the next step (step S11). Next, when the build is completed, the software is sent to the execution unit 9 that confirms the operation before distributing the software to the customer (step S
12). Next, the execution unit 9 executes the software to confirm the operation of the software sent from the build unit 8 (step S13), and continues until the operation confirmation is completed (step S14). Here, the external peripheral device 11 is used for operation confirmation. When the confirmation operation is completed, the customer information is checked from the information sent from the customer information management database unit 12 whether the customer wants to deliver the software (step S15). If NO, the execution result of the execution unit 9 is distributed from the software distribution unit 10 (step S
16). If YES, the software distribution unit 10
The demo software and the limited-time software are distributed to the preview unit 3 in the system terminal device 20 (step S17). Next, the demo software and the limited-time software received by the preview unit 3 in the system terminal device 20 are executed, and it is actually confirmed whether or not the software is desired by the customer (step S18). If there is no problem, a software distribution request is sent from the system terminal device 20 to have the build server device 4 distribute the software.
0 (step S19), and the build server device 40 is requested.
Software distribution unit 10 distributes the software to the preview unit 3 in the system terminal device 20 (step S20), and proceeds to another processing routine (step S21).
finish. Here, (step S8), (step S1
The 9) NO routine proceeds to another processing routine (step S21) and ends.

【0011】図3は、顧客要求項目入力部の実施例であ
り、顧客が実施したい事項を選択できる構成になってい
る。具体的には、1)〜14)の14項目の中からユーザが
自由に選択できるようになっている。そして選択後ボタ
ン(図示せず)をクリックすればユーザの要求に合致し
たソフトウェアが選択される。その内容は、 1)ハードディスクの中身をCDに保存したい。これは、
ハードディスク上のデータ、画像、ファイル等をCDに
記録し、ハードディスクのバックアップとしての機能
と、可搬型のメモリとしての役目を果たす。 2)CDの複製をつくりたい。これは、あくまでもCDの
バックアップとコピーである。 3)音楽をCDにして聞かせてあげたい。これは、ネット
ワーク上からダウンロードした音楽情報をCDに記録し
て、それを音楽メディアとして利用するものである。 4)写真をCDにして見せてあげたい。これは、スキャナ
あるいはデジタルカメラからの画像情報をCDに記録し
て、可搬型のメモリとしての役目を果たす。 5)ビデオをCDにして見せてあげたい。これは、ビデオ
画像などの動画情報はデータ量が多いため、それをネッ
トワークから送信するとネットワークの占有時間が大き
くなり、またその情報をダウンロードするメモリ容量も
大きくなる。そこでCDに記録すれば、バッチ修理によ
り何時でも見ることができ、可搬性もある。
FIG. 3 shows an embodiment of the customer request item input section, which is configured so that the customer can select the item he or she wants to carry out. Specifically, the user can freely select from the 14 items 1) to 14). Then, after selection, a button (not shown) is clicked to select software that meets the user's request. 1) I want to save the contents of the hard disk to a CD. this is,
The data, images, files, etc. on the hard disk are recorded on a CD, and it functions as a backup of the hard disk and as a portable memory. 2) I want to make a copy of a CD. This is just a backup and copy of the CD. 3) I want to listen to the music as a CD. This is to record music information downloaded from a network on a CD and use it as a music medium. 4) I want to show you the CD as a photo. It records the image information from the scanner or the digital camera on a CD and serves as a portable memory. 5) I want to show the video as a CD. This is because moving image information such as a video image has a large amount of data, and therefore transmitting it from the network increases the occupied time of the network and also increases the memory capacity for downloading the information. If you record it on a CD, you can see it at any time by batch repair and it is portable.

【0012】6)定期的に保存する。 7)特に決めていない。これは、情報の保存形態につい
て、ある一定の時間でメモリ内容を保存するか、あるい
はユーザの意思に基づいて保存するかを決定するもので
ある。 8)できあがったCDは、他人に見られたくない。これ
は、秘密保持の機能であり、特にネットワーク上では不
特定多数のクライアントが稼動している。また、その端
末は自由に他人が覗くことができるので、他人に見られ
たくない情報を秘匿する要求は当然出てくる。そこで、
パスワード等を設けて他人に見られないようにする。 9)主に使うメディアは安いCD−R。 10)特にきめていない。これは、1度のみデータを書き
込めるCD−Rは、その書き込みに制約はあるが、価格
が安いので記録内容がほとんど変更の無いものであれ
ば、これで十分である。 11)主に使うメディアは繰り返し使えるCD−RW。こ
れは、9)とは対照的に一時的な、あるいは短期間の保存
を目的とした記録に使われる。例えば、内容を確認した
り、プリントしてしまえば不要な情報等である。 12)対話形式でCDを作りたい。これは、初心者はCD
作成過程でその方法がわからなくなる場合がある。その
ような時、対話形式だと次にしなければならない操作を
サーバ側が教えてくれるので、途中で挫折することが少
なくなる。 13)エクスプローラで操作したい。これは、プログラム
を管理するプログラムマネージャとファイルを管理する
ファイルマネージャを統合したものであり、これを使う
ことによりプログラムとファイルの管理を気にすること
なく操作を進められる。 14)プリンタに印刷するみたいに手軽にCDを作りた
い。これは、プリンタ印刷を行う時は、そのプロパティ
を表示させ、その内容を設定してボタンをクリックすれ
ば、プリンタドライバが持つ機能の範囲で印刷をしてく
れる。特に表示画面上に表示された画面は、印刷範囲を
指定しなければ、そのまま印刷される。CDもプリンタ
の操作と同じ感覚でできれば非常に操作性が向上する。
6) Save periodically. 7) I haven't decided. This determines whether to save the memory contents at a certain fixed time or save the information based on the user's intention. 8) I don't want others to see the finished CD. This is a confidentiality function, and an unspecified number of clients are operating on the network in particular. In addition, since the terminal can be freely viewed by other people, a request for concealing information that the other person does not want to see comes out. Therefore,
Provide a password etc. to prevent others from seeing it. 9) Mostly used media is cheap CD-R. 10) I haven't decided. This is sufficient if the CD-R, which can write data only once, has a restriction on the writing, but since the price is low and the recorded contents are almost unchanged. 11) Mainly used media is a reusable CD-RW. It is used for records intended for temporary or short-term storage, as opposed to 9). For example, it is unnecessary information if the contents are confirmed or printed. 12) I want to make a CD interactively. This is a CD for beginners
You may not know how to do it during the creation process. In such a case, the server side will tell you what to do next if it is interactive, so you will not be frustrated on the way. 13) I want to operate with Explorer. This is an integration of a program manager that manages programs and a file manager that manages files. By using this, you can proceed with operations without having to worry about managing programs and files. 14) I want to make a CD as easily as printing it on a printer. When you print to a printer, you can display its properties, set its contents, and click a button to print within the range of the functions of the printer driver. In particular, the screen displayed on the display screen is printed as it is, unless the print range is designated. If the CD can be operated in the same manner as the operation of the printer, the operability will be greatly improved.

【0013】[0013]

【発明の効果】以上記載のごとく本発明によれば、請求
項1は、ユーザが実施したい機能と使用したいユーザイ
ンターフェースを品揃えしたソフトウェア部品から、ユ
ーザが希望する要求項目に対して、その結果が動的に自
らの表示装置で確認できるため、動的にソフトウェアを
完成することができる。また、請求項2は、完成したソ
フトウェアを供給する以前に、ユーザ側のソフトウェア
受信手段でプレビューするので、ソフトウェア作成の効
率を高めることができる。また、請求項3は、顧客から
の要求項目を予め決められたデータとみなして、そこか
ら選択されたデータの組合わせを式に変換することによ
り、検索作業が迅速にしかも正確に行われる。また、請
求項4は、ビルドに必要な全ての情報が揃っているの
で、複雑な操作を必要とせず、確実にユーザ要求のソフ
トウェアをビルドすることができる。また、請求項5
は、ユーザに配信する前に事前にチェックして無駄な配
信を防ぐことができる。また、請求項6は、顧客自らが
評価するため、評価基準にばらつきが無くなり迅速に結
果が出て、さらに顧客の満足度を向上できる。また、請
求項7は、実行部にてソフトウェアの動作確認の結果は
出ているので、それを配信することができ、ユーザはそ
の結果から次の判断を的確にできる。
As described above, according to the present invention, according to claim 1, the result is obtained from a software component in which a function desired to be executed by the user and a user interface desired to be used are prepared, with respect to a request item desired by the user. Can be dynamically confirmed on its own display device, so that the software can be completed dynamically. Further, in claim 2, since the preview is made by the software receiving means on the user side before the completed software is supplied, the efficiency of the software creation can be improved. According to the third aspect, the request item from the customer is regarded as the predetermined data, and the combination of the data selected from the data is converted into the formula, so that the search operation can be performed quickly and accurately. Further, according to claim 4, since all the information necessary for the build is gathered, it is possible to surely build the software requested by the user without requiring a complicated operation. In addition, claim 5
Can prevent unnecessary distribution by checking in advance before distribution to the user. Further, according to claim 6, since the customer himself / herself evaluates the evaluation criteria, there is no variation, and the result is promptly obtained, and the customer satisfaction can be further improved. Further, in claim 7, since the result of the operation check of the software is obtained by the execution unit, the result can be distributed, and the user can accurately make the next judgment from the result.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明の実施形態の構成を示すブロック図であ
る。
FIG. 1 is a block diagram showing a configuration of an embodiment of the present invention.

【図2】本発明の実施形態の動作を示すフローチャート
である。
FIG. 2 is a flowchart showing the operation of the embodiment of the present invention.

【図3】本発明の顧客要求項目入力部の実施例を示す図
である。
FIG. 3 is a diagram showing an embodiment of a customer requirement item input unit of the present invention.

【符号の説明】[Explanation of symbols]

1 顧客要求項目入力部 3 プレビュー部 4 検索条件決定部 5 部品検索部 6 ビルドサーバへの部品発送部 7 部品データベース部 8 ビルド部 9 実行部 10 ソフトウェア配信部 11 周辺装置 20 システム端末装置 30 部品サーバ装置 40 ビルドサーバ装置 1 Customer request item input section 3 preview section 4 Search condition determination section 5 Parts search section 6 Parts dispatch to build server 7 Parts database section 8 build department 9 executive department 10 Software Distribution Department 11 peripheral devices 20 system terminal 30 parts server device 40 Build server device

───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 17/60 132 G06F 9/06 610Q 504 620K 640A ─────────────────────────────────────────────────── ─── Continued Front Page (51) Int.Cl. 7 Identification Code FI Theme Coat (Reference) G06F 17/60 132 G06F 9/06 610Q 504 620K 640A

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】 情報処理装置及びネットワーク環境を利
用したソフトウェア供給システムにおいて、 顧客が要求項目データを入力する要求項目入力手段と、
前記顧客名及びソフトウェア配信の可否を入力する顧客
情報入力手段と、前記顧客が要求するソフトウェアを受
信するソフトウェア受信手段とを有するシステム端末装
置と、 前記要求項目入力手段と前記顧客情報入力手段から入力
されたデータを受信するデータ受信手段と、複数のソフ
トウェア部品と該複数のソフトウェア部品を一つのソフ
トウェアに構築するための順番情報を有する部品データ
ベース部と、該部品データベース部から得られる取得ソ
フトウェア部品と前記順番情報を元にビルド手順情報を
作成する部品検索手段と、前記顧客情報入力手段から入
力されたデータを保管管理する顧客情報管理データベー
ス部と、前記取得ソフトウェア部品と前記ビルド手順情
報及び前記顧客情報管理データベース部の情報を発送す
る部品発送手段を有する部品サーバ装置と、 前記部品発送手段からのデータに基づいて一つのソフト
ウェアに構築するビルド手段と、該ビルド手段により構
築された本ソフトウェアを前記ソフトウェア受信手段に
配信するソフトウェア配信部を有するビルドサーバ装置
と、を備えたことを特徴とするソフトウェア供給システ
ム。
1. In a software supply system using an information processing device and a network environment, a request item input means for a customer to input request item data,
A system terminal device having customer information input means for inputting the customer name and availability of software distribution, software receiving means for receiving software requested by the customer, and input from the request item input means and the customer information input means Data receiving means for receiving the generated data, a plurality of software components and a component database unit having order information for constructing the plurality of software components into one software, and an acquired software component obtained from the component database unit. Parts search means for creating build procedure information based on the order information, a customer information management database section for storing and managing data input from the customer information input means, the acquired software parts, the build procedure information and the customer. Parts dispatch that dispatches information from the information management database A parts server device having means, a build means for building one piece of software based on the data from the parts sending means, and a software distribution section for distributing the software constructed by the build means to the software receiving means. A build server device, and a software supply system characterized by the above.
【請求項2】 前記部品検索手段は、前記本ソフトウェ
アを前記顧客がプレビューするためのデモソフトウェア
若しくは期間限定ソフトウェアをビルドする手順を作成
することを特徴とする請求項1記載のソフトウェア供給
システム。
2. The software supply system according to claim 1, wherein the component search means creates a procedure for building demo software or limited-time software for the customer to preview the software.
【請求項3】 前記データ受信手段は、前記要求項目入
力手段から入力されたデータに基づいて、ソフトウェア
部品を検索するための条件式を決定し、前記部品検索手
段は、前記データ受信手段で決定された前記条件式に基
づいて前記取得ソフトウェア部品を検索することを特徴
とする請求項1記載のソフトウェア供給システム。
3. The data receiving means determines a conditional expression for searching a software component based on the data input from the request item inputting means, and the component searching means determines the data receiving means. 2. The software supply system according to claim 1, wherein the acquired software component is searched based on the conditional expression that has been obtained.
【請求項4】 前記ビルド手段は、前記部品発送手段か
ら送られた前記取得ソフトウェア部品及び前記ビルド手
順情報に基づいてソフトウェアをビルドすることを特徴
とする請求項1記載のソフトウェア供給システム。
4. The software supply system according to claim 1, wherein the build means builds software based on the acquired software component and the build procedure information sent from the component sending means.
【請求項5】 前記ビルド手段で構築された前記本ソフ
トウェアは、前記ソフトウェア配信部から配信される以
前に、確認実行手段により動作確認されることを特徴と
する請求項1〜4記載のソフトウェア供給システム。
5. The software supply according to claim 1, wherein the software constructed by the build means is confirmed by the confirmation execution means before being distributed from the software distribution section. system.
【請求項6】 前記ソフトウェア配信部は、前記顧客情
報管理データベース部の情報に基づいて前記部品検索手
段により作成された前記デモソフトウェア若しくは前記
期間限定ソフトウェアを、前記本ソフトウェアを供給す
る以前に前記ソフトウェア受信手段に配信するか否かを
判断することを特徴とする請求項1〜5記載のソフトウ
ェア供給システム。
6. The software distribution unit, prior to supplying the main software, the demo software or the limited-time software created by the component search means based on information in the customer information management database unit. The software supply system according to claim 1, wherein it is determined whether or not to deliver to the receiving means.
【請求項7】 前記顧客情報管理データベース部の情報
が前記デモソフトウェア若しくは前記期間限定ソフトウ
ェアの配信を望まない場合、若しくは同一の前記顧客か
ら同一の要求が複数回あった場合、前記ソフトウェア配
信部は、前記確認実行手段により動作確認された実行結
果を前記ソフトウェア受信手段に配信することを特徴と
する請求項1〜6記載のソフトウェア供給システム。
7. If the information in the customer information management database unit does not want to deliver the demo software or the limited-time software, or if the same customer makes the same request a plurality of times, the software delivery unit is 7. The software supply system according to claim 1, wherein the execution result of which the operation is confirmed by the confirmation executing means is distributed to the software receiving means.
JP2001193329A 2001-06-26 2001-06-26 System for supplying software Pending JP2003005977A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001193329A JP2003005977A (en) 2001-06-26 2001-06-26 System for supplying software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001193329A JP2003005977A (en) 2001-06-26 2001-06-26 System for supplying software

Publications (1)

Publication Number Publication Date
JP2003005977A true JP2003005977A (en) 2003-01-10

Family

ID=19031638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001193329A Pending JP2003005977A (en) 2001-06-26 2001-06-26 System for supplying software

Country Status (1)

Country Link
JP (1) JP2003005977A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005107803A (en) * 2003-09-30 2005-04-21 Hitachi Ltd System updating method and computer system for executing the same
JP2006011665A (en) * 2004-06-23 2006-01-12 Ricoh Co Ltd Image processing control device
JP2012104134A (en) * 2002-11-06 2012-05-31 Cord Bally Corp Pty Ltd Method and apparatus for generating computer executable codes using components

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012104134A (en) * 2002-11-06 2012-05-31 Cord Bally Corp Pty Ltd Method and apparatus for generating computer executable codes using components
JP2005107803A (en) * 2003-09-30 2005-04-21 Hitachi Ltd System updating method and computer system for executing the same
US7500234B2 (en) 2003-09-30 2009-03-03 Hitachi, Ltd. System-updating method and computer system adopting the method
JP2006011665A (en) * 2004-06-23 2006-01-12 Ricoh Co Ltd Image processing control device

Similar Documents

Publication Publication Date Title
JP3751664B2 (en) Software registration system and method
EP1617626B1 (en) Remote access to content management information through a server
US8037423B2 (en) Apparatus, method and computer-readable medium for organizing the display of visual icons associated with information technology processes
US20110153465A1 (en) Contextual computing system
CN101535934A (en) Methods and systems for providing a customized user interface for viewing and editing meta-data
US7890535B2 (en) Management of processes based on reference information
US20050131714A1 (en) Method, system and program product for hierarchically managing a meeting
US20070239770A1 (en) Data Compilation Apparatus and Method
JP2003030388A (en) Workflow system, information processor, managing method for workflow, and program
JPH08305616A (en) Data management system
US20130132900A1 (en) Apparatus and method for associating and displaying icons in relation to a frequency of icon selection
EP1696340A1 (en) Information processing apparatus, information processing method, and computer program
JPH1139292A (en) Document management method and document retrieval method and device
GB2390193A (en) Managing Images Chronologically in Order of Access
US20090300001A1 (en) Server apparatus, catalog processing method, and computer-readable storage medium
JP2002251351A (en) Program and method for receiving contents
JP2003005977A (en) System for supplying software
JP2010061460A (en) Workflow management system, workflow management method and workflow management program
JP2005352980A (en) Document difference display system, document difference display server and document difference display method and its program
JP2009187401A (en) Document management system, document management apparatus, and document managing method and program
JP2002312165A (en) Software supply system
JPH0997156A (en) Menu information generator in network environment
JP2003216871A (en) Commodity managing device, server, commodity management system, commodity managing method, commodity managing program, and recording medium with program therefor recorded thereon
JP7453505B2 (en) Information processing system, its control method and program
JP2008262554A (en) Information processing apparatus, information processing method, information processing program, and recording medium