JP7546493B2 - Information processing device, software creation support system - Google Patents
Information processing device, software creation support system Download PDFInfo
- Publication number
- JP7546493B2 JP7546493B2 JP2021002530A JP2021002530A JP7546493B2 JP 7546493 B2 JP7546493 B2 JP 7546493B2 JP 2021002530 A JP2021002530 A JP 2021002530A JP 2021002530 A JP2021002530 A JP 2021002530A JP 7546493 B2 JP7546493 B2 JP 7546493B2
- Authority
- JP
- Japan
- Prior art keywords
- software
- identification information
- data
- component
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 45
- 238000000034 method Methods 0.000 claims description 70
- 238000011156 evaluation Methods 0.000 claims description 33
- 238000013480 data collection Methods 0.000 claims description 30
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 55
- 230000006870 function Effects 0.000 description 30
- 238000013523 data management Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000001133 acceleration Effects 0.000 description 3
- 230000006854 communication Effects 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
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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)
Description
本発明は、ユーザがソフトウェアを作成することを支援する技術に関する。 The present invention relates to technology that assists users in creating software.
ネットワーク技術やセンシング技術の発展により、IoTデバイスを活用したデータ収集が進んでいる。近年においては、データ収集システムを通じて収集されたデータに対して、データサイエンティストと呼ばれるデータ分析に詳しい専門の技術者が、データを分析する。 With the development of network and sensing technologies, data collection using IoT devices is progressing. In recent years, data collected through data collection systems is analyzed by specialized engineers who are knowledgeable in data analysis, known as data scientists.
このようなデータ収集システムを構築するにあたっては、プログラムに関して高い専門知識が必要である。たとえばC言語、C++言語、JAVA(登録商標)などのプログラミング言語でソースプログラムを作成し、それをコンパイラでコンパイルすることにより、コンピュータが実行可能なマシン語のプログラムが作られる。コンパイルが必要ないJAVASCRIPTなどのプログラミング言語も存在する。 Building such a data collection system requires a high level of programming expertise. For example, a source program is written in a programming language such as C, C++, or JAVA (registered trademark), and then compiled with a compiler to create a machine language program that can be executed by a computer. There are also programming languages such as JAVASCRIPT that do not require compiling.
データ分析の目的や分析手法によって必要とされるデータは異なるので、複数のデータ収集システムが必要になる場面が想定される。しかしながら、システム作成には労力や工数が発生するので、必要な時にデータ収集システムの供給を受けることができない、また時間がかかるといった懸念がある。 The data required differs depending on the purpose and method of data analysis, so it is conceivable that multiple data collection systems will be required. However, creating a system requires effort and man-hours, so there are concerns that a data collection system may not be available when needed, and that it will take a long time.
下記特許文献1は、プログラムの開発に必要な労力が少なく、高度な知識を必要とせずにプログラムを容易に作成できるデータ収集システムを提供する方法を開示している。 The following Patent Document 1 discloses a method for providing a data collection system that requires little effort in program development and allows programs to be easily created without requiring advanced knowledge.
特許文献1記載の技術により、ユーザは高度なプログラム設計技術や知識を必要とせずに、直接ソースコードを入力しなくても、データ収集プログラム、テーブル生成プログラム、およびテーブルアクセスプログラムを生成することが可能となる。しかしながら、その簡便性に起因して、有効ではないデータ収集システムが作成される可能性がある。一般的に、ソフトウェア開発において、効率的な開発のためには既存コンポーネントの再利用が有効とされているが、これはユーザが高度なプログラム設計技術や知識を持っていることが前提である。したがってコンポーネント再利用によって簡便にデータ収集システムを作成すると、収集効率や収集項目などの観点から必ずしも有用ではないデータ収集システムが生成される可能性がある。 The technology described in Patent Document 1 enables users to generate data collection programs, table generation programs, and table access programs without requiring advanced program design techniques or knowledge, and without directly inputting source code. However, due to its simplicity, there is a possibility that an ineffective data collection system will be created. In general, in software development, reusing existing components is considered effective for efficient development, but this presupposes that the user has advanced program design techniques and knowledge. Therefore, if a data collection system is created easily by reusing components, there is a possibility that a data collection system will be created that is not necessarily useful in terms of collection efficiency, collection items, etc.
また、作成されたシステムがどのようなデータを収集しているかを把握しなければ、データ分析者が目的のシステムにたどり着けない可能性がある。しかし、すべてのシステムについてこれらの情報を把握することは難しい。したがって、ユーザがソフトウェアを作成することを支援できる仕組みが望まれている。 Furthermore, if data analysts do not know what kind of data the created system is collecting, they may not be able to find the system they are looking for. However, it is difficult to understand this information for all systems. Therefore, there is a need for a mechanism that can assist users in creating software.
本発明は、上記事情に鑑みてなされたものであり、ユーザが専門知識を有していなくともソフトウェアを作成することを支援することを目的とする。 The present invention was made in consideration of the above circumstances, and aims to help users create software even if they do not have specialized knowledge.
本発明に係る情報処理装置は、ソフトウェアの属性情報と使用実績を対応付けて格納しており、ユーザが所望するソフトウェアの属性情報を検索してその使用実績とともに出力する。 The information processing device according to the present invention stores software attribute information and usage history in association with each other, searches for attribute information of software desired by the user, and outputs the information together with the usage history.
本発明に係る情報処理装置によれば、ユーザが専門知識を有していなくとも、ユーザのニーズに合致するとともに使用実績があるソフトウェアを容易に見つけることができる。これにより、ユーザがソフトウェア開発に関する専門知識を有していなくとも、有用なソフトウェアを作成することを支援できる。 The information processing device according to the present invention allows a user to easily find software that meets the user's needs and has a proven track record, even if the user does not have specialized knowledge. This helps the user to create useful software, even if the user does not have specialized knowledge about software development.
<実施の形態1>
図1は、本発明の実施形態1に係るソフトウェア作成支援システム1の全体構成図である。ソフトウェア作成支援システム1は、ユーザがソフトウェア(以下、アプリと称する場合もある)を作成することを支援するシステムである。ここではユーザが作成するソフトウェアとして、ユーザが様々なデータを収集するために用いるデータ収集システムを例とする。
<First embodiment>
1 is an overall configuration diagram of a software creation support system 1 according to a first embodiment of the present invention. The software creation support system 1 is a system that supports a user in creating software (hereinafter, may be referred to as an application). In this example, a data collection system used by a user to collect various data is taken as an example of the software created by the user.
ソフトウェア作成支援システム1は概略として、情報処理装置100、端末200、作成装置300、テンプレートデータベース310を備える。データ収集システム400は、ソフトウェア作成支援システム1が作成したデータ収集ソフトウェアを実行するシステムである。図1においては2つのデータ収集システム400aと400bを示した。これらシステムは同じ構成を有するので、これらを区別しないときはアルファベット添え字を省略する。
The software creation support system 1 generally comprises an
情報処理装置100は 、適宜なネットワーク10を介して、端末200、作成装置300、データ収集システム400と通信可能に接続されている。ソフトウェアの作成支援と管理は、情報処理装置100が実行主体となって実施する。作成装置300は、データ収集システム400を作成する実行主体である。
The
端末200において、ユーザ(例えば作成されたソフトウェアを使用する予定になっている者)は、作成しようとするソフトウェアの属性情報を入力する。情報処理装置100はその入力を受け付けて後述のように処理する。端末200は、PC(Personal Computer)、タブレット端末、スマートフォン、携帯電話などのように、後述する表示・入力装置110が提供する情報について操作者が閲覧や操作することができる、コンピュータ端末である。
In
情報処理装置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
実行装置160は、端末200から入力された設定に基づいて、後述する作成装置300に対して、ソフトウェアをデプロイするように指示する。
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 the hardware configuration of the
データ管理装置410のハードウェア構成に関しては、上述の情報処理装置100と同様であるので、割愛する。後述のとおり、データ管理装置410に関しては、仮想的なハードウェア機能を用いて実現されてもよい。データ管理装置410の記憶装置内には、本実施形態のデータ管理装置410として必要な機能を実現するプログラムが格納される。
The hardware configuration of the
図2は、管理データベース120が保持するデータテーブルの例を示す。管理データベース120は、既に作成されたソフトウェアの説明やソフトウェアを作成するために入力されたパラメータ(ソフトウェア上で実装される収集コンポーネントや収集項目など)の情報、およびソフトウェアの使用実績を管理するデータベースである。管理データベース120は、ソフトウェア情報テーブル510、ソフトウェア使用実績テーブル520、コンポーネント情報テーブル530、およびコンポーネント使用実績テーブル540を格納している。
Figure 2 shows an example of a data table held by
ソフトウェア情報テーブル510は、ソフトウェアの固有の識別子であるソフトウェアID511をキーとして、該当ソフトウェアの名前を示すソフトウェア名512、該当ソフトウェアの説明を示すソフトウェア説明513、後述する検索語514、該当ソフトウェアを作成した作成者515、の各値を対応付けたレコードの集合体となっている。ソフトウェアID511およびソフトウェア名512は必須の値である。
The software information table 510 is a collection of records that use a
ソフトウェア使用実績テーブル520は、ソフトウェア使用実績の固有の識別子であるソフトウェア使用実績ID521をキーとして、該当ソフトウェアの収集データ数を示すデータ数522、該当ソフトウェアの利用者数を示すソフトウェア利用者数523、該当ソフトウェアが最後に更新された日付を示す最終更新日524、該当ソフトウェアの最新のデータ収集日を示す最新のデータ収集日525、該当ソフトウェアのデータを収集したデータ収集者から与えられたデータ収集者評価526、該当ソフトウェアの収集データを分析したデータ分析者から与えられたデータ分析者評価527、の各値を対応付けたレコードの集合体となっている。ソフトウェア使用実績ID521、最終更新日524は必須の値である。
The software usage history table 520 is a collection of records that use a software
コンポーネント情報テーブル530は、コンポーネントの固有の識別子であるコンポーネントID531をキーとして、該当コンポーネントの名前を示すコンポーネント名532、該当コンポーネントの説明を示すコンポーネント説明533、後述する検索語534、該当コンポーネントを作成した作成者535、の各値を対応付けたレコードの集合体となっている。コンポーネントID531およびコンポーネント名532は必須の値である。
The component information table 530 is a collection of records that use a
コンポーネント使用実績テーブル540は、コンポーネント使用実績の固有の識別子であるコンポーネント使用実績ID541をキーとして、該当コンポーネントが使用されているソフトウェア数を示すソフトウェア使用数542、該当コンポーネントが最後に更新された日付を示す最終更新日543、該当コンポーネントの最新のデータ収集日を示す最新のデータ収集日544、該当コンポーネントのデータを収集したデータ収集者から与えられたデータ収集者評価545、該当コンポーネントの収集データを分析した分析者から与えられたデータ分析者評価546、の各値を対応付けたレコードの集合体となっている。コンポーネント使用実績ID541、最終更新日543は必須の値である。
The component usage history table 540 is a collection of records that use a component
以下、本実施形態におけるソフトウェアの作成支援・管理方法の実施手順について説明する。以下で説明するソフトウェアの作成支援・管理方法に対応する各種動作は、情報処理装置100がメモリ等に読み出して実行するプログラムによって実現される。このプログラムは、以下に説明される各種の動作を実施するためのコードから構成されている。
The procedure for implementing the software creation support and management method in this embodiment will be described below. The various operations corresponding to the software creation support and management method described below are realized by a program that the
図3は、ソフトウェア情報を登録するために用いるソフトウェア登録画面の例である。ソフトウェア登録画面は、すでに開発されたソフトウェアの属性情報を登録するために用いるものであり、端末200上に表示される。端末200上で所定の操作を行うことにより、図3の登録画面が表示される。ソフトウェアの属性としては、そのソフトウェアが有するコンポーネントおよびそのコンポーネントの属性情報を含むものとする。登録画面は情報処理装置100が提供してもよいし、端末200上のアプリケーションが提供してもよい。
Figure 3 is an example of a software registration screen used to register software information. The software registration screen is used to register attribute information of software that has already been developed, and is displayed on the
ソフトウェア基本情報入力領域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 the "Component Name", "Component Description", and "Component Type". The component setting area 612 is an area for inputting display statements, field names for collected data, and settings for collection according to the type of component. The component information area 613 is a collection of 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
コンポーネントタイプ選択ボックス620は、利用するコンポーネントのタイプを指定するためのボックスである。選択可能なコンポーネントのタイプとしては、例えばユーザにテキスト入力させるテキストボックスのコンポーネント(図中ではテキストと表記)、複数の選択肢の中からユーザに選択させる選択肢のコンポーネント(図中では選択肢と表記)、マイクを用いてユーザに音声を録音させる音声のコンポーネント(図中では音声と表記)、などがある。希望する任意のタイプをコンポーネントタイプ選択ボックス620から選択することにより、選択したタイプに応じたコンポーネント設定領域612が表示される。 The component type selection box 620 is a box for specifying the type of component to be used. Selectable component types include, for example, a text box component (represented as text in the figure) that allows the user to input text, an option component (represented as option in the figure) that allows the user to select from multiple options, and an audio component (represented 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 were created in the past and can be created by the
登録者が、図3の画面において、ソフトウェア基本情報入力領域610、コンポーネント情報領域613を入力し、登録開始ボタン616を押すと、管理装置140は情報登録を開始する。登録者がマニュアル入力することに代えて、設定ファイル読み込み領域を設け、ソフトウェア情報を記述した設定情報ファイルを読み込むことにより、自動入力されるようにしてもよい。設定ファイルの形式はJSON形式やCSVなどの任意の形式でよい。
When the registrant enters information in the software basic
図4は、管理装置140がソフトウェア情報を登録する手順を示すフローチャートである。ユーザが図3の画面を用いて入力したパラメータを表示・入力装置110が受け付けると、管理装置140は本フローチャートを開始する。
Figure 4 is a flowchart showing the 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 processing for each component is completed (S106), the
以上の処理により、ユーザが図3の画面を用いて入力したパラメータに基づいて、各コンポーネントとソフトウェアの属性情報が、管理データベース120のソフトウェア情報テーブル510とコンポーネント情報テーブル530に設定される。
Through the above process, attribute information for each component and software is set in the software information table 510 and component information table 530 of the
図5は、管理装置140が検索インデックスを作成して登録する手順を示すフローチャートである。この処理は、図4の登録処理と同様に、ユーザが図3の画面を用いて入力したパラメータを表示・入力装置110が受け付け、管理装置140がそのパラメータを読み込み、該当のパラメータから検索用のキーワードを抽出し、管理データベース120の検索語514または534として登録する処理である。
Figure 5 is a flowchart showing the procedure by which 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 parameters as a whole are used to understand the language characteristics of the parameters related to the software (S207), characteristic words of the software are extracted (S208), and the extracted keywords are registered as search terms in the software information table 510 (S209). The method for extracting characteristic words is the same as the method for extracting characteristic words of components.
以上の処理により、ユーザが図3の画面を用いて入力したパラメータから抽出された、各コンポーネントとソフトウェアの検索キーワードが、管理データベース120のソフトウェア情報テーブル510とコンポーネント情報テーブル530に検索インデックス(検索語514と534)として設定される。これにより、特徴語による検索が可能となるので、効果的な検索が可能となる。
Through the above process, the search keywords for each component and software extracted from the parameters entered by the user using the screen in FIG. 3 are set as search indexes (
図3の画面に対してユーザが入力する内容に応じて、抽出される特徴語は異なる。適切な特徴語を抽出するためには、図3の画面における入力方法を指定すると望ましい。たとえば、必須の項目を設定するほか、入力文字数の下限を設定し、それ以上の文字数であることを強制してもよい。また、上述の特徴語抽出処理を用いて、該当のアプリまたはコンポーネントの情報からどのような特徴語が登録されるかをリアルタイムで表示してもよいし、下記で説明する検索処理により過去の類似の登録情報を検索し、参考情報として提示してもよい。 The extracted feature words will vary depending on what the user inputs on the screen in Figure 3. In order to extract appropriate feature words, it is desirable to specify the input method on the screen in Figure 3. For example, in addition to setting required items, a minimum number of characters may be set and the number of characters must be greater than this limit. Furthermore, using the above-mentioned feature word extraction process, it is possible to display in real time what feature words will be registered from the information on the relevant app or component, or to search for similar registered information in the past using the search process described below and present it as reference information.
ユーザとしては、適切な特徴語が登録されるように、入力する情報を適切に選択する必要がある。たとえば、機械のエンジンの異常診断のために、エンジンの稼働音を収集する目的のアプリを登録する場合、「アプリ名」に「エンジンの稼働音収集アプリ」、「アプリ説明」に「稼働音を用いたエンジンの異常診断用です」などのように、アプリの収集目的が分かるように入力内容を選択することが望ましい。上記のエンジンの稼働音を収集する目的のアプリを構成するコンポーネントを登録する場合、「コンポーネント名」に「エンジンの稼働音収集」、「コンポーネント説明」に「エンジンの稼働音収集用です」などのように、コンポーネントの収集対象に関する情報が分かるように入力内容を選択することが望ましい。図3の表示例では、寒冷地や通常地などの想定される条件に関する単語や、エンジンやポンプなどの機械の部位に関する単語を「名称」または「説明」に入力することが、適切な特徴語を抽出するために有効である。 The user must select the appropriate information to be entered so that the appropriate feature words are registered. For example, when registering an app that collects engine operating sounds to diagnose engine abnormalities, it is desirable to select the input content so that the purpose of the app is clear, such as "App name" being "Engine operating sound collection app" and "App description" being "For engine abnormality diagnosis using operating sounds." When registering a component that constitutes the app that collects engine operating sounds, it is desirable to select the input content so that the information on the component's collection target is clear, such as "Component name" being "Engine operating sound collection" and "Component description" being "For collecting engine operating sounds." In the display example of FIG. 3, it is effective to enter words related to expected conditions such as cold regions and normal regions, or words related to machine parts such as engines and pumps in "Name" or "Description" in order to extract appropriate feature words.
図6は、ソフトウェアの使用実績を登録するために用いる使用実績登録画面の例である。使用実績登録画面は、すでに開発されたソフトウェアの使用実績を登録するために用いる画面であり、端末200上に表示される。端末200上で所定の操作を行うことにより、図6の画面が表示される。
Figure 6 is an example of a usage history registration screen used to register software usage history. The usage history registration screen is a screen used to register usage history of software that has already been developed, and is displayed on
収集条件入力領域630は、収集方法を手入力/自動から選択し、収集対象をソフトウェア/コンポーネントから選択し、該当のIDを選択する領域である。諸情報入力領域631は、選択された登録方法に応じてユーザがAPI(Application Program Interface)の設定を入力する領域である。格納情報入力領域632は、収集された使用実績の登録形式を設定する領域、登録開始ボタン633は、使用実績の登録を開始するボタンである。
The collection condition input area 630 is an area where the collection method is selected from manual input/automatic input, the collection target is selected from software/components, and the corresponding ID is selected. The miscellaneous
収集方法選択ボックス634は、利用する実績収集の方法を選択するボックスである。選択可能な収集方法としては例えば、(a)格納情報入力領域632を介してユーザに使用実績をテキスト入力させる「手入力」方法、(b)一般に各種のソフトウェアにあらかじめ所定の処理を実現するために用意されているAPIを用いて、ソフトウェアに格納されている、該当ソフトウェアの最終更新日、該当ソフトウェアの最新のデータ収集日、などの使用実績を取得する「自動」方法、がある。自動のタイプを収集方法選択ボックス634から選択することにより、諸情報入力領域631が表示される。
The collection method selection box 634 is a box for selecting the method of collecting results to be used. Selectable collection methods include, for example, (a) a "manual input" method in which the user inputs usage results as text via the stored
登録者が、図6の画面において、収集条件入力領域630、諸情報入力領域631、格納情報入力領域632を入力し、登録開始ボタン633を押すと、実績収集装置130は情報収集の処理を開始する。図3と同様に設定ファイルによって自動入力してもよい。後述する作成装置300が登録処理を実施する場合は、端末200を介さずに、自動で作成装置300より各情報が入力され、登録指示がなされる。
When the registrant enters information in the collection condition input area 630, miscellaneous
諸情報入力領域631と格納情報入力領域632の詳細については、後述する具体例を用いて説明する。
Details about the miscellaneous
実績収集装置130は、まず入力されたパラメータを取り込む。実績収集装置130は、指定された方法に応じて収集項目を収集し、対象のソフトウェアまたはコンポーネントの使用実績として、管理装置140を介して、管理データベース120のソフトウェア使用実績テーブル520またはコンポーネント使用実績テーブル540に登録する。収集できなかった項目については、初期値としてNULLを設定する。
The
使用実績を「手入力」によって収集する方法の詳細を説明する。格納情報入力領域632の各項目についてユーザが入力し、実績収集装置130はその入力された値を使用実績として取得する。実績収集装置130は、収集条件入力領域630と格納情報入力領域632に基づいて、各項目をテーブルに格納する。
A method for collecting usage records by "manual input" is explained in detail below. The user inputs information for each item in the storage
諸情報入力領域631と格納情報入力領域632の詳細について、使用実績を「自動」によって収集する場合における例を用いて説明する。登録者は、諸情報入力領域631の自動収集設定に、使用実績を収集するために用いるプログラムを入力する。図6の「実行プログラム」欄はそのソースコード例である。この例は、収集ターゲットのソフトウェアに対するHTTPリクエストによって使用実績を収集するものである。したがって、HTTPリクエストのリクエストタイプ(GETまたはPOST)、リクエスト先URL、リクエストパラメータ(keyとvalueのペア)、も入力する必要がある。格納情報入力領域632においては、管理データベース120に格納するデータ項目として、ソースコード内の変数を指定する。図6の例においては、データ数522に対して、ソースコード内の変数dataNumberの値を格納することが指定されている。
Details of the miscellaneous
以上により、ソフトウェアやコンポーネントについて、使用実績が収集され、管理データベース120に格納される。
As a result, usage history for software and components is collected and stored in the
上記では図3と図6の画面を用いて、それぞれ登録開始ボタン616、登録開始ボタン633を押下することによって、登録処理を実行する例を説明したが、後述する作成装置300が登録処理を実施する場合は、入力されたパラメータを対象として、自動で登録処理が実行される。特に、本実施形態については、作成装置300と連動して、自動的に上記の自動登録が実施される。
The above describes an example of executing the registration process by pressing the registration start button 616 and the
図7は、ソフトウェアを作成するようにユーザがソフトウェア作成支援システム1に対して指示する作成指示画面の例である。作成指示画面は、図3の登録開始ボタン616の部分を作成開始ボタン642(作成開始を指示するボタン)と変更したものであり、その他の画面構成は図3と同様である。ユーザが図7の画面において、ソフトウェア基本情報入力領域640、コンポーネント情報入力領域641を入力し、作成開始ボタン642を押すと、情報処理装置100は作成支援の処理を開始する。
Figure 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 has the registration start button 616 in Figure 3 replaced with a creation start button 642 (a button that instructs the user to start creation), and the other screen configuration is the same as in Figure 3. When the user enters information in the software basic
図8は、ソフトウェアの作成支援の手順を示すシーケンス図である。新たにデータ収集ソフトウェアを作成しようとしているユーザは、端末200を通じて、構築の対象となる新システムの要件を入力することとなる。管理データベース120には、すでに開発されたソフトウェアの属性情報が既に登録されているものとする。
Figure 8 is a sequence diagram showing the procedure for supporting software creation. A user who is creating new data collection software will input the requirements for the new system to be built via
ユーザが図7の画面を用いて、作成しようとしているソフトウェアの属性情報パラメータを入力する(S302)。表示・入力装置110がパラメータを受け付け(S302)、検索装置150はそのパラメータを受け取る。検索装置150は、受け付けたパラメータファイルに含まれるパラメータに基づいて、管理データベース120に対して後述する検索処理を実施することにより、過去に作成した類似のソフトウェアまたはコンポーネントを検索する(S303)。この検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つかった場合(S304:Y)、検索装置150は後述の使用実績を用いてソフトウェアまたはコンポーネントを抽出し(S305)、その結果を端末200に返信する。端末200はその結果を表示する(S306)。これによりユーザは、作成しようとしているソフトウェアと類似する過去のソフトウェアおよびコンポーネントを提示されることになる。
The user inputs attribute information parameters for the software to be created using the screen of FIG. 7 (S302). The display/
S303における検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つからない場合(S304:N)、検索装置150は見つからなかったことを示すフラグを端末200に返信し(S307)、処理を終了する。
If the search in S303 does not find any similar past software or components (S304: N), the
ユーザは端末200上において、図8の検索によって特定されたソフトウェアまたはコンポーネントを認識し、表示された検索結果の中からソフトウェアやコンポーネントを選択することができる。選択されたソフトウェアやコンポーネントの作成時に入力されたパラメータが自動的に図7の画面に入力される。これにより、過去の類似のソフトウェアやコンポーネントの中から、実績のあるソフトウェアやコンポーネントを参考にしながら、新しいソフトウェアを作成することが可能となる。 On the terminal 200, the user can recognize the software or components identified by the search in FIG. 8, and select the software or component from the displayed search results. The parameters entered when the selected software or component was created are automatically entered into the screen in FIG. 7. This makes it possible to create new software by referring to proven software or components from similar software or components from 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)。
Figure 9 is a flowchart explaining the search process by the
使用実績は、例えばデータ数522やソフトウェア利用者数523が多いソフトウェアほど実績が高いものとみなすことができる。ソフトウェア使用数542についても同様である。これらの評価項目を組み合わせて評価する適当な評価関数を用いてもよい。
In terms of usage history, for example, the
検索処理(S405)については、共通する検索語を特定する他に、検索語間の類似度を用いて、類似する検索語を特定してもよい。その場合、類似度の指標の1例としては、コサイン類似度がある。コサイン類似度とは、テキストが似ているとき同じ単語が近い確率で各テキストに出現すると考えられるので、テキスト間に共通する単語がどれだけあるかに基づき類似度を計算するものである。あるいは、似た意味を持つ単語はその単語の周辺に出現する単語が類似するという仮定に基づき、構築された単語をベクトル化する手法を用いて、類似度を計算してもよい。 In the search process (S405), in addition to identifying common search terms, similar search terms may be identified using the similarity between search terms. In this case, one example of an index of similarity is cosine similarity. Cosine similarity is calculated based on how many words are common between texts, since it is believed that when texts are similar, the same words will appear in each text with a similar probability. Alternatively, similarity may be calculated using a method of vectorizing constructed words based on the assumption that words with similar meanings are similar in the words that appear around them.
優先度について詳細を以下に記載する。優先度は、使用実績があり有効なソフトウェアやコンポーネントと評価できるものがより上位の優先順位で表示されるようにするために用いる指標である。優先度をどのように決定するかについて、本実施形態では、2通りの観点で優先度を決定する。1つ目は「データ分析者に基づく優先度決定」、2つ目は「データ収集者に基づく優先度決定」である。 Details about the priority are provided below. The priority is an index used to display software or components that have a history of use and can be evaluated as effective with a higher priority. In this embodiment, the priority is determined from two perspectives. The first is "priority determination based on the data analyst" and the second is "priority determination based on the data collector".
「データ分析者に基づく優先度決定」においては、データ分析者の評価が優先される。たとえば、データ分析者による評価が、ソフトウェアAは「4」、ソフトウェアBは「2」だった場合、ソフトウェアAの方が優先度は高くなる。データ分析者の評価が存在しない、または同じ場合、データ数の多いソフトウェアの方が、データ分析者の観点では、より多くのデータが分析に使用可能なため望ましく、優先度が高くなる。 In "priority determination based on data analysts," the data analyst's evaluation takes precedence. For example, if the data analyst evaluates software A as a "4" and software B as a "2," software A will have a higher priority. If there is no data analyst evaluation or the evaluations are the same, software with a larger amount of data is more desirable from the data analyst's perspective because more data is available for analysis, and so it will have a higher priority.
「データ収集者に基づく優先度決定」においては、データ収集者の評価が優先される。たとえば、データ収集者による評価が、ソフトウェアAは「4」、ソフトウェアBは「2」だった場合、ソフトウェアAの方が優先度は高くなる。データ収集者の評価が存在しない、または同じ場合、データ数の多いソフトウェアの方が、データ収集者の観点では、より多くの使用されたソフトウェアであり、データ収集作業が煩雑でないことが類推可能なため望ましく、優先度が高くなる。コンポーネントの優先度については、データ収集時間の短いコンポーネントの方が、データ収集作業が容易であるため望ましく、優先度が高くなる。 In "priority determination based on data collector", the data collector's evaluation takes precedence. For example, if the data collector's evaluations of software A and software B are "4" and "2", respectively, software A will have a higher priority. If there are no evaluations from the data collector or the evaluations are the same, software with a larger amount of data is preferable because, from the data collector's point of view, it is software that has been used more often and it can be inferred that data collection work is not cumbersome, so it has a higher priority. Regarding component priority, components with shorter data collection times are preferable because data collection work is easier, and so have a higher priority.
検索装置150は、これら2つの観点に基づき、優先度を計算する。例えば、データ数1000以上は5、1000~500は4、500~100は2、100~10は1、10以下は0などと評価し、優先度=データ収集者の評価+データ分析者の評価+データ数の評価、などとして評価する。これらの計算式や点数の配分は、適用するシステムにより変更してもよい。優先度は、適切な如何なる方法で算出されてもよい。優先度のこの計算方法は単なる1例に過ぎない。優先度は使用実績のあるものほど大きい値であるので、より実績があるソフトウェアやコンポーネントが上位の優先順位になるように検索結果が表示されることになる。表示されるソフトウェアやコンポーネントの数については、あらかじめ決めておいてもよいし、一定以上の優先度のソフトウェアやコンポーネントのみを表示することとしてもよい。
The
以上により、利用者がソフトウェアやコンポーネントを検索する上で、より使用実績があるものを利用者に提示し、より効率的なソフトウェアやコンポーネントの再利用を促すことができる。 As a result, when users search for software or components, they can be presented with software or components that have a longer history of use, encouraging more efficient reuse of software and components.
端末200は、上述の検索処理によって情報処理装置100から送信されたソフトウェアとコンポーネントの情報を、所定のGUI上でソフトウェア・コンポーネント一覧として表示する。端末200は、この一覧のうちどのソフトウェアとコンポーネントの情報を参照するかについて、利用者からの指示を受け付ける。ユーザが選択したソフトウェアやコンポーネントを作成するとき入力されたパラメータが、自動的に図7の画面に入力される。
The terminal 200 displays the software and component information sent from the
これら一連の処理により、過去の類似のソフトウェアやコンポーネントの中から、実績のあるソフトウェアやコンポーネントを参考にしながら、新しいソフトウェアを作成することが可能となる。 This series of processes makes it possible to create new software by referring to proven software and components from similar software and components from the past.
図10は、ソフトウェアの作成支援の別手順を示すシーケンス図である。新たにデータ収集ソフトウェアを構築しようとしている利用者は、端末200を通じて、構築の対象となる新システムの要件を入力することとなる。管理データベース120には、既に開発されたソフトウェアの属性情報が既に登録されているものとする。
Figure 10 is a sequence diagram showing another procedure for supporting software creation. A user who is building new data collection software will input the requirements for the new system to be built via
ユーザが図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 the setting information using the screen of FIG. 7 (S501), and the display/
S503の検索の結果、過去の類似のソフトウェアまたはコンポーネントが見つからない場合(S504:N)、デプロイ実行の指示を受けて、これを実行装置160に通知する(S508)。この通知を受けた実行装置160は、作成装置300を介して、端末200によって指定された該当ソフトウェアのデプロイを後述の処理により実行する(S508)。
If the search in S503 does not find any similar software or components from the past (S504: N), an instruction to execute the deployment is received and notified to the execution device 160 (S508). Upon receiving this notification, the
以上により、要件に応じた過去の類似ソフトウェアを参照させることによって、類似のソフトウェアの乱立を防ぎ、意味のあるソフトウェア作成のみを許可することができる。 By referencing similar software from the past that meets the requirements, it is possible to prevent the proliferation of similar software and to allow only meaningful software to be created.
図11は、端末200に表示される管理画面の例を示す。図11に示すように、管理画面は、ユーザが表示対象を選択する表示対象選択ボックス650と、ユーザが表示する対象をあらかじめ用意された候補から選択する表示対象カテゴリー選択ボックス651と、ユーザが検索する条件やキーワードを入力する検索ボックス652と、表示部653とを表示する。
Figure 11 shows an example of a management screen displayed on
管理画面の表示部653には、後述する表示対象選択ボックス650、表示対象カテゴリー選択ボックス651、検索ボックス652により入力された表示条件をもとに、管理データベース120に登録されているソフトウェアまたはコンポーネントが一覧表示されている。ユーザは、表示されている一覧からソフトウェアまたはコンポーネントを選択し、対象の詳細情報を表示する。
The
表示対象選択ボックス650においてユーザは、表示対象として、ソフトウェア(アプリ)とコンポーネントのいずれかを選択する。表示対象カテゴリー選択ボックス651においてユーザは、表示対象のカテゴリーを、あらかじめ用意されたカテゴリーの候補から選択する。表示対象カテゴリー選択ボックス651で選択したキーワードは表示・入力装置110が受け付け、検索装置150に受け渡す。検索装置150において、受け付けたキーワードに基づいて、前述の検索処理を実施し、過去に作成した類似のソフトウェアまたはコンポーネントを検索し、検索結果を表示部653に表示する。表示対象カテゴリー選択ボックス651は、図のように選択肢を選ぶ形に限られない。たとえば、機械のある部位に関連するソフトウェアを表示させたい場合、部位ごとの画像を用意しておき(車体の前面部、後部、足回りなど)部位に対応する影絵を表示して、いずれかをクリックすると、関連するソフトウェアが表示されるようにしてもよい。
In the display
検索ボックス652は、ユーザ自身が任意のキーワードを入力するボックスである。具体的には、この手入力ボックスでは、ユーザにキーボード等から任意のキーワードを入力させ、入力したキーワードを表示・入力装置110が受け付け、検索装置150に受け渡す。検索装置150は、受け付けたキーワードに基づいて、前述の検索処理を実施し、過去に作成した類似のソフトウェアまたはコンポーネントを検索し、検索結果を表示部653に表示し、ユーザに提示する。
The
これら一連の操作により、複数作成されたソフトウェアの中で有効なソフトウェアを労力少なく見つけることができるので、ユーザがソフトウェアを作成する際に情報処理装置100がサポートすることができる。
This series of operations allows the user to easily find useful software among multiple created software programs, so the
本実施形態におけるソフトウェアの作成方法の実施手順について図12に基づき説明する。以下で説明するソフトウェアの作成方法に対応する各種動作は、作成装置300がメモリ等に読み出して実行するプログラムによって実現される。このプログラムは、以下に説明される各種の動作を行うためのコードから構成されている。
The procedure for implementing the software creation method in this embodiment will be described with reference to FIG. 12. The various operations corresponding to the software creation method described below are realized by a program that the
図12は、作成装置300がソフトウェアを作成する手順を示すフローチャートである。過去のソフトウェアとコンポーネントのなかで、ユーザが所望する機能を備えるものが見つからない場合、作成装置300はユーザが所望するソフトウェアを新規作成する。ここではデータレイク作成プログラムとデータ管理ソフトウェアを作成する例を説明する。データレイク作成プログラムは、端末200から入力された設定に基づいて、データ収集内容を携帯端末420に表示させ、収集結果を受け付けるためのデータ収集ソフトウェアを生成し、ネットワーク10を介してデータ収集ソフトウェアを携帯端末420に提供し、ネットワーク10を介して携帯端末420から収集結果を受信し格納するプログラムである。データ管理ソフトウェアは、当該データレイクからデータを抽出し適宜ユーザに提供するソフトウェアである。
Figure 12 is a flowchart showing the procedure by which the
具体的には、本フローチャートにおけるソフトウェア作成は、テンプレートとパラメータを入力として、テンプレート中の変数をパラメータに基づき置き換えるテンプレートエンジンによって、あらかじめ用意されたテンプレートから、利用者が入力したパラメータを反映した各種ソースコードを作成することにより、実現可能である。 Specifically, the software in this flowchart can be created by using a template engine that takes a template and parameters as input and replaces variables in the template based on the parameters, creating various source codes from pre-prepared templates that reflect the parameters entered by the user.
あるデータ収集の目的を持って、その要件を満たすデータ収集ソフトウェアを作成したい利用者は、端末200を操作し、情報処理装置100にアクセスして作成処理を開始する。
A user who has a specific data collection objective and wishes to create data collection software that meets those requirements operates the terminal 200, accesses 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 holds parameters for accessing the data lake, so it can send collected data to the data lake. This access information may be entered by the user, or it may be sent automatically 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 changed based on the parameters entered by the user. For example, the function of storing data based on access information to the data lake is not defined on the screen of FIG. 7, because the access information is included in the source code of the data collection software. Thus, the description of functions that are realized in advance will be omitted. In addition to the basic functions, the data collection software also has a function of storing collected data when the
作成装置300は、データレイク生成プログラムのソースコードテンプレート中の所定の引数を、受け取ったパラメータに置き換えることにより、データレイク生成プログラムのソースコードを生成する(S605)。そして、データレイク生成プログラムのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データレイク生成プログラムのソースコードのコンパイルを実行する。作成装置300は、ネットワーク10を介してデータレイク生成プログラムをデータ管理装置410に対して送信する(S606)。作成装置300は、データ管理装置410に対して、そのデータレイク生成プログラムを実行するように指示する(S607)。データ管理装置410は、受信したデータレイク生成プログラムを実行することにより、データベースを含むデータレイクを作成する。
The
ここで作成されるデータベースが持つデータテーブルは、データ収集ソフトウェアが収集するデータ項目と対応したデータ構造を有する。ただし、音声や画像といった非構造化データは、データベースで管理することが難しいので、非構造化データの格納場所を示すUniform Resource Identifier(URI)形式でデータテーブルに蓄積し、非構造化データは指定の格納場所に蓄積する。このように、構造化データと非構造化データを格納するデータレイクが作成される。データ管理装置410は、携帯端末420によって収集されたデータを格納する際、データレイクのアクセス情報に基づきデータレイクにアクセスし、該当するデータレイクに収集結果のデータを格納する。
The data tables in the database created here have a data structure that corresponds to the data items collected by the data collection software. However, since unstructured data such as audio and images are difficult to manage in a database, they are stored in the data tables in the Uniform Resource Identifier (URI) format that indicates the storage location of the unstructured data, and the unstructured data is stored in a specified storage location. In this way, a data lake that stores structured data and unstructured data is created. When storing data collected by the
作成装置300は、データ管理ソフトウェア用のテンプレート中の所定の引数を、パラメータファイル中のパラメータに置き換え、データ管理ソフトウェアのソースコードを生成する(S608)。そして、データ管理ソフトウェアのソースコードが完成したとき、コンパイルが必要な言語でソースコードが記述されている場合、データ管理ソフトウェアのソースコードのコンパイルを実行する。作成装置300は、ネットワーク10を介してデータ管理ソフトウェアをデータ管理装置410に対して送信する(S609)。作成装置300は、データ管理装置410に対してそのデータ管理ソフトウェアをデプロイするように指示する(S610)。データ管理装置410は、受信したデータ管理ソフトウェアをデプロイする。
The creating
データ管理ソフトウェアは、データレイクへアクセスするためのパラメータを保持しているので、データレイクからデータを読み出し、ユーザへ提示することができる。これにより、ユーザはデータ管理ソフトウェアを通じてデータの確認やダウンロードをすることができる。たとえば、CSV形式で書き出せば、ダウンロードしたデータを表計算ソフトなどに読み込むことにより、簡単に集計および図表化することができ、様々な解析が可能となる。 The data management software holds the parameters for accessing the data lake, so it can read data from the data lake and present it to the user. This allows the user to check and download the data through the data management software. For example, if the data is written in CSV format, the downloaded data can be easily compiled and graphed by loading it into a spreadsheet program, enabling various analyses.
データ管理ソフトウェアは、分析環境と連携するために、分析に用いる各データをダウンロードする機能のほかに、選択したデータを分析環境上で読み取るコードを発行する連携機能があってもよい。これによって、分析者は分析環境との連携機能によってすぐさまデータ分析を実施できる。この機能は例えばGraphQLという公知の手法によって実現できる。GraphQLは、データの関係性を含めてデータ型を定義するスキーマと、スキーマに基づきデータ型毎にどのようにデータにアクセスするのかという定義をするリゾルバを用いることにより、既存のデータ蓄積方式を変更せず、データ活用を可能とする。 In order to link with the analysis environment, the data management software may have a function to download each data used in the analysis, as well as a linking function to issue a code to read selected data in the analysis environment. This allows the analyst to immediately perform data analysis using the linking function with the analysis environment. This function can be realized, for example, by a well-known technique called GraphQL. GraphQL makes it possible to utilize data without changing 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.
データレイクとデータ管理ソフトウェアが用意されるデータ管理装置410は、物理的に用意されたサーバ以外にも、仮想化されたソフトウェア機能やプラットフォーム機能、ハードウェア機能を用いてもよい。たとえば、近年利用が拡大されているソフトウェアをファイルシステムや依存するライブラリといった実行環境ごとパッケージ化(コンテナ化)することが可能なコンテナ技術を用いることが考えられる。具体的には、Docker社が中心になって開発しているOpen Source Software(OSS)のコンテナ実行・管理ツールであるDockerを用いた場合は、Dockerfileスクリプトからコンテナのイメージを作成することが可能であり、コンテナのイメージ(ソフトウェア)のビルド、デプロイ、実行が可能である。これを用いることにより、データレイク生成プログラムをコンテナのビルドの際に実行し、データレイクを生成し、同時にデータ管理ソフトウェアをビルド、デプロイ、実行することが可能である。また、Dockerの場合、遠隔にある機能をネットワーク越しに呼び出すためのインターフェースであるWebAPIを用いて、Dockerに上述の処理を指示することができる。
The
以上により、利用者は、プログラミングの知識を必要とせず、データを収集するためのシステムを作成することが可能になる。 This allows users to create systems for collecting data without needing programming knowledge.
<実施の形態1:まとめ>
本実施形態1に係るソフトウェア作成支援システム1によれば、ユーザが高度な知識を必要とせず、過去に作成された類似のソフトウェアの中から、使用実績のあるソフトウェアを掲示することにより、過去に作成されたソフトウェアの中で有効なソフトウェアを労力少なく見つけることができる。これにより、ユーザがソフトウェアを作成する際に、情報処理装置100によってサポートすることができる。
<Embodiment 1: Summary>
According to the software creation support system 1 of the first embodiment, the user does not need to have advanced knowledge, and by displaying software that has a proven track record among similar software created in the past, the user can easily find effective software among the software created in the past. This allows the
本実施形態1に係るソフトウェア作成支援システム1は、ユーザが所望する属性を有する既存ソフトウェア(またはコンポーネント)が見つからない場合は、ソースコードテンプレートの変数をユーザが指定する属性情報にしたがって置き換えることにより、ソフトウェアを新規作成する。これにより、過去に作成されたソフトウェアの中で有効なソフトウェアが存在しない場合であっても、ユーザのリクエストに合致するソフトウェアを作成できる。例えばアルゴリズムなどの基本的部分はユーザのリクエストに合致するソフトウェアであっても、属性情報がユーザのリクエストに合致しないことにより、検索において所望のソフトウェアがヒットしない可能性がある。そのようなソフトウェアであっても、既存ソースコードを利用しつつユーザが指定する属性情報によってパラメータを置き換えることにより、ユーザのリクエストに合致するソフトウェアを作成できる。 When existing software (or components) having the attributes desired by the user cannot be found, the software creation support system 1 according to the first embodiment creates new software by replacing variables in a source code template according to attribute information specified by the user. This makes it possible to create software that meets the user's request even if there is no valid software among previously created software. For example, even if the basic parts of the software, such as an algorithm, meet the user's request, the desired software may not be found in a search because the attribute information does not match the user's request. Even with such software, software that meets the user's request can be created by using existing source code and replacing parameters with attribute information specified by the user.
<実施の形態2>
実施形態1は、作成装置300がソフトウェアを作成することについて説明した。本発明の実施形態2では、作成装置300を用いず、外部の事業者が提供するソフトウェア作成サービスを用いて、ソフトウェアを作成する構成例を説明する。以下では、実施形態1との相違点を中心に説明する。
<Embodiment 2>
In the first embodiment, the
図13は、本実施形態2に係るソフトウェア作成支援システム1の構成図である。情報処理装置100は、適宜なネットワーク10を介して、端末200およびソフトウェア提供システム770と通信可能に接続されている。実施形態1と比較すると、作成装置300がソフトウェア提供システム770と変更になっている。
Figure 13 is a configuration diagram of a software creation support system 1 according to the second embodiment. An
ソフトウェア提供システム770は、提供事業者が提供する画面を通じて、ユーザが入力した設定に基づき、データ収集システム400が提供されるサービスである。この提供形態は、提供事業者がデータ収集システム400のハードウェアあるいはソフトウェア等の各種リソースをサービスとしてユーザに提供する形式を想定したものである。こうしたサービスの詳細仕様は、利用者側にオープンになるとは限らず、またサービスの仕様が非公開下で変更になる場合もある。したがってこのようなサービスに対して上述の作成支援・管理をする場合、ソフトウェア提供システム770における図7の画面に相当する入力画面が、サービス事業者によって提供されるものに変更される。ソフトウェア提供システム770の公知サービスの1例としては、Teamscopeが提供するMobile Form Builderが挙げられる。
The software provision system 770 is a service that provides the
情報処理装置100に関して、実施形態1と大きく異なる部分について説明する。ソフトウェア提供システム770における図7の画面に相当する入力画面が変更となることが最も大きな相違となる。そこで本実施形態2の情報処理装置100では、表示・入力装置110を介して、ソフトウェア提供システム770の画面を端末200へ表示する。端末200が入力した内容は、表示・入力装置110を介して、ソフトウェア提供システム770の画面に反映される。管理装置140は、表示・入力装置110を介して、出力されている画面からユーザの入力部分を取得し、ソフトウェア情報として管理データベース120へ登録する。登録処理、作成支援、管理に関しては、実施形態1と同じである。また、適宜ソフトウェア提供システム770の画面に応じて、図7の画面に相当する入力画面の項目を変更することにより、実施形態1と同じように、ユーザがソフトウェアを作成することを、情報処理装置100によってサポートすることができる。
The
本実施形態2によれば、既存のソフトウェア提供サービスに対して、過去に作成された類似のソフトウェアの中から、使用実績のあるソフトウェアの設定を掲示することにより、複数のソフトウェアの中で有効なソフトウェアを労力少なく見つけることができる。 According to the second embodiment, by displaying settings for software that has been used successfully among similar software created in the past for existing software provision services, it is possible to find effective software among multiple software with little effort.
<実施の形態3>
実施形態1と2において、作成装置300または外部のソフトウェア提供システム770によって、ソフトウェアを作成する構成例を説明した。本発明の実施形態3では、ソフトウェアの管理のみに特化した構成例を説明する。以下、実施形態1~2との相違点を中心に説明する。
<Third embodiment>
In the first and second embodiments, configuration examples have been described in which software is created by the
図14は、本実施形態3に係るソフトウェア作成支援システム1の構成図である。情報処理装置100は、適宜なネットワーク10を介して、端末200と通信可能に接続されている。実施形態1と比較すると、作成装置300と実行装置160が削除されている。
Figure 14 is a configuration diagram of a software creation support system 1 according to the third embodiment. An
本実施形態では、ソフトウェア登録画面と実績収集画面を介してのみ、ソフトウェア属性情報とソフトウェア使用実績を管理データベース120へ登録する。本実施形態では、ソフトウェアの検索により、登録されたソフトウェアを管理する。ソフトウェア登録画面は、登録するソフトウェアに応じて柔軟に変更される。
In this embodiment, software attribute information and software usage history are registered in the
本実施形態によれば、作成装置300やソフトウェア提供システム770以外によって作成されたシステムに関しても、管理することができる。例えば、プログラマーが自分の手で作成したソフトウェアに関しても、本実施形態によれば、管理することができる。
According to this embodiment, it is possible to manage systems created by means other than the
<本発明の変形例について>
本発明は、前述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
<Modifications of the present invention>
The present invention is not limited to the above-described embodiment, and includes various modified examples. For example, the above-described embodiment has been described in detail to clearly explain the present invention, and is not necessarily limited to those having all of the configurations described. In addition, it is possible to replace a part of the configuration of one embodiment with the configuration of another embodiment, and it is also possible to add the configuration of another embodiment to the configuration of one embodiment. In addition, it is possible to add, delete, or replace a 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 (11)
過去に作成されたソフトウェアを識別するソフトウェア識別情報を格納する記憶装置、 前記記憶装置が格納している前記ソフトウェア識別情報を検索する演算装置、
を備え、
前記記憶装置は、前記ソフトウェア識別情報と、前記ソフトウェアの属性を表すソフトウェア属性情報と、前記ソフトウェアの使用実績とを対応付けて格納しており、
前記演算装置は、
前記ユーザが所望する所望ソフトウェアを要求するリクエストを、前記所望ソフトウェアの属性を表す所望ソフトウェア属性情報とともに受け取り、
前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索し、
前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力し、
前記情報処理装置はさらに、前記ソフトウェア識別情報と前記ソフトウェア属性情報を対応付けて前記記憶装置に格納する登録リクエストをユーザが入力するための登録インターフェースを備え、
前記演算装置は、
前記登録インターフェースにおいて入力された前記ソフトウェア属性情報のなかから検索キーワードとして用いることができる第1特徴語を抽出し、
前記抽出した前記第1特徴語を、前記ソフトウェア属性情報としてまたは前記ソフトウェア属性情報とともに、前記記憶装置に格納する
ことを特徴とする情報処理装置。 An information processing device that supports creation of software for use by a user,
a storage device for storing software identification information for identifying software created in the past; and a computing device for searching for the software identification information stored in the storage device.
Equipped with
the storage device stores the software identification information, software attribute information representing attributes of the software, and a usage record of the software in association with each other;
The computing device includes:
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 software attribute information that matches the desired software attribute information;
outputting the software identification information obtained by the search together with the usage record associated with the software identification information as a response to the request ;
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 the storage device in association with each other;
The computing device includes:
extracting a first characteristic word that can be used as a search keyword from the software attribute information inputted in the registration interface;
The extracted first characteristic word is stored in the storage device as the software attribute information or together with the software attribute information.
23. An information processing apparatus comprising:
過去に作成されたソフトウェアを識別するソフトウェア識別情報を格納する記憶装置、 前記記憶装置が格納している前記ソフトウェア識別情報を検索する演算装置、
を備え、
前記記憶装置は、前記ソフトウェア識別情報と、前記ソフトウェアの属性を表すソフトウェア属性情報と、前記ソフトウェアの使用実績とを対応付けて格納しており、
前記演算装置は、
前記ユーザが所望する所望ソフトウェアを要求するリクエストを、前記所望ソフトウェアの属性を表す所望ソフトウェア属性情報とともに受け取り、
前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索し、
前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力し、
前記ソフトウェアは、前記ソフトウェアの使用実績を出力するためのAPIを備え、
前記演算装置は、
前記APIを介して前記ソフトウェアの使用実績を収集し、
前記収集した前記ソフトウェアの使用実績を、前記ソフトウェア識別情報と対応付けて前記記憶装置に格納する
ことを特徴とする情報処理装置。 An information processing device that supports creation of software for use by a user,
a storage device for storing software identification information for identifying software created in the past; a computing device for searching for the software identification information stored in the storage device;
Equipped with
the storage device stores the software identification information, software attribute information representing attributes of the software, and a usage record of the software in association with each other;
The computing device includes:
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 software attribute information that matches the desired software attribute information;
outputting the software identification information obtained by the search together with the usage record associated with the software identification information as a response to the request ;
The software includes an API for outputting a usage record of the software,
The computing device includes:
Collecting usage records of the software via the API;
The collected usage record of the software is stored in the storage device in association with the software identification information.
23. An information processing apparatus comprising:
過去に作成されたソフトウェアを識別するソフトウェア識別情報を格納する記憶装置、 前記記憶装置が格納している前記ソフトウェア識別情報を検索する演算装置、
を備え、
前記記憶装置は、前記ソフトウェア識別情報と、前記ソフトウェアの属性を表すソフトウェア属性情報と、前記ソフトウェアの使用実績とを対応付けて格納しており、
前記演算装置は、
前記ユーザが所望する所望ソフトウェアを要求するリクエストを、前記所望ソフトウェアの属性を表す所望ソフトウェア属性情報とともに受け取り、
前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索し、
前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力し、
前記ソフトウェアは、データを収集する処理を実装したデータ収集プログラムであり、
前記記憶装置は、前記データを収集する作業を実施するデータ収集者が前記ソフトウェアを評価した結果を表すデータ収集者評価値と、前記データを分析する作業を実施するデータ分析者が前記ソフトウェアを評価した結果を表すデータ分析者評価値とを、前記ソフトウェア識別情報と対応付けて格納しており、
前記演算装置は、複数の前記ソフトウェア識別情報が前記検索によって得られた場合においては、前記検索によって得られた前記ソフトウェア識別情報を、前記データ収集者評価値と前記データ分析者評価値とに基づく優先度にしたがって整列した上で、前記レスポンスとして出力する
ことを特徴とする情報処理装置。 An information processing device that supports creation of software for use by a user,
a storage device for storing software identification information for identifying software created in the past; and a computing device for searching for the software identification information stored in the storage device.
Equipped with
the storage device stores the software identification information, software attribute information representing attributes of the software, and a usage record of the software in association with each other;
The computing device includes:
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 software attribute information that matches the desired software attribute information;
outputting the software identification information obtained by the search together with the usage record associated with the software identification information as a response to the request ;
the software is a data collection program that implements a process for collecting data;
the storage device stores a data collector evaluation value representing a result of evaluation of the software by a data collector who performs an operation of collecting the data, and a data analyst evaluation value representing a result of evaluation of the software by a data analyst who performs an operation of analyzing the data, in association with the software identification information;
When a plurality of pieces of software identification information are obtained by the search, the arithmetic device sorts the pieces of software identification information obtained by the search in accordance with a priority based on the data collector evaluation value and the data analyst evaluation value, and outputs the sorted pieces of software identification information as the response.
23. An information processing apparatus comprising:
過去に作成されたソフトウェアを識別するソフトウェア識別情報を格納する記憶装置、 前記記憶装置が格納している前記ソフトウェア識別情報を検索する演算装置、
を備え、
前記記憶装置は、前記ソフトウェア識別情報と、前記ソフトウェアの属性を表すソフトウェア属性情報と、前記ソフトウェアの使用実績とを対応付けて格納しており、
前記演算装置は、
前記ユーザが所望する所望ソフトウェアを要求するリクエストを、前記所望ソフトウェアの属性を表す所望ソフトウェア属性情報とともに受け取り、
前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索し、
前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力し、
前記記憶装置は、前記ソフトウェアを構成するコンポーネントを識別するコンポーネント識別情報と、前記コンポーネントの属性を表すコンポーネント属性情報と、前記コンポーネントの使用実績とを、前記ソフトウェア識別情報と対応付けて格納しており、
前記演算装置は、
前記所望ソフトウェア属性情報として、前記所望ソフトウェアを構成するコンポーネントの属性を表す所望コンポーネント属性情報を受け取り、
前記所望コンポーネント属性情報に適合する前記コンポーネント属性情報を前記記憶装置から検索し、
前記検索によって得られた前記コンポーネント識別情報を、前記コンポーネント識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力し、
前記コンポーネントは、データを収集する処理を実装したデータ収集コンポーネントであり、
前記記憶装置は、前記データを収集する作業を実施するデータ収集者が前記コンポーネントを評価した結果を表すデータ収集者評価値と、前記データを分析する作業を実施するデータ分析者が前記コンポーネントを評価した結果を表すデータ分析者評価値とを、前記ソフトウェア識別情報と対応付けて格納しており、
前記演算装置は、複数の前記コンポーネント識別情報が前記検索によって得られた場合においては、前記検索によって得られた前記コンポーネント識別情報を、前記データ収集者評価値と前記データ分析者評価値とに基づく優先度にしたがって整列した上で、前記レスポンスとして出力し、
前記データ収集者評価値は、前記コンポーネントによって前記データを収集する時間間隔が短いほど評価値が高いように構成されている
ことを特徴とする情報処理装置。 An information processing device that supports creation of software for use by a user,
a storage device for storing software identification information for identifying software created in the past; and a computing device for searching for the software identification information stored in the storage device.
Equipped with
the storage device stores the software identification information, software attribute information representing attributes of the software, and a usage record of the software in association with each other;
The computing device includes:
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 software attribute information that matches the desired software attribute information;
outputting the software identification information obtained by the search together with the usage record associated with the software identification information as a response to the request ;
the storage device stores component identification information for identifying components constituting the software, component attribute information representing attributes of the components, and usage records of the components in association with the software identification information;
The computing device includes:
receiving, as the desired software attribute information, desired component attribute information representing attributes of components constituting the desired software;
retrieving the component attribute information that matches the desired component attribute information from the storage device;
outputting the component identification information obtained by the search together with the usage record associated with the component identification information as a response to the request;
The component is a data collection component that implements a process for collecting data,
the storage device stores, in association with the software identification information, a data collector evaluation value representing a result of evaluation of the component by a data collector who performs an operation of collecting the data, and a data analyst evaluation value representing a result of evaluation of the component by a data analyst who performs an operation of analyzing the data;
when a plurality of pieces of component identification information are obtained by the search, the calculation device sorts the pieces of component identification information obtained by the search in accordance with a priority based on the data collector evaluation value and the data analyst evaluation value, and outputs the sorted pieces of component identification information as the response;
The data collector evaluation value is configured such that the shorter the time interval at which the component collects the data, the higher the evaluation value.
23. An information processing apparatus comprising:
前記演算装置は、
前記所望ソフトウェア属性情報として、前記所望ソフトウェアを構成するコンポーネントの属性を表す所望コンポーネント属性情報を受け取り、
前記所望コンポーネント属性情報に適合する前記コンポーネント属性情報を前記記憶装置から検索し、
前記検索によって得られた前記コンポーネント識別情報を、前記コンポーネント識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力する
ことを特徴とする請求項1から3のいずれか1項記載の情報処理装置。 the storage device stores component identification information for identifying components constituting the software, component attribute information representing attributes of the components, and usage records of the components in association with the software identification information;
The computing device includes:
receiving, as the desired software attribute information, desired component attribute information representing attributes of components constituting the desired software;
retrieving the component attribute information that matches the desired component attribute information from the storage device;
4. The information processing apparatus according to claim 1, further comprising: an information processing device that outputs the component identification information obtained by the search together with the usage record associated with the component identification information as a response to the request.
前記リクエストとともに受け取った前記所望ソフトウェア属性情報のなかから、検索キーワードとして用いることができる第2特徴語を抽出し、
前記抽出した前記第2特徴語に合致する前記第1特徴語を前記記憶装置から検索することにより、前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索する
ことを特徴とする請求項1記載の情報処理装置。 The computing device includes:
extracting a second characteristic word that can be used as a search keyword from the desired software attribute information received together with the request;
2. The information processing apparatus according to claim 1, further comprising: searching said storage device for said first characteristic word that matches said extracted second characteristic word, thereby searching said storage device for said software attribute information that matches said desired software attribute information.
ことを特徴とする請求項1から4のいずれか1項記載の情報処理装置。 5. The information processing device according to claim 1, wherein, when a plurality of pieces of software identification information are obtained by the search, the computing device sorts the pieces of software identification information obtained by the search in order of the most frequent usage history associated with the software identification information, and outputs the sorted pieces of software identification information as the response.
ことを特徴とする請求項3記載の情報処理装置。 4. The information processing device according to claim 3, wherein when the data collector evaluation value and the data analyst evaluation value are the same, the calculation device sorts the software identification information in descending order of usage history and outputs the sorted software identification information as the response.
請求項1から8のいずれか1項記載の情報処理装置、
前記ソフトウェアを作成する作成装置、
を備え、
前記作成装置は、前記情報処理装置が検索した前記ソフトウェアを組み合わせることにより、ユーザが使用するソフトウェアを作成する
ことを特徴とするソフトウェア作成支援システム。 A software creation support system that supports a user in creating software to be used, comprising:
An information processing device according to any one of claims 1 to 8 .
a creating device for creating said software;
Equipped with
The software creation device creates software for use by a user by combining the software searched for by the information processing device.
ユーザが使用するソフトウェアを作成することを支援する情報処理装置、
前記ソフトウェアを作成する作成装置、
を備え、
前記情報処理装置は、
過去に作成されたソフトウェアを識別するソフトウェア識別情報を格納する記憶装置、
前記記憶装置が格納している前記ソフトウェア識別情報を検索する演算装置、
を備え、
前記記憶装置は、前記ソフトウェア識別情報と、前記ソフトウェアの属性を表すソフトウェア属性情報と、前記ソフトウェアの使用実績とを対応付けて格納しており、
前記演算装置は、
前記ユーザが所望する所望ソフトウェアを要求するリクエストを、前記所望ソフトウェアの属性を表す所望ソフトウェア属性情報とともに受け取り、
前記所望ソフトウェア属性情報に適合する前記ソフトウェア属性情報を前記記憶装置から検索し、
前記検索によって得られた前記ソフトウェア識別情報を、前記ソフトウェア識別情報に対応付けられている前記使用実績と併せて、前記リクエストに対するレスポンスとして出力し、
前記作成装置は、前記情報処理装置が検索した前記ソフトウェアを組み合わせることにより、ユーザが使用するソフトウェアを作成し、
前記ソフトウェア作成支援システムはさらに、前記ソフトウェアのソースコードのテンプレートを格納したテンプレートデータベースを備え、
前記作成装置は、
前記演算装置が前記検索によって取得した前記ソフトウェア識別情報に対応する前記テンプレートを前記テンプレートデータベースから取得し、
前記取得した前記テンプレートによって前記ソフトウェアを作成し、
前記テンプレートは、置換可能なパラメータを含んでおり、
前記作成装置は、
前記ソフトウェアを作成するように要求するリクエストを、前記パラメータの指定値とともに受け取り、
前記テンプレート内の前記パラメータを、前記指定値によって置き換えることにより、前記ソースコードを作成し、
前記作成した前記ソースコードによって前記ソフトウェアを作成する
ことを特徴とするソフトウェア作成支援システム。 A software creation support system that supports a user in creating software to be used, comprising:
an information processing device that supports the creation of software used by a user ;
a creating device for creating said software;
Equipped with
The information processing device includes:
a storage device for storing software identification information for identifying software created in the past;
a computing device for retrieving the software identification information stored in the storage device;
Equipped with
the storage device stores the software identification information, software attribute information representing attributes of the software, and a usage record of the software in association with each other;
The computing device includes:
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 software attribute information that matches the desired software attribute information;
outputting the software identification information obtained by the search together with the usage record associated with the software identification information as a response to the request;
the creation device creates software for use by a user by combining the software searched for by the information processing device ;
The software creation support system further includes a template database storing templates of source codes of the software,
The creating device includes:
The computing device obtains, from the template database, the template corresponding to the software identification information obtained by the search;
creating the software using the acquired template;
The template includes replaceable parameters;
The creating device includes:
receiving a request to create said software along with specified values for said parameters;
creating said source code by replacing said parameters in said template with said specified values;
The software is created using the created source code.
A software creation support system comprising:
データを収集する処理を実装したデータ収集プログラム、
前記データ収集プログラムが収集した前記データを蓄積するデータレイクを作成する処理を実装したデータレイク作成プログラム、
前記データレイクが格納している前記データを管理する処理を実装したデータ管理プログラム、
のうち少なくともいずれかである
ことを特徴とする請求項10記載のソフトウェア作成支援システム。 The software comprises:
a data collection program that implements a process for collecting data;
a data lake creation program implementing a process for creating a data lake for storing the data collected by the data collection program;
A data management program that implements a process for managing the data stored in the data lake;
11. The software creation support system according to claim 10, characterized in that the software creation support system is at least one of the above.
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 JP2022107874A (en) | 2022-07-25 |
JP7546493B2 true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024218987A1 (en) * | 2023-04-21 | 2024-10-24 | ファナック株式会社 | Programming device, setting adjustment method, and program |
Citations (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, terminal device |
JP2012108710A (en) | 2010-11-17 | 2012-06-07 | Hitachi Solutions Ltd | Program component retrieval method, program component retrieval system, and component retrieval 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
Patent Citations (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, terminal device |
JP2012108710A (en) | 2010-11-17 | 2012-06-07 | Hitachi Solutions Ltd | Program component retrieval method, program component retrieval system, and component retrieval 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 |
---|---|
JP2022107874A (en) | 2022-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102385483B (en) | User interface based on context, search and navigation | |
Biswas et al. | Boa meets python: A boa dataset of data science software in python language | |
US10013238B2 (en) | Predicting elements for workflow development | |
JP5452030B2 (en) | Integrated log generation device, integrated log generation program, and recording medium | |
US11016758B2 (en) | Analysis software managing system and analysis software managing method | |
CN104412227A (en) | Query-based software system design representation | |
JP5221664B2 (en) | Information map management system and information map management method | |
JP7546493B2 (en) | Information processing device, software creation support system | |
CN113268500A (en) | Service processing method and device and electronic equipment | |
Adhikari et al. | SimIMA: a virtual Simulink intelligent modeling assistant: Simulink intelligent modeling assistance through machine learning and model clones | |
US11960492B2 (en) | Methods and systems for display of search item scores and related information for easier search result selection | |
JP5703165B2 (en) | Program generating apparatus, method and program | |
JP2013033333A (en) | Business process/business rule execution system, business process/business rule execution method and program | |
US20220269744A1 (en) | Methods and systems for enabling dynamic filters for software search optimization | |
Bakaev et al. | Component-based engineering of web user interface designs for evolutionary optimization | |
Mondelli et al. | Exploring reproducibility and FAIR principles in data science using ecological niche modeling as a case study | |
CN116225522A (en) | Method and device for generating software prototype, electronic equipment and storage medium | |
CN104660697B (en) | Based on Kepler scientific workflow Sensor Network service combining methods | |
KR20220067820A (en) | The bigdata intergared-processing user interface method for increasing interoperability of heterogeneous platforms | |
JP5835447B2 (en) | Information processing apparatus, information processing system, control method, and program | |
CN117891531B (en) | System parameter configuration method, system, medium and electronic equipment for SAAS software | |
JP7638431B1 (en) | Systems, Computer Devices and Methods | |
JP4895373B2 (en) | Software product reuse method and system | |
Dey et al. | A semantic algorithm repository and workflow designer tool: signal processing use case | |
Domínguez et al. | Developing provenance-aware query systems: an occurrence-centric approach |
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 |