(57)【要約】【課題】画面上の要素を（Ｎ階層の場合においても）自動で補完することができる画面要素補完装置、画面要素補完方法および画面要素補完プログラムの提供を課題とする。【解決手段】本実施形態では、（１）要素のタイプと親要素のタイプとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての要素のタイプと紐付く親要素のタイプを取得し、（２）前記取得した親要素のタイプと、前記画面上に配置された要素の配属先となる要素である配属先要素についての要素のタイプと、が一致するかしないかをチェックし、（３）一致しない場合、前記取得した親要素のタイプで特定される親要素を、前記画面上に生成するとともに前記現在の要素とし、（４）（１）〜（３）の処理を、（２）において一致すると判断するまで繰り返す。【選択図】図１１
2022001978.tif 000002
【特許請求の範囲】
【請求項１】
制御部を備える画面要素補完装置であって、
前記制御部は、
画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得手段と、
前記親要素取得手段で取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェック手段と、
前記チェック手段で一致しないと判断した場合、前記親要素取得手段で取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成手段と、
を備え、
前記親要素取得手段、前記チェック手段および前記親要素生成手段は、前記チェック手段において一致すると判断するまで処理を繰り返すこと、
を特徴とする画面要素補完装置。
【請求項２】
前記要素設定マスタは、自身が存在するために前記要素が持つべき子の要素の数である存在子要素数を更に含み、
前記制御部は、
前記要素設定マスタを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として、当該現在の親要素についての要素識別データと紐付く存在子要素数を取得する存在子要素数取得手段と、
前記現在の親要素が持つ前記要素の数が、前記存在子要素数取得手段で取得した存在子要素数を満たすか満たさないかを比較して判断する比較手段と、
前記比較手段で満たさないと判断した場合、前記現在の親要素を削除するとともに、前記現在の親要素の親要素を新たな前記現在の親要素として更新する要素削除手段と、
を更に備え、
前記存在子要素数取得手段、前記比較手段および前記要素削除手段は、前記比較手段において満たすと判断するまで処理を繰り返すこと、
を特徴とする請求項１に記載の画面要素補完装置。
【請求項３】
制御部を備える情報処理装置で実行される画面要素補完方法であって、
前記制御部で実行される、
画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、
前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、
前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、
を含み、
前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、
を特徴とする画面要素補完方法。
【請求項４】
制御部を備える情報処理装置に実行させるための画面要素補完プログラムであって、
前記制御部に実行させるための、
画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、
前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、
前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、
を含み、
前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、
を特徴とする画面要素補完プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面要素補完装置、画面要素補完方法および画面要素補完プログラムに関する。
【背景技術】
【０００２】
特許文献１には、後のデータ利用を考慮した情報の入力を促す入力画面を作成することができる入力画面制御装置、入力画面制御方法及び入力画面制御プログラムが開示されている（特許文献１の０００６段落参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２５７１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ビジネス環境の変化が激しい現代においては、ビジネスの様々な場面において、統一性の高い画面を正確かつ迅速に作成することが求められる。しかしながら、上記特許文献１に記載の技術によっては、画面上の要素（例えば、コンテンツパネル、グループパネル、入力パネル、ラベル、テキストボックス、ラジオグループおよびラジオボタン等）を自動で補完（生成）することは困難であった。特に、１階層ではなくＮ階層の場合に、自動で補完（生成）を行うことは困難であった。
【０００５】
本発明は、上記問題点に鑑みてなされたものであって、画面上の要素を（Ｎ階層の場合においても）自動で補完することができる画面要素補完装置、画面要素補完方法および画面要素補完プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明に係る画面要素補完装置は、制御部を備える画面要素補完装置であって、前記制御部が、画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得手段と、前記親要素取得手段で取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェック手段と、前記チェック手段で一致しないと判断した場合、前記親要素取得手段で取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成手段と、を備え、前記親要素取得手段、前記チェック手段および前記親要素生成手段は、前記チェック手段において一致すると判断するまで処理を繰り返すこと、を特徴とする。
【０００７】
また、本発明に係る画面要素補完装置は、前記要素設定マスタが、自身が存在するために前記要素が持つべき子の要素の数である存在子要素数を更に含み、前記制御部が、前記要素設定マスタを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として、当該現在の親要素についての要素識別データと紐付く存在子要素数を取得する存在子要素数取得手段と、前記現在の親要素が持つ前記要素の数が、前記存在子要素数取得手段で取得した存在子要素数を満たすか満たさないかを比較して判断する比較手段と、前記比較手段で満たさないと判断した場合、前記現在の親要素を削除するとともに、前記現在の親要素の親要素を新たな前記現在の親要素として更新する要素削除手段と、を更に備え、前記存在子要素数取得手段、前記比較手段および前記要素削除手段は、前記比較手段において満たすと判断するまで処理を繰り返すこと、を特徴とする。
【０００８】
また、本発明に係る画面要素補完装置方法は、制御部を備える情報処理装置で実行される画面要素補完方法であって、前記制御部で実行される、画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、を含み、前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、を特徴とする。
【０００９】
また、本発明に係る画面要素補完装置プログラムは、制御部を備える情報処理装置に実行させるための画面要素補完プログラムであって、前記制御部に実行させるための、画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得ステップと、前記親要素取得ステップで取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェックステップと、前記チェックステップで一致しないと判断した場合、前記親要素取得ステップで取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成ステップと、を含み、前記親要素取得ステップ、前記チェックステップおよび前記親要素生成ステップにおける処理が、前記チェックステップにおいて一致すると判断するまで繰り返されること、を特徴とする。
【発明の効果】
【００１０】
本発明によれば、画面上の要素を（Ｎ階層の場合においても）自動で補完することができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、画面要素補完装置の構成の一例を示すブロック図である。
【図２】図２は、作成する画面の一例を示す図である。
【図３】図３は、従来における画面作成の流れの概要の一例を示す図である。
【図４】図４は、本実施形態に係る画面作成（自動補完を利用した画面作成）の流れの概要の一例を示す前半図である。
【図５】図５は、本実施形態に係る画面作成（自動補完を利用した画面作成）の流れの概要の一例を示す後半図である。
【図６】図６は、レイアウト変更前後の画面の一例を示す図である。
【図７】図７は、従来におけるレイアウト変更の流れの概要の一例を示す図である。
【図８】図８は、本実施形態に係るレイアウト変更（自動削除を利用したレイアウト変更）の流れの概要の一例を示す図である。
【図９】図９は、要素設定マスタの一例を示す図である。
【図１０】図１０は、要素の階層構造を表すツリーの一例を示す図である。
【図１１】図１１は、本実施形態に係る自動補完の流れの一例を示す図である。
【図１２】図１２は、本実施形態に係る自動補完のフローチャートの一例を示す図である。
【図１３】図１３は、本実施形態に係る自動削除の流れの一例を示す図である。
【図１４】図１４は、本実施形態に係る自動削除のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本発明に係る画面要素補完装置、画面要素補完方法および画面要素補完プログラムの実施形態を、図面に基づいて詳細に説明する。なお、本実施形態により本発明が限定されるものではない。以下、具体的な構成および動作について説明する。
【００１３】
［１．構成］
本実施形態に係る画面要素補完装置１００の構成の一例について、図１を参照して説明する。図１は、画面要素補完装置１００の構成の一例を示すブロック図である。
【００１４】
画面要素補完装置１００は、市販のデスクトップ型パーソナルコンピュータである。なお、画面要素補完装置１００は、デスクトップ型パーソナルコンピュータのような据置型情報処理装置に限らず、市販されているノート型パーソナルコンピュータ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）、スマートフォン、タブレット型パーソナルコンピュータなどの携帯型情報処理装置であってもよい。
【００１５】
画面要素補完装置１００は、制御部１０２と通信インターフェース部１０４と記憶部１０６と入出力インターフェース部１０８と、を備えている。画面要素補完装置１００が備えている各部は、任意の通信路を介して通信可能に接続されている。
【００１６】
通信インターフェース部１０４は、ルータ等の通信装置および専用線等の有線または無線の通信回線を介して、画面要素補完装置１００をネットワーク３００に通信可能に接続する。通信インターフェース部１０４は、他の装置と通信回線を介してデータを通信する機能を有する。ここで、ネットワーク３００は、画面要素補完装置１００とサーバ２００とを相互に通信可能に接続する機能を有し、例えばインターネットやＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。なお、後述する各種マスタ等のデータは、例えばサーバ２００に格納されてもよい。
【００１７】
入出力インターフェース部１０８には、入力装置１１２および出力装置１１４が接続されている。出力装置１１４には、モニタ（家庭用テレビを含む）の他、スピーカやプリンタを用いることができる。入力装置１１２には、キーボード、マウス、及びマイクの他、マウスと協働してポインティングデバイス機能を実現するモニタを用いることができる。なお、以下では、出力装置１１４をモニタ１１４とし、入力装置１１２をキーボード１１２またはマウス１１２として記載する場合がある。
【００１８】
記憶部１０６には、各種のデータベース、テーブルおよびファイルなどが格納される。記憶部１０６には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）と協働してＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に命令を与えて各種処理を行うためのコンピュータプログラムが記録される。記憶部１０６として、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）・ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のメモリ装置、ハードディスクのような固定ディスク装置、フレキシブルディスク、および光ディスク等を用いることができる。
【００１９】
記憶部１０６は、例えば、要素設定マスタ１０６ａを備えている。
【００２０】
要素設定マスタ１０６ａは、図９に示すように、例えば、画面上の要素を識別するための要素識別データ（要素名および要素のタイプ）と、前記要素の説明と、前記要素の親の要素である親要素を識別するための親要素識別データ（親要素のタイプ）と、自身が存在するために前記要素が持つべき子の要素の数である存在子要素数と、等を含む。
【００２１】
制御部１０２は、画面要素補完装置１００を統括的に制御するＣＰＵ等である。制御部１０２は、ＯＳ等の制御プログラム・各種の処理手順等を規定したプログラム・所要データなどを格納するための内部メモリを有し、格納されているこれらのプログラムに基づいて種々の情報処理を実行する。
【００２２】
制御部１０２は、機能概念的に、例えば、（１）画面上の要素を識別するための要素識別データと前記要素の親の要素である親要素を識別するための親要素識別データとを含む要素設定マスタを参照して、画面上に配置された要素を現在の要素として、当該現在の要素についての前記要素識別データと紐付く親要素識別データを取得する親要素取得手段としての親要素取得部１０２ａと、（２）前記親要素取得手段で取得した親要素識別データと、前記画面上に配置された要素の配属先となる要素である配属先要素についての前記要素識別データと、が一致するかしないかをチェックするチェック手段としてのチェック部１０２ｂと、（３）前記チェック手段で一致しないと判断した場合、前記親要素取得手段で取得した親要素識別データで特定される親要素を、前記画面上に生成するとともに新たな前記現在の要素とする親要素生成手段としての親要素生成部１０２ｃと、（４）前記要素設定マスタを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として、当該現在の親要素についての要素識別データと紐付く存在子要素数を取得する存在子要素数取得手段としての存在子要素数取得部１０２ｄと、（５）前記現在の親要素が持つ前記要素の数が、前記存在子要素数取得手段で取得した存在子要素数を満たすか満たさないかを比較して判断する比較手段としての比較部１０２ｅと、（６）前記比較手段で満たさないと判断した場合、前記現在の親要素を削除するとともに、前記現在の親要素の親要素を新たな前記現在の親要素として更新する要素削除手段としての要素削除部１０２ｆと、を備えている。
【００２３】
以下、親要素取得部１０２ａ、チェック部１０２ｂおよび親要素生成部１０２ｃで行われる本実施形態に係る自動補完の処理を、図１２のフローチャートを参照して［１−１］で説明する。また、存在子要素数取得部１０２ｄ、比較部１０２ｅおよび要素削除部１０２ｆで行われる本実施形態に係る自動削除の処理を、図１４のフローチャートを参照して［１−２］で説明する。
【００２４】
［１−１：自動補完の処理］
親要素取得部１０２ａは、前記要素識別データ（要素のタイプ）と前記親要素識別データ（親要素のタイプ）とを含む要素設定マスタ１０６ａから、画面上に配置された要素を現在の要素として（図１２のステップＳＡ１）、当該現在の要素についての前記要素識別データと紐付く親要素識別データ（親要素のタイプ）を取得する（図１２のステップＳＡ２）。
【００２５】
チェック部１０２ｂは、親要素取得部１０２ａで取得した前記親要素識別データ（親要素のタイプ）と、前記画面上に配置された要素の配属先となる要素についての前記要素識別データ（配属先の要素のタイプ）と、が一致するかしないかをチェックする（図１２のステップＳＡ３）。チェック部１０２ｂで一致すると判断した場合（図１２のステップＳＡ３：Ｙｅｓ）、処理は終了する。
【００２６】
これに対して、チェック部１０２ｂで一致しないと判断した場合（図１２のステップＳＡ３：Ｎｏ）、親要素生成部１０２ｃは、親要素取得部１０２ａで取得した親要素識別データ（親要素のタイプ）で特定される親要素を、前記画面上に生成する（図１２のステップＳＡ４）とともに新たな前記現在の要素とする（図１２のステップＳＡ６）。このように親要素を「生成」する処理が、本実施形態に係る「自動補完」の処理に相当する。
【００２７】
親要素取得部１０２ａ、チェック部１０２ｂおよび親要素生成部１０２ｃは、チェック部１０２ｂにおいて一致すると判断するまで（図１２のステップＳＡ３：Ｙｅｓとなるまで）、処理を繰り返す。
【００２８】
［１−２：自動削除の処理］
存在子要素数取得部１０２ｄは、前記要素識別データ（要素のタイプ）と前記親要素識別データ（親要素のタイプ）と前記存在子要素数とを含む要素設定マスタ１０６ａを参照して、移動の対象となった前記要素または削除の対象となった前記要素が元々属していた要素である元要素を現在の親要素として（図１４のステップＳＢ１）、当該現在の親要素についての要素識別データ（要素のタイプ）と紐付く存在子要素数を取得する（図１４のステップＳＢ２）。
【００２９】
比較部１０２ｅは、前記現在の親要素が持つ前記要素の数が、存在子要素数取得部１０２ｄで取得した存在子要素数を満たすか満たさないかを比較して判断する（図１４のステップＳＢ３）。比較部１０２ｅで満たすと判断した場合（図１４のステップＳＢ３：Ｙｅｓ）、処理は終了する。
【００３０】
これに対して、比較部１０２ｅで満たさないと判断した場合（図１４のステップＳＢ３：Ｎｏ）、要素削除部１０２ｆは、前記現在の親要素を削除するとともに（図１４のステップＳＢ５）、前記現在の親要素の親要素を新たな前記現在の親要素とする（図１４のステップＳＢ６）。このように要素を「削除」する処理が、本実施形態に係る「自動削除」の処理に相当する。
【００３１】
存在子要素数取得部１０２ｄ、比較部１０２ｅおよび要素削除部１０２ｆは、比較部１０２ｅにおいて満たすと判断するまで（図１４のステップＳＢ３：Ｙｅｓとなるまで）、処理を繰り返す。
【００３２】
［２．処理の概要］
本項目では、まず、従来における画面作成および本実施形態に係る画面作成の概要を説明する。次に、従来におけるレイアウト変更および本実施形態に係るレイアウト変更の概要を説明する。なお、図２〜図８において、白抜きの矢印を付した操作は、オペレータが行う手動操作であることを意味している。
【００３３】
［２−１．画面作成］
図３の「スタート地点」の画面（コンテンツパネルのみの画面）から、図２に示す画面を作成したい場合、以下の要件１〜６を満たす必要がある。
１．デザイン規約を満たす要素をグルーピングする(グループパネルを配置)。
２．ラベルと入力項目のペアを等間隔にする(入力パネルを配置)。
３．ラベルを２つ配置する。
４．テキストボックスを１つ配置する。
５．ラジオボタンを２つ配置する。
６．その他の画面要素を一つ配置する。
【００３４】
従来における画面作成によって、図２に示す画面を作成する場合、図３に白抜きの矢印で示すように、オペレータは、最短の操作でも合計で１１操作行う必要がある。これに対して、本実施形態に係る画面作成（自動補完を利用した画面作成）の処理によって、図２に示す画面を作成する場合、図４および図５に白抜きの矢印で示すように、オペレータは、合計で６操作だけ行えばよく、また、非機能要件要素を意識する必要がない。
【００３５】
［２−２．レイアウト変更］
図６に示すように、二つのグループを一つにするレイアウト変更を行う場合について説明する。ここでいう二つのグループを一つにするとは、図６の左図におけるグループパネルＭＡ１およびグループパネルＭＡ２のうち、グループパネルＭＡ１に含まれる２つの入力パネルをグループパネルＭＡ２へと移動し、その後、空白となったグループパネルＭＡ１を削除することにより、図６の右図に示すように、グループパネルＭＡ２のみの状態とすることをいう。
【００３６】
従来におけるレイアウト変更によって、二つのグループを一つにする場合、図７に白抜きの矢印で示すように、オペレータは、合計で３操作行う必要がある。これに対して、本実施形態に係るレイアウト変更（自動削除を利用したレイアウト変更）によって、二つのグループを一つにする場合、図８に白抜きの矢印で示すように、オペレータは、合計で２操作だけ行えばよく、また、非機能要件要素を意識する必要がない。
【００３７】
［３．処理の具体例］
本項目では、本実施形態に係る処理の具体例を説明する。まず、自動補完の処理について［３−１］で説明し、次に、自動削除の処理について［３−２］で説明する。なお、本項目においては、要素設定マスタ１０６ａは図９に示す内容で設定されているものとして説明をする。
【００３８】
［３−１．自動補完の処理］
本項目では、自動補完の処理について、図９〜図１２を用いて説明をする（図１０は参考）。自動補完は、各要素に予め設定している親要素と配置先の要素が一致するかをチェックしながら行う。以下、１個目のラベルを配置する場合の自動補完の処理について［３−１−１］で説明し、２個目のラベルを配置する場合の自動補完の処理について［３−１−２］で説明する。
【００３９】
［３−１−１．１個目のラベルを配置する場合の自動補完の処理］
まず、図１１の（Ａ）に示す「コンテンツパネル」のみの画面をスタート地点としたときに、図１１の（Ｂ）に示すように、ユーザ操作により「ラベル」が「コンテンツパネル」に配置されたとする（図１２の「ユーザ操作」）。
【００４０】
１．この場合、親要素取得部１０２ａは、図９の要素設定マスタ１０６ａから、「ラベル」の親要素のタイプである「InputPanel」を取得する（図１２のステップＳＡ１およびＳＡ２）。
【００４１】
２．次に、チェック部１０２ｂは、親要素取得部１０２ａで取得した親要素のタイプである「InputPanel」と、「ラベル」の配属先の要素のタイプである「ContentPanel」と、が一致するかしないかをチェックする（図１２のステップＳＡ３）。
【００４２】
３．一致しないため（図１２のステップＳＡ３：Ｎｏ）、親要素生成部１０２ｃは、図１１の（Ｃ）に示すように、「ラベル」の親要素である「入力パネル」を生成する（図１２のステップＳＡ４）。
【００４３】
４．親要素生成部１０２ｃは、「入力パネル」の子要素に「ラベル」を設定する（図１２のステップＳＡ５）。
【００４４】
ここまでの処理により、主体（現在の要素）が、親要素生成部１０２ｃが生成した親要素である「入力パネル」に切り替わる（図１２のステップＳＡ６）。
【００４５】
５．続けて、図１２のステップＳＡ６からＳＡ２へループし、親要素取得部１０２ａは、図９の要素設定マスタ１０６ａから、「入力パネル」の親要素のタイプである「GroupPanel」を取得する（図１２のステップＳＡ２）。
【００４６】
６．次に、チェック部１０２ｂは、親要素取得部１０２ａで取得した親要素のタイプである「GroupPanel」と、「ラベル」の配属先の要素のタイプである「ContentPanel」と、が一致するかしないかをチェックする（図１２のステップＳＡ３）。
【００４７】
７．一致しないため（図１２のステップＳＡ３：Ｎｏ）、親要素生成部１０２ｃは、図１１の（Ｄ）に示すように、「入力パネル」の親要素である「グループパネル」を生成する（図１２のステップＳＡ４）。
【００４８】
８．親要素生成部１０２ｃは、「グループパネル」の子要素に「入力パネル」を設定する（図１２のステップＳＡ５）。
【００４９】
ここまでの処理により、主体（現在の要素）が、親要素生成部１０２ｃが生成した親要素である「グループパネル」に切り替わる（図１２のステップＳＡ６）。
【００５０】
９．続けて、図１２のステップＳＡ６からＳＡ２へループし、親要素取得部１０２ａは、図９の要素設定マスタ１０６ａから、「グループパネル」の親要素のタイプである「ContentPanel」を取得する（図１２のステップＳＡ２）。
【００５１】
１０．次に、チェック部１０２ｂは、親要素取得部１０２ａで取得した親要素のタイプである「ContentPanel」と、「ラベル」の配属先の要素のタイプである「ContentPanel」と、が一致するかしないかをチェックする（図１２のステップＳＡ３）。
【００５２】
１１．一致するため（図１２のステップＳＡ３：Ｙｅｓ）、現在の要素である「グループパネル」が配属先の要素として追加されて（図１２のステップＳＡ７）、処理が終了する。
【００５３】
［３−１−２．２個目のラベルを配置する場合の自動補完の処理］
次に、図１１の（Ｅ）に示すように、ユーザ操作により「ラベル」が「グループパネル」に配置されたとする（図１２の「ユーザ操作」）。
【００５４】
１．この場合、親要素取得部１０２ａは、図９の要素設定マスタ１０６ａから、「ラベル」の親要素のタイプである「InputPanel」を取得する（図１２のステップＳＡ１およびＳＡ２）。
【００５５】
２．次に、チェック部１０２ｂは、親要素取得部１０２ａで取得した親要素のタイプである「InputPanel」と、「ラベル」の配属先の要素のタイプである「GroupPanel」と、が一致するかしないかをチェックする（図１２のステップＳＡ３）。
【００５６】
３．一致しないため（図１２のステップＳＡ３：Ｎｏ）、親要素生成部１０２ｃは、図１１の（Ｆ）に示すように、「ラベル」の親要素である「入力パネル」を生成する（図１２のステップＳＡ４）。
【００５７】
４．親要素生成部１０２ｃは、「入力パネル」の子要素に「ラベル」を設定する（図１２のステップＳＡ５）。
【００５８】
ここまでの処理により、主体（現在の要素）が、親要素生成部１０２ｃが生成した親要素である「入力パネル」に切り替わる（図１２のステップＳＡ６）。
【００５９】
５．続けて、図１２のステップＳＡ６からＳＡ２へループし、親要素取得部１０２ａは、図９の要素設定マスタ１０６ａから、「入力パネル」の親要素のタイプである「GroupPanel」を取得する（図１２のステップＳＡ２）。
【００６０】
６．次に、チェック部１０２ｂは、親要素取得部１０２ａで取得した親要素のタイプである「GroupPanel」と、「ラベル」の配属先の要素のタイプである「GroupPanel」と、が一致するかしないかをチェックする（図１２のステップＳＡ３）。
【００６１】
７．一致するため（図１２のステップＳＡ３：Ｙｅｓ）、現在の要素である「入力パネル」が配属先の要素として追加されて（図１２のステップＳＡ７）、処理が終了する。
【００６２】
［３−２．自動削除の処理］
本項目では、自動削除の処理について、図９、図１０、図１３および図１４を用いて説明をする（図１０は参考）。自動削除は、各要素に予め設定している自身が存在するための子要素数と現在の子要素数を比較することで、自身を消滅させるべきかを判断することにより行う。以下、１個目の入力パネルＭＢ１を移動する場合の自動削除の処理について［３−２−１］で説明し、２個目の入力パネルＭＢ２を移動する場合の自動削除の処理について［３−２−２］で説明する。
【００６３】
［３−２−１：１個目の入力パネルＭＢ１を移動する場合の自動削除の処理］
まず、図１３の（Ａ）に示す画面をスタート地点としたときに、図１３の（Ｂ）に示すように、ユーザ操作により「入力パネル」ＭＢ１が移動されたとする（図１４の「ユーザ操作」）。この場合、移動元の親要素である「グループパネル」ＭＢ３が、「現在の親要素」として格納される（図１４のステップＳＢ１）。
【００６４】
１．存在子要素数取得部１０２ｄは、図９の要素設定マスタ１０６ａから、「現在の親要素」である「グループパネル」と紐付く存在子要素数として、「１以上」を取得する（図１４のステップＳＢ２）。
【００６５】
２．次に、比較部１０２ｅは、存在子要素数取得部１０２ｄで取得した存在子要素数と、「現在の親要素」の現在の子要素数とを比較する（図１４のステップＳＢ３）。ここで、「現在の親要素」である「グループパネル」ＭＢ３には、図１３の（Ｂ）に示すように、「入力パネル」ＭＢ２が１つのみ含まれているため、現在の子要素数は「１」である。
【００６６】
３．この場合、現在の子要素数「１」は、存在子要素数取得部１０２ｄで取得した存在子要素数「１以上」という条件を満たすため（図１４のステップＳＢ３：Ｙｅｓ）、処理は終了する。
【００６７】
［３−２−２：２個目の入力パネルＭＢ２を移動する場合の自動削除の処理］
次に、図１３の（Ｃ）に示すように、ユーザ操作により「入力パネル」ＭＢ２が移動されたとする（図１４の「ユーザ操作」）。この場合、移動元の親要素である「グループパネル」ＭＢ３が、「現在の親要素」として格納される（図１４のステップＳＢ１）。
【００６８】
１．存在子要素数取得部１０２ｄは、図９の要素設定マスタ１０６ａから、「現在の親要素」である「グループパネル」と紐付く存在子要素数として、「１以上」を取得する（図１４のステップＳＢ２）。
【００６９】
２．次に、比較部１０２ｅは、存在子要素数取得部１０２ｄで取得した存在子要素数と、移動元の要素の現在の子要素数とを比較する（図１４のステップＳＢ３）。ここで、「現在の親要素」である「グループパネル」ＭＢ３には、図１３の（Ｃ）に示すように、「入力パネルは１つも含まれていないため、現在の子要素数は「０」である。
【００７０】
３．この場合、現在の子要素数「０」は、存在子要素数取得部１０２ｄで取得した存在子要素数「１以上」という条件を満たさないため（図１４のステップＳＢ３：Ｎｏ）、要素削除部１０２ｆは、移動元の親要素（＝「現在の親要素」の親要素）である「コンテンツパネル」を保持し（図１４のステップＳＢ４）、移動元の要素（＝「現在の親要素」）である「グループパネル」を削除する（図１４のステップＳＢ５）。
【００７１】
ここまでの処理により、主体（現在の親要素）が、要素削除部１０２ｆが保持した親要素である「コンテンツパネル」に切り替わる（図１４のステップＳＢ６）。言い換えると、「現在の親要素」である「グループパネル」の親要素である「コンテンツパネル」が、新たな「現在の親要素」となる（図１４のステップＳＢ６）。
【００７２】
４．続けて、図１４のステップＳＢ６からＳＢ２へループし、存在子要素数取得部１０２ｄは、図９の要素設定マスタ１０６ａから、「現在の親要素」である「コンテンツパネル」と紐付く存在子要素数として、「０以上」を取得する（図１４のステップＳＢ２）。
【００７３】
５．次に、比較部１０２ｅは、存在子要素数取得部１０２ｄで取得した存在子要素数と、「現在の親要素」の現在の子要素数とを比較する（図１４のステップＳＢ３）。ここで、「現在の親要素」である「コンテンツパネル」ＭＢ５には、図１４の（Ｄ）に示すように、「グループパネル」ＭＢ４が１つのみ含まれているため、現在の子要素数は「１」である。
【００７４】
６．この場合、現在の子要素数「１」は、存在子要素数取得部１０２ｄで取得した存在子要素数「０以上」という条件を満たすため（図１４のステップＳＢ３：Ｙｅｓ）、処理は終了する。
【００７５】
［４．本実施形態のまとめ］
以上説明してきたように、本実施形態に係る画面要素補完装置１００によれば、画面上の要素を（Ｎ階層の場合においても）自動で補完および削除することができる。
【００７６】
ここで、近年においては、ビジネス環境の変化が激しい中、情報システムも経営スピードに追従することが大前提とされ、スピーディーなシステム変化が必要とされている。こういった中、ノンプログラミング開発ツールが注目されているが、そのユーザ層がベンダーだけでなく、システム利用会社のシステム担当者まで広がっている。そういったユーザでも、統一性の高い画面を簡単に作成できる仕組みが求められている。
【００７７】
しかしながら、従来においては、アプリケーションの画面作成時、例えば、デザイン上規約を満たすための要素（例えば、グルーピング用のパネル）、コントロールを整列させるための要素（例えば、入力パネル）および親子関係を成立させないと機能しない要素（例えば、ラジオグループとラジオボタン）といった非機能要件的要素に対して、オペレータはそれらの要素を理解した上で、配置を行う必要がった。この結果、各画面のデザインが統一されないという課題や操作回数が増えるという課題があった。特に、従来のシステムは、１階層の要素の自動補完・自動削除はできても、Ｎ階層の要素の自動補完・自動削除はできなかったため、多くの階層で構成される高度な画面レイアウトには対応していなかった。
【００７８】
そこで、本実施形態においては、例えば、アプリケーションの画面作成時に、デザイン調整に必要な要素や、親子関係を成立させるために必要な要素に対して、Ｎ階層の自動補完・自動削除をできるようにした。具体的には、要素の親と子の関係や親要素が持てる子要素の数を、要素の存在条件として予め設定情報として定義することで、存在条件を満たす状態まで、要素の補完や削除を自動化できるようにした。つまり、簡単にいうと、本実施形態においては、ノンプログラミング開発ツールにおける、画面レイアウト作成時のユーザ補助機能を実現した。
【００７９】
これにより、例えば、各画面で統一されたデザインおよび整列した画面をユーザが規約を意識することなく作成できるようになり、また、画面作成時の操作回数を減らし、ユーザの操作負荷を低減することに成功した。
【００８０】
［５．他の実施形態］
本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【００８１】
例えば、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【００８２】
また、本明細書中や図面中で示した処理手順、制御手順、具体的名称、各処理の登録データや検索条件等のパラメータを含む情報、画面例、データベース構成については、特記する場合を除いて任意に変更することができる。
【００８３】
また、画面要素補完装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【００８４】
例えば、画面要素補完装置１００が備える処理機能、特に制御部にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵおよび当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、本実施形態で説明した処理を情報処理装置に実行させるためのプログラム化された命令を含む一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて画面要素補完装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部などには、ＯＳと協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【００８５】
また、このコンピュータプログラムは、画面要素補完装置１００に対して任意のネットワークを介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【００８６】
また、本実施形態で説明した処理を実行するためのプログラムを、一時的でないコンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリ、ＳＤ（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）カード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＥＥＰＲＯＭ（登録商標）（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＭＯ（Ｍａｇｎｅｔｏ−Ｏｐｔｉｃａｌ  ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【００８７】
また、「プログラム」とは、任意の言語または記述方法にて記述されたデータ処理方法であり、ソースコードまたはバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳに代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成および読み取り手順ならびに読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【００８８】
記憶部に格納される各種のデータベース等は、ＲＡＭ、ＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および、ウェブページ用ファイル等を格納する。
【００８９】
また、画面要素補完装置１００は、既知のパーソナルコンピュータまたはワークステーション等の情報処理装置として構成してもよく、また、任意の周辺装置が接続された当該情報処理装置として構成してもよい。また、画面要素補完装置１００は、当該装置に本実施形態で説明した処理を実現させるソフトウェア（プログラムまたはデータ等を含む）を実装することにより実現してもよい。
【００９０】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じてまたは機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【００９１】
本発明は、あらゆる業界において有用であるが、特に、画面上の要素の補完、移動または削除等の業務を伴う業界においては極めて有用である。
【符号の説明】
【００９２】
１００  画面要素補完装置
１０２  制御部
１０２ａ  親要素取得部
１０２ｂ  チェック部
１０２ｃ  親要素生成部
１０２ｄ  存在子要素数取得部
１０２ｅ  比較部
１０２ｆ  要素削除部
１０４  通信インターフェース部
１０６  記憶部
１０６ａ  要素設定マスタ
１０８  入出力インターフェース部
１１２  入力装置
１１４  出力装置
２００  サーバ
３００  ネットワーク
【図１】
2022001978.tif 000003
【図２】
2022001978.tif 000004
【図３】
2022001978.tif 000005
【図４】
2022001978.tif 000006
【図５】
2022001978.tif 000007
【図６】
2022001978.tif 000008
【図７】
2022001978.tif 000009
【図８】
2022001978.tif 000010
【図９】
2022001978.tif 000011
【図１０】
2022001978.tif 000012
【図１１】
2022001978.tif 000013
【図１２】
2022001978.tif 000014
【図１３】
2022001978.tif 000015
【図１４】
2022001978.tif 000016