JP2022107874A - Information processing device and software creation support system - Google Patents

Information processing device and software creation support system Download PDF

Info

Publication number
JP2022107874A
JP2022107874A JP2021002530A JP2021002530A JP2022107874A JP 2022107874 A JP2022107874 A JP 2022107874A JP 2021002530 A JP2021002530 A JP 2021002530A JP 2021002530 A JP2021002530 A JP 2021002530A JP 2022107874 A JP2022107874 A JP 2022107874A
Authority
JP
Japan
Prior art keywords
software
data
component
information
identification 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.)
Granted
Application number
JP2021002530A
Other languages
Japanese (ja)
Other versions
JP7546493B2 (en
Inventor
大生 伊藤
Daiki Ito
ティエンチエン レ
Tien Trien Le
昭吾 國岡
Shogo KUNIOKA
洋 津久井
Hiroshi Tsukui
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.)
Hitachi Construction Machinery Co Ltd
Original Assignee
Hitachi Construction Machinery 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 Hitachi Construction Machinery Co Ltd filed Critical Hitachi Construction Machinery Co Ltd
Priority to JP2021002530A priority Critical patent/JP7546493B2/en
Publication of JP2022107874A publication Critical patent/JP2022107874A/en
Application granted granted Critical
Publication of JP7546493B2 publication Critical patent/JP7546493B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

To support creation of software even when a user does not have expert knowledge.SOLUTION: An information processing device stores attribute information of software in association with a use record, and retrieves the attribute information of the software desired by a user to output it with the use record.SELECTED DRAWING: Figure 1

Description

本発明は、ユーザがソフトウェアを作成することを支援する技術に関する。 The present invention relates to technology for assisting users in creating software.

ネットワーク技術やセンシング技術の発展により、IoTデバイスを活用したデータ収集が進んでいる。近年においては、データ収集システムを通じて収集されたデータに対して、データサイエンティストと呼ばれるデータ分析に詳しい専門の技術者が、データを分析する。 With the development of network technology and sensing technology, data collection using IoT devices is progressing. In recent years, data collected through a data collection system is analyzed by a specialized engineer who is familiar with data analysis, called a data scientist.

このようなデータ収集システムを構築するにあたっては、プログラムに関して高い専門知識が必要である。たとえばC言語、C++言語、JAVA(登録商標)などのプログラミング言語でソースプログラムを作成し、それをコンパイラでコンパイルすることにより、コンピュータが実行可能なマシン語のプログラムが作られる。コンパイルが必要ないJAVASCRIPTなどのプログラミング言語も存在する。 Building such a data collection system requires a high degree of expertise in programming. For example, by creating a source program in a programming language such as C language, C++ language, or JAVA (registered trademark) and compiling it with a compiler, a computer-executable machine language program is created. There are also programming languages such as JAVASCRIPT that do not require compilation.

データ分析の目的や分析手法によって必要とされるデータは異なるので、複数のデータ収集システムが必要になる場面が想定される。しかしながら、システム作成には労力や工数が発生するので、必要な時にデータ収集システムの供給を受けることができない、また時間がかかるといった懸念がある。 Since the required data differs depending on the purpose and method of data analysis, it is assumed that multiple data collection systems will be required. However, since system creation requires labor and man-hours, there is a concern that a data collection system cannot be supplied when needed and that it takes time.

下記特許文献1は、プログラムの開発に必要な労力が少なく、高度な知識を必要とせずにプログラムを容易に作成できるデータ収集システムを提供する方法を開示している。 Patent Literature 1 below discloses a method of providing a data collection system that requires little effort to develop a program and can easily create a program without requiring advanced knowledge.

特許第4568262号公報Japanese Patent No. 4568262

特許文献1記載の技術により、ユーザは高度なプログラム設計技術や知識を必要とせずに、直接ソースコードを入力しなくても、データ収集プログラム、テーブル生成プログラム、およびテーブルアクセスプログラムを生成することが可能となる。しかしながら、その簡便性に起因して、有効ではないデータ収集システムが作成される可能性がある。一般的に、ソフトウェア開発において、効率的な開発のためには既存コンポーネントの再利用が有効とされているが、これはユーザが高度なプログラム設計技術や知識を持っていることが前提である。したがってコンポーネント再利用によって簡便にデータ収集システムを作成すると、収集効率や収集項目などの観点から必ずしも有用ではないデータ収集システムが生成される可能性がある。 With the technology described in Patent Document 1, the user can generate a data collection program, a table generation program, and a table access program without requiring advanced program design skills or knowledge and without directly entering source code. It becomes possible. However, its simplicity can create an ineffective data collection system. Generally, in software development, reuse of existing components is effective for efficient development, but this is based on the premise that users have advanced program design skills and knowledge. Therefore, if a data collection system is simply created by reusing components, there is a possibility that a data collection system that is not necessarily useful from the viewpoint of collection efficiency and collection items will be generated.

また、作成されたシステムがどのようなデータを収集しているかを把握しなければ、データ分析者が目的のシステムにたどり着けない可能性がある。しかし、すべてのシステムについてこれらの情報を把握することは難しい。したがって、ユーザがソフトウェアを作成することを支援できる仕組みが望まれている。 In addition, data analysts may not be able to arrive at the target system without understanding what kind of data the created system collects. However, it is difficult to grasp such information for all systems. Therefore, there is a demand for a mechanism that can assist users in creating software.

本発明は、上記事情に鑑みてなされたものであり、ユーザが専門知識を有していなくともソフトウェアを作成することを支援することを目的とする。 SUMMARY OF THE INVENTION The present invention has been made in view of the above circumstances, and an object of the present invention is to assist users in creating software even if they do not have specialized knowledge.

本発明に係る情報処理装置は、ソフトウェアの属性情報と使用実績を対応付けて格納しており、ユーザが所望するソフトウェアの属性情報を検索してその使用実績とともに出力する。 The information processing apparatus according to the present invention stores software attribute information and usage history in association with each other, retrieves software attribute information desired by the user, and outputs the information together with the usage history.

本発明に係る情報処理装置によれば、ユーザが専門知識を有していなくとも、ユーザのニーズに合致するとともに使用実績があるソフトウェアを容易に見つけることができる。これにより、ユーザがソフトウェア開発に関する専門知識を有していなくとも、有用なソフトウェアを作成することを支援できる。 According to the information processing apparatus of the present invention, even if the user does not have specialized knowledge, it is possible to easily find software that meets the user's needs and has a track record of use. As a result, it is possible to assist users in creating useful software even if they do not have expertise in software development.

実施形態1に係るソフトウェア作成支援システム1の全体構成図である。1 is an overall configuration diagram of a software creation support system 1 according to Embodiment 1. FIG. 管理データベース120が保持するデータテーブルの例を示す。4 shows an example of a data table held by the management database 120. FIG. ソフトウェア情報を登録するために用いるソフトウェア登録画面の例である。It is an example of a software registration screen used for registering software information. 管理装置140がソフトウェア情報を登録する手順を示すフローチャートである。4 is a flow chart showing a procedure for registering software information by the management device 140. FIG. 管理装置140が検索インデックスを作成して登録する手順を示すフローチャートである。4 is a flowchart showing a procedure for the management device 140 to create and register a search index; ソフトウェアの使用実績を登録するために用いる使用実績登録画面の例である。It is an example of a usage record registration screen used for registering the usage record of software. ソフトウェアを作成するようにユーザがソフトウェア作成支援システム1に対して指示する作成指示画面の例である。It is an example of a creation instruction screen on which the user instructs the software creation support system 1 to create software. ソフトウェアの作成支援の手順を示すシーケンス図である。FIG. 10 is a sequence diagram showing a procedure for supporting creation of software; 検索装置150による検索処理を説明するフローチャートである。4 is a flowchart for explaining search processing by the search device 150; ソフトウェアの作成支援の別手順を示すシーケンス図である。FIG. 11 is a sequence diagram showing another procedure of software creation support; 端末200に表示される管理画面の例を示す。4 shows an example of a management screen displayed on the terminal 200. FIG. 作成装置300がソフトウェアを作成する手順を示すフローチャートである。4 is a flow chart showing a procedure for the creation device 300 to create software. 実施形態2に係るソフトウェア作成支援システム1の構成図である。1 is a configuration diagram of a software creation support system 1 according to a second embodiment; FIG. 実施形態3に係るソフトウェア作成支援システム1の構成図である。FIG. 11 is a configuration diagram of a software creation support system 1 according to Embodiment 3;

<実施の形態1>
図1は、本発明の実施形態1に係るソフトウェア作成支援システム1の全体構成図である。ソフトウェア作成支援システム1は、ユーザがソフトウェア(以下、アプリと称する場合もある)を作成することを支援するシステムである。ここではユーザが作成するソフトウェアとして、ユーザが様々なデータを収集するために用いるデータ収集システムを例とする。
<Embodiment 1>
FIG. 1 is an overall configuration diagram of a software creation support system 1 according to Embodiment 1 of the present invention. The software creation support system 1 is a system that assists a user in creating software (hereinafter sometimes referred to as an application). Here, as software created by the user, a data collection system used by the user to collect various data is taken as an example.

ソフトウェア作成支援システム1は概略として、情報処理装置100、端末200、作成装置300、テンプレートデータベース310を備える。データ収集システム400は、ソフトウェア作成支援システム1が作成したデータ収集ソフトウェアを実行するシステムである。図1においては2つのデータ収集システム400aと400bを示した。これらシステムは同じ構成を有するので、これらを区別しないときはアルファベット添え字を省略する。 The software production support system 1 generally includes an information processing device 100 , a terminal 200 , a production device 300 and a template database 310 . The data collection system 400 is a system that executes data collection software created by the software creation support system 1 . Two data collection systems 400a and 400b are shown in FIG. Since these systems have the same structure, the alphabetic suffixes are omitted when they are not distinguished.

情報処理装置100は 、適宜なネットワーク10を介して、端末200、作成装置300、データ収集システム400と通信可能に接続されている。ソフトウェアの作成支援と管理は、情報処理装置100が実行主体となって実施する。作成装置300は、データ収集システム400を作成する実行主体である。 The information processing apparatus 100 is communicably connected to a terminal 200, a creation apparatus 300, and a data collection system 400 via an appropriate network 10. FIG. Software creation support and management are performed by the information processing apparatus 100 as an execution entity. The creation device 300 is an execution entity that creates the data collection system 400 .

端末200において、ユーザ(例えば作成されたソフトウェアを使用する予定になっている者)は、作成しようとするソフトウェアの属性情報を入力する。情報処理装置100はその入力を受け付けて後述のように処理する。端末200は、PC(Personal Computer)、タブレット端末、スマートフォン、携帯電話などのように、後述する表示・入力装置110が提供する情報について操作者が閲覧や操作することができる、コンピュータ端末である。 At the terminal 200, a user (for example, a person who is planning to use the created software) inputs attribute information of the software to be created. The information processing apparatus 100 receives the input and processes it as described later. The terminal 200 is a computer terminal such as a PC (Personal Computer), a tablet terminal, a smart phone, a mobile phone, etc., in which an operator can browse and operate information provided by a display/input device 110, which will be described later.

情報処理装置100は、管理データベース120に蓄積している過去に開発されたソフトウェアの属性情報を検索して利用者に提示することにより、利用者へ過去のソフトウェアを再利用するように促した上で、そのソフトウェアを配布するように作成装置300へ指示する。 The information processing apparatus 100 searches the attribute information of the software developed in the past accumulated in the management database 120 and presents it to the user, thereby prompting the user to reuse the past software. Then, the creating device 300 is instructed to distribute the software.

作成装置300は、情報処理装置100から受け渡されたソフトウェアの属性情報に基づいて、ソフトウェアを生成・提供するサーバ装置である。作成装置300は、仮想化されたソフトウェア機能、プラットフォーム機能、ハードウェア機能などの各種ソフトウェア実行用の機能を提供し、ソフトウェアを提供するとともにサービスを提供している。本実施形態においては、作成装置300が、仮想化されたWEBサーバ、ソフトウェアサーバ、データベースサーバなど、各種ソフトウェア実行用のプラットフォーム機能と、その上で実行されるソフトウェアを実行することを想定する。 The creation device 300 is a server device that creates and provides software based on the attribute information of the software passed from the information processing device 100 . The creation device 300 provides functions for executing various types of software such as virtualized software functions, platform functions, and hardware functions, and provides software and services. In this embodiment, it is assumed that the creation device 300 executes platform functions for executing various software such as virtualized WEB servers, software servers, database servers, etc., and software executed thereon.

情報処理装置100は、表示・入力装置110、実績収集装置130、管理装置140、検索装置150、実行装置160を備える。これら各装置はハードウェアとして実装することもできるし、情報処理装置100が備えるプログラムを演算装置が実行することによって実装することもできる。以下では記載の便宜上、これらを「装置」と表記するが、これらの実装はハードウェアによるものに限らない。 The information processing device 100 includes a display/input device 110 , a result collection device 130 , a management device 140 , a search device 150 and an execution device 160 . Each of these devices can be implemented as hardware, or can be implemented by an arithmetic device executing a program provided in the information processing device 100 . For convenience of description, these will be referred to as "devices" below, but their implementation is not limited to hardware.

表示・入力装置110は、端末200に対し、GUI(Graphical User Interface)、API(Application Programming Interface)、CLI(Command Line Interface)などのような、入出力用のインターフェースを提供する。表示・入力装置110は、このインターフェースを介して、ソフトウェアを作成するための設定や作成されたソフトウェアを検索するための検索キーワードなどに関する入出力動作を受け付ける。端末200は、表示・入力装置110が提供するインターフェースを介して、情報の閲覧や操作をユーザに実行させる。 The display/input device 110 provides the terminal 200 with an input/output interface such as a GUI (Graphical User Interface), an API (Application Programming Interface), and a CLI (Command Line Interface). The display/input device 110 receives input/output operations related to settings for creating software and search keywords for searching created software via this interface. The terminal 200 allows the user to browse information and perform operations via an interface provided by the display/input device 110 .

実績収集装置130は、端末200から入力されたソフトウェアやコンポーネントの使用実績を収集するための設定に基づいて、ソフトウェアやコンポーネントの使用実績を収集する。 The history collection device 130 collects the usage history of software and components based on the settings for collecting the usage history of software and components input from the terminal 200 .

管理装置140は、(a)端末200から入力された設定に基づいて、管理データベース120にソフトウェアの属性情報を新しく登録する機能、(b)実績収集装置130にて収集された情報と端末200から入力された情報に基づいて、管理データベース120にソフトウェアとコンポーネントの使用実績を新しく登録する機能、(c)端末200を通じて作成されたソフトウェアやコンポーネントの情報を表示する機能、を備える。 The management device 140 has (a) a function of newly registering software attribute information in the management database 120 based on the settings input from the terminal 200, and (b) information collected by the performance collection device 130 and It has a function of newly registering usage records of software and components in the management database 120 based on the input information, and (c) a function of displaying information on software and components created through the terminal 200 .

検索装置150は、(a)端末200から入力された検索対象を特定する検索キーワードやソフトウェアを作成するための設定に基づいて、管理データベース120から適したソフトウェア(またはソフトウェアを構成するコンポーネント)を検索する機能、(b)検索の結果、複数のソフトウェアまたはコンポーネントの候補を特定した場合、この複数の候補の中で適性順位がより高いソフトウェア、またはコンポーネントを複数の候補から特定する機能、を備える。適性順位は、管理データベース120のソフトウェア使用実績テーブル520、またはコンポーネント使用実績テーブル540(後述)を参照することによって、決定できる。 The search device 150 (a) searches for suitable software (or components constituting the software) from the management database 120 based on search keywords specifying a search target input from the terminal 200 and settings for creating software. (b) when a plurality of software or component candidates are identified as a result of the search, a function of identifying the software or component with the highest aptitude ranking among the plurality of candidates from the plurality of candidates. The aptitude ranking can be determined by referring to the software usage history table 520 of the management database 120 or the component usage history table 540 (described later).

実行装置160は、端末200から入力された設定に基づいて、後述する作成装置300に対して、ソフトウェアをデプロイするように指示する。 Based on the settings input from the terminal 200, the execution device 160 instructs the creation device 300, which will be described later, to deploy the software.

情報処理装置100のハードウェア構成としては、(a)SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置、(b)RAMなど揮発性記憶素子で構成されるメモリ、(c)記憶装置に保持されるプログラムをメモリに読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を実施するCPUなどの演算装置、(d)処理データの表示を行うディスプレイ等の出力装置、(e)ネットワーク10と接続し他装置との通信処理を担う通信装置、を備える。 The hardware configuration of the information processing apparatus 100 includes (a) a storage device configured with appropriate nonvolatile storage elements such as a solid state drive (SSD) and a hard disk drive, and (b) configured with a volatile storage element such as a RAM. (c) Arithmetic device such as a CPU that reads out and executes programs stored in a storage device, performs overall control of the device itself, and performs various judgments, calculations, and control processing, (d) Processing data and (e) a communication device connected to the network 10 and responsible for communication processing with other devices.

作成装置300は、端末200から入力された設定に基づいて、データ収集ソフトウェアを生成する。データ収集ソフトウェアは、データ収集内容を携帯端末420に表示させ、収集結果を受け付けるためのソフトウェアである。作成装置300は、ネットワーク10を介してデータ収集ソフトウェアを携帯端末420に対して提供する。作成装置300はさらに、データレイク生成プログラムとデータ管理ソフトウェアを作成する。データレイク生成プログラムは、ネットワーク10を介して携帯端末420から収集結果を受信し格納するためのデータレイクを作成するプログラムである。データ管理ソフトウェアは、データレイクからデータを抽出し適宜ユーザに提供するための管理機能を有する。作成装置300は、ネットワーク10を介してデータレイク生成プログラムとデータ管理ソフトウェアをデータ管理装置410に対して提供する。データ収集作業者は、そのデータ収集ソフトウェアを実行することにより収集されたデータを携帯端末420上で閲覧することができる。収集データはネットワーク10を通じてデータ管理装置410によって収集される。 The creation device 300 creates data collection software based on settings input from the terminal 200 . The data collection software is software for displaying data collection contents on the mobile terminal 420 and accepting collection results. The creation device 300 provides data collection software to the mobile terminal 420 via the network 10 . The production device 300 also produces a data lake generation program and data management software. The data lake generation program is a program that generates a data lake for receiving and storing collection results from mobile terminal 420 via network 10 . Data management software has management functions for extracting data from the data lake and providing it to users in a timely manner. The creation device 300 provides the data lake generation program and data management software to the data management device 410 via the network 10 . A data collection worker can view the collected data on the mobile terminal 420 by executing the data collection software. Collected data is collected by the data management device 410 through the network 10 .

携帯端末420は、パーソナルコンピュータ、スマートフォン、タブレット端末装置等の携帯可能な携帯装置である。より具体的には、携帯端末420は、データ収集者がデータを収集する時に携帯し、データ収集ソフトウェアを実行することにより表示されたデータ収集内容に基づいてデータ収集を実施し、データ管理装置410へデータを送信するために利用される。データ収集者は、携帯端末420のカメラを利用して対象物を撮影したり、携帯端末420のマイクを利用して対象の音を録音したり、携帯端末420に表示された入力フォームに対してキーパッドなどを利用して携帯端末420に入力したりする。これらの画像、音声、およびデータ収集者に直接入力された情報以外に取得される情報としては、携帯端末420の加速度センサ、地磁気センサ、GPS(Global Positioning System)ユニットなどの内蔵のセンサの他、外付けセンサで取得される情報も挙げられる。これらの情報の取得は、データ収集者が意図的に収集する以外に、データ収集ソフトウェアにより自動的に情報収集してもよい。たとえば、携帯端末420のGPSユニットを用いて、自動的に位置情報を取得してもよい。 The mobile terminal 420 is a portable device such as a personal computer, a smart phone, a tablet terminal device, or the like. More specifically, the portable terminal 420 is carried by the data collector when collecting data, and collects data based on the data collection contents displayed by executing the data collection software, and the data management device 410 Used to send data to The data collector uses the camera of the mobile terminal 420 to photograph the object, uses the microphone of the mobile terminal 420 to record the sound of the object, or responds to the input form displayed on the mobile terminal 420. Input to the portable terminal 420 using a keypad or the like. In addition to these images, voices, and information directly input by the data collector, the information acquired includes built-in sensors such as the acceleration sensor, geomagnetic sensor, and GPS (Global Positioning System) unit of the mobile terminal 420, Information acquired by an external sensor is also included. Acquisition of these information may be done automatically by data collection software, in addition to being intentionally collected by a data collector. For example, the GPS unit of mobile terminal 420 may be used to automatically obtain location information.

携帯端末420のハードウェア構成の1例としては、上述の演算装置と、上述のメモリと、上述の記憶装置と、上述の通信装置と、を備える。データを取得する手段として例えば、加速度センサと、ジャイロセンサと、地磁気センサと、カメラと、マイクと、GPSユニットと、を備える。ユーザインターフェースとして、入力を受け付ける入力装置と、出力装置と、を備える。記憶装置内には、本実施形態の携帯端末420として必要な機能を実現するプログラムが格納される。 An example of a hardware configuration of the mobile terminal 420 includes the arithmetic device described above, the memory described above, the storage device described above, and the communication device described above. As means for acquiring data, for example, an acceleration sensor, a gyro sensor, a geomagnetic sensor, a camera, a microphone, and a GPS unit are provided. As a user interface, an input device for receiving input and an output device are provided. The storage device stores a program that implements the necessary functions of the mobile terminal 420 of this embodiment.

データ管理装置410のハードウェア構成に関しては、上述の情報処理装置100と同様であるので、割愛する。後述のとおり、データ管理装置410に関しては、仮想的なハードウェア機能を用いて実現されてもよい。データ管理装置410の記憶装置内には、本実施形態のデータ管理装置410として必要な機能を実現するプログラムが格納される。 Since the hardware configuration of the data management device 410 is the same as that of the information processing device 100 described above, the description is omitted. As will be described later, the data management device 410 may be implemented using virtual hardware functions. The storage device of the data management device 410 stores a program that implements the functions necessary for the data management device 410 of this embodiment.

図2は、管理データベース120が保持するデータテーブルの例を示す。管理データベース120は、既に作成されたソフトウェアの説明やソフトウェアを作成するために入力されたパラメータ(ソフトウェア上で実装される収集コンポーネントや収集項目など)の情報、およびソフトウェアの使用実績を管理するデータベースである。管理データベース120は、ソフトウェア情報テーブル510、ソフトウェア使用実績テーブル520、コンポーネント情報テーブル530、およびコンポーネント使用実績テーブル540を格納している。 FIG. 2 shows an example of a data table held by the management database 120. As shown in FIG. The management database 120 is a database that manages descriptions of software that has already been created, information on parameters (collection components implemented on software, collection items, etc.) input to create software, and usage history of software. be. The management database 120 stores a software information table 510, a software usage history table 520, a component information table 530, and a component usage history table 540. FIG.

ソフトウェア情報テーブル510は、ソフトウェアの固有の識別子であるソフトウェアID511をキーとして、該当ソフトウェアの名前を示すソフトウェア名512、該当ソフトウェアの説明を示すソフトウェア説明513、後述する検索語514、該当ソフトウェアを作成した作成者515、の各値を対応付けたレコードの集合体となっている。ソフトウェアID511およびソフトウェア名512は必須の値である。 The software information table 510 has a software ID 511, which is a unique identifier of software, as a key, a software name 512 indicating the name of the corresponding software, a software description 513 indicating the description of the corresponding software, a search term 514 to be described later, and the corresponding software. It is an aggregate of records in which each value of creator 515 is associated. The software ID 511 and software name 512 are required values.

ソフトウェア使用実績テーブル520は、ソフトウェア使用実績の固有の識別子であるソフトウェア使用実績ID521をキーとして、該当ソフトウェアの収集データ数を示すデータ数522、該当ソフトウェアの利用者数を示すソフトウェア利用者数523、該当ソフトウェアが最後に更新された日付を示す最終更新日524、該当ソフトウェアの最新のデータ収集日を示す最新のデータ収集日525、該当ソフトウェアのデータを収集したデータ収集者から与えられたデータ収集者評価526、該当ソフトウェアの収集データを分析したデータ分析者から与えられたデータ分析者評価527、の各値を対応付けたレコードの集合体となっている。ソフトウェア使用実績ID521、最終更新日524は必須の値である。 The software usage history table 520 uses a software usage history ID 521, which is a unique identifier of the software usage history, as a key, and includes data number 522 indicating the number of collected data of the corresponding software, software user number 523 indicating the number of users of the software, Last update date 524 indicating the date when the applicable software was last updated, Latest data collection date 525 indicating the latest data collection date of the applicable software, Data collector given by the data collector who collected the data of the applicable software It is a set of records in which each value of the evaluation 526 and the data analyst evaluation 527 given by the data analyst who analyzed the collected data of the software are associated with each other. The software usage record ID 521 and the last update date 524 are essential values.

コンポーネント情報テーブル530は、コンポーネントの固有の識別子であるコンポーネントID531をキーとして、該当コンポーネントの名前を示すコンポーネント名532、該当コンポーネントの説明を示すコンポーネント説明533、後述する検索語534、該当コンポーネントを作成した作成者535、の各値を対応付けたレコードの集合体となっている。コンポーネントID531およびコンポーネント名532は必須の値である。 In the component information table 530, a component ID 531, which is a unique identifier of a component, is used as a key to create a component name 532 indicating the name of the corresponding component, a component description 533 indicating the description of the corresponding component, a search term 534 to be described later, and the corresponding component. It is an aggregate of records in which each value of creator 535 is associated. Component ID 531 and Component Name 532 are required values.

コンポーネント使用実績テーブル540は、コンポーネント使用実績の固有の識別子であるコンポーネント使用実績ID541をキーとして、該当コンポーネントが使用されているソフトウェア数を示すソフトウェア使用数542、該当コンポーネントが最後に更新された日付を示す最終更新日543、該当コンポーネントの最新のデータ収集日を示す最新のデータ収集日544、該当コンポーネントのデータを収集したデータ収集者から与えられたデータ収集者評価545、該当コンポーネントの収集データを分析した分析者から与えられたデータ分析者評価546、の各値を対応付けたレコードの集合体となっている。コンポーネント使用実績ID541、最終更新日543は必須の値である。 The component usage history table 540 uses a component usage history ID 541, which is a unique identifier of the component usage history, as a key, a software usage number 542 indicating the number of pieces of software in which the corresponding component is used, and the date when the corresponding component was last updated. The last update date 543 indicated, the latest data collection date 544 indicating the latest data collection date of the corresponding component, the data collector evaluation 545 given by the data collector who collected the data of the corresponding component, and the collected data of the corresponding component are analyzed. It is a set of records in which each value of the data analyst evaluation 546 given by the analyst who performed the analysis is associated with each other. The component usage history ID 541 and the last update date 543 are essential values.

以下、本実施形態におけるソフトウェアの作成支援・管理方法の実施手順について説明する。以下で説明するソフトウェアの作成支援・管理方法に対応する各種動作は、情報処理装置100がメモリ等に読み出して実行するプログラムによって実現される。このプログラムは、以下に説明される各種の動作を実施するためのコードから構成されている。 The procedure for implementing the software creation support/management method according to the present embodiment will be described below. Various operations corresponding to the software creation support/management method described below are implemented by a program that the information processing apparatus 100 reads into a memory or the like and executes. This program consists of code for performing various operations described below.

図3は、ソフトウェア情報を登録するために用いるソフトウェア登録画面の例である。ソフトウェア登録画面は、すでに開発されたソフトウェアの属性情報を登録するために用いるものであり、端末200上に表示される。端末200上で所定の操作を行うことにより、図3の登録画面が表示される。ソフトウェアの属性としては、そのソフトウェアが有するコンポーネントおよびそのコンポーネントの属性情報を含むものとする。登録画面は情報処理装置100が提供してもよいし、端末200上のアプリケーションが提供してもよい。 FIG. 3 is an example of a software registration screen used for registering software information. The software registration screen is used for registering attribute information of already developed software, and is displayed on terminal 200 . By performing a predetermined operation on the terminal 200, the registration screen of FIG. 3 is displayed. Attributes of software include components possessed by the software and attribute information of the components. The registration screen may be provided by the information processing apparatus 100 or may be provided by an application on the terminal 200 .

ソフトウェア基本情報入力領域610は、「ソフトウェア名」「ソフトウェア説明」「作成者名・部署」などのように、ソフトウェアの基本属性パラメータをそれぞれ入力する領域である。 The software basic information input area 610 is an area for inputting basic attribute parameters of the software, such as "software name", "software description", and "creator name/department".

コンポーネント基本情報入力領域611は、「コンポーネントの名称」「コンポーネントの説明」「コンポーネントタイプ」を選択・入力する領域である。コンポーネント設定領域612は、コンポーネントのタイプに応じて表示文や収集データのフィールド名、収集する際の設定などを入力する領域である。コンポーネント情報領域613は、コンポーネント基本情報入力領域611とコンポーネント設定領域612をコンポーネントごとにまとめたものである。コンポーネント追加ボタン614を押下すると、コンポーネント情報領域613が1つ追加される。コンポーネント削除ボタン615を押下すると、コンポーネント情報領域613が1つ削除される。登録開始ボタン616を押下すると、端末200は入力した情報を管理データベース120へ送信する。図3においては、3つのコンポーネントそれぞれのコンポーネント情報領域613を例示している。図3において、コンポーネント基本情報入力領域611、コンポーネント設定領域612、コンポーネント情報領域613はそれぞれ複数存在するので、添え字a~cによって区別している。 The component basic information input area 611 is an area for selecting and inputting "component name", "component description", and "component type". A component setting area 612 is an area for inputting display sentences, field names of collected data, settings for collecting, etc. according to the type of component. A component information area 613 is obtained by putting together the component basic information input area 611 and the component setting area 612 for each component. When the component addition button 614 is pressed, one component information area 613 is added. When the component delete button 615 is pressed, one component information area 613 is deleted. When registration start button 616 is pressed, terminal 200 transmits the entered information to management database 120 . FIG. 3 illustrates component information areas 613 for each of the three components. In FIG. 3, since there are a plurality of component basic information input areas 611, component setting areas 612, and component information areas 613, they are distinguished by subscripts a to c.

コンポーネントタイプ選択ボックス620は、利用するコンポーネントのタイプを指定するためのボックスである。選択可能なコンポーネントのタイプとしては、例えばユーザにテキスト入力させるテキストボックスのコンポーネント(図中ではテキストと表記)、複数の選択肢の中からユーザに選択させる選択肢のコンポーネント(図中では選択肢と表記)、マイクを用いてユーザに音声を録音させる音声のコンポーネント(図中では音声と表記)、などがある。希望する任意のタイプをコンポーネントタイプ選択ボックス620から選択することにより、選択したタイプに応じたコンポーネント設定領域612が表示される。 A component type selection box 620 is a box for designating the type of component to be used. Types of components that can be selected include, for example, a text box component that allows the user to enter text (denoted as text in the figure), a choice component that allows the user to select from among multiple options (denoted as option in the figure), There is an audio component (denoted as audio in the figure) that allows the user to record audio using a microphone. By selecting any desired type from the component type selection box 620, a component setting area 612 corresponding to the selected type is displayed.

第1コンポーネント情報領域613aは、コンポーネントタイプとして「テキスト」を選択した場合の表示例である。第1コンポーネント設定領域612aには、データベースに格納する際のフィールド名を入力するためのフィールド名入力領域621、テキストボックスに入力する内容をユーザに対してガイドする表示文入力領域622が設けられている。図示の例では、テキストコンポーネントにより、ユーザに機種IDの入力を促す表示文を提示し、収集結果をフィールド名MachineIDとして格納する。 The first component information area 613a is a display example when "text" is selected as the component type. The first component setting area 612a is provided with a field name input area 621 for inputting a field name to be stored in the database, and a display text input area 622 for guiding the user in what to input in the text box. there is In the illustrated example, the text component presents a display sentence prompting the user to enter the model ID, and stores the collection result as the field name MachineID.

第2コンポーネント情報領域613bは、コンポーネントタイプとして「選択肢」を選択した場合の表示例である。第2コンポーネント設定情報領域612bには、データベースに格納する際のフィールド名を入力するためのフィールド名入力領域、ユーザに提示する選択肢を設定する回答入力領域623、回答入力領域623を追加する回答追加ボタン624、回答入力領域623を削除する回答削除ボタン625、が設けられている。図示の例では、選択肢コンポーネントにより、ユーザに部位の選択を促す表示文を提示し、ユーザがポンプやエンジンなどの選択肢から選択し、収集結果をフィールド名Componentとして格納する。 The second component information area 613b is a display example when "choice" is selected as the component type. In the second component setting information area 612b, a field name input area for inputting a field name to be stored in the database, an answer input area 623 for setting options to be presented to the user, and an answer addition area 623 are added. A button 624 and an answer delete button 625 for deleting the answer input area 623 are provided. In the illustrated example, the option component presents a display text prompting the user to select a part, the user selects from options such as a pump or an engine, and the collected results are stored as the field name Component.

第3コンポーネント情報領域613cは、コンポーネントタイプとして「音声」を選択した場合の表示例である。第3コンポーネント設定情報領域612cには、マイクにより録音するときのサンプリングレートを設定するサンプリングレート入力領域627、ユーザに提示する録音条件を入力するための条件入力領域628が設けられている。図示の例では、音声コンポーネントにより、サンプリングレート44.1kHzで、対象から1m離れた場所で録音することをユーザに促す。 The third component information area 613c is a display example when "audio" is selected as the component type. The third component setting information area 612c is provided with a sampling rate input area 627 for setting the sampling rate when recording with a microphone, and a condition input area 628 for inputting recording conditions to be presented to the user. In the example shown, the audio component prompts the user to record at a sampling rate of 44.1 kHz and at a distance of 1 m from the subject.

これらコンポーネントは、過去に作成されたコンポーネントであり、後述する作成装置300が作成できるものである。コンポーネント設定情報領域は、適用するコンポーネントごとに変更される場合がある。たとえば、同じ音声を集めるコンポーネントにおいても、ユーザへ1m離れた場所へ行くことを促すことに追加して、実際に加速度センサやカメラを用いて、ユーザが対象物から1m離れているか判断し、その場合にのみ録音を可能とするコンポーネントも考えられる。これらは別々のコンポーネントと扱われるので、コンポーネントタイプ選択ボックス620において別々のタイプとして扱われる。 These components are components that have been created in the past, and can be created by the creation device 300, which will be described later. The component setting information area may change for each applied component. For example, in the component that collects the same sound, in addition to prompting the user to go to a place 1m away, an acceleration sensor or camera is actually used to determine if the user is 1m away from the object, A component is also conceivable that allows recording only when Since these are treated as separate components, they are treated as separate types in the component type selection box 620 .

登録者が、図3の画面において、ソフトウェア基本情報入力領域610、コンポーネント情報領域613を入力し、登録開始ボタン616を押すと、管理装置140は情報登録を開始する。登録者がマニュアル入力することに代えて、設定ファイル読み込み領域を設け、ソフトウェア情報を記述した設定情報ファイルを読み込むことにより、自動入力されるようにしてもよい。設定ファイルの形式はJSON形式やCSVなどの任意の形式でよい。 When the registrant enters the software basic information input area 610 and the component information area 613 on the screen of FIG. 3 and presses the registration start button 616, the management device 140 starts information registration. Instead of manual input by the registrant, a setting file reading area may be provided and a setting information file describing software information may be read to automatically input. The configuration file may be in any format such as JSON format or CSV format.

図4は、管理装置140がソフトウェア情報を登録する手順を示すフローチャートである。ユーザが図3の画面を用いて入力したパラメータを表示・入力装置110が受け付けると、管理装置140は本フローチャートを開始する。 FIG. 4 is a flow chart showing a procedure for the management device 140 to register software information. When the display/input device 110 receives the parameters input by the user using the screen of FIG. 3, the management device 140 starts this flowchart.

管理装置140は、まず入力されたパラメータを取り込む(S101)。検索装置150はコンポーネント毎(S102)に、既に管理データベース120に登録済みの既存コンポーネントかどうかを確認する(S103)。既存コンポーネントでなければ、コンポーネントIDを付与して(S104)、管理データベース120のコンポーネント情報テーブル530に登録する(S105)。コンポーネント情報テーブル530において必須の項目以外が入力されていない場合、初期値としてNULLを設定する。既存コンポーネントの場合はS104~S105を実施しない。以上のS102~S105の動作をコンポーネント毎に繰り返す。 The management device 140 first takes in the input parameters (S101). The search device 150 checks for each component (S102) whether it is an existing component that has already been registered in the management database 120 (S103). If the component is not an existing component, it is given a component ID (S104) and registered in the component information table 530 of the management database 120 (S105). If items other than essential items are not entered in the component information table 530, NULL is set as the initial value. In the case of an existing component, S104-S105 are not performed. The above operations of S102 to S105 are repeated for each component.

コンポーネントごとの処理が完了した後に(S106)、検索装置150は、既に管理データベース120に登録済みの既存ソフトウェアかどうかを確認する(S107)。既存ソフトウェアでなければ、ソフトウェアIDを付与して(S108)、管理データベース120のソフトウェア情報テーブル510に登録する(S109)。ソフトウェア情報テーブル510において必須の項目以外が入力されていない場合、初期値としてNULLを設定する。既存ソフトウェアの場合はS108~S109を実施しない。 After the processing for each component is completed (S106), the search device 150 checks whether it is existing software that has already been registered in the management database 120 (S107). If it is not existing software, it is given a software ID (S108) and registered in the software information table 510 of the management database 120 (S109). If items other than essential items are not entered in the software information table 510, NULL is set as the initial value. In the case of existing software, S108 and S109 are not performed.

以上の処理により、ユーザが図3の画面を用いて入力したパラメータに基づいて、各コンポーネントとソフトウェアの属性情報が、管理データベース120のソフトウェア情報テーブル510とコンポーネント情報テーブル530に設定される。 Through the above processing, attribute information of each component and software is set in the software information table 510 and the component information table 530 of the management database 120 based on the parameters input by the user using the screen of FIG.

図5は、管理装置140が検索インデックスを作成して登録する手順を示すフローチャートである。この処理は、図4の登録処理と同様に、ユーザが図3の画面を用いて入力したパラメータを表示・入力装置110が受け付け、管理装置140がそのパラメータを読み込み、該当のパラメータから検索用のキーワードを抽出し、管理データベース120の検索語514または534として登録する処理である。 FIG. 5 is a flowchart showing a procedure for the management device 140 to create and register a search index. 4, the display/input device 110 accepts the parameters input by the user using the screen of FIG. 3, the management device 140 reads the parameters, This is a process of extracting keywords and registering them as search terms 514 or 534 in the management database 120 .

管理装置140は、表示・入力装置110からパラメータを受け付け(S201)、コンポーネント毎(S202)に以下を実施する。まず、取り込んだファイルの書式や書かれている言語特性を把握する(S203)。日本語の場合、日本語の特徴に合せて、文節毎に区切って、キーワードを抽出していく。その後、助詞や助動詞などを分離し、特徴のあるキーワードのみを抽出する(S204)。あらかじめ特徴語のリストを用意しておき、それを重点的に抽出してもよい。たとえば、建設現場においてデータ収集するソフトウェアに関しては、寒冷地や通常地などの想定される条件に関する単語や、エンジンやポンプなどの機械の部位に関する単語が、特徴語の候補として考えられる。事前に特徴語を抽出するようなモデルを作成してもよい。モデルを構築するための統計量の1例として、TF-IDFを用いてもよい。これは、文章中で多く使われている単語の内、他の文章においてあまり使用されていない単語が大きな値となる指標である。この指標は、「ある文章中において出現頻度が多い単語は重要な単語である」という仮定に基づく。ソフトウェアが属しているカテゴリの情報、ソフトウェア名、および説明文に含まれる名詞(言葉または文字列)の出現頻度を学習させ、モデル化することにより、ソフトウェアの特徴語を算出してもよい。同じ目的を達成するソフトウェアは、同じカテゴリに属していると考えられ、同様に、同じ目的を達成するならば、ソフトウェア名や説明文に対して、ソフトウェアの特性を表すキーワードの出現頻度が似ている傾向があるからと想定されるからである。管理装置140は、抽出したキーワードを検索語としてコンポーネント情報テーブル530に登録する(S205)。 The management device 140 receives parameters from the display/input device 110 (S201), and performs the following for each component (S202). First, the format of the imported file and the language characteristics in which it is written are grasped (S203). In the case of Japanese, keywords are extracted by segmenting each phrase according to the characteristics of Japanese. After that, particles and auxiliary verbs are separated, and only characteristic keywords are extracted (S204). A list of feature words may be prepared in advance and extracted with priority. For example, for software that collects data at a construction site, words related to assumed conditions such as cold regions and normal regions, and words related to parts of machines such as engines and pumps are considered as candidates for feature words. A model that extracts feature words in advance may be created. TF-IDF may be used as an example of statistics for building the model. This is an index in which, among words that are frequently used in a sentence, words that are rarely used in other sentences have a large value. This index is based on the assumption that "a word that appears frequently in a sentence is an important word". Software feature words may be calculated by learning and modeling information on the category to which the software belongs, the name of the software, and the frequency of appearance of nouns (words or character strings) included in the description. Software that achieves the same purpose is considered to belong to the same category. This is because it is assumed that there is a tendency to The management device 140 registers the extracted keyword as a search term in the component information table 530 (S205).

コンポーネントごとの処理が完了した後に(S206)、パラメータ全体を用いて、ソフトウェアに関するパラメータの言語特性を把握し(S207)、ソフトウェアの特徴語を抽出し(S208)、抽出したキーワードを検索語としてソフトウェア情報テーブル510に登録する(S209)。特徴語を抽出する手法は、コンポーネントの特徴語を抽出する手法と同じである。 After the processing for each component is completed (S206), the entire parameters are used to grasp the language characteristics of the parameters related to the software (S207), the feature words of the software are extracted (S208), and the extracted keywords are used as search words for the software. It is registered in the information table 510 (S209). The technique for extracting feature words is the same as the technique for extracting feature words for components.

以上の処理により、ユーザが図3の画面を用いて入力したパラメータから抽出された、各コンポーネントとソフトウェアの検索キーワードが、管理データベース120のソフトウェア情報テーブル510とコンポーネント情報テーブル530に検索インデックス(検索語514と534)として設定される。これにより、特徴語による検索が可能となるので、効果的な検索が可能となる。 Through the above processing, the search keywords for each component and software extracted from the parameters input by the user using the screen of FIG. 514 and 534). As a result, it becomes possible to perform a search using characteristic words, thereby enabling an effective search.

図3の画面に対してユーザが入力する内容に応じて、抽出される特徴語は異なる。適切な特徴語を抽出するためには、図3の画面における入力方法を指定すると望ましい。たとえば、必須の項目を設定するほか、入力文字数の下限を設定し、それ以上の文字数であることを強制してもよい。また、上述の特徴語抽出処理を用いて、該当のアプリまたはコンポーネントの情報からどのような特徴語が登録されるかをリアルタイムで表示してもよいし、下記で説明する検索処理により過去の類似の登録情報を検索し、参考情報として提示してもよい。 Different feature words are extracted according to the content input by the user on the screen of FIG. In order to extract appropriate feature words, it is desirable to specify the input method on the screen of FIG. For example, in addition to setting mandatory items, you may set a lower limit on the number of characters that can be entered and force the number of characters to exceed the upper limit. In addition, using the feature word extraction process described above, what kind of feature words are registered from the information of the corresponding application or component may be displayed in real time. may be searched for and presented as reference information.

ユーザとしては、適切な特徴語が登録されるように、入力する情報を適切に選択する必要がある。たとえば、機械のエンジンの異常診断のために、エンジンの稼働音を収集する目的のアプリを登録する場合、「アプリ名」に「エンジンの稼働音収集アプリ」、「アプリ説明」に「稼働音を用いたエンジンの異常診断用です」などのように、アプリの収集目的が分かるように入力内容を選択することが望ましい。上記のエンジンの稼働音を収集する目的のアプリを構成するコンポーネントを登録する場合、「コンポーネント名」に「エンジンの稼働音収集」、「コンポーネント説明」に「エンジンの稼働音収集用です」などのように、コンポーネントの収集対象に関する情報が分かるように入力内容を選択することが望ましい。図3の表示例では、寒冷地や通常地などの想定される条件に関する単語や、エンジンやポンプなどの機械の部位に関する単語を「名称」または「説明」に入力することが、適切な特徴語を抽出するために有効である。 As a user, it is necessary to appropriately select information to be input so that appropriate characteristic words are registered. For example, when registering an application for the purpose of collecting engine operating sounds for the purpose of diagnosing machine engine abnormalities, set "App Name" to "Engine Operating Sound Collection App" and "App Description" to "Operating Sounds". It is desirable to select the input content so that the purpose of collection of the application can be understood, such as "This is for diagnosing abnormalities in the engine used." When registering a component that constitutes an application for the purpose of collecting engine operating sounds, the "Component name" should be "Engine operating sound collection", and the "Component description" should be "For engine operating sound collection". As such, it is desirable to select input content that provides information about what the component collects. In the display example of FIG. 3, it is appropriate to input words related to assumed conditions such as cold regions or ordinary regions, or words related to parts of machines such as engines and pumps, in the "name" or "description" field. is useful for extracting

図6は、ソフトウェアの使用実績を登録するために用いる使用実績登録画面の例である。使用実績登録画面は、すでに開発されたソフトウェアの使用実績を登録するために用いる画面であり、端末200上に表示される。端末200上で所定の操作を行うことにより、図6の画面が表示される。 FIG. 6 is an example of a usage history registration screen used for registering software usage history. The usage history registration screen is a screen used for registering the usage history of already developed software, and is displayed on the terminal 200 . By performing a predetermined operation on the terminal 200, the screen of FIG. 6 is displayed.

収集条件入力領域630は、収集方法を手入力/自動から選択し、収集対象をソフトウェア/コンポーネントから選択し、該当のIDを選択する領域である。諸情報入力領域631は、選択された登録方法に応じてユーザがAPI(Application Program Interface)の設定を入力する領域である。格納情報入力領域632は、収集された使用実績の登録形式を設定する領域、登録開始ボタン633は、使用実績の登録を開始するボタンである。 A collection condition input area 630 is an area for selecting a collection method from manual input/automatic input, selecting a collection target from software/components, and selecting a corresponding ID. The various information input area 631 is an area where the user inputs API (Application Program Interface) settings according to the selected registration method. A storage information input area 632 is an area for setting the registration format of the collected usage history, and a registration start button 633 is a button for starting registration of the usage history.

収集方法選択ボックス634は、利用する実績収集の方法を選択するボックスである。選択可能な収集方法としては例えば、(a)格納情報入力領域632を介してユーザに使用実績をテキスト入力させる「手入力」方法、(b)一般に各種のソフトウェアにあらかじめ所定の処理を実現するために用意されているAPIを用いて、ソフトウェアに格納されている、該当ソフトウェアの最終更新日、該当ソフトウェアの最新のデータ収集日、などの使用実績を取得する「自動」方法、がある。自動のタイプを収集方法選択ボックス634から選択することにより、諸情報入力領域631が表示される。 A collection method selection box 634 is a box for selecting a method of collecting results to be used. Examples of collection methods that can be selected include (a) a "manual input" method in which the user inputs the usage record as text via the stored information input area 632, and (b) generally for realizing predetermined processing in various software. There is an "automatic" method of obtaining usage history stored in the software, such as the date the software was last updated, the date the software was last collected, etc., using APIs provided in . By selecting the automatic type from collection method selection box 634, information input area 631 is displayed.

登録者が、図6の画面において、収集条件入力領域630、諸情報入力領域631、格納情報入力領域632を入力し、登録開始ボタン633を押すと、実績収集装置130は情報収集の処理を開始する。図3と同様に設定ファイルによって自動入力してもよい。後述する作成装置300が登録処理を実施する場合は、端末200を介さずに、自動で作成装置300より各情報が入力され、登録指示がなされる。 When the registrant enters the collection condition input area 630, various information input area 631, and storage information input area 632 on the screen of FIG. do. As in FIG. 3, it may be automatically input by a setting file. When the creating apparatus 300, which will be described later, performs the registration process, each piece of information is automatically input from the creating apparatus 300 without going through the terminal 200, and a registration instruction is given.

諸情報入力領域631と格納情報入力領域632の詳細については、後述する具体例を用いて説明する。 Details of the various information input area 631 and the stored information input area 632 will be described using specific examples described later.

実績収集装置130は、まず入力されたパラメータを取り込む。実績収集装置130は、指定された方法に応じて収集項目を収集し、対象のソフトウェアまたはコンポーネントの使用実績として、管理装置140を介して、管理データベース120のソフトウェア使用実績テーブル520またはコンポーネント使用実績テーブル540に登録する。収集できなかった項目については、初期値としてNULLを設定する。 The performance collection device 130 first takes in the input parameters. The result collection device 130 collects the collection items according to the specified method, and outputs the usage results of the target software or component to the software use result table 520 or the component use result table of the management database 120 via the management device 140. Register with 540. NULL is set as an initial value for items that could not be collected.

使用実績を「手入力」によって収集する方法の詳細を説明する。格納情報入力領域632の各項目についてユーザが入力し、実績収集装置130はその入力された値を使用実績として取得する。実績収集装置130は、収集条件入力領域630と格納情報入力領域632に基づいて、各項目をテーブルに格納する。 The details of how to collect usage records by "manual input" will be explained. The user inputs each item in the stored information input area 632, and the result collection device 130 acquires the input value as the usage result. The result collection device 130 stores each item in the table based on the collection condition input area 630 and the storage information input area 632 .

諸情報入力領域631と格納情報入力領域632の詳細について、使用実績を「自動」によって収集する場合における例を用いて説明する。登録者は、諸情報入力領域631の自動収集設定に、使用実績を収集するために用いるプログラムを入力する。図6の「実行プログラム」欄はそのソースコード例である。この例は、収集ターゲットのソフトウェアに対するHTTPリクエストによって使用実績を収集するものである。したがって、HTTPリクエストのリクエストタイプ(GETまたはPOST)、リクエスト先URL、リクエストパラメータ(keyとvalueのペア)、も入力する必要がある。格納情報入力領域632においては、管理データベース120に格納するデータ項目として、ソースコード内の変数を指定する。図6の例においては、データ数522に対して、ソースコード内の変数dataNumberの値を格納することが指定されている。 The details of the various information input area 631 and the stored information input area 632 will be described using an example in the case of "automatically" collecting usage records. The registrant inputs the program used for collecting the usage record in the automatic collection setting in the various information input area 631 . The "execution program" column in FIG. 6 is an example of the source code. This example collects usage records by HTTP requests to the collection target software. Therefore, it is also necessary to enter the request type (GET or POST) of the HTTP request, the request destination URL, and the request parameters (pair of key and value). In the storage information input area 632, variables in the source code are specified as data items to be stored in the management database 120. FIG. In the example of FIG. 6, it is specified that the value of the variable dataNumber in the source code is stored for the data number 522 .

以上により、ソフトウェアやコンポーネントについて、使用実績が収集され、管理データベース120に格納される。 As described above, usage records of software and components are collected and stored in the management database 120 .

上記では図3と図6の画面を用いて、それぞれ登録開始ボタン616、登録開始ボタン633を押下することによって、登録処理を実行する例を説明したが、後述する作成装置300が登録処理を実施する場合は、入力されたパラメータを対象として、自動で登録処理が実行される。特に、本実施形態については、作成装置300と連動して、自動的に上記の自動登録が実施される。 An example of executing the registration process by pressing the start registration button 616 and the start registration button 633 using the screens of FIGS. 3 and 6 has been described above. If so, registration processing is automatically executed for the entered parameters. In particular, in this embodiment, the automatic registration described above is automatically performed in conjunction with the creation device 300 .

図7は、ソフトウェアを作成するようにユーザがソフトウェア作成支援システム1に対して指示する作成指示画面の例である。作成指示画面は、図3の登録開始ボタン616の部分を作成開始ボタン642(作成開始を指示するボタン)と変更したものであり、その他の画面構成は図3と同様である。ユーザが図7の画面において、ソフトウェア基本情報入力領域640、コンポーネント情報入力領域641を入力し、作成開始ボタン642を押すと、情報処理装置100は作成支援の処理を開始する。 FIG. 7 is an example of a creation instruction screen on which the user instructs the software creation support system 1 to create software. The creation instruction screen is obtained by replacing the registration start button 616 in FIG. 3 with a creation start button 642 (a button for instructing the start of creation), and other screen configurations are the same as in FIG. When the user inputs the software basic information input area 640 and the component information input area 641 on the screen of FIG. 7 and presses the creation start button 642, the information processing apparatus 100 starts the creation support process.

図8は、ソフトウェアの作成支援の手順を示すシーケンス図である。新たにデータ収集ソフトウェアを作成しようとしているユーザは、端末200を通じて、構築の対象となる新システムの要件を入力することとなる。管理データベース120には、すでに開発されたソフトウェアの属性情報が既に登録されているものとする。 FIG. 8 is a sequence diagram showing a procedure for software creation support. A user who intends to newly create data collection software will input the requirements of the new system to be constructed through the terminal 200 . It is assumed that attribute information of already developed software is already registered in the management database 120 .

ユーザが図7の画面を用いて、作成しようとしているソフトウェアの属性情報パラメータを入力する(S302)。表示・入力装置110がパラメータを受け付け(S302)、検索装置150はそのパラメータを受け取る。検索装置150は、受け付けたパラメータファイルに含まれるパラメータに基づいて、管理データベース120に対して後述する検索処理を実施することにより、過去に作成した類似のソフトウェアまたはコンポーネントを検索する(S303)。この検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つかった場合(S304:Y)、検索装置150は後述の使用実績を用いてソフトウェアまたはコンポーネントを抽出し(S305)、その結果を端末200に返信する。端末200はその結果を表示する(S306)。これによりユーザは、作成しようとしているソフトウェアと類似する過去のソフトウェアおよびコンポーネントを提示されることになる。 The user uses the screen of FIG. 7 to input the attribute information parameters of the software to be created (S302). The display/input device 110 receives parameters (S302), and the search device 150 receives the parameters. The search device 150 searches for similar software or components created in the past by executing a search process, which will be described later, on the management database 120 based on the parameters included in the received parameter file (S303). As a result of this search, if similar software or components in the past are found (S304: Y), the search device 150 extracts the software or components using the usage records described later (S305), and returns the results to the terminal 200. do. Terminal 200 displays the result (S306). This will present the user with past software and components that are similar to the software they are trying to create.

S303における検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つからない場合(S304:N)、検索装置150は見つからなかったことを示すフラグを端末200に返信し(S307)、処理を終了する。 As a result of the search in S303, if no past similar software or component is found (S304: N), the search device 150 returns a flag indicating that it was not found to the terminal 200 (S307), and ends the process.

ユーザは端末200上において、図8の検索によって特定されたソフトウェアまたはコンポーネントを認識し、表示された検索結果の中からソフトウェアやコンポーネントを選択することができる。選択されたソフトウェアやコンポーネントの作成時に入力されたパラメータが自動的に図7の画面に入力される。これにより、過去の類似のソフトウェアやコンポーネントの中から、実績のあるソフトウェアやコンポーネントを参考にしながら、新しいソフトウェアを作成することが可能となる。 On the terminal 200, the user can recognize the software or component specified by the search in FIG. 8 and select the software or component from the displayed search results. The parameters input when creating the selected software or component are automatically input to the screen of FIG. This makes it possible to create new software while referring to proven software and components among similar software and components in the past.

図9は、検索装置150による検索処理を説明するフローチャートである。検索装置150は、表示・入力装置110からパラメータを受け付け(S401)、コンポーネント毎(S402)に以下の処理を実施する。検索装置150は、取り込んだパラメータ言語特性を把握する(S403)。日本語の場合、日本語の特徴に合せて、パラメータを文節毎に区切って、キーワード(特徴語)を抽出していく。その後、助詞や助動詞などを分離し、特徴のあるキーワードのみを抽出する(S404)。検索装置150は、抽出した特徴語を用いて、あらかじめ管理データベース120のコンポーネント情報テーブル530に登録されている検索語を探索することにより、検索を実施する(S405)。この検索においては、管理データベース120に登録されている検索語の中から、検索装置150によって抽出された特徴語と一致するものを抽出する。検索装置150は、コンポーネント使用実績テーブル540が格納している使用実績にしたがって優先度を計算し、その優先度にしたがってコンポーネントを順位付けする。その結果に基づきコンポーネントを並び替えて抽出する(S406)。優先度の詳細については後述する。コンポーネントごとの処理が完了した後に(S407)、パラメータ全体を用いて、ソフトウェア属性情報の言語特性を把握し(S408)、ソフトウェア属性情報の特徴語を抽出する(S409)。検索装置150は、ソフトウェア情報テーブル510に登録されている検索語を活用して検索を実施する(S410)。検索装置150は、ソフトウェア使用実績テーブル520が格納している使用実績にしたがって優先度を計算し、その結果に基づきソフトウェアを順位付けして並び替え、結果を抽出する(S411)。 FIG. 9 is a flowchart for explaining search processing by the search device 150. As shown in FIG. The search device 150 receives parameters from the display/input device 110 (S401), and performs the following processing for each component (S402). The search device 150 comprehends the fetched parameter linguistic characteristics (S403). In the case of Japanese, keywords (characteristic words) are extracted by segmenting the parameters into clauses in accordance with the characteristics of the Japanese language. After that, particles and auxiliary verbs are separated, and only characteristic keywords are extracted (S404). The search device 150 performs a search by searching for search terms registered in advance in the component information table 530 of the management database 120 using the extracted feature terms (S405). In this search, search words that match the feature words extracted by the search device 150 are extracted from the search words registered in the management database 120 . The search device 150 calculates the priority according to the usage record stored in the component usage record table 540, and ranks the components according to the priority. Based on the result, the components are rearranged and extracted (S406). Details of the priority will be described later. After the processing for each component is completed (S407), the language characteristics of the software attribute information are grasped using all the parameters (S408), and the feature words of the software attribute information are extracted (S409). The search device 150 performs a search using search terms registered in the software information table 510 (S410). The search device 150 calculates the priority according to the usage history stored in the software usage history table 520, ranks and rearranges the software based on the result, and extracts the result (S411).

使用実績は、例えばデータ数522やソフトウェア利用者数523が多いソフトウェアほど実績が高いものとみなすことができる。ソフトウェア使用数542についても同様である。これらの評価項目を組み合わせて評価する適当な評価関数を用いてもよい。 For example, software with a large number of data items 522 and a large number of software users 523 can be considered to have a high usage record. The software usage number 542 is also the same. An appropriate evaluation function that evaluates by combining these evaluation items may be used.

検索処理(S405)については、共通する検索語を特定する他に、検索語間の類似度を用いて、類似する検索語を特定してもよい。その場合、類似度の指標の1例としては、コサイン類似度がある。コサイン類似度とは、テキストが似ているとき同じ単語が近い確率で各テキストに出現すると考えられるので、テキスト間に共通する単語がどれだけあるかに基づき類似度を計算するものである。あるいは、似た意味を持つ単語はその単語の周辺に出現する単語が類似するという仮定に基づき、構築された単語をベクトル化する手法を用いて、類似度を計算してもよい。 Regarding the search processing (S405), in addition to identifying common search terms, similar search terms may be identified using the degree of similarity between search terms. In that case, one example of a measure of similarity is cosine similarity. Cosine similarity is calculated based on how many words are common between texts, since it is considered that the same word appears in each text with a close probability when the texts are similar. Alternatively, the degree of similarity may be calculated using a method of vectorizing constructed words based on the assumption that words appearing around words with similar meanings are similar.

優先度について詳細を以下に記載する。優先度は、使用実績があり有効なソフトウェアやコンポーネントと評価できるものがより上位の優先順位で表示されるようにするために用いる指標である。優先度をどのように決定するかについて、本実施形態では、2通りの観点で優先度を決定する。1つ目は「データ分析者に基づく優先度決定」、2つ目は「データ収集者に基づく優先度決定」である。 Details of the priority are described below. The priority is an index used to display software or components that have a track record of use and are effective and can be evaluated with a higher priority. Regarding how to determine the priority, in this embodiment, the priority is determined from two viewpoints. The first is "prioritization based on data analyst" and the second is "prioritization based on data collector".

「データ分析者に基づく優先度決定」においては、データ分析者の評価が優先される。たとえば、データ分析者による評価が、ソフトウェアAは「4」、ソフトウェアBは「2」だった場合、ソフトウェアAの方が優先度は高くなる。データ分析者の評価が存在しない、または同じ場合、データ数の多いソフトウェアの方が、データ分析者の観点では、より多くのデータが分析に使用可能なため望ましく、優先度が高くなる。 In "prioritization based on data analysts", the evaluation of data analysts is prioritized. For example, if the evaluation by the data analyst is "4" for software A and "2" for software B, software A has a higher priority. If the data analyst's assessment does not exist or is the same, software with more data is desirable and a higher priority from the data analyst's point of view because more data is available for analysis.

「データ収集者に基づく優先度決定」においては、データ収集者の評価が優先される。たとえば、データ収集者による評価が、ソフトウェアAは「4」、ソフトウェアBは「2」だった場合、ソフトウェアAの方が優先度は高くなる。データ収集者の評価が存在しない、または同じ場合、データ数の多いソフトウェアの方が、データ収集者の観点では、より多くの使用されたソフトウェアであり、データ収集作業が煩雑でないことが類推可能なため望ましく、優先度が高くなる。コンポーネントの優先度については、データ収集時間の短いコンポーネントの方が、データ収集作業が容易であるため望ましく、優先度が高くなる。 In "prioritization based on data collectors", the evaluation of data collectors is prioritized. For example, if the evaluation by the data collector is "4" for software A and "2" for software B, software A has a higher priority. If the data collector's evaluation does not exist or is the same, it can be inferred that the software with a large amount of data is the software that is used more from the viewpoint of the data collector, and the data collection work is less complicated. Therefore, it is desirable and has a higher priority. As for the priority of the components, a component with a shorter data collection time is preferable because the data collection work is easier, and the priority is higher.

検索装置150は、これら2つの観点に基づき、優先度を計算する。例えば、データ数1000以上は5、1000~500は4、500~100は2、100~10は1、10以下は0などと評価し、優先度=データ収集者の評価+データ分析者の評価+データ数の評価、などとして評価する。これらの計算式や点数の配分は、適用するシステムにより変更してもよい。優先度は、適切な如何なる方法で算出されてもよい。優先度のこの計算方法は単なる1例に過ぎない。優先度は使用実績のあるものほど大きい値であるので、より実績があるソフトウェアやコンポーネントが上位の優先順位になるように検索結果が表示されることになる。表示されるソフトウェアやコンポーネントの数については、あらかじめ決めておいてもよいし、一定以上の優先度のソフトウェアやコンポーネントのみを表示することとしてもよい。 The search device 150 calculates priority based on these two viewpoints. For example, 5 for 1000 or more data, 4 for 1000 to 500, 2 for 500 to 100, 1 for 100 to 10, 0 for 10 or less, etc. Priority = evaluation by data collector + evaluation by data analyst + Evaluate the number of data, etc. These calculation formulas and distribution of points may be changed according to the system to be applied. Priority may be calculated in any suitable manner. This method of calculating priority is just one example. Since the higher the priority, the more proven the software or component is, so the search results are displayed so that the software and components with more proven results have higher priority. The number of software and components to be displayed may be determined in advance, or only software and components with a certain level of priority or higher may be displayed.

以上により、利用者がソフトウェアやコンポーネントを検索する上で、より使用実績があるものを利用者に提示し、より効率的なソフトウェアやコンポーネントの再利用を促すことができる。 As described above, when a user searches for software or components, it is possible to present software or components that have been used more effectively to encourage the user to reuse the software or components more efficiently.

端末200は、上述の検索処理によって情報処理装置100から送信されたソフトウェアとコンポーネントの情報を、所定のGUI上でソフトウェア・コンポーネント一覧として表示する。端末200は、この一覧のうちどのソフトウェアとコンポーネントの情報を参照するかについて、利用者からの指示を受け付ける。ユーザが選択したソフトウェアやコンポーネントを作成するとき入力されたパラメータが、自動的に図7の画面に入力される。 The terminal 200 displays the software and component information transmitted from the information processing apparatus 100 by the search process described above as a software component list on a predetermined GUI. Terminal 200 accepts an instruction from the user as to which software and component information to refer to in this list. The parameters entered when creating the software or component selected by the user are automatically entered in the screen of FIG.

これら一連の処理により、過去の類似のソフトウェアやコンポーネントの中から、実績のあるソフトウェアやコンポーネントを参考にしながら、新しいソフトウェアを作成することが可能となる。 Through this series of processes, it is possible to create new software while referring to proven software and components among similar software and components in the past.

図10は、ソフトウェアの作成支援の別手順を示すシーケンス図である。新たにデータ収集ソフトウェアを構築しようとしている利用者は、端末200を通じて、構築の対象となる新システムの要件を入力することとなる。管理データベース120には、既に開発されたソフトウェアの属性情報が既に登録されているものとする。 FIG. 10 is a sequence diagram showing another procedure for software creation support. A user who is going to construct new data collection software inputs the requirements of the new system to be constructed through the terminal 200 . It is assumed that attribute information of already developed software is already registered in the management database 120 .

ユーザが図7の画面を用いて設定情報を入力し(S501)、表示・入力装置110が設定情報を受け付ける(S502)。検索装置150は表示・入力装置110からパラメータを受け取り、受け付けたパラメータに基づいて、管理データベース120に対して後述する検索処理を実施することにより、過去に作成した類似のソフトウェアまたはコンポーネントを検索する(S503)。検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つかった場合(S504:Y)、検索によって特定したソフトウェアの属性情報を表示・入力装置110に返信する(S505)。この返信にともなって、「過去に類似のソフトウェアが作成されているが、それでも作成するかどうか」を、利用者に対して照会する。端末200は、利用者からデプロイ可否の最終指示を受け付ける(S506)。その後、利用者がデプロイすると判断し、その指示を端末200に入力した場合(S507:Y)、端末200は、デプロイ実行の指示を受けて、これを実行装置160に通知する(S508)。利用者がデプロイしないと判断し、その指示を端末200に入力した場合(S507:N)、デプロイ指示はされずに、処理は終了する。 The user inputs setting information using the screen of FIG. 7 (S501), and the display/input device 110 receives the setting information (S502). The search device 150 receives parameters from the display/input device 110, and searches for similar software or components created in the past by executing search processing, which will be described later, on the management database 120 based on the received parameters ( S503). If past similar software or components are found as a result of the search (S504: Y), the attribute information of the software specified by the search is returned to the display/input device 110 (S505). Along with this reply, an inquiry is made to the user as to whether or not "similar software has been created in the past, but you still want to create it." The terminal 200 receives a final instruction from the user as to whether deployment is permitted (S506). After that, when the user determines to deploy and inputs the instruction to the terminal 200 (S507: Y), the terminal 200 receives the instruction to execute the deployment and notifies it to the executing device 160 (S508). If the user determines not to deploy and inputs the instruction to the terminal 200 (S507: N), the process ends without issuing the deployment instruction.

S503の検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つからない場合(S504:N)、デプロイ実行の指示を受けて、これを実行装置160に通知する(S508)。この通知を受けた実行装置160は、作成装置300を介して、端末200によって指定された該当ソフトウェアのデプロイを後述の処理により実行する(S508)。 If past similar software or components are not found as a result of the search in S503 (S504: N), an instruction to execute deployment is received and this is notified to the executing device 160 (S508). The execution device 160 that has received this notification deploys the corresponding software designated by the terminal 200 via the creation device 300 (S508).

以上により、要件に応じた過去の類似ソフトウェアを参照させることによって、類似のソフトウェアの乱立を防ぎ、意味のあるソフトウェア作成のみを許可することができる。 As described above, by referring to past similar software according to requirements, it is possible to prevent the proliferation of similar software and to allow only meaningful software creation.

図11は、端末200に表示される管理画面の例を示す。図11に示すように、管理画面は、ユーザが表示対象を選択する表示対象選択ボックス650と、ユーザが表示する対象をあらかじめ用意された候補から選択する表示対象カテゴリー選択ボックス651と、ユーザが検索する条件やキーワードを入力する検索ボックス652と、表示部653とを表示する。 FIG. 11 shows an example of a management screen displayed on the terminal 200. As shown in FIG. As shown in FIG. 11, the management screen includes a display target selection box 650 for the user to select a display target, a display target category selection box 651 for the user to select the target to be displayed from among prepared candidates, and a A search box 652 for entering a search condition or keyword and a display section 653 are displayed.

管理画面の表示部653には、後述する表示対象選択ボックス650、表示対象カテゴリー選択ボックス651、検索ボックス652により入力された表示条件をもとに、管理データベース120に登録されているソフトウェアまたはコンポーネントが一覧表示されている。ユーザは、表示されている一覧からソフトウェアまたはコンポーネントを選択し、対象の詳細情報を表示する。 On the display portion 653 of the management screen, software or components registered in the management database 120 are displayed based on the display conditions entered in a display target selection box 650, a display target category selection box 651, and a search box 652, which will be described later. are listed. The user selects software or components from the displayed list to display detailed information about the target.

表示対象選択ボックス650においてユーザは、表示対象として、ソフトウェア(アプリ)とコンポーネントのいずれかを選択する。表示対象カテゴリー選択ボックス651においてユーザは、表示対象のカテゴリーを、あらかじめ用意されたカテゴリーの候補から選択する。表示対象カテゴリー選択ボックス651で選択したキーワードは表示・入力装置110が受け付け、検索装置150に受け渡す。検索装置150において、受け付けたキーワードに基づいて、前述の検索処理を実施し、過去に作成した類似のソフトウェアまたはコンポーネントを検索し、検索結果を表示部653に表示する。表示対象カテゴリー選択ボックス651は、図のように選択肢を選ぶ形に限られない。たとえば、機械のある部位に関連するソフトウェアを表示させたい場合、部位ごとの画像を用意しておき(車体の前面部、後部、足回りなど)部位に対応する影絵を表示して、いずれかをクリックすると、関連するソフトウェアが表示されるようにしてもよい。 In the display target selection box 650, the user selects either software (application) or component as the display target. In the display target category selection box 651, the user selects a display target category from the category candidates prepared in advance. The keyword selected in the display target category selection box 651 is received by the display/input device 110 and transferred to the search device 150 . The search device 150 performs the above-described search processing based on the received keyword, searches for similar software or components created in the past, and displays the search results on the display unit 653 . The display target category selection box 651 is not limited to the form of selecting options as shown. For example, if you want to display software related to a certain part of a machine, prepare an image for each part (front part, rear part, undercarriage, etc.) of the car body, display a silhouette corresponding to the part, and select one of them. When clicked, related software may be displayed.

検索ボックス652は、ユーザ自身が任意のキーワードを入力するボックスである。具体的には、この手入力ボックスでは、ユーザにキーボード等から任意のキーワードを入力させ、入力したキーワードを表示・入力装置110が受け付け、検索装置150に受け渡す。検索装置150は、受け付けたキーワードに基づいて、前述の検索処理を実施し、過去に作成した類似のソフトウェアまたはコンポーネントを検索し、検索結果を表示部653に表示し、ユーザに提示する。 A search box 652 is a box in which the user himself/herself inputs an arbitrary keyword. Specifically, in this manual input box, the user inputs an arbitrary keyword from a keyboard or the like, and the input keyword is accepted by the display/input device 110 and transferred to the search device 150 . The search device 150 performs the above-described search processing based on the received keyword, searches for similar software or components created in the past, and displays the search results on the display unit 653 to present them to the user.

これら一連の操作により、複数作成されたソフトウェアの中で有効なソフトウェアを労力少なく見つけることができるので、ユーザがソフトウェアを作成する際に情報処理装置100がサポートすることができる。 Through this series of operations, effective software can be found among a plurality of created software with less effort, so that the information processing apparatus 100 can support the user when creating software.

本実施形態におけるソフトウェアの作成方法の実施手順について図12に基づき説明する。以下で説明するソフトウェアの作成方法に対応する各種動作は、作成装置300がメモリ等に読み出して実行するプログラムによって実現される。このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。 The implementation procedure of the software creation method in this embodiment will be described with reference to FIG. 12 . Various operations corresponding to the software creation method described below are implemented by a program that the creation device 300 reads out to a memory or the like and executes. This program consists of code for performing various operations described below.

図12は、作成装置300がソフトウェアを作成する手順を示すフローチャートである。過去のソフトウェアとコンポーネントのなかで、ユーザが所望する機能を備えるものが見つからない場合、作成装置300はユーザが所望するソフトウェアを新規作成する。ここではデータレイク作成プログラムとデータ管理ソフトウェアを作成する例を説明する。データレイク作成プログラムは、端末200から入力された設定に基づいて、データ収集内容を携帯端末420に表示させ、収集結果を受け付けるためのデータ収集ソフトウェアを生成し、ネットワーク10を介してデータ収集ソフトウェアを携帯端末420に提供し、ネットワーク10を介して携帯端末420から収集結果を受信し格納するプログラムである。データ管理ソフトウェアは、当該データレイクからデータを抽出し適宜ユーザに提供するソフトウェアである。 FIG. 12 is a flow chart showing a procedure for creating software by the creation device 300 . If there is no past software or component that has the functions desired by the user, the creation device 300 newly creates software desired by the user. Here is an example of creating a data lake creation program and data management software. The data lake creation program displays the data collection contents on the mobile terminal 420 based on the settings input from the terminal 200, generates data collection software for receiving collection results, and transmits the data collection software via the network 10. The program is provided to the mobile terminal 420 and receives and stores the collected results from the mobile terminal 420 via the network 10 . Data management software is software that extracts data from the data lake and appropriately provides it to users.

具体的には、本フローチャートにおけるソフトウェア作成は、テンプレートとパラメータを入力として、テンプレート中の変数をパラメータに基づき置き換えるテンプレートエンジンによって、あらかじめ用意されたテンプレートから、利用者が入力したパラメータを反映した各種ソースコードを作成することにより、実現可能である。 Specifically, the software creation in this flow chart uses a template and parameters as input, and a template engine that replaces the variables in the template based on the parameters. It can be realized by creating a code.

あるデータ収集の目的を持って、その要件を満たすデータ収集ソフトウェアを作成したい利用者は、端末200を操作し、情報処理装置100にアクセスして作成処理を開始する。 A user who has a certain data collection purpose and wants to create data collection software that satisfies the requirements operates the terminal 200 to access the information processing apparatus 100 and start the creation process.

はじめに、表示・入力装置110は、適宜なインターフェースを介して、上述の要件を満たす要求を受け付ける。ユーザは図7の画面を用いて、作成するソフトウェアの属性情報パラメータを入力する。端末200はそのパラメータを作成装置300へ送信する。端末200と作成装置300との間の情報授受は表示・入力装置110が仲介することを前提としているが、説明の簡明化のため、以降の説明においては表示・入力装置110の仲介処理については省略するものとする(以下同様)。 First, the display/input device 110 accepts requests that satisfy the above requirements via an appropriate interface. The user uses the screen of FIG. 7 to input the attribute information parameters of the software to be created. Terminal 200 transmits the parameters to creation device 300 . It is assumed that the display/input device 110 mediates the exchange of information between the terminal 200 and the creation device 300. It shall be omitted (same below).

作成装置300は、表示・入力装置110からパラメータを受け付ける(S601)。作成装置300は、受け付けたパラメータに基づいて、テンプレートデータベース310からデータ収集ソフトウェア用のテンプレートを選択し(S602)、そのテンプレート中の所定の引数を、受け取ったパラメータに置き換えることにより、データ収集ソフトウェアのソースコードを生成する(S603)。データ収集ソフトウェアのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データ収集ソフトウェアのソースコードのコンパイルを実行する。 The creation device 300 receives parameters from the display/input device 110 (S601). The creation device 300 selects a template for the data collection software from the template database 310 based on the received parameters (S602), and replaces predetermined arguments in the template with the received parameters to create the data collection software. A source code is generated (S603). When the source code of the data collection software is completed, if the source code is written in a language that requires compilation, compilation of the source code of the data collection software is performed.

作成装置300は、データ収集ソフトウェアを携帯端末420に提供する(S604)。たとえば、データ収集ソフトウェアをネットワーク10上で公開することにより、携帯端末420にダウンロードさせることもできる。あるいは、JSON形式などの適当なフォーマットでパラメータを携帯端末420上に存在するソフトウェアに対して送信し、ソフトウェアがパラメータを読み込むことにより、データ収集ソフトウェアが作成されるようにしてもよい。この技術は、近年Javascriptによってスマートフォンソフトウェア開発を可能としているReactNative等の公知技術により、実現可能である。 The creation device 300 provides data collection software to the mobile terminal 420 (S604). For example, the data collection software can be made public on the network 10 and downloaded to the mobile terminal 420 . Alternatively, the data collection software may be created by sending the parameters in an appropriate format such as JSON format to the software existing on the mobile terminal 420 and having the software read the parameters. This technology can be realized by a known technology such as ReactNative, which enables smart phone software development using Javascript in recent years.

データ収集ソフトウェアは、データレイクへアクセスするためのパラメータを保持しているので、データレイクに対して収集したデータを送信することができる。このアクセス情報に関しては、ユーザに入力させてもよいし、データレイク生成プログラムやデータ管理ソフトウェアを生成する際に、自動でアクセス情報をデータ収集ソフトウェアへ送信してもよい。 The data collection software maintains parameters for accessing the data lake so that it can send collected data to the data lake. This access information may be input by the user, or may be automatically sent to the data collection software when the data lake generation program or data management software is generated.

データ収集ソフトウェアは、上述のユーザが入力したパラメータに基づき変更されるコンポーネント以外に、基本的なコンポーネントがデフォルトで含まれている。たとえば、データレイクへのアクセス情報をもとにデータを格納する機能に関しては、図7の画面上では定義していないが、これはそのアクセス情報がデータ収集ソフトウェアのソースコードに含まれているからである。このように、あらかじめ実現されている機能に関しては説明を割愛する。データ収集ソフトウェアは基本的な機能の他にも例えば、携帯端末420がネットワーク10に接続していないとき、すなわちオフラインのときには収集データを格納しておき、携帯端末420がネットワーク10に接続したとき、すなわちオンラインになったときに格納されたデータをデータレイクへ送信する機能を有する。これにより、基本的にオフラインが想定される建設現場においても、携帯端末420の移動にともない、オフラインからオンラインになった際にデータをデータレイクへ送信することができるので、効果的にデータを収集可能である。 The data collection software includes basic components by default, in addition to the components that are modified based on the user-entered parameters described above. For example, the function to store data based on the access information to the data lake is not defined on the screen in Figure 7, because the access information is included in the source code of the data collection software. is. In this way, the description of functions that have been realized in advance is omitted. In addition to its basic functions, the data collection software stores collected data when the mobile terminal 420 is not connected to the network 10, i.e., offline, and stores collected data when the mobile terminal 420 is connected to the network 10. That is, it has the ability to send stored data to the data lake when it comes online. As a result, even at a construction site that is basically assumed to be offline, data can be transmitted to the data lake when the portable terminal 420 is moved from offline to online, so data can be collected effectively. It is possible.

作成装置300は、データレイク生成プログラムのソースコードテンプレート中の所定の引数を、受け取ったパラメータに置き換えることにより、データレイク生成プログラムのソースコードを生成する(S605)。そして、データレイク生成プログラムのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データレイク生成プログラムのソースコードのコンパイルを実行する。作成装置300は、ネットワーク10を介してデータレイク生成プログラムをデータ管理装置410に対して送信する(S606)。作成装置300は、データ管理装置410に対して、そのデータレイク生成プログラムを実行するように指示する(S607)。データ管理装置410は、受信したデータレイク生成プログラムを実行することにより、データベースを含むデータレイクを作成する。 The creation device 300 generates the source code of the data lake generation program by replacing the predetermined arguments in the source code template of the data lake generation program with the received parameters (S605). Then, when the source code of the data lake generation program is completed, if the source code is written in a language that requires compilation, the source code of the data lake generation program is compiled. The creation device 300 transmits the data lake generation program to the data management device 410 via the network 10 (S606). The creation device 300 instructs the data management device 410 to execute the data lake generation program (S607). The data management device 410 creates a data lake including databases by executing the received data lake creation program.

ここで作成されるデータベースが持つデータテーブルは、データ収集ソフトウェアが収集するデータ項目と対応したデータ構造を有する。ただし、音声や画像といった非構造化データは、データベースで管理することが難しいので、非構造化データの格納場所を示すUniform Resource Identifier(URI)形式でデータテーブルに蓄積し、非構造化データは指定の格納場所に蓄積する。このように、構造化データと非構造化データを格納するデータレイクが作成される。データ管理装置410は、携帯端末420によって収集されたデータを格納する際、データレイクのアクセス情報に基づきデータレイクにアクセスし、該当するデータレイクに収集結果のデータを格納する。 The data table of the database created here has a data structure corresponding to the data items collected by the data collection software. However, it is difficult to manage unstructured data such as voice and images in a database. storage location. Thus, a data lake is created that stores structured and unstructured data. When storing the data collected by the mobile terminal 420, the data management device 410 accesses the data lake based on the data lake access information, and stores the collected data in the corresponding data lake.

作成装置300は、データ管理ソフトウェア用のテンプレート中の所定の引数を、パラメータファイル中のパラメータに置き換え、データ管理ソフトウェアのソースコードを生成する(S608)。そして、データ管理ソフトウェアのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データ管理ソフトウェアのソースコードのコンパイルを実行する。作成装置300は、ネットワーク10を介してデータ管理ソフトウェアをデータ管理装置410に対して送信する(S609)。作成装置300は、データ管理装置410に対してそのデータ管理ソフトウェアをデプロイするように指示する(S610)。データ管理装置410は、受信したデータ管理ソフトウェアをデプロイする。 The creation device 300 replaces the specified arguments in the template for the data management software with the parameters in the parameter file to generate the source code of the data management software (S608). Then, when the source code of the data management software is completed, if the source code is written in a language that requires compilation, the source code of the data management software is compiled. The creation device 300 transmits the data management software to the data management device 410 via the network 10 (S609). The creation device 300 instructs the data management device 410 to deploy the data management software (S610). The data management device 410 deploys the received data management software.

データ管理ソフトウェアは、データレイクへアクセスするためのパラメータを保持しているので、データレイクからデータを読み出し、ユーザへ提示することができる。これにより、ユーザはデータ管理ソフトウェアを通じてデータの確認やダウンロードをすることができる。たとえば、CSV形式で書き出せば、ダウンロードしたデータを表計算ソフトなどに読み込むことにより、簡単に集計および図表化することができ、様々な解析が可能となる。 The data management software maintains the parameters for accessing the data lake so that data can be retrieved from the data lake and presented to the user. This allows users to check and download data through the data management software. For example, if the data is written in CSV format, the downloaded data can be read into a spreadsheet software or the like, and can be easily aggregated and charted, enabling various analyses.

データ管理ソフトウェアは、分析環境と連携するために、分析に用いる各データをダウンロードする機能のほかに、選択したデータを分析環境上で読み取るコードを発行する連携機能があってもよい。これによって、分析者は分析環境との連携機能によってすぐさまデータ分析を実施できる。この機能は例えばGraphQLという公知の手法によって実現できる。GraphQLは、データの関係性を含めてデータ型を定義するスキーマと、スキーマに基づきデータ型毎にどのようにデータにアクセスするのかという定義をするリゾルバを用いることにより、既存のデータ蓄積方式を変更せず、データ活用を可能とする。 In order to cooperate with the analysis environment, the data management software may have a cooperation function of issuing a code for reading selected data on the analysis environment in addition to the function of downloading each data used for analysis. As a result, analysts can immediately perform data analysis by linking functions with the analysis environment. This function can be realized by a known technique called GraphQL, for example. GraphQL changes the existing data storage method by using a schema that defines data types including data relationships and a resolver that defines how to access data for each data type based on the schema. data utilization.

データレイクとデータ管理ソフトウェアが用意されるデータ管理装置410は、物理的に用意されたサーバ以外にも、仮想化されたソフトウェア機能やプラットフォーム機能、ハードウェア機能を用いてもよい。たとえば、近年利用が拡大されているソフトウェアをファイルシステムや依存するライブラリといった実行環境ごとパッケージ化(コンテナ化)することが可能なコンテナ技術を用いることが考えられる。具体的には、Docker社が中心になって開発しているOpen Source Software(OSS)のコンテナ実行・管理ツールであるDockerを用いた場合は、Dockerfileスクリプトからコンテナのイメージを作成することが可能であり、コンテナのイメージ(ソフトウェア)のビルド、デプロイ、実行が可能である。これを用いることにより、データレイク生成プログラムをコンテナのビルドの際に実行し、データレイクを生成し、同時にデータ管理ソフトウェアをビルド、デプロイ、実行することが可能である。また、Dockerの場合、遠隔にある機能をネットワーク越しに呼び出すためのインターフェースであるWebAPIを用いて、Dockerに上述の処理を指示することができる。 The data management device 410 provided with a data lake and data management software may use virtualized software functions, platform functions, and hardware functions in addition to physically prepared servers. For example, it is conceivable to use a container technology capable of packaging (containerizing) software, which has been widely used in recent years, for each execution environment such as a file system and dependent libraries. Specifically, when using Docker, an Open Source Software (OSS) container execution and management tool developed mainly by Docker, it is possible to create a container image from a Dockerfile script. Yes, it is possible to build, deploy and run container images (software). With it, you can run data lake generators during container builds to generate data lakes and build, deploy, and run data management software at the same time. In the case of Docker, it is possible to instruct Docker to perform the above processing using WebAPI, which is an interface for calling remote functions over a network.

以上により、利用者は、プログラミングの知識を必要とせず、データを収集するためのシステムを作成することが可能になる。 As described above, the user can create a system for collecting data without requiring programming knowledge.

<実施の形態1:まとめ>
本実施形態1に係るソフトウェア作成支援システム1によれば、ユーザが高度な知識を必要とせず、過去に作成された類似のソフトウェアの中から、使用実績のあるソフトウェアを掲示することにより、過去に作成されたソフトウェアの中で有効なソフトウェアを労力少なく見つけることができる。これにより、ユーザがソフトウェアを作成する際に、情報処理装置100によってサポートすることができる。
<Embodiment 1: Summary>
According to the software creation support system 1 according to the first embodiment, the user does not need advanced knowledge, and by posting software that has been used from among similar software created in the past, Effective software can be found out of created software with less effort. As a result, the information processing apparatus 100 can provide support when the user creates software.

本実施形態1に係るソフトウェア作成支援システム1は、ユーザが所望する属性を有する既存ソフトウェア(またはコンポーネント)が見つからない場合は、ソースコードテンプレートの変数をユーザが指定する属性情報にしたがって置き換えることにより、ソフトウェアを新規作成する。これにより、過去に作成されたソフトウェアの中で有効なソフトウェアが存在しない場合であっても、ユーザのリクエストに合致するソフトウェアを作成できる。例えばアルゴリズムなどの基本的部分はユーザのリクエストに合致するソフトウェアであっても、属性情報がユーザのリクエストに合致しないことにより、検索において所望のソフトウェアがヒットしない可能性がある。そのようなソフトウェアであっても、既存ソースコードを利用しつつユーザが指定する属性情報によってパラメータを置き換えることにより、ユーザのリクエストに合致するソフトウェアを作成できる。 When the existing software (or component) having the attribute desired by the user is not found, the software creation support system 1 according to the first embodiment replaces the variables of the source code template according to the attribute information specified by the user. Create new software. As a result, even if there is no valid software among the software created in the past, it is possible to create software that meets the user's request. For example, even if the basic part of the algorithm, etc., is software that matches the user's request, there is a possibility that the desired software will not be hit in the search because the attribute information does not match the user's request. Even with such software, it is possible to create software that meets the user's request by using the existing source code and replacing the parameters with attribute information specified by the user.

<実施の形態2>
実施形態1は、作成装置300がソフトウェアを作成することについて説明した。本発明の実施形態2では、作成装置300を用いず、外部の事業者が提供するソフトウェア作成サービスを用いて、ソフトウェアを作成する構成例を説明する。以下では、実施形態1との相違点を中心に説明する。
<Embodiment 2>
In the first embodiment, creation of software by the creation device 300 has been described. In Embodiment 2 of the present invention, a configuration example in which software is created using a software creation service provided by an external business operator without using the creation device 300 will be described. Differences from the first embodiment will be mainly described below.

図13は、本実施形態2に係るソフトウェア作成支援システム1の構成図である。情報処理装置100は、適宜なネットワーク10を介して、端末200およびソフトウェア提供システム770と通信可能に接続されている。実施形態1と比較すると、作成装置300がソフトウェア提供システム770と変更になっている。 FIG. 13 is a configuration diagram of the software creation support system 1 according to the second embodiment. Information processing apparatus 100 is communicatively connected to terminal 200 and software providing system 770 via appropriate network 10 . Comparing with the first embodiment, the creating device 300 is changed to the software providing system 770 .

ソフトウェア提供システム770は、提供事業者が提供する画面を通じて、ユーザが入力した設定に基づき、データ収集システム400が提供されるサービスである。この提供形態は、提供事業者がデータ収集システム400のハードウェアあるいはソフトウェア等の各種リソースをサービスとしてユーザに提供する形式を想定したものである。こうしたサービスの詳細仕様は、利用者側にオープンになるとは限らず、またサービスの仕様が非公開下で変更になる場合もある。したがってこのようなサービスに対して上述の作成支援・管理をする場合、ソフトウェア提供システム770における図7の画面に相当する入力画面が、サービス事業者によって提供されるものに変更される。ソフトウェア提供システム770の公知サービスの1例としては、Teamscopeが提供するMobile Form Builderが挙げられる。 The software providing system 770 is a service provided by the data collection system 400 based on settings input by the user through a screen provided by the provider. This form of provision assumes a form in which a provider provides various resources such as hardware or software of the data collection system 400 to users as services. The detailed specifications of such services are not always open to users, and service specifications may change without disclosure. Therefore, when providing the above creation support and management for such a service, the input screen corresponding to the screen in FIG. 7 in the software providing system 770 is changed to that provided by the service provider. One example of a well-known service of software provisioning system 770 is Mobile Form Builder provided by Teamscope.

情報処理装置100に関して、実施形態1と大きく異なる部分について説明する。ソフトウェア提供システム770における図7の画面に相当する入力画面が変更となることが最も大きな相違となる。そこで本実施形態2の情報処理装置100では、表示・入力装置110を介して、ソフトウェア提供システム770の画面を端末200へ表示する。端末200が入力した内容は、表示・入力装置110を介して、ソフトウェア提供システム770の画面に反映される。管理装置140は、表示・入力装置110を介して、出力されている画面からユーザの入力部分を取得し、ソフトウェア情報として管理データベース120へ登録する。登録処理、作成支援、管理に関しては、実施形態1と同じである。また、適宜ソフトウェア提供システム770の画面に応じて、図7の画面に相当する入力画面の項目を変更することにより、実施形態1と同じように、ユーザがソフトウェアを作成することを、情報処理装置100によってサポートすることができる。 Regarding the information processing apparatus 100, portions that are significantly different from those of the first embodiment will be described. The biggest difference is that the input screen corresponding to the screen in FIG. 7 in the software providing system 770 is changed. Therefore, in the information processing apparatus 100 of the second embodiment, the screen of the software providing system 770 is displayed on the terminal 200 via the display/input device 110 . The contents input by the terminal 200 are reflected on the screen of the software providing system 770 via the display/input device 110 . The management device 140 acquires the user's input portion from the output screen via the display/input device 110 and registers it in the management database 120 as software information. Registration processing, creation support, and management are the same as in the first embodiment. Further, by appropriately changing the items of the input screen corresponding to the screen of FIG. 100 can be supported.

本実施形態2によれば、既存のソフトウェア提供サービスに対して、過去に作成された類似のソフトウェアの中から、使用実績のあるソフトウェアの設定を掲示することにより、複数のソフトウェアの中で有効なソフトウェアを労力少なく見つけることができる。 According to the second embodiment, by posting the settings of software that has a track record of use among similar software created in the past for existing software providing services, Software can be found with less effort.

<実施の形態3>
実施形態1と2において、作成装置300または外部のソフトウェア提供システム770によって、ソフトウェアを作成する構成例を説明した。本発明の実施形態3では、ソフトウェアの管理のみに特化した構成例を説明する。以下、実施形態1~2との相違点を中心に説明する。
<Embodiment 3>
In Embodiments 1 and 2, configuration examples in which software is created by the creating device 300 or the external software providing system 770 have been described. In the third embodiment of the present invention, a configuration example specialized only for software management will be described. The following description will focus on differences from the first and second embodiments.

図14は、本実施形態3に係るソフトウェア作成支援システム1の構成図である。情報処理装置100は、適宜なネットワーク10を介して、端末200と通信可能に接続されている。実施形態1と比較すると、作成装置300と実行装置160が削除されている。 FIG. 14 is a configuration diagram of the software creation support system 1 according to the third embodiment. The information processing device 100 is communicably connected to the terminal 200 via an appropriate network 10 . Compared with the first embodiment, the creation device 300 and the execution device 160 are eliminated.

本実施形態では、ソフトウェア登録画面と実績収集画面を介してのみ、ソフトウェア属性情報とソフトウェア使用実績を管理データベース120へ登録する。本実施形態では、ソフトウェアの検索により、登録されたソフトウェアを管理する。ソフトウェア登録画面は、登録するソフトウェアに応じて柔軟に変更される。 In this embodiment, the software attribute information and the software usage record are registered in the management database 120 only through the software registration screen and the record collection screen. In this embodiment, registered software is managed by searching for software. The software registration screen is flexibly changed according to the software to be registered.

本実施形態によれば、作成装置300やソフトウェア提供システム770以外によって作成されたシステムに関しても、管理することができる。例えば、プログラマーが自分の手で作成したソフトウェアに関しても、本実施形態によれば、管理することができる。 According to this embodiment, systems created by other than the creating device 300 and the software providing system 770 can also be managed. For example, according to this embodiment, even software created by a programmer can be managed.

<本発明の変形例について>
本発明は、前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
<Regarding Modifications of the Present Invention>
The present invention is not limited to the embodiments described above, and includes various modifications. For example, the above-described embodiments have been described in detail in order to explain the present invention in an easy-to-understand manner, and are not necessarily limited to those having all the described configurations. Also, part of the configuration of one embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of one embodiment. Moreover, it is possible to add, delete, or replace part of the configuration of each embodiment with another configuration.

1 ソフトウェア作成支援システム
10 ネットワーク
100 情報処理装置
110 表示・入力装置
120 管理データベース
130 実績収集装置
140 管理装置
150 検索装置
160 実行装置
200 端末
300 作成装置
310 テンプレートデータベース
400 データ収集システム
410 データ管理装置
420 携帯端末
510 ソフトウェア情報テーブル
520 ソフトウェア使用実績テーブル
530 コンポーネント情報テーブル
540 コンポーネント使用実績テーブル
1 Software Creation Support System 10 Network 100 Information Processing Device 110 Display/Input Device 120 Management Database 130 Result Collection Device 140 Management Device 150 Search Device 160 Execution Device 200 Terminal 300 Creation Device 310 Template Database 400 Data Collection System 410 Data Management Device 420 Mobile Phone Terminal 510 Software information table 520 Software usage record table 530 Component information table 540 Component usage record table

Claims (14)

ユーザが使用するソフトウェアを作成することを支援する情報処理装置であって、
過去に作成されたソフトウェアを識別するソフトウェア識別情報を格納する記憶装置、
前記記憶装置が格納している前記ソフトウェア識別情報を検索する演算装置、
を備え、
前記記憶装置は、前記ソフトウェア識別情報と、前記ソフトウェアの属性を表すソフトウェア属性情報と、前記ソフトウェアの使用実績とを対応付けて格納しており、
前記演算装置は、
前記ユーザが所望する所望ソフトウェアを要求するリクエストを、前記所望ソフトウェアの属性を表す所望ソフトウェア属性情報とともに受け取り、
前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索し、
前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力する
ことを特徴とする情報処理装置。
An information processing device that supports creation of software for use by a user,
a storage device that stores software identification information that identifies previously created software;
a computing device for searching the software identification information stored in the storage device;
with
the storage device associates and stores the software identification information, software attribute information representing attributes of the software, and usage history of the software;
The computing device is
receiving a request for desired software desired by the user together with desired software attribute information representing attributes of the desired software;
searching the storage device for the software attribute information that matches the desired software attribute information;
An information processing apparatus, wherein the software identification information obtained by the search is output as a response to the request together with the usage record associated with the software identification information.
前記記憶装置は、前記ソフトウェアを構成するコンポーネントを識別するコンポーネント識別情報と、前記コンポーネントの属性を表すコンポーネント属性情報と、前記コンポーネントの使用実績とを、前記ソフトウェア識別情報と対応付けて格納しており、
前記演算装置は、
前記所望ソフトウェア属性情報として、前記所望ソフトウェアを構成するコンポーネントの属性を表す所望コンポーネント属性情報を受け取り、
前記所望コンポーネント属性情報に適合する前記コンポーネント属性情報を前記記憶装置から検索し、
前記検索によって得られた前記コンポーネント識別情報を、前記コンポーネント識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力する
ことを特徴とする請求項1記載の情報処理装置。
The storage device stores component identification information for identifying components constituting the software, component attribute information representing attributes of the components, and usage history of the components in association with the software identification information. ,
The computing device is
receiving desired component attribute information representing attributes of components constituting the desired software as the desired software attribute information;
searching the storage device for the component attribute information that matches the desired component attribute information;
2. The information processing apparatus according to claim 1, wherein the component identification information obtained by the search is output as a response to the request together with the usage record associated with the component identification information.
前記情報処理装置はさらに、前記ソフトウェア識別情報と前記ソフトウェア属性情報を対応付けて前記記憶装置に格納する登録リクエストをユーザが入力するための登録インターフェースを備え、
前記演算装置は、
前記登録インターフェースにおいて入力された前記ソフトウェア属性情報のなかから検索キーワードとして用いることができる第1特徴語を抽出し、
前記抽出した前記第1特徴語を、前記ソフトウェア属性情報としてまたは前記ソフトウェア属性情報とともに、前記記憶装置に格納する
ことを特徴とする請求項1記載の情報処理装置。
The information processing device further comprises a registration interface for a user to input a registration request for storing the software identification information and the software attribute information in correspondence with each other in the storage device,
The computing device is
extracting a first feature word that can be used as a search keyword from the software attribute information input through the registration interface;
2. The information processing apparatus according to claim 1, wherein said extracted first characteristic word is stored in said storage device as said software attribute information or together with said software attribute information.
前記演算装置は、
前記リクエストとともに受け取った前記所望ソフトウェア属性情報のなかから、検索キーワードとして用いることができる第2特徴語を抽出し、
前記抽出した前記第2特徴語に合致する前記第1特徴語を前記記憶装置から検索することにより、前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索する
ことを特徴とする請求項3記載の情報処理装置。
The computing device is
extracting a second characteristic word that can be used as a search keyword from the desired software attribute information received together with the request;
The software attribute information matching the desired software attribute information is retrieved from the storage device by retrieving the first feature word matching the extracted second feature word from the storage device. 4. The information processing apparatus according to claim 3.
前記ソフトウェアは、前記ソフトウェアの使用実績を出力するためのAPIを備え、
前記演算装置は、
前記APIを介して前記ソフトウェアの使用実績を収集し、
前記収集した前記ソフトウェアの使用実績を、前記ソフトウェア識別情報と対応付けて前記記憶装置に格納する
ことを特徴とする請求項1記載の情報処理装置。
The software has an API for outputting usage history of the software,
The computing device is
Collect usage records of the software via the API;
2. The information processing apparatus according to claim 1, wherein the collected usage record of the software is stored in the storage device in association with the software identification information.
前記演算装置は、複数の前記ソフトウェア識別情報が前記検索によって得られた場合においては、前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績が多い順に整列した上で、前記レスポンスとして出力する
ことを特徴とする請求項1記載の情報処理装置。
When a plurality of pieces of the software identification information are obtained by the search, the computing device sorts the software identification information obtained by the search in descending order of the usage records associated with the software identification information. 2. The information processing apparatus according to claim 1, wherein the response is output after arranging.
前記ソフトウェアは、データを収集する処理を実装したデータ収集プログラムである
ことを特徴とする請求項1記載の情報処理装置。
The information processing apparatus according to claim 1, wherein the software is a data collection program that implements a process of collecting data.
前記記憶装置は、前記データを収集する作業を実施するデータ収集者が前記ソフトウェアを評価した結果を表すデータ収集者評価値と、前記データを分析する作業を実施するデータ分析者が前記ソフトウェアを評価した結果を表すデータ分析者評価値とを、前記ソフトウェア識別情報と対応付けて格納しており、
前記演算装置は、複数の前記ソフトウェア識別情報が前記検索によって得られた場合においては、前記検索によって得られた前記ソフトウェア識別情報を、前記データ収集者評価値と前記データ分析者評価値とに基づく優先度にしたがって整列した上で、前記レスポンスとして出力する
ことを特徴とする請求項7記載の情報処理装置。
The storage device stores a data collector evaluation value representing a result of evaluation of the software by a data collector who performs the task of collecting the data, and an evaluation value of the software by a data analyst who performs the task of analyzing the data. A data analyst evaluation value representing the result of the analysis is stored in association with the software identification information,
When a plurality of pieces of the software identification information are obtained by the search, the arithmetic device determines the software identification information obtained by the search based on the data collector evaluation value and the data analyst evaluation value. 8. The information processing apparatus according to claim 7, wherein the responses are output after being arranged according to the priority.
前記演算装置は、前記データ収集者評価値と前記データ分析者評価値が同じである場合においては、前記ソフトウェア識別情報に対応付けられている前記使用実績が多い順に整列した上で、前記レスポンスとして出力する
ことを特徴とする請求項8記載の情報処理装置。
In the case where the data collector evaluation value and the data analyst evaluation value are the same, the arithmetic device sorts in descending order of the usage record associated with the software identification information, and then, as the response, 9. The information processing apparatus according to claim 8, wherein the information is output.
前記コンポーネントは、データを収集する処理を実装したデータ収集コンポーネントであり、
前記記憶装置は、前記データを収集する作業を実施するデータ収集者が前記コンポーネントを評価した結果を表すデータ収集者評価値と、前記データを分析する作業を実施するデータ分析者が前記コンポーネントを評価した結果を表すデータ分析者評価値とを、前記ソフトウェア識別情報と対応付けて格納しており、
前記演算装置は、複数の前記コンポーネント識別情報が前記検索によって得られた場合においては、前記検索によって得られた前記コンポーネント識別情報を、前記データ収集者評価値と前記データ分析者評価値とに基づく優先度にしたがって整列した上で、前記レスポンスとして出力し、
前記データ収集者評価値は、前記コンポーネントによって前記データを収集する時間間隔が短いほど評価値が高いように構成されている
ことを特徴とする請求項2記載の情報処理装置。
The component is a data collection component that implements a process of collecting data;
The storage device stores a data collector evaluation value representing a result of evaluation of the component by a data collector who performs the task of collecting the data, and an evaluation value of the component by a data analyst who performs the task of analyzing the data. and a data analyst evaluation value representing the result of the analysis is stored in association with the software identification information,
When a plurality of pieces of the component identification information are obtained by the search, the arithmetic device determines the component identification information obtained by the search based on the data collector evaluation value and the data analyst evaluation value. After arranging according to priority, output as the response,
3. The information processing apparatus according to claim 2, wherein the data collector evaluation value is configured such that the shorter the time interval for collecting the data by the component, the higher the evaluation value.
ユーザが使用するソフトウェアを作成することを支援するソフトウェア作成支援システムであって、
請求項1記載の情報処理装置、
前記ソフトウェアを作成する作成装置、
を備え、
前記作成装置は、前記情報処理装置が検索した前記ソフトウェアを組み合わせることにより、ユーザが使用するソフトウェアを作成する
ことを特徴とするソフトウェア作成支援システム。
A software creation support system that assists a user in creating software to be used,
The information processing device according to claim 1,
a creation device for creating the software;
with
A software creation support system, wherein the creation device creates software used by a user by combining the software retrieved by the information processing device.
前記ソフトウェア作成支援システムはさらに、前記ソフトウェアのソースコードのテンプレートを格納したテンプレートデータベースを備え、
前記作成装置は、
前記演算装置が前記検索によって取得した前記ソフトウェア識別情報に対応する前記テンプレートを前記テンプレートデータベースから取得し、
前記取得した前記テンプレートによって前記ソフトウェアを作成する
ことを特徴とする請求項11記載のソフトウェア作成支援システム。
The software creation support system further comprises a template database storing source code templates of the software,
The creation device is
obtaining from the template database the template corresponding to the software identification information obtained by the search by the computing device;
12. The software creation support system according to claim 11, wherein said software is created using said acquired template.
前記テンプレートは、置換可能なパラメータを含んでおり、
前記作成装置は、
前記ソフトウェアを作成するように要求するリクエストを、前記パラメータの指定値とともに受け取り、
前記テンプレート内の前記パラメータを、前記指定値によって置き換えることにより、前記ソースコードを作成し、
前記作成した前記ソースコードによって前記ソフトウェアを作成する
ことを特徴とする請求項12記載のソフトウェア作成支援システム。
The template includes replaceable parameters,
The creation device is
receiving a request to create said software with specified values for said parameters;
creating the source code by replacing the parameters in the template with the specified values;
13. The software production support system according to claim 12, wherein said software is produced by said produced source code.
前記ソフトウェアは、
データを収集する処理を実装したデータ収集プログラム、
前記データ収集プログラムが収集した前記データを蓄積するデータレイクを作成する処理を実装したデータレイク作成プログラム、
前記データレイクが格納している前記データを管理する処理を実装したデータ管理プログラム、
のうち少なくともいずれかである
ことを特徴とする請求項11記載のソフトウェア作成支援システム。
Said software is
a data collection program that implements a process for collecting data;
a data lake creation program implementing a process of creating a data lake for accumulating the data collected by the data collection program;
a data management program implementing processing for managing the data stored in the data lake;
12. The software production support system according to claim 11, wherein at least one of
JP2021002530A 2021-01-12 2021-01-12 Information processing device, software creation support system Active JP7546493B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021002530A JP7546493B2 (en) 2021-01-12 2021-01-12 Information processing device, software creation support system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021002530A JP7546493B2 (en) 2021-01-12 2021-01-12 Information processing device, software creation support system

Publications (2)

Publication Number Publication Date
JP2022107874A true JP2022107874A (en) 2022-07-25
JP7546493B2 JP7546493B2 (en) 2024-09-06

Family

ID=82556245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021002530A Active JP7546493B2 (en) 2021-01-12 2021-01-12 Information processing device, software creation support system

Country Status (1)

Country Link
JP (1) JP7546493B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005234814A (en) 2004-02-18 2005-09-02 Fujitsu Ltd Program, program construction method, storage medium, program construction system and terminal equipment
JP5587744B2 (en) 2010-11-17 2014-09-10 株式会社日立ソリューションズ Program component search method, program component search system, and component search program
WO2017072872A1 (en) 2015-10-28 2017-05-04 株式会社日立製作所 Business program generation assistance system and business program generation assistance method

Also Published As

Publication number Publication date
JP7546493B2 (en) 2024-09-06

Similar Documents

Publication Publication Date Title
KR102327913B1 (en) Method and system for analyzing data based on block
US20100318492A1 (en) Data analysis system and method
US8244766B2 (en) Applying a model of a persona to search results
JP5221664B2 (en) Information map management system and information map management method
KR102275135B1 (en) Data collection and analyzing system and construction method of the same for project
CN112579944A (en) Page jump processing method and device and electronic equipment
JP5266975B2 (en) Personal search system, information processing apparatus, personal search method, program, and recording medium
JP2010282241A (en) File management device, file management system, file management method, and program
US11314793B2 (en) Query processing
KR102277240B1 (en) Method and system for extracting synonym by using keyword relation structure
JP6115220B2 (en) Information processing program, information processing method and apparatus
JP2008243033A (en) Retrieval system, retrieval method, program and storage medium
JP5639549B2 (en) Information retrieval apparatus, method, and program
JP7546493B2 (en) Information processing device, software creation support system
JP2006350659A (en) Staff search system, staff search apparatus, staff search terminal, program and recording medium
US11960492B2 (en) Methods and systems for display of search item scores and related information for easier search result selection
JP2004102818A (en) Retrieval support method and retrieval support device
KR20110039120A (en) Content recommendation list providing system based on location or social relationship
KR102195191B1 (en) Method and system for extracting new keyword by using keyword relation structure
KR20160119738A (en) System for recommend the customized information, method thereof, and recordable medium storing the method
KR101878937B1 (en) System for providing personalized information, method thereof, and recordable medium storing the method
JP2010134552A (en) Content management system, content management method and content management program
CN113377367B (en) Data collection method, device, computer equipment and storage medium
JP2012008613A (en) Information search system
TWI837541B (en) System and method for generating creative materials

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240626

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: 20240730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240827

R150 Certificate of patent or registration of utility model

Ref document number: 7546493

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150