(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-08
(45)【発行日】2023-08-17
(54)【発明の名称】画面要素補完装置、画面要素補完方法および画面要素補完プログラム
(51)【国際特許分類】
G06F 3/0481 20220101AFI20230809BHJP
【FI】
G06F3/0481
(21)【出願番号】P 2020106212
(22)【出願日】2020-06-19
【審査請求日】2022-11-11
(73)【特許権者】
【識別番号】398040527
【氏名又は名称】株式会社オービック
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】馬場 健人
(72)【発明者】
【氏名】吉井 聡
(72)【発明者】
【氏名】上野 剛光
【審査官】菅原 浩二
(56)【参考文献】
【文献】特開2006-139583(JP,A)
【文献】特開2009-009473(JP,A)
【文献】特開2001-273125(JP,A)
【文献】特開平07-262250(JP,A)
【文献】国際公開第2012/101701(WO,A1)
【文献】国際公開第2009/066762(WO,A1)
【文献】米国特許出願公開第2001/0037412(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/048ー3/04895
G06F 8/00
(57)【特許請求の範囲】
【請求項1】
制御部を備える画面要素補完装置であって、
前記制御部は、
画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得手段と、
前記親要素取得手段で取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェック手段と、
前記チェック手段で一致しないと判断した場合、前記親要素取得手段で取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成手段と、
を備え、
前記親要素取得手段、前記チェック手段および前記親要素生成手段は、前記チェック手段において一致すると判断するまで処理を繰り返すこと、
を特徴とする画面要素補完装置。
【請求項2】
前記要素設定マスタは、自身が存在するために前記要素が持つべき子の要素の数である存在子要素数を更に含み、
前記制御部は、
前記要素設定マスタを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として、当該現在の親要素についての要素識別データと紐付く存在子要素数を取得する存在子要素数取得手段と、
前記現在の親要素が持つ前記要素の数が、前記存在子要素数取得手段で取得した存在子要素数を満たすか満たさないかを比較して判断する比較手段と、
前記比較手段で満たさないと判断した場合、前記現在の親要素を削除するとともに、前記現在の親要素の親要素を新たな前記現在の親要素として更新する要素削除手段と、
を更に備え、
前記存在子要素数取得手段、前記比較手段および前記要素削除手段は、前記比較手段において満たすと判断するまで処理を繰り返すこと、
を特徴とする請求項1に記載の画面要素補完装置。
【請求項3】
制御部を備える情報処理装置で実行される画面要素補完方法であって、
前記制御部で実行される、
画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、
前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、
前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、
を含み、
前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、
を特徴とする画面要素補完方法。
【請求項4】
制御部を備える情報処理装置に実行させるための画面要素補完プログラムであって、
前記制御部に実行させるための、
画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、
前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、
前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、
を含み、
前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、
を特徴とする画面要素補完プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画面要素補完装置、画面要素補完方法および画面要素補完プログラムに関する。
【背景技術】
【0002】
特許文献1には、後のデータ利用を考慮した情報の入力を促す入力画面を作成することができる入力画面制御装置、入力画面制御方法及び入力画面制御プログラムが開示されている(特許文献1の0006段落参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ビジネス環境の変化が激しい現代においては、ビジネスの様々な場面において、統一性の高い画面を正確かつ迅速に作成することが求められる。しかしながら、上記特許文献1に記載の技術によっては、画面上の要素(例えば、コンテンツパネル、グループパネル、入力パネル、ラベル、テキストボックス、ラジオグループおよびラジオボタン等)を自動で補完(生成)することは困難であった。特に、1階層ではなくN階層の場合に、自動で補完(生成)を行うことは困難であった。
【0005】
本発明は、上記問題点に鑑みてなされたものであって、画面上の要素を(N階層の場合においても)自動で補完することができる画面要素補完装置、画面要素補完方法および画面要素補完プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決し、目的を達成するために、本発明に係る画面要素補完装置は、制御部を備える画面要素補完装置であって、前記制御部が、画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得手段と、前記親要素取得手段で取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェック手段と、前記チェック手段で一致しないと判断した場合、前記親要素取得手段で取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成手段と、を備え、前記親要素取得手段、前記チェック手段および前記親要素生成手段は、前記チェック手段において一致すると判断するまで処理を繰り返すこと、を特徴とする。
【0007】
また、本発明に係る画面要素補完装置は、前記要素設定マスタが、自身が存在するために前記要素が持つべき子の要素の数である存在子要素数を更に含み、前記制御部が、前記要素設定マスタを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として、当該現在の親要素についての要素識別データと紐付く存在子要素数を取得する存在子要素数取得手段と、前記現在の親要素が持つ前記要素の数が、前記存在子要素数取得手段で取得した存在子要素数を満たすか満たさないかを比較して判断する比較手段と、前記比較手段で満たさないと判断した場合、前記現在の親要素を削除するとともに、前記現在の親要素の親要素を新たな前記現在の親要素として更新する要素削除手段と、を更に備え、前記存在子要素数取得手段、前記比較手段および前記要素削除手段は、前記比較手段において満たすと判断するまで処理を繰り返すこと、を特徴とする。
【0008】
また、本発明に係る画面要素補完装置方法は、制御部を備える情報処理装置で実行される画面要素補完方法であって、前記制御部で実行される、画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、を含み、前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、を特徴とする。
【0009】
また、本発明に係る画面要素補完装置プログラムは、制御部を備える情報処理装置に実行させるための画面要素補完プログラムであって、前記制御部に実行させるための、画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、を含み、前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、を特徴とする。
【発明の効果】
【0010】
本発明によれば、画面上の要素を(N階層の場合においても)自動で補完することができるという効果を奏する。
【図面の簡単な説明】
【0011】
【
図1】
図1は、画面要素補完装置の構成の一例を示すブロック図である。
【
図2】
図2は、作成する画面の一例を示す図である。
【
図3】
図3は、従来における画面作成の流れの概要の一例を示す図である。
【
図4】
図4は、本実施形態に係る画面作成(自動補完を利用した画面作成)の流れの概要の一例を示す前半図である。
【
図5】
図5は、本実施形態に係る画面作成(自動補完を利用した画面作成)の流れの概要の一例を示す後半図である。
【
図6】
図6は、レイアウト変更前後の画面の一例を示す図である。
【
図7】
図7は、従来におけるレイアウト変更の流れの概要の一例を示す図である。
【
図8】
図8は、本実施形態に係るレイアウト変更(自動削除を利用したレイアウト変更)の流れの概要の一例を示す図である。
【
図9】
図9は、要素設定マスタの一例を示す図である。
【
図10】
図10は、要素の階層構造を表すツリーの一例を示す図である。
【
図11】
図11は、本実施形態に係る自動補完の流れの一例を示す図である。
【
図12】
図12は、本実施形態に係る自動補完のフローチャートの一例を示す図である。
【
図13】
図13は、本実施形態に係る自動削除の流れの一例を示す図である。
【
図14】
図14は、本実施形態に係る自動削除のフローチャートの一例を示す図である。
【発明を実施するための形態】
【0012】
以下に、本発明に係る画面要素補完装置、画面要素補完方法および画面要素補完プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。以下、具体的な構成および動作について説明する。
【0013】
[1.構成]
本実施形態に係る画面要素補完装置100の構成の一例について、
図1を参照して説明する。
図1は、画面要素補完装置100の構成の一例を示すブロック図である。
【0014】
画面要素補完装置100は、市販のデスクトップ型パーソナルコンピュータである。なお、画面要素補完装置100は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、PDA(Personal Digital Assistants)、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【0015】
画面要素補完装置100は、制御部102と通信インターフェース部104と記憶部106と入出力インターフェース部108と、を備えている。画面要素補完装置100が備えている各部は、任意の通信路を介して通信可能に接続されている。
【0016】
通信インターフェース部104は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、画面要素補完装置100をネットワーク300に通信可能に接続する。通信インターフェース部104は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク300は、画面要素補完装置100とサーバ200とを相互に通信可能に接続する機能を有し、例えばインターネットやLAN(Local Area Network)等である。なお、後述する各種マスタ等のデータは、例えばサーバ200に格納されてもよい。
【0017】
入出力インターフェース部108には、入力装置112および出力装置114が接続されている。出力装置114には、モニタ(家庭用テレビを含む)の他、スピーカやプリンタを用いることができる。入力装置112には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置114をモニタ114とし、入力装置112をキーボード112またはマウス112として記載する場合がある。
【0018】
記憶部106には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部106には、OS(Operating System)と協働してCPU(Central Processing Unit)に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部106として、例えば、RAM(Random Access Memory)・ROM(Read Only Memory)等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【0019】
記憶部106は、例えば、要素設定マスタ106aを備えている。
【0020】
要素設定マスタ106aは、
図9に示すように、例えば、画面上の要素を識別するための要素識別データ(要素名および要素のタイプ)と、前記要素の説明と、前記要素の親の要素である親要素を識別するための親要素識別データ(親要素のタイプ)と、自身が存在するために前記要素が持つべき子の要素の数である存在子要素数と、等を含む。
【0021】
制御部102は、画面要素補完装置100を統括的に制御するCPU等である。制御部102は、OS等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【0022】
制御部102は、機能概念的に、例えば、(1)画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得手段としての親要素取得部102aと、(2)前記親要素取得手段で取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェック手段としてのチェック部102bと、(3)前記チェック手段で一致しないと判断した場合、前記親要素取得手段で取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成手段としての親要素生成部102cと、(4)前記要素設定マスタを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として、当該現在の親要素についての要素識別データと紐付く存在子要素数を取得する存在子要素数取得手段としての存在子要素数取得部102dと、(5)前記現在の親要素が持つ前記要素の数が、前記存在子要素数取得手段で取得した存在子要素数を満たすか満たさないかを比較して判断する比較手段としての比較部102eと、(6)前記比較手段で満たさないと判断した場合、前記現在の親要素を削除するとともに、前記現在の親要素の親要素を新たな前記現在の親要素として更新する要素削除手段としての要素削除部102fと、を備えている。
【0023】
以下、親要素取得部102a、チェック部102bおよび親要素生成部102cで行われる本実施形態に係る自動補完の処理を、
図12のフローチャートを参照して[1-1]で説明する。また、存在子要素数取得部102d、比較部102eおよび要素削除部102fで行われる本実施形態に係る自動削除の処理を、
図14のフローチャートを参照して[1-2]で説明する。
【0024】
[1-1:自動補完の処理]
親要素取得部102aは、前記要素識別データ(要素のタイプ)と前記親要素識別データ(親要素のタイプ)とを含む要素設定マスタ106aから、画面上に配置された要素を現在の要素として(
図12のステップSA1)、当該現在の要素についての前記要素識別データと紐付く親要素識別データ(親要素のタイプ)を取得する(
図12のステップSA2)。
【0025】
チェック部102bは、親要素取得部102aで取得した前記親要素識別データ(親要素のタイプ)と、前記画面上に配置された要素の配属先となる要素についての前記要素識別データ(配属先の要素のタイプ)と、が一致するかしないかをチェックする(
図12のステップSA3)。チェック部102bで一致すると判断した場合(
図12のステップSA3:Yes)、処理は終了する。
【0026】
これに対して、チェック部102bで一致しないと判断した場合(
図12のステップSA3:No)、親要素生成部102cは、親要素取得部102aで取得した親要素識別データ(親要素のタイプ)で特定される親要素を、前記画面上に生成する(
図12のステップSA4)とともに新たな前記現在の要素とする(
図12のステップSA6)。このように親要素を「生成」する処理が、本実施形態に係る「自動補完」の処理に相当する。
【0027】
親要素取得部102a、チェック部102bおよび親要素生成部102cは、チェック部102bにおいて一致すると判断するまで(
図12のステップSA3:Yesとなるまで)、処理を繰り返す。
【0028】
[1-2:自動削除の処理]
存在子要素数取得部102dは、前記要素識別データ(要素のタイプ)と前記親要素識別データ(親要素のタイプ)と前記存在子要素数とを含む要素設定マスタ106aを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として(
図14のステップSB1)、当該現在の親要素についての要素識別データ(要素のタイプ)と紐付く存在子要素数を取得する(
図14のステップSB2)。
【0029】
比較部102eは、前記現在の親要素が持つ前記要素の数が、存在子要素数取得部102dで取得した存在子要素数を満たすか満たさないかを比較して判断する(
図14のステップSB3)。比較部102eで満たすと判断した場合(
図14のステップSB3:Yes)、処理は終了する。
【0030】
これに対して、比較部102eで満たさないと判断した場合(
図14のステップSB3:No)、要素削除部102fは、前記現在の親要素を削除するとともに(
図14のステップSB5)、前記現在の親要素の親要素を新たな前記現在の親要素とする(
図14のステップSB6)。このように要素を「削除」する処理が、本実施形態に係る「自動削除」の処理に相当する。
【0031】
存在子要素数取得部102d、比較部102eおよび要素削除部102fは、比較部102eにおいて満たすと判断するまで(
図14のステップSB3:Yesとなるまで)、処理を繰り返す。
【0032】
[2.処理の概要]
本項目では、まず、従来における画面作成および本実施形態に係る画面作成の概要を説明する。次に、従来におけるレイアウト変更および本実施形態に係るレイアウト変更の概要を説明する。なお、
図2~
図8において、白抜きの矢印を付した操作は、オペレータが行う手動操作であることを意味している。
【0033】
[2-1.画面作成]
図3の「スタート地点」の画面(コンテンツパネルのみの画面)から、
図2に示す画面を作成したい場合、以下の要件1~6を満たす必要がある。
1.デザイン規約を満たす要素をグルーピングする(グループパネルを配置)。
2.ラベルと入力項目のペアを等間隔にする(入力パネルを配置)。
3.ラベルを2つ配置する。
4.テキストボックスを1つ配置する。
5.ラジオボタンを2つ配置する。
6.その他の画面要素を一つ配置する。
【0034】
従来における画面作成によって、
図2に示す画面を作成する場合、
図3に白抜きの矢印で示すように、オペレータは、最短の操作でも合計で11操作行う必要がある。これに対して、本実施形態に係る画面作成(自動補完を利用した画面作成)の処理によって、
図2に示す画面を作成する場合、
図4および
図5に白抜きの矢印で示すように、オペレータは、合計で6操作だけ行えばよく、また、非機能要件要素を意識する必要がない。
【0035】
[2-2.レイアウト変更]
図6に示すように、二つのグループを一つにするレイアウト変更を行う場合について説明する。ここでいう二つのグループを一つにするとは、
図6の左図におけるグループパネルMA1およびグループパネルMA2のうち、グループパネルMA1に含まれる2つの入力パネルをグループパネルMA2へと移動し、その後、空白となったグループパネルMA1を削除することにより、
図6の右図に示すように、グループパネルMA2のみの状態とすることをいう。
【0036】
従来におけるレイアウト変更によって、二つのグループを一つにする場合、
図7に白抜きの矢印で示すように、オペレータは、合計で3操作行う必要がある。これに対して、本実施形態に係るレイアウト変更(自動削除を利用したレイアウト変更)によって、二つのグループを一つにする場合、
図8に白抜きの矢印で示すように、オペレータは、合計で2操作だけ行えばよく、また、非機能要件要素を意識する必要がない。
【0037】
[3.処理の具体例]
本項目では、本実施形態に係る処理の具体例を説明する。まず、自動補完の処理について[3-1]で説明し、次に、自動削除の処理について[3-2]で説明する。なお、本項目においては、要素設定マスタ106aは
図9に示す内容で設定されているものとして説明をする。
【0038】
[3-1.自動補完の処理]
本項目では、自動補完の処理について、
図9~
図12を用いて説明をする(
図10は参考)。自動補完は、各要素に予め設定している親要素と配置先の要素が一致するかをチェックしながら行う。以下、1個目のラベルを配置する場合の自動補完の処理について[3-1-1]で説明し、2個目のラベルを配置する場合の自動補完の処理について[3-1-2]で説明する。
【0039】
[3-1-1.1個目のラベルを配置する場合の自動補完の処理]
まず、
図11の(A)に示す「コンテンツパネル」のみの画面をスタート地点としたときに、
図11の(B)に示すように、ユーザ操作により「ラベル」が「コンテンツパネル」に配置されたとする(
図12の「ユーザ操作」)。
【0040】
1.この場合、親要素取得部102aは、
図9の要素設定マスタ106aから、「ラベル」の親要素のタイプである「InputPanel」を取得する(
図12のステップSA1およびSA2)。
【0041】
2.次に、チェック部102bは、親要素取得部102aで取得した親要素のタイプである「InputPanel」と、「ラベル」の配属先の要素のタイプである「ContentPanel」と、が一致するかしないかをチェックする(
図12のステップSA3)。
【0042】
3.一致しないため(
図12のステップSA3:No)、親要素生成部102cは、
図11の(C)に示すように、「ラベル」の親要素である「入力パネル」を生成する(
図12のステップSA4)。
【0043】
4.親要素生成部102cは、「入力パネル」の子要素に「ラベル」を設定する(
図12のステップSA5)。
【0044】
ここまでの処理により、主体(現在の要素)が、親要素生成部102cが生成した親要素である「入力パネル」に切り替わる(
図12のステップSA6)。
【0045】
5.続けて、
図12のステップSA6からSA2へループし、親要素取得部102aは、
図9の要素設定マスタ106aから、「入力パネル」の親要素のタイプである「GroupPanel」を取得する(
図12のステップSA2)。
【0046】
6.次に、チェック部102bは、親要素取得部102aで取得した親要素のタイプである「GroupPanel」と、「ラベル」の配属先の要素のタイプである「ContentPanel」と、が一致するかしないかをチェックする(
図12のステップSA3)。
【0047】
7.一致しないため(
図12のステップSA3:No)、親要素生成部102cは、
図11の(D)に示すように、「入力パネル」の親要素である「グループパネル」を生成する(
図12のステップSA4)。
【0048】
8.親要素生成部102cは、「グループパネル」の子要素に「入力パネル」を設定する(
図12のステップSA5)。
【0049】
ここまでの処理により、主体(現在の要素)が、親要素生成部102cが生成した親要素である「グループパネル」に切り替わる(
図12のステップSA6)。
【0050】
9.続けて、
図12のステップSA6からSA2へループし、親要素取得部102aは、
図9の要素設定マスタ106aから、「グループパネル」の親要素のタイプである「ContentPanel」を取得する(
図12のステップSA2)。
【0051】
10.次に、チェック部102bは、親要素取得部102aで取得した親要素のタイプである「ContentPanel」と、「ラベル」の配属先の要素のタイプである「ContentPanel」と、が一致するかしないかをチェックする(
図12のステップSA3)。
【0052】
11.一致するため(
図12のステップSA3:Yes)、現在の要素である「グループパネル」が配属先の要素として追加されて(
図12のステップSA7)、処理が終了する。
【0053】
[3-1-2.2個目のラベルを配置する場合の自動補完の処理]
次に、
図11の(E)に示すように、ユーザ操作により「ラベル」が「グループパネル」に配置されたとする(
図12の「ユーザ操作」)。
【0054】
1.この場合、親要素取得部102aは、
図9の要素設定マスタ106aから、「ラベル」の親要素のタイプである「InputPanel」を取得する(
図12のステップSA1およびSA2)。
【0055】
2.次に、チェック部102bは、親要素取得部102aで取得した親要素のタイプである「InputPanel」と、「ラベル」の配属先の要素のタイプである「GroupPanel」と、が一致するかしないかをチェックする(
図12のステップSA3)。
【0056】
3.一致しないため(
図12のステップSA3:No)、親要素生成部102cは、
図11の(F)に示すように、「ラベル」の親要素である「入力パネル」を生成する(
図12のステップSA4)。
【0057】
4.親要素生成部102cは、「入力パネル」の子要素に「ラベル」を設定する(
図12のステップSA5)。
【0058】
ここまでの処理により、主体(現在の要素)が、親要素生成部102cが生成した親要素である「入力パネル」に切り替わる(
図12のステップSA6)。
【0059】
5.続けて、
図12のステップSA6からSA2へループし、親要素取得部102aは、
図9の要素設定マスタ106aから、「入力パネル」の親要素のタイプである「GroupPanel」を取得する(
図12のステップSA2)。
【0060】
6.次に、チェック部102bは、親要素取得部102aで取得した親要素のタイプである「GroupPanel」と、「ラベル」の配属先の要素のタイプである「GroupPanel」と、が一致するかしないかをチェックする(
図12のステップSA3)。
【0061】
7.一致するため(
図12のステップSA3:Yes)、現在の要素である「入力パネル」が配属先の要素として追加されて(
図12のステップSA7)、処理が終了する。
【0062】
[3-2.自動削除の処理]
本項目では、自動削除の処理について、
図9、
図10、
図13および
図14を用いて説明をする(
図10は参考)。自動削除は、各要素に予め設定している自身が存在するための子要素数と現在の子要素数を比較することで、自身を消滅させるべきかを判断することにより行う。以下、1個目の入力パネルMB1を移動する場合の自動削除の処理について[3-2-1]で説明し、2個目の入力パネルMB2を移動する場合の自動削除の処理について[3-2-2]で説明する。
【0063】
[3-2-1:1個目の入力パネルMB1を移動する場合の自動削除の処理]
まず、
図13の(A)に示す画面をスタート地点としたときに、
図13の(B)に示すように、ユーザ操作により「入力パネル」MB1が移動されたとする(
図14の「ユーザ操作」)。この場合、移動元の親要素である「グループパネル」MB3が、「現在の親要素」として格納される(
図14のステップSB1)。
【0064】
1.存在子要素数取得部102dは、
図9の要素設定マスタ106aから、「現在の親要素」である「グループパネル」と紐付く存在子要素数として、「1以上」を取得する(
図14のステップSB2)。
【0065】
2.次に、比較部102eは、存在子要素数取得部102dで取得した存在子要素数と、「現在の親要素」の現在の子要素数とを比較する(
図14のステップSB3)。ここで、「現在の親要素」である「グループパネル」MB3には、
図13の(B)に示すように、「入力パネル」MB2が1つのみ含まれているため、現在の子要素数は「1」である。
【0066】
3.この場合、現在の子要素数「1」は、存在子要素数取得部102dで取得した存在子要素数「1以上」という条件を満たすため(
図14のステップSB3:Yes)、処理は終了する。
【0067】
[3-2-2:2個目の入力パネルMB2を移動する場合の自動削除の処理]
次に、
図13の(C)に示すように、ユーザ操作により「入力パネル」MB2が移動されたとする(
図14の「ユーザ操作」)。この場合、移動元の親要素である「グループパネル」MB3が、「現在の親要素」として格納される(
図14のステップSB1)。
【0068】
1.存在子要素数取得部102dは、
図9の要素設定マスタ106aから、「現在の親要素」である「グループパネル」と紐付く存在子要素数として、「1以上」を取得する(
図14のステップSB2)。
【0069】
2.次に、比較部102eは、存在子要素数取得部102dで取得した存在子要素数と、移動元の要素の現在の子要素数とを比較する(
図14のステップSB3)。ここで、「現在の親要素」である「グループパネル」MB3には、
図13の(C)に示すように、「入力パネルは1つも含まれていないため、現在の子要素数は「0」である。
【0070】
3.この場合、現在の子要素数「0」は、存在子要素数取得部102dで取得した存在子要素数「1以上」という条件を満たさないため(
図14のステップSB3:No)、要素削除部102fは、移動元の親要素(=「現在の親要素」の親要素)である「コンテンツパネル」を保持し(
図14のステップSB4)、移動元の要素(=「現在の親要素」)である「グループパネル」を削除する(
図14のステップSB5)。
【0071】
ここまでの処理により、主体(現在の親要素)が、要素削除部102fが保持した親要素である「コンテンツパネル」に切り替わる(
図14のステップSB6)。言い換えると、「現在の親要素」である「グループパネル」の親要素である「コンテンツパネル」が、新たな「現在の親要素」となる(
図14のステップSB6)。
【0072】
4.続けて、
図14のステップSB6からSB2へループし、存在子要素数取得部102dは、
図9の要素設定マスタ106aから、「現在の親要素」である「コンテンツパネル」と紐付く存在子要素数として、「0以上」を取得する(
図14のステップSB2)。
【0073】
5.次に、比較部102eは、存在子要素数取得部102dで取得した存在子要素数と、「現在の親要素」の現在の子要素数とを比較する(
図14のステップSB3)。ここで、「現在の親要素」である「コンテンツパネル」MB5には、
図14の(D)に示すように、「グループパネル」MB4が1つのみ含まれているため、現在の子要素数は「1」である。
【0074】
6.この場合、現在の子要素数「1」は、存在子要素数取得部102dで取得した存在子要素数「0以上」という条件を満たすため(
図14のステップSB3:Yes)、処理は終了する。
【0075】
[4.本実施形態のまとめ]
以上説明してきたように、本実施形態に係る画面要素補完装置100によれば、画面上の要素を(N階層の場合においても)自動で補完および削除することができる。
【0076】
ここで、近年においては、ビジネス環境の変化が激しい中、情報システムも経営スピードに追従することが大前提とされ、スピーディーなシステム変化が必要とされている。こういった中、ノンプログラミング開発ツールが注目されているが、そのユーザ層がベンダーだけでなく、システム利用会社のシステム担当者まで広がっている。そういったユーザでも、統一性の高い画面を簡単に作成できる仕組みが求められている。
【0077】
しかしながら、従来においては、アプリケーションの画面作成時、例えば、デザイン上規約を満たすための要素(例えば、グルーピング用のパネル)、コントロールを整列させるための要素(例えば、入力パネル)および親子関係を成立させないと機能しない要素(例えば、ラジオグループとラジオボタン)といった非機能要件的要素に対して、オペレータはそれらの要素を理解した上で、配置を行う必要がった。この結果、各画面のデザインが統一されないという課題や操作回数が増えるという課題があった。特に、従来のシステムは、1階層の要素の自動補完・自動削除はできても、N階層の要素の自動補完・自動削除はできなかったため、多くの階層で構成される高度な画面レイアウトには対応していなかった。
【0078】
そこで、本実施形態においては、例えば、アプリケーションの画面作成時に、デザイン調整に必要な要素や、親子関係を成立させるために必要な要素に対して、N階層の自動補完・自動削除をできるようにした。具体的には、要素の親と子の関係や親要素が持てる子要素の数を、要素の存在条件として予め設定情報として定義することで、存在条件を満たす状態まで、要素の補完や削除を自動化できるようにした。つまり、簡単にいうと、本実施形態においては、ノンプログラミング開発ツールにおける、画面レイアウト作成時のユーザ補助機能を実現した。
【0079】
これにより、例えば、各画面で統一されたデザインおよび整列した画面をユーザが規約を意識することなく作成できるようになり、また、画面作成時の操作回数を減らし、ユーザの操作負荷を低減することに成功した。
【0080】
[5.他の実施形態]
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【0081】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【0082】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【0083】
また、画面要素補完装置100に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【0084】
例えば、画面要素補完装置100が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、CPUおよび当該CPUにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて画面要素補完装置100に機械的に読み取られる。すなわち、ROMまたはHDD(Hard Disk Drive)などの記憶部などには、OSと協働してCPUに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、RAMにロードされることによって実行され、CPUと協働して制御部を構成する。
【0085】
また、このコンピュータプログラムは、画面要素補完装置100に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【0086】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、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等の任意の「可搬用の物理媒体」を含むものとする。
【0087】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、OSに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【0088】
記憶部に格納される各種のデータベース等は、RAM、ROM等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【0089】
また、画面要素補完装置100は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、画面要素補完装置100は、当該装置に本実施形態で説明した処理を実現させるソフトウェア(プログラムまたはデータ等を含む)を実装することにより実現してもよい。
【0090】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【0091】
本発明は、あらゆる業界において有用であるが、特に、画面上の要素の補完、移動または削除等の業務を伴う業界においては極めて有用である。
【符号の説明】
【0092】
100 画面要素補完装置
102 制御部
102a 親要素取得部
102b チェック部
102c 親要素生成部
102d 存在子要素数取得部
102e 比較部
102f 要素削除部
104 通信インターフェース部
106 記憶部
106a 要素設定マスタ
108 入出力インターフェース部
112 入力装置
114 出力装置
200 サーバ
300 ネットワーク