JP2022107874A - Information processing device and software creation support system - Google Patents
Information processing device and software creation support system Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 claims description 47
- 238000013480 data collection Methods 0.000 claims description 30
- 238000011156 evaluation Methods 0.000 claims description 29
- 238000003860 storage Methods 0.000 claims description 25
- 238000012545 processing Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 description 55
- 230000006870 function Effects 0.000 description 26
- 238000013523 data management Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 4
- 238000012913 prioritisation Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
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.
特許文献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に係るソフトウェア作成支援システム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
情報処理装置100は 、適宜なネットワーク10を介して、端末200、作成装置300、データ収集システム400と通信可能に接続されている。ソフトウェアの作成支援と管理は、情報処理装置100が実行主体となって実施する。作成装置300は、データ収集システム400を作成する実行主体である。
The
端末200において、ユーザ(例えば作成されたソフトウェアを使用する予定になっている者)は、作成しようとするソフトウェアの属性情報を入力する。情報処理装置100はその入力を受け付けて後述のように処理する。端末200は、PC(Personal Computer)、タブレット端末、スマートフォン、携帯電話などのように、後述する表示・入力装置110が提供する情報について操作者が閲覧や操作することができる、コンピュータ端末である。
At the
情報処理装置100は、管理データベース120に蓄積している過去に開発されたソフトウェアの属性情報を検索して利用者に提示することにより、利用者へ過去のソフトウェアを再利用するように促した上で、そのソフトウェアを配布するように作成装置300へ指示する。
The
作成装置300は、情報処理装置100から受け渡されたソフトウェアの属性情報に基づいて、ソフトウェアを生成・提供するサーバ装置である。作成装置300は、仮想化されたソフトウェア機能、プラットフォーム機能、ハードウェア機能などの各種ソフトウェア実行用の機能を提供し、ソフトウェアを提供するとともにサービスを提供している。本実施形態においては、作成装置300が、仮想化されたWEBサーバ、ソフトウェアサーバ、データベースサーバなど、各種ソフトウェア実行用のプラットフォーム機能と、その上で実行されるソフトウェアを実行することを想定する。
The
情報処理装置100は、表示・入力装置110、実績収集装置130、管理装置140、検索装置150、実行装置160を備える。これら各装置はハードウェアとして実装することもできるし、情報処理装置100が備えるプログラムを演算装置が実行することによって実装することもできる。以下では記載の便宜上、これらを「装置」と表記するが、これらの実装はハードウェアによるものに限らない。
The
表示・入力装置110は、端末200に対し、GUI(Graphical User Interface)、API(Application Programming Interface)、CLI(Command Line Interface)などのような、入出力用のインターフェースを提供する。表示・入力装置110は、このインターフェースを介して、ソフトウェアを作成するための設定や作成されたソフトウェアを検索するための検索キーワードなどに関する入出力動作を受け付ける。端末200は、表示・入力装置110が提供するインターフェースを介して、情報の閲覧や操作をユーザに実行させる。
The display/
実績収集装置130は、端末200から入力されたソフトウェアやコンポーネントの使用実績を収集するための設定に基づいて、ソフトウェアやコンポーネントの使用実績を収集する。
The
管理装置140は、(a)端末200から入力された設定に基づいて、管理データベース120にソフトウェアの属性情報を新しく登録する機能、(b)実績収集装置130にて収集された情報と端末200から入力された情報に基づいて、管理データベース120にソフトウェアとコンポーネントの使用実績を新しく登録する機能、(c)端末200を通じて作成されたソフトウェアやコンポーネントの情報を表示する機能、を備える。
The
検索装置150は、(a)端末200から入力された検索対象を特定する検索キーワードやソフトウェアを作成するための設定に基づいて、管理データベース120から適したソフトウェア(またはソフトウェアを構成するコンポーネント)を検索する機能、(b)検索の結果、複数のソフトウェアまたはコンポーネントの候補を特定した場合、この複数の候補の中で適性順位がより高いソフトウェア、またはコンポーネントを複数の候補から特定する機能、を備える。適性順位は、管理データベース120のソフトウェア使用実績テーブル520、またはコンポーネント使用実績テーブル540(後述)を参照することによって、決定できる。
The search device 150 (a) searches for suitable software (or components constituting the software) from the
実行装置160は、端末200から入力された設定に基づいて、後述する作成装置300に対して、ソフトウェアをデプロイするように指示する。
Based on the settings input from the
情報処理装置100のハードウェア構成としては、(a)SSD(Solid State Drive)やハードディスクドライブなど適宜な不揮発性記憶素子で構成される記憶装置、(b)RAMなど揮発性記憶素子で構成されるメモリ、(c)記憶装置に保持されるプログラムをメモリに読み出すなどして実行し装置自体の統括制御を行なうとともに各種判定、演算及び制御処理を実施するCPUなどの演算装置、(d)処理データの表示を行うディスプレイ等の出力装置、(e)ネットワーク10と接続し他装置との通信処理を担う通信装置、を備える。
The hardware configuration of the
作成装置300は、端末200から入力された設定に基づいて、データ収集ソフトウェアを生成する。データ収集ソフトウェアは、データ収集内容を携帯端末420に表示させ、収集結果を受け付けるためのソフトウェアである。作成装置300は、ネットワーク10を介してデータ収集ソフトウェアを携帯端末420に対して提供する。作成装置300はさらに、データレイク生成プログラムとデータ管理ソフトウェアを作成する。データレイク生成プログラムは、ネットワーク10を介して携帯端末420から収集結果を受信し格納するためのデータレイクを作成するプログラムである。データ管理ソフトウェアは、データレイクからデータを抽出し適宜ユーザに提供するための管理機能を有する。作成装置300は、ネットワーク10を介してデータレイク生成プログラムとデータ管理ソフトウェアをデータ管理装置410に対して提供する。データ収集作業者は、そのデータ収集ソフトウェアを実行することにより収集されたデータを携帯端末420上で閲覧することができる。収集データはネットワーク10を通じてデータ管理装置410によって収集される。
The
携帯端末420は、パーソナルコンピュータ、スマートフォン、タブレット端末装置等の携帯可能な携帯装置である。より具体的には、携帯端末420は、データ収集者がデータを収集する時に携帯し、データ収集ソフトウェアを実行することにより表示されたデータ収集内容に基づいてデータ収集を実施し、データ管理装置410へデータを送信するために利用される。データ収集者は、携帯端末420のカメラを利用して対象物を撮影したり、携帯端末420のマイクを利用して対象の音を録音したり、携帯端末420に表示された入力フォームに対してキーパッドなどを利用して携帯端末420に入力したりする。これらの画像、音声、およびデータ収集者に直接入力された情報以外に取得される情報としては、携帯端末420の加速度センサ、地磁気センサ、GPS(Global Positioning System)ユニットなどの内蔵のセンサの他、外付けセンサで取得される情報も挙げられる。これらの情報の取得は、データ収集者が意図的に収集する以外に、データ収集ソフトウェアにより自動的に情報収集してもよい。たとえば、携帯端末420のGPSユニットを用いて、自動的に位置情報を取得してもよい。
The
携帯端末420のハードウェア構成の1例としては、上述の演算装置と、上述のメモリと、上述の記憶装置と、上述の通信装置と、を備える。データを取得する手段として例えば、加速度センサと、ジャイロセンサと、地磁気センサと、カメラと、マイクと、GPSユニットと、を備える。ユーザインターフェースとして、入力を受け付ける入力装置と、出力装置と、を備える。記憶装置内には、本実施形態の携帯端末420として必要な機能を実現するプログラムが格納される。
An example of a hardware configuration of the
データ管理装置410のハードウェア構成に関しては、上述の情報処理装置100と同様であるので、割愛する。後述のとおり、データ管理装置410に関しては、仮想的なハードウェア機能を用いて実現されてもよい。データ管理装置410の記憶装置内には、本実施形態のデータ管理装置410として必要な機能を実現するプログラムが格納される。
Since the hardware configuration of the
図2は、管理データベース120が保持するデータテーブルの例を示す。管理データベース120は、既に作成されたソフトウェアの説明やソフトウェアを作成するために入力されたパラメータ(ソフトウェア上で実装される収集コンポーネントや収集項目など)の情報、およびソフトウェアの使用実績を管理するデータベースである。管理データベース120は、ソフトウェア情報テーブル510、ソフトウェア使用実績テーブル520、コンポーネント情報テーブル530、およびコンポーネント使用実績テーブル540を格納している。
FIG. 2 shows an example of a data table held by the
ソフトウェア情報テーブル510は、ソフトウェアの固有の識別子であるソフトウェアID511をキーとして、該当ソフトウェアの名前を示すソフトウェア名512、該当ソフトウェアの説明を示すソフトウェア説明513、後述する検索語514、該当ソフトウェアを作成した作成者515、の各値を対応付けたレコードの集合体となっている。ソフトウェアID511およびソフトウェア名512は必須の値である。
The software information table 510 has a
ソフトウェア使用実績テーブル520は、ソフトウェア使用実績の固有の識別子であるソフトウェア使用実績ID521をキーとして、該当ソフトウェアの収集データ数を示すデータ数522、該当ソフトウェアの利用者数を示すソフトウェア利用者数523、該当ソフトウェアが最後に更新された日付を示す最終更新日524、該当ソフトウェアの最新のデータ収集日を示す最新のデータ収集日525、該当ソフトウェアのデータを収集したデータ収集者から与えられたデータ収集者評価526、該当ソフトウェアの収集データを分析したデータ分析者から与えられたデータ分析者評価527、の各値を対応付けたレコードの集合体となっている。ソフトウェア使用実績ID521、最終更新日524は必須の値である。
The software usage history table 520 uses a software
コンポーネント情報テーブル530は、コンポーネントの固有の識別子であるコンポーネントID531をキーとして、該当コンポーネントの名前を示すコンポーネント名532、該当コンポーネントの説明を示すコンポーネント説明533、後述する検索語534、該当コンポーネントを作成した作成者535、の各値を対応付けたレコードの集合体となっている。コンポーネントID531およびコンポーネント名532は必須の値である。
In the component information table 530, a
コンポーネント使用実績テーブル540は、コンポーネント使用実績の固有の識別子であるコンポーネント使用実績ID541をキーとして、該当コンポーネントが使用されているソフトウェア数を示すソフトウェア使用数542、該当コンポーネントが最後に更新された日付を示す最終更新日543、該当コンポーネントの最新のデータ収集日を示す最新のデータ収集日544、該当コンポーネントのデータを収集したデータ収集者から与えられたデータ収集者評価545、該当コンポーネントの収集データを分析した分析者から与えられたデータ分析者評価546、の各値を対応付けたレコードの集合体となっている。コンポーネント使用実績ID541、最終更新日543は必須の値である。
The component usage history table 540 uses a component
以下、本実施形態におけるソフトウェアの作成支援・管理方法の実施手順について説明する。以下で説明するソフトウェアの作成支援・管理方法に対応する各種動作は、情報処理装置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
図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
ソフトウェア基本情報入力領域610は、「ソフトウェア名」「ソフトウェア説明」「作成者名・部署」などのように、ソフトウェアの基本属性パラメータをそれぞれ入力する領域である。
The software basic
コンポーネント基本情報入力領域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
コンポーネントタイプ選択ボックス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
第2コンポーネント情報領域613bは、コンポーネントタイプとして「選択肢」を選択した場合の表示例である。第2コンポーネント設定情報領域612bには、データベースに格納する際のフィールド名を入力するためのフィールド名入力領域、ユーザに提示する選択肢を設定する回答入力領域623、回答入力領域623を追加する回答追加ボタン624、回答入力領域623を削除する回答削除ボタン625、が設けられている。図示の例では、選択肢コンポーネントにより、ユーザに部位の選択を促す表示文を提示し、ユーザがポンプやエンジンなどの選択肢から選択し、収集結果をフィールド名Componentとして格納する。
The second
第3コンポーネント情報領域613cは、コンポーネントタイプとして「音声」を選択した場合の表示例である。第3コンポーネント設定情報領域612cには、マイクにより録音するときのサンプリングレートを設定するサンプリングレート入力領域627、ユーザに提示する録音条件を入力するための条件入力領域628が設けられている。図示の例では、音声コンポーネントにより、サンプリングレート44.1kHzで、対象から1m離れた場所で録音することをユーザに促す。
The third
これらコンポーネントは、過去に作成されたコンポーネントであり、後述する作成装置300が作成できるものである。コンポーネント設定情報領域は、適用するコンポーネントごとに変更される場合がある。たとえば、同じ音声を集めるコンポーネントにおいても、ユーザへ1m離れた場所へ行くことを促すことに追加して、実際に加速度センサやカメラを用いて、ユーザが対象物から1m離れているか判断し、その場合にのみ録音を可能とするコンポーネントも考えられる。これらは別々のコンポーネントと扱われるので、コンポーネントタイプ選択ボックス620において別々のタイプとして扱われる。
These components are components that have been created in the past, and can be created by the
登録者が、図3の画面において、ソフトウェア基本情報入力領域610、コンポーネント情報領域613を入力し、登録開始ボタン616を押すと、管理装置140は情報登録を開始する。登録者がマニュアル入力することに代えて、設定ファイル読み込み領域を設け、ソフトウェア情報を記述した設定情報ファイルを読み込むことにより、自動入力されるようにしてもよい。設定ファイルの形式はJSON形式やCSVなどの任意の形式でよい。
When the registrant enters the software basic
図4は、管理装置140がソフトウェア情報を登録する手順を示すフローチャートである。ユーザが図3の画面を用いて入力したパラメータを表示・入力装置110が受け付けると、管理装置140は本フローチャートを開始する。
FIG. 4 is a flow chart showing a procedure for the
管理装置140は、まず入力されたパラメータを取り込む(S101)。検索装置150はコンポーネント毎(S102)に、既に管理データベース120に登録済みの既存コンポーネントかどうかを確認する(S103)。既存コンポーネントでなければ、コンポーネントIDを付与して(S104)、管理データベース120のコンポーネント情報テーブル530に登録する(S105)。コンポーネント情報テーブル530において必須の項目以外が入力されていない場合、初期値としてNULLを設定する。既存コンポーネントの場合はS104~S105を実施しない。以上のS102~S105の動作をコンポーネント毎に繰り返す。
The
コンポーネントごとの処理が完了した後に(S106)、検索装置150は、既に管理データベース120に登録済みの既存ソフトウェアかどうかを確認する(S107)。既存ソフトウェアでなければ、ソフトウェアIDを付与して(S108)、管理データベース120のソフトウェア情報テーブル510に登録する(S109)。ソフトウェア情報テーブル510において必須の項目以外が入力されていない場合、初期値としてNULLを設定する。既存ソフトウェアの場合はS108~S109を実施しない。
After the processing for each component is completed (S106), the
以上の処理により、ユーザが図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
図5は、管理装置140が検索インデックスを作成して登録する手順を示すフローチャートである。この処理は、図4の登録処理と同様に、ユーザが図3の画面を用いて入力したパラメータを表示・入力装置110が受け付け、管理装置140がそのパラメータを読み込み、該当のパラメータから検索用のキーワードを抽出し、管理データベース120の検索語514または534として登録する処理である。
FIG. 5 is a flowchart showing a procedure for the
管理装置140は、表示・入力装置110からパラメータを受け付け(S201)、コンポーネント毎(S202)に以下を実施する。まず、取り込んだファイルの書式や書かれている言語特性を把握する(S203)。日本語の場合、日本語の特徴に合せて、文節毎に区切って、キーワードを抽出していく。その後、助詞や助動詞などを分離し、特徴のあるキーワードのみを抽出する(S204)。あらかじめ特徴語のリストを用意しておき、それを重点的に抽出してもよい。たとえば、建設現場においてデータ収集するソフトウェアに関しては、寒冷地や通常地などの想定される条件に関する単語や、エンジンやポンプなどの機械の部位に関する単語が、特徴語の候補として考えられる。事前に特徴語を抽出するようなモデルを作成してもよい。モデルを構築するための統計量の1例として、TF-IDFを用いてもよい。これは、文章中で多く使われている単語の内、他の文章においてあまり使用されていない単語が大きな値となる指標である。この指標は、「ある文章中において出現頻度が多い単語は重要な単語である」という仮定に基づく。ソフトウェアが属しているカテゴリの情報、ソフトウェア名、および説明文に含まれる名詞(言葉または文字列)の出現頻度を学習させ、モデル化することにより、ソフトウェアの特徴語を算出してもよい。同じ目的を達成するソフトウェアは、同じカテゴリに属していると考えられ、同様に、同じ目的を達成するならば、ソフトウェア名や説明文に対して、ソフトウェアの特性を表すキーワードの出現頻度が似ている傾向があるからと想定されるからである。管理装置140は、抽出したキーワードを検索語としてコンポーネント情報テーブル530に登録する(S205)。
The
コンポーネントごとの処理が完了した後に(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
収集条件入力領域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
収集方法選択ボックス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
登録者が、図6の画面において、収集条件入力領域630、諸情報入力領域631、格納情報入力領域632を入力し、登録開始ボタン633を押すと、実績収集装置130は情報収集の処理を開始する。図3と同様に設定ファイルによって自動入力してもよい。後述する作成装置300が登録処理を実施する場合は、端末200を介さずに、自動で作成装置300より各情報が入力され、登録指示がなされる。
When the registrant enters the collection condition input area 630, various
諸情報入力領域631と格納情報入力領域632の詳細については、後述する具体例を用いて説明する。
Details of the various
実績収集装置130は、まず入力されたパラメータを取り込む。実績収集装置130は、指定された方法に応じて収集項目を収集し、対象のソフトウェアまたはコンポーネントの使用実績として、管理装置140を介して、管理データベース120のソフトウェア使用実績テーブル520またはコンポーネント使用実績テーブル540に登録する。収集できなかった項目については、初期値としてNULLを設定する。
The
使用実績を「手入力」によって収集する方法の詳細を説明する。格納情報入力領域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
諸情報入力領域631と格納情報入力領域632の詳細について、使用実績を「自動」によって収集する場合における例を用いて説明する。登録者は、諸情報入力領域631の自動収集設定に、使用実績を収集するために用いるプログラムを入力する。図6の「実行プログラム」欄はそのソースコード例である。この例は、収集ターゲットのソフトウェアに対するHTTPリクエストによって使用実績を収集するものである。したがって、HTTPリクエストのリクエストタイプ(GETまたはPOST)、リクエスト先URL、リクエストパラメータ(keyとvalueのペア)、も入力する必要がある。格納情報入力領域632においては、管理データベース120に格納するデータ項目として、ソースコード内の変数を指定する。図6の例においては、データ数522に対して、ソースコード内の変数dataNumberの値を格納することが指定されている。
The details of the various
以上により、ソフトウェアやコンポーネントについて、使用実績が収集され、管理データベース120に格納される。
As described above, usage records of software and components are collected and stored in the
上記では図3と図6の画面を用いて、それぞれ登録開始ボタン616、登録開始ボタン633を押下することによって、登録処理を実行する例を説明したが、後述する作成装置300が登録処理を実施する場合は、入力されたパラメータを対象として、自動で登録処理が実行される。特に、本実施形態については、作成装置300と連動して、自動的に上記の自動登録が実施される。
An example of executing the registration process by pressing the start registration button 616 and the
図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
図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
ユーザが図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/
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
ユーザは端末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
使用実績は、例えばデータ数522やソフトウェア利用者数523が多いソフトウェアほど実績が高いものとみなすことができる。ソフトウェア使用数542についても同様である。これらの評価項目を組み合わせて評価する適当な評価関数を用いてもよい。
For example, software with a large number of
検索処理(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
以上により、利用者がソフトウェアやコンポーネントを検索する上で、より使用実績があるものを利用者に提示し、より効率的なソフトウェアやコンポーネントの再利用を促すことができる。 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
これら一連の処理により、過去の類似のソフトウェアやコンポーネントの中から、実績のあるソフトウェアやコンポーネントを参考にしながら、新しいソフトウェアを作成することが可能となる。 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
ユーザが図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/
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
以上により、要件に応じた過去の類似ソフトウェアを参照させることによって、類似のソフトウェアの乱立を防ぎ、意味のあるソフトウェア作成のみを許可することができる。 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
管理画面の表示部653には、後述する表示対象選択ボックス650、表示対象カテゴリー選択ボックス651、検索ボックス652により入力された表示条件をもとに、管理データベース120に登録されているソフトウェアまたはコンポーネントが一覧表示されている。ユーザは、表示されている一覧からソフトウェアまたはコンポーネントを選択し、対象の詳細情報を表示する。
On the
表示対象選択ボックス650においてユーザは、表示対象として、ソフトウェア(アプリ)とコンポーネントのいずれかを選択する。表示対象カテゴリー選択ボックス651においてユーザは、表示対象のカテゴリーを、あらかじめ用意されたカテゴリーの候補から選択する。表示対象カテゴリー選択ボックス651で選択したキーワードは表示・入力装置110が受け付け、検索装置150に受け渡す。検索装置150において、受け付けたキーワードに基づいて、前述の検索処理を実施し、過去に作成した類似のソフトウェアまたはコンポーネントを検索し、検索結果を表示部653に表示する。表示対象カテゴリー選択ボックス651は、図のように選択肢を選ぶ形に限られない。たとえば、機械のある部位に関連するソフトウェアを表示させたい場合、部位ごとの画像を用意しておき(車体の前面部、後部、足回りなど)部位に対応する影絵を表示して、いずれかをクリックすると、関連するソフトウェアが表示されるようにしてもよい。
In the display
検索ボックス652は、ユーザ自身が任意のキーワードを入力するボックスである。具体的には、この手入力ボックスでは、ユーザにキーボード等から任意のキーワードを入力させ、入力したキーワードを表示・入力装置110が受け付け、検索装置150に受け渡す。検索装置150は、受け付けたキーワードに基づいて、前述の検索処理を実施し、過去に作成した類似のソフトウェアまたはコンポーネントを検索し、検索結果を表示部653に表示し、ユーザに提示する。
A
これら一連の操作により、複数作成されたソフトウェアの中で有効なソフトウェアを労力少なく見つけることができるので、ユーザがソフトウェアを作成する際に情報処理装置100がサポートすることができる。
Through this series of operations, effective software can be found among a plurality of created software with less effort, so that the
本実施形態におけるソフトウェアの作成方法の実施手順について図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
図12は、作成装置300がソフトウェアを作成する手順を示すフローチャートである。過去のソフトウェアとコンポーネントのなかで、ユーザが所望する機能を備えるものが見つからない場合、作成装置300はユーザが所望するソフトウェアを新規作成する。ここではデータレイク作成プログラムとデータ管理ソフトウェアを作成する例を説明する。データレイク作成プログラムは、端末200から入力された設定に基づいて、データ収集内容を携帯端末420に表示させ、収集結果を受け付けるためのデータ収集ソフトウェアを生成し、ネットワーク10を介してデータ収集ソフトウェアを携帯端末420に提供し、ネットワーク10を介して携帯端末420から収集結果を受信し格納するプログラムである。データ管理ソフトウェアは、当該データレイクからデータを抽出し適宜ユーザに提供するソフトウェアである。
FIG. 12 is a flow chart showing a procedure for creating software by the
具体的には、本フローチャートにおけるソフトウェア作成は、テンプレートとパラメータを入力として、テンプレート中の変数をパラメータに基づき置き換えるテンプレートエンジンによって、あらかじめ用意されたテンプレートから、利用者が入力したパラメータを反映した各種ソースコードを作成することにより、実現可能である。 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
はじめに、表示・入力装置110は、適宜なインターフェースを介して、上述の要件を満たす要求を受け付ける。ユーザは図7の画面を用いて、作成するソフトウェアの属性情報パラメータを入力する。端末200はそのパラメータを作成装置300へ送信する。端末200と作成装置300との間の情報授受は表示・入力装置110が仲介することを前提としているが、説明の簡明化のため、以降の説明においては表示・入力装置110の仲介処理については省略するものとする(以下同様)。
First, the display/
作成装置300は、表示・入力装置110からパラメータを受け付ける(S601)。作成装置300は、受け付けたパラメータに基づいて、テンプレートデータベース310からデータ収集ソフトウェア用のテンプレートを選択し(S602)、そのテンプレート中の所定の引数を、受け取ったパラメータに置き換えることにより、データ収集ソフトウェアのソースコードを生成する(S603)。データ収集ソフトウェアのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データ収集ソフトウェアのソースコードのコンパイルを実行する。
The
作成装置300は、データ収集ソフトウェアを携帯端末420に提供する(S604)。たとえば、データ収集ソフトウェアをネットワーク10上で公開することにより、携帯端末420にダウンロードさせることもできる。あるいは、JSON形式などの適当なフォーマットでパラメータを携帯端末420上に存在するソフトウェアに対して送信し、ソフトウェアがパラメータを読み込むことにより、データ収集ソフトウェアが作成されるようにしてもよい。この技術は、近年Javascriptによってスマートフォンソフトウェア開発を可能としているReactNative等の公知技術により、実現可能である。
The
データ収集ソフトウェアは、データレイクへアクセスするためのパラメータを保持しているので、データレイクに対して収集したデータを送信することができる。このアクセス情報に関しては、ユーザに入力させてもよいし、データレイク生成プログラムやデータ管理ソフトウェアを生成する際に、自動でアクセス情報をデータ収集ソフトウェアへ送信してもよい。 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
作成装置300は、データレイク生成プログラムのソースコードテンプレート中の所定の引数を、受け取ったパラメータに置き換えることにより、データレイク生成プログラムのソースコードを生成する(S605)。そして、データレイク生成プログラムのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データレイク生成プログラムのソースコードのコンパイルを実行する。作成装置300は、ネットワーク10を介してデータレイク生成プログラムをデータ管理装置410に対して送信する(S606)。作成装置300は、データ管理装置410に対して、そのデータレイク生成プログラムを実行するように指示する(S607)。データ管理装置410は、受信したデータレイク生成プログラムを実行することにより、データベースを含むデータレイクを作成する。
The
ここで作成されるデータベースが持つデータテーブルは、データ収集ソフトウェアが収集するデータ項目と対応したデータ構造を有する。ただし、音声や画像といった非構造化データは、データベースで管理することが難しいので、非構造化データの格納場所を示す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
作成装置300は、データ管理ソフトウェア用のテンプレート中の所定の引数を、パラメータファイル中のパラメータに置き換え、データ管理ソフトウェアのソースコードを生成する(S608)。そして、データ管理ソフトウェアのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データ管理ソフトウェアのソースコードのコンパイルを実行する。作成装置300は、ネットワーク10を介してデータ管理ソフトウェアをデータ管理装置410に対して送信する(S609)。作成装置300は、データ管理装置410に対してそのデータ管理ソフトウェアをデプロイするように指示する(S610)。データ管理装置410は、受信したデータ管理ソフトウェアをデプロイする。
The
データ管理ソフトウェアは、データレイクへアクセスするためのパラメータを保持しているので、データレイクからデータを読み出し、ユーザへ提示することができる。これにより、ユーザはデータ管理ソフトウェアを通じてデータの確認やダウンロードをすることができる。たとえば、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
以上により、利用者は、プログラミングの知識を必要とせず、データを収集するためのシステムを作成することが可能になる。 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
本実施形態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
図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.
ソフトウェア提供システム770は、提供事業者が提供する画面を通じて、ユーザが入力した設定に基づき、データ収集システム400が提供されるサービスである。この提供形態は、提供事業者がデータ収集システム400のハードウェアあるいはソフトウェア等の各種リソースをサービスとしてユーザに提供する形式を想定したものである。こうしたサービスの詳細仕様は、利用者側にオープンになるとは限らず、またサービスの仕様が非公開下で変更になる場合もある。したがってこのようなサービスに対して上述の作成支援・管理をする場合、ソフトウェア提供システム770における図7の画面に相当する入力画面が、サービス事業者によって提供されるものに変更される。ソフトウェア提供システム770の公知サービスの1例としては、Teamscopeが提供するMobile Form Builderが挙げられる。
The software providing system 770 is a service provided by the
情報処理装置100に関して、実施形態1と大きく異なる部分について説明する。ソフトウェア提供システム770における図7の画面に相当する入力画面が変更となることが最も大きな相違となる。そこで本実施形態2の情報処理装置100では、表示・入力装置110を介して、ソフトウェア提供システム770の画面を端末200へ表示する。端末200が入力した内容は、表示・入力装置110を介して、ソフトウェア提供システム770の画面に反映される。管理装置140は、表示・入力装置110を介して、出力されている画面からユーザの入力部分を取得し、ソフトウェア情報として管理データベース120へ登録する。登録処理、作成支援、管理に関しては、実施形態1と同じである。また、適宜ソフトウェア提供システム770の画面に応じて、図7の画面に相当する入力画面の項目を変更することにより、実施形態1と同じように、ユーザがソフトウェアを作成することを、情報処理装置100によってサポートすることができる。
Regarding the
本実施形態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との相違点を中心に説明する。
<
In Embodiments 1 and 2, configuration examples in which software is created by the creating
図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
本実施形態では、ソフトウェア登録画面と実績収集画面を介してのみ、ソフトウェア属性情報とソフトウェア使用実績を管理データベース120へ登録する。本実施形態では、ソフトウェアの検索により、登録されたソフトウェアを管理する。ソフトウェア登録画面は、登録するソフトウェアに応じて柔軟に変更される。
In this embodiment, the software attribute information and the software usage record are registered in the
本実施形態によれば、作成装置300やソフトウェア提供システム770以外によって作成されたシステムに関しても、管理することができる。例えば、プログラマーが自分の手で作成したソフトウェアに関しても、本実施形態によれば、管理することができる。
According to this embodiment, systems created by other than the creating
<本発明の変形例について>
本発明は、前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
<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
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を介して前記ソフトウェアの使用実績を収集し、
前記収集した前記ソフトウェアの使用実績を、前記ソフトウェア識別情報と対応付けて前記記憶装置に格納する
ことを特徴とする請求項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
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)
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 |
-
2021
- 2021-01-12 JP JP2021002530A patent/JP7546493B2/en active Active
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 |