(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】システム開発支援装置、システム開発支援方法およびシステム開発支援プログラム
(51)【国際特許分類】
G06F 8/38 20180101AFI20240731BHJP
G06Q 10/06 20230101ALI20240731BHJP
【FI】
G06F8/38
G06Q10/06
(21)【出願番号】P 2021171971
(22)【出願日】2021-10-20
【審査請求日】2024-03-27
(31)【優先権主張番号】P 2021030088
(32)【優先日】2021-02-26
(33)【優先権主張国・地域又は機関】JP
【早期審査対象出願】
(73)【特許権者】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】馬場 健人
(72)【発明者】
【氏名】吉井 聡
(72)【発明者】
【氏名】上野 剛光
【審査官】松平 英
(56)【参考文献】
【文献】特開2019-204357(JP,A)
【文献】特開2018-5950(JP,A)
【文献】特開2009-265810(JP,A)
【文献】特開2012-138001(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00-8/38
8/60-8/77
9/44-9/445
9/451
11/07
11/28-11/36
G06Q10/00-10/30
(57)【特許請求の範囲】
【請求項1】
ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる、制御部を備えるシステム開発支援装置であって、
前記制御部は、
前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得手段と、
前記取得手段で取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得手段で取得したエラー識別情報に対応するエラーメッセージを表示する表示手段と、
を備えること、
を特徴とするシステム開発支援装置。
【請求項2】
前記エラーメッセージは、設定されるべき適切な前記アクションの情報を含むものであること、
を特徴とする請求項1に記載のシステム開発支援装置。
【請求項3】
前記システム開発が、
ソースコードを全く書かずに行われるシステム開発またはソースコードをほとんど書かずに行われるシステム開発であること、
を特徴とする請求項1または2に記載のシステム開発支援装置。
【請求項4】
ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる、制御部を備える情報処理装置で実行されるシステム開発支援方法であって、
前記制御部で実行される、
前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得ステップと、
前記取得ステップで取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得ステップで取得したエラー識別情報に対応するエラーメッセージを表示する表示ステップと、
を含むこと、
を特徴とするシステム開発支援方法。
【請求項5】
ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる、制御部を備える情報処理装置に実行させるためのシステム開発支援プログラムであって、
前記制御部に実行させるための、
前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得ステップと、
前記取得ステップで取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得ステップで取得したエラー識別情報に対応するエラーメッセージを表示する表示ステップと、
を含むこと、
を特徴とするシステム開発支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、システム開発支援装置、システム開発支援方法およびシステム開発支援プログラムに関する。
【背景技術】
【0002】
特許文献1には、ユーザインターフェースが備えるべき画面の表示機能、画面からのデータ入力機能、画面からのアプリケーションプログラムとそのデータの呼び出し機能を、あらかじめ用意しておく画面要素と組み合わせて連携させることで、ユーザインターフェースの開発/変更に個々の画面要素およびプログラムの作成を不要にし、データ設定も簡易にしたため、ユーザインターフェースの開発/変更を容易にして、開発コスト削減と開発期間短縮ができるユーザインターフェースの開発支援装置が開示されている(特許文献1の0028段落参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
このようなシステム開発の分野において、プログラミングでシステム開発を行う際には、自由度の高さゆえに、ユーザー操作に対して適切でない応答処理(アクション)が記述されることがあるという問題があった。また、ローコード開発においても、同様の問題があった。
【0005】
適切ではないアクション設定の具体例について簡単に説明する。例えば、テキストボックスを対象とした値変更処理を構成するアクションとして、「メッセージボックス起動」を設定するのは不適切である。ユーザーは、テキストボックスの値変更処理中に、別のメッセージボックスを起動することを通常は意図しないためである。なお、この場合、適切なアクションの設定例としては、例えば、「ツールチップ表示」等が挙げられる。
【0006】
本発明は、上記問題点に鑑みてなされたものであって、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができるシステム開発支援装置、システム開発支援方法およびシステム開発支援プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上述した課題を解決し、目的を達成するために、本発明に係るシステム開発支援装置においては、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる、制御部を備えるシステム開発支援装置であって、前記制御部は、前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得手段と、前記取得手段で取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得手段で取得したエラー識別情報に対応するエラーメッセージを表示する表示手段と、を備えること、を特徴とする。
【0008】
また、本発明に係るシステム開発支援装置においては、前記エラーメッセージは、設定されるべき適切な前記アクションの情報を含むものであること、を特徴とする。
【0009】
また、本発明に係るシステム開発支援装置においては、前記システム開発が、ソースコードを全く書かずに行われるシステム開発またはソースコードをほとんど書かずに行われるシステム開発であること、を特徴とする。
【0010】
また、本発明に係るシステム開発支援方法においては、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる、制御部を備える情報処理装置で実行されるシステム開発支援方法であって、前記制御部で実行される、前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得ステップと、前記取得ステップで取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得ステップで取得したエラー識別情報に対応するエラーメッセージを表示する表示ステップと、を含むこと、を特徴とする。
【0011】
また、本発明に係るシステム開発支援プログラムにおいては、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる、制御部を備える情報処理装置に実行させるためのシステム開発支援プログラムであって、前記制御部に実行させるための、前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得ステップと、前記取得ステップで取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得ステップで取得したエラー識別情報に対応するエラーメッセージを表示する表示ステップと、を含むこと、を特徴とする。
【発明の効果】
【0012】
本発明によれば、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができるという効果を奏する。
【図面の簡単な説明】
【0013】
【
図1】
図1は、システム開発支援装置の構成の一例を示すブロック図である。
【
図2】
図2は、アクション表の一例を示す図である。
【
図3】
図3は、エラーコードとメッセージの対応表の一例を示す図である。
【
図4】
図4は、コントロール情報の一例を示す図である。
【
図5】
図5は、ロジックフロー情報・アクション情報の一例を示す図である。
【
図6】
図6は、イベント情報の一例を示す図である。
【
図7】
図7は、チェックの全体像の一例を示す図である。
【
図8】
図8は、画面情報のチェックのフローチャートの一例を示す図である。
【
図9】
図9は、イベント情報のチェックのフローチャートの一例を示す図である。
【
図10】
図10は、ロジックフロー情報のチェックのフローチャートの一例を示す図である。
【
図11】
図11は、コントロールの選択およびイベントの追加を示す画面例である。
【
図12】
図12は、「値変更処理1」というロジックフローの作成を示す画面例である。
【
図13】
図13は、「APIの実行」というアクションの配置を示す画面例である。
【
図14】
図14は、「分岐」というアクションの配置を示す画面例である。
【
図15】
図15は、「メッセージボックス起動」というアクションの配置を示す画面例である。
【
図16】
図16は、「ツールチップ表示」というアクションの配置を示す画面例である。
【
図17】
図17は、ツールチップの表示の一例を示す図である。
【発明を実施するための形態】
【0014】
以下に、本発明に係るシステム開発支援装置、システム開発支援方法およびシステム開発支援プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。
【0015】
[1.概要等]
(1)本発明で用いる用語
本発明で用いる用語の意味は、以下のとおりである。
・コントロール・・・テキストやボタンなどの一般的なコントロールと同義。
・イベント・・・ボタンクリック等の、ユーザーの対話的操作で実行される処理。一般的なイベントと同義。
・アクション・・・「APIの実行」および「画面の起動」等の、一つの目的を満たすための処理の単位。
・ロジックフロー・・・イベントに設定することができる0~N個の処理(アクション)の固まり。情報として、アクション情報(複数)およびアクションの実行順序を保持する。
・画面イベント・・・画面起動時に実行されるイベント等の、画面全体の操作に対して実行されるイベント。情報として、イベントの種類およびロジックフローの識別子を保持する。
・コントロールイベント・・・テキストの値変更時のイベントやボタンのクリック時のイベント等の、コントロールに対して実行されるイベント。情報として、コントロールの識別子、イベントの種類およびロジックフローの識別子を保持する。
【0016】
(2)本発明の背景と概要
本発明は、ローコード開発ツールにおける、システム開発時のユーザービリティ低下抑制機能に関するものである。
【0017】
ビジネス環境の変化が激しい中、情報システムも経営スピードに追従することが大前提とされ、スピーディーなシステム変化が必要になっている。こういった中、ローコード開発ツールが注目されているが、そのユーザー層がベンダーだけでなく、システム利用会社のシステム担当者まで広がっている。このため、ユーザービリティの高い画面を誰でも簡単に作成できる仕組みが求められている。
【0018】
ここで、ローコード開発を利用しないシステム開発においては、プログラミングでは、処理を実装しようと思えば各コントロールイベントに自由に処理を記述できた。この結果として、検証処理の中で「ページ遷移」およびチェックボックスの切り替えで「メッセージボックス起動」等の、ユーザーが予想できない画面動作が行われる可能性があるという問題があった。また挙動の統一性についても問題があった。
【0019】
また、ローコード開発を利用したシステム開発においても、従来においては、同様の問題が発生しており、各コントロールのイベントに対して設定可能な動作を制限することは困難であった。
【0020】
そこで、本実施形態においては、例えば、画面コントロールのイベントに対して設定可能な行為にチェック機構を設けて制御することで、挙動に対して統一性のない画面およびユーザーの操作に対するレスポンスとして適切でない画面の開発を防げるようにした。言い換えると、本実施形態においては、例えば、コントロールのイベントについて、各画面操作機能(ビジネス処理の実行、画面の遷移および画面の起動等)を定義しておくことで、設定操作を行ったタイミングで不正な設定を検出できるようにした。以下、具体的な構成および動作について説明する。
【0021】
[2.構成]
本実施形態に係るシステム開発支援装置100の構成の一例について、
図1を参照して説明する。
図1は、システム開発支援装置100の構成の一例を示すブロック図である。
【0022】
システム開発支援装置100は、市販のデスクトップ型パーソナルコンピュータである。なお、システム開発支援装置100は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【0023】
システム開発支援装置100は、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。システム開発支援装置100が備えている各部は、任意の通信路を介して通信可能に接続されている。
【0024】
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、システム開発支援装置100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、システム開発支援装置100とサーバ200とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、後述する各種マスタ等のデータは、例えばサーバ200に格納されてもよい。
【0025】
入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114をモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。
【0026】
記憶部106には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【0027】
記憶部106は、例えば、アクション表106aと、対応表106bと、コントロール情報106cと、ロジックフロー情報・アクション情報106dと、イベント情報106eと、を備えている。
【0028】
本実施形態に係る開発支援装置100によれば、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる。前記システム開発は、例えば、ソースコードを全く書かずに行われるシステム開発(いわゆるノーコード開発)またはソースコードをほとんど書かずに行われるシステム開発(いわゆるローコード開発)であることが好ましい。
【0029】
アクション表106aは、
図2に示すように、例えば、前記画面上に表示される要素であるコントロール(コントロールタイプ)と、当該コントロールに対して実行されるイベント(イベントタイプ)と、当該イベントの実行中または実行後に行われる具体的処理である前記アクション(アクションタイプ)と、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報(利用可否)と、エラー識別情報(エラーコード)と、を含む。要するに、アクション表106aは、設定可能な前記アクションの情報を管理するための表である。前記設定可否識別情報(利用可否)は、前記アクションの設定が適切であることを示す情報(
図2では、「〇」)、または、前記アクションの設定が不適切であることを示す情報(
図2では、「×」)である。
【0030】
例えば、
図2に示すように、コントロールタイプ「テキストボックス」およびイベントタイプ「値変更」に対して、アクションタイプ「メッセージボックス起動」を設定するのは不適切であるため、利用可否「×」およびエラーコード「Error6」が設定されている。これに対して、
図2に示すように、コントロールタイプ「テキストボックス」およびイベントタイプ「値変更」に対して、アクションタイプ「ツールチップ表示」を設定するのは適切であるため、利用可否「〇」が設定されている。
【0031】
対応表106bは、
図3に示すように、例えば、前記エラー識別情報(エラーコード)と、エラーメッセージと、等を含む。当該エラーメッセージは、設定されるべき適切な前記アクションの情報を含むものであることが好ましい。例えば、エラーメッセージ「テキストの値変更イベントでメッセージボックス起動は設定できません。エラーや警告はツールチップで表示してください。」において、「エラーや警告はツールチップで表示してください。」の部分が、設定されるべき適切な前記アクションの情報に相当する。
【0032】
コントロール情報106cは、前記コントロールのオブジェクト情報(コントロールモデル)を配列で保持する。コントロール情報106cは、
図4に示すように、例えば、識別キーと、タイプと、子要素キーと、識別名と、等を含む。識別キーとは、システム内で採番される一意のキーである。タイプとは、前記コントロールの種類である。子要素キーとは、自身の子要素になりえる識別キーの配列である。識別名とは、ユーザーが設定する一意のキーである。
【0033】
次に、ロジックフロー情報・アクション情報106dは、ロジックフローのオブジェクト情報(ロジックフローモデル)を配列で保持する。ロジックフローモデル内では、前記アクションのオブジェクト情報(アクションモデル)および実行順序を制御するオブジェクト(フローモデル)が配列で保持される。
【0034】
ロジックフロー情報・アクション情報106dは、例えば、複数のロジックフローを有し、更に、各ロジックフローに対して、フローおよび前記アクションを有する。
【0035】
図5に示すロジックフロー情報・アクション情報106dの例では、複数のロジックフローとして、識別キー「ロジックフローキー1」で特定される「ボタンクリック処理」および識別キー「ロジックフローキー2」で特定される「値変更処理」が設定されている。そして、
図5に示すロジックフロー情報・アクション情報106dの例では、「ボタンクリック処理」に対して、フローおよびアクションが設定されている。
【0036】
フローは、
図5に示すように、実行元アクションキーと、次実行アクションキーと、コールバックキーと、等を含む。実行元アクションキーは、処理の実行順の元になるアクションの識別キーである。次実行アクションキーは、実行元アクションキーが示すアクションが実行されたあとに実行するアクションの識別キーである。コールバックキーは、実行時にユーザーが選択した行為を判別するためのキーである(例えば、ユーザーがメッセージボックスでYesを選択した場合は、Yesのフローを特定し、終了キーに従ったアクションが実行される)。
【0037】
アクションは、
図5に示すように、識別キーと、タイプと、等を含む。
【0038】
次に、イベント情報106eは、各コントロールに設定できる前記イベントおよびロジックフローを紐付ける情報であり、前記イベントのオブジェクト情報(イベントモデル)を配列で保持する。イベント情報106eは、
図6に示すように、例えば、タイプと、コントロール識別キーと、イベントタイプと、ロジックフロー識別キーと、等を含む。タイプは、画面イベントかコントロールイベントかを示す値である。コントロール識別キーは、コントロールモデルの識別キーである。イベントタイプは、実行されるイベントの種類である。ロジックフロー識別キーは、ロジックフローモデルの識別キーである。
【0039】
図6に示すイベント情報106eの例における最下段の「イベントモデル」の文字を右に付した欄の設定について説明すると、この欄においては、イベントタイプとして「値変更」が設定され、コントロール識別キーとして、「コントロールキー3(
図4に示すようにテキストボックスに対応)」が設定され、ロジックフロー識別キーとして「ロジックフローキー2(
図5に示すように値変更処理に対応)」が設定されている。このため、この欄においては、テキストボックスに対して、「値変更」というイベントおよび「値変更処理」というロジックフローが設定されている。
【0040】
制御部102は、システム開発支援装置100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【0041】
制御部102は、機能概念的に、例えば、画面情報チェック部102aと、イベント情報チェック部102bと、ロジックフロー情報チェック部102cと、を備えている。ロジックフロー情報チェック部102cは、更に例えば、前記画面上に表示される要素であるコントロールと、当該コントロールに対して実行されるイベントと、当該イベントの実行中または実行後に行われる具体的処理である前記アクションと、前記アクションの設定が適切か不適切かを識別するための設定可否識別情報と、エラー識別情報と、を含む、設定可能な前記アクションの情報を管理するためのアクション表を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く設定可否識別情報およびエラー識別情報を取得する取得手段としての取得部102c1と、前記取得手段で取得した設定可否識別情報が、前記アクションの設定が不適切であることを示す情報である場合、前記取得手段で取得したエラー識別情報に対応するエラーメッセージを表示する表示手段としての表示部102c2と、を備えている。
【0042】
画面情報チェック部102aは、画面情報のチェックを行う。
【0043】
イベント情報チェック部102bは、イベント情報のチェックを行う。
【0044】
ロジックフロー情報チェック部102cは、ロジックフロー情報のチェックを行う。
【0045】
取得部102c1は、前記コントールタイプと前記イベントタイプと前記アクションタイプと前記利用可否と前記エラーコードとを含むアクション表106a(
図2参照)を参照して、システム開発の際に、前記開発者により選択されたコントロール、当該選択されたコントロールに対して前記開発者により設定されたイベント、および、当該選択されたイベントに対して前記開発者により設定されたアクションと紐付く利用可否およびエラーコードを取得する。
【0046】
表示部102c2は、取得部102c1で取得した利用可否が、前記アクションの設定が不適切であることを示す情報(
図2では、「×」)である場合、取得部102c1で取得したエラーコードに対応するエラーメッセージを表示する。
【0047】
[3.処理の概要と流れ]
本項目では、本実施形態に係る処理の概要について[3-1]で説明し、本実施形態に係る処理の流れについて[3-2]で説明する。
【0048】
[3-1.処理の概要]
本項目では、本実施形態に係る処理の概要について説明する。本実施形態におけるチェックの全体像のイメージは、
図7に示すとおりであり、画面情報を基に「チェック処理」が実行され、チェック結果が開発者に返却される。
【0049】
本実施形態におけるチェック処理のタイミングとしては、設定が変更されたタイミングで、非同期で随時実行される。非同期としている理由は、チェック中であっても開発者が設定の変更を進めることができるようにするためである。
【0050】
本実施形態におけるチェック処理の対象は、画面情報(コントロール情報、ロジックフロー情報、アクション情報およびイベント情報)である。
【0051】
本実施形態におけるチェック処理の結果情報としては、エラーコードおよびエラーメッセージが開発者に返却される。なお、エラーコードおよびエラーメッセージは、複数返却されてもよい。
【0052】
[3-2.処理の流れ]
本項目では、本実施形態に係る処理の流れについて、
図8~
図10を用いて説明する。本実施形態においては、コントロール情報、イベント情報、ロジックフロー情報およびアクション情報という順でチェックが実行される。また、チェック処理実行中に検知したエラーは、「エラーコードスタック」にエラーコードとしてスタックされる。
【0053】
(1)画面情報のチェック
まず、画面情報のチェックについて、
図8を用いて説明する。
【0054】
画面情報チェック部102aは、コントロール情報をチェックする(
図8のステップS1)。具体的には、「親子関係に不整合がないか」および「不正なプロパティが設定されてないか」をチェックする。
【0055】
親子関係に不整合がある場合、または、不正なプロパティが設定されている場合(
図8のステップS1においてNG)、画面情報チェック部102aは、検知したエラーをエラーコードスタックへ追加する(
図8のステップS2)。
【0056】
これに対して、チェック結果がOKである場合(
図8のステップS1においてOK)、
図9へ進み、画面情報に定義されているイベントすべてについて、順番にチェックが行われる。
【0057】
(2)イベント情報のチェック
次に、イベント情報のチェックについて、
図9を用いて説明する。
【0058】
イベント情報チェック部102bは、設定されているコントロールの識別子が、コントロール情報106cに存在するかチェックする(
図9のステップS3)。
【0059】
存在しない場合(
図9のステップS3においてNG)、イベント情報チェック部102bは、検知したエラーをエラーコードスタックへ追加し(
図9のステップS4)、処理は終了する(エンド)。
【0060】
これに対して、存在する場合(
図9のステップS3においてOK)、イベント情報チェック部102bは、コントロールタイプを保持する。そして、イベント情報チェック部102bは、続けて、設定されているロジックフローの識別子が、ロジックフロー情報・アクション情報106dに存在するかチェックする(
図9のステップS5)。
【0061】
存在しない場合(
図9のステップS5においてNG)、イベント情報チェック部102bは、検知したエラーをエラーコードスタックへ追加し(
図9のステップS6)、処理は終了する(エンド)。
【0062】
これに対して、存在する場合(
図9のステップS5においてOK)、
図10へ進み、対象のロジックフロー情報がチェックされる。この際、コントロールタイプとイベントタイプが、ロジックフローチェックに渡される。
【0063】
(3)ロジックフロー情報のチェック
最後に、ロジックフロー情報のチェックについて、
図10を用いて説明する。
【0064】
ロジックフロー情報チェック部102cは、「ロジックフローに切れ目がないか」および「余計なフローが引かれてないか」をチェックする(
図10のステップS7)。
【0065】
ロジックフローに切れ目がある場合、または、余計なフローが引かれている場合(
図10のステップS7においてNG)、ロジックフロー情報チェック部102cは、検知したエラーをエラーコードスタックへ追加する(
図10のステップS8)。
【0066】
ロジックフローに切れ目がなく、かつ、余計なフローも引かれていない場合(
図10のステップS7においてOK)、ロジックフロー情報チェック部102cは、ロジックフローに定義されているアクションをすべて順番にチェックする(
図10のステップS9)。
【0067】
具体的には、ロジックフロー情報チェック部102cは、処理対象アクションのアクションタイプを取得する(
図10のステップS10)。続けて、ロジックフロー情報チェック部102cは、
図2のアクション表106aから、(2)の最後で渡されたコントロールタイプおよびイベントタイプならびに当該取得したアクションタイプに基づいて、利用可否の情報およびエラーコードを取得できるかチェックする(
図10のステップS11)。なお、ステップS11は、本発明において特徴的な処理であるため、以下の[4.処理の具体例]において詳細に説明する。
【0068】
取得できない場合(
図10のステップS11においてNG)、ロジックフロー情報チェック部102cは、検知したエラーをエラーコードスタックへ追加する(
図10のステップS12)。
【0069】
取得できた場合(
図10のステップS11においてOK)、ロジックフロー情報チェック部102cは、アクション情報のチェックを行う(
図10のステップS13)。なお、ステップS13は、本発明において特徴的な処理であるため、以下の[4.処理の具体例]において詳細に説明する。
【0070】
チェック結果がNGである場合(
図10のステップS13においてNG)、ロジックフロー情報チェック部102cは、検知したエラーをエラーコードスタックへ追加する(
図10のステップS14)。
【0071】
これに対して、チェック結果がOKである場合(
図10のステップS13においてOK)、ロジックフロー情報チェック部102cは、未チェックのアクションがあるかをチェックする(
図10のステップS15)。
【0072】
未チェックのアクションがある場合(
図10のステップS15においてNG)、ロジックフロー情報チェック部102cは、
図10のステップS9に戻り、未チェックのアクションがなくなるまで、処理を続ける。
【0073】
これに対して、未チェックのアクションがない場合(
図10のステップS15においてOK)、処理は終了する(
図10のエンド)。
【0074】
[4.処理の具体例]
本項目では、本実施形態に係る処理の具体例について、
図2~
図3および
図11~
図17を主に用いて説明する。
【0075】
本発明は、ローコード開発ツールにおいて、コントロールに対する処理を設定していく際の設定チェック機構に関する発明である。本項目においては、コントロールが配置された画面から開発者がローコード開発を行う際に、不適切な設定を行うと、どのようにエラーが表示されるかについて具体的に説明する。
【0076】
[4-1.コントールの選択およびイベントの設定]
まず、
図11に矢印(左側)で示すように、イベントを設定するコントロールとして、「テキストボックス」が開発者によって選択される。
【0077】
次に、
図11に矢印(右側)で示すように、イベントとして「値変更」が開発者によって設定された上で、画面右下の「OK」ボタンが押下される。
【0078】
[4-2.ロジックフローの作成]
次に、
図12に示すように、「値変更処理1」というロジックフローが作成される。この時裏で、コントロールとロジックフローを紐づけるコントロールイベントが生成される。
【0079】
[4-3.ロジックフローの設定]
次に、本項目では、[4-2]で作成したロジックフローについての詳細な内容の設定について説明する。
【0080】
まず、
図13に示すように、「APIの実行」のアクションが開発者によって配置される。
【0081】
次に、
図14に示すように、「分岐」が開発者によって配置される。
【0082】
以下、「分岐」の後に配置されるアクションが、「メッセージボックス起動」である場合と「ツールチップ表示」である場合とに分けて説明をする。
【0083】
(1)「メッセージボックス起動」が配置される場合
まず、
図15に示すように、「メッセージボックス起動」というアクションが開発者によって配置される場合(不適切な設定のためエラーが表示される場合)の処理について説明する。
【0084】
ここで、本例においては、[4-1]で説明したように、コントロール「テキストボックス」に対してイベント「値変更」が設定され、「値変更」中で行われるアクションとして、直前段落で説明したように、「メッセージボックス起動」が配置された。
【0085】
取得部102c1は、
図2のアクション表106aから、コントールタイプ「テキストボックス」、イベントタイプ「値変更」およびアクションタイプ「メッセージボックス起動」と紐付く情報として、利用可否「×」およびエラーコード「Error6」を取得する。つまり、「メッセージボックス起動」というアクションの配置は、不適切であるということである。
【0086】
取得部102c1は、利用可否「×」を取得した場合、更に、
図3の対応表106bから、前記取得した「Error6」と紐付くエラーメッセージとして「テキストの値変更イベントでメッセージボックス起動は設定できません。エラーや警告はツールチップで表示してください。」を取得する。
【0087】
そして、表示部102c2は、取得部102c1で取得したエラーメッセージを、
図15に示すように、画面に表示する。このように、「メッセージボックス起動」が配置されるとエラーメッセージが表示されるのは、例えば以下の理由による。すなわち、テキストボックスの値変更時は、飽くまで、画面の状態を変えている最中なので、メッセージボックスのようなインタラプト処理は、ユーザーに対してストレスになるためである。
【0088】
以上、本項目(1)で説明したように、本実施形態に係るシステム開発支援装置100によれば、不適切なアクションの設定を防止することができると同時に、適切なアクションの配置を開発者に提案することができる。
【0089】
(2)「ツールチップ表示」が配置される場合
次に、
図16に示すように、「ツールチップ表示」というアクションが開発者によって配置される場合(適切な設定のためエラーが表示されない場合)の処理について説明する。
【0090】
ここで、本例においては、[4-1]で説明したように、コントロール「テキストボックス」に対してイベント「値変更」が設定され、「値変更」中で行われるアクションとして、直前段落で説明したように、「ツールチップ表示」が配置された。
【0091】
取得部102c1は、
図2のアクション表106aから、コントールタイプ「テキストボックス」、イベントタイプ「値変更」およびアクションタイプ「ツールチップ表示」と紐付く情報として、利用可否「〇」を取得する(エラーコードは取得しない)。つまり、「ツールチップ表示」というアクションの配置は、適切であるということである。なお、「ツールチップ」とは、コンピュータの操作画面中の表示要素の一種で、対象にカーソルやマウスポインタを合わせた際に、当該対象の周辺に表示される注釈である。
図17の例では、「項目が未入力です。」という文字が書かれた四角形が、ツールチップである。
【0092】
利用可否「〇」が取得された場合には、当然のことながら、エラーメッセージは表示されず、開発者は、引き続きローコード開発を続けることが可能である。
【0093】
[5.本実施形態のまとめ]
このように、本実施形態に係るシステム開発支援装置100によれば、ユーザーが利用する画面上で実行されるアクションを開発者が設定することにより行うシステム開発において、不適切な前記アクションの設定を防止することができる。
【0094】
ここで、プログラミングでシステム開発を行う行為は、自由度の高さゆえにユーザー操作に対して適切でない応答処理が記述される可能性があった。また、従来のローコード開発ツールにおいても、設定中にユーザービリティの低下を抑制し提案を行う機能はなく、作り方によってはユーザービリティが低下してしまうリスクがあった。つまり、従来のローコード開発においては、必要な機能性は満たせてもシステム利用時の品質までは考慮されていないことが多かった。
【0095】
そこで、本実施形態においては、例えば、コントロールのイベントに対して設定可能な処理を制御および適切な処理への提案を行う仕組みを設けることで、ユーザーの操作に対するレスポンスとして適切ではない画面および挙動に対して統一性のない画面の開発を防げるようになった。言い換えると、本実施形態においては、例えば、各画面操作機能に対する設定可能なコントロールのイベントの設定を可能とし、更に、コントロールの操作がなされたタイミングで、不正な配置か否かを判定することにより、不正な配置を即座に検出することを可能とした。
【0096】
これにより、本実施形態においては、例えば、ローコード開発において、必要な機能性を満たした上で、システム利用時の品質まで考慮できるようにした。本実施形態の仕組みの元で開発されたシステムにおいては、ユーザービリティが向上し、システム活用がより効率化すると見込まれる。
【0097】
[6.国連が主導する持続可能な開発目標(SDGs)への貢献]
本実施形態により、業務効率化や企業の適切な経営判断を推進することに寄与することができるので、SDGsの目標8及び9に貢献することが可能となる。
【0098】
また、本実施形態により、廃棄ロス削減や、ペーパレス・電子化を推進することに寄与することができるので、SDGsの目標12、13及び15に貢献することが可能となる。
【0099】
また、本実施形態により、統制、ガバナンス強化に寄与することができるので、SDGsの目標16に貢献することが可能となる。
【0100】
[7.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0101】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0102】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0103】
また、システム開発支援装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0104】
例えば、システム開発支援装置100が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じてシステム開発支援装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
【0105】
また、このコンピュータプログラムは、システム開発支援装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0106】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カード、フレキシブルディスク、光磁気ディスク、ROM、EPROM(Erasable Programmable Read Only Memory)、EEPROM(登録商標)(Electrically Erasable and Programmable Read Only Memory)、CD-ROM(Compact Disk Read Only Memory)、MO(Magneto-Optical disk)、DVD(Digital Versatile Disk)、および、Blu-ray(登録商標) Disc等の任意の「可搬用の物理媒体」を含むものとする。
【0107】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0108】
記憶部に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【0109】
また、システム開発支援装置100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、システム開発支援装置100は、当該装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
【0110】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【0111】
本発明は、あらゆる業界および業種において有用である。
【符号の説明】
【0112】
100 システム開発支援装置
102 制御部
102a 画面情報チェック部
102b イベント情報チェック部
102c ロジックフロー情報チェック部
102c1 取得部
102c2 表示部
104 通信インターフェース部
106 記憶部
106a アクション表
106b 対応表
106c コントロール情報
106d ロジックフロー情報・アクション情報
106e イベント情報
108 入出力インターフェース部
112 入力装置
114 出力装置
200 サーバ
300 ネットワーク