本発明のアプリケーション作成支援システム1の全体の構成の一例を図1に示す。アプリケーション作成支援システム1は,企業などで利用するコンピュータシステムであって,後述する項目パーツを,後述するベース画面,クローン画面にレイアウト(配置)して,それに対応するテーブルに関する情報を生成することでアプリケーションソフトウェアを作成することができるコンピュータシステムである。
アプリケーション作成支援システム1は,企業などのシステムエンジニアや業務の担当者が操作するコンピュータでされる。コンピュータとしてはパーソナルコンピュータを用いることが好適であるが,タブレット型コンピュータ,スマートフォンなどの可搬型通信端末であってもよい。図2にコンピュータのハードウェア構成の一例を示す。コンピュータには,プログラムの演算処理を実行するCPUなどの演算装置70と,情報を記憶するRAMやハードディスクなどの記憶装置71と,演算装置70の処理結果や記憶装置71に記憶する情報をインターネットやLANなどのネットワークを介して送受信する通信装置74とを有している。また,ディスプレイなどの表示装置72と,キーボードやポインティングデバイス(マウスやテンキーなど)などの入力装置73とを有していてもよい。
なお,各図面では,各コンピュータが一台のコンピュータで実現される場合を示したが,複数台のコンピュータにその機能が分散配置され,実現されても良い。また,本発明における各手段は,その機能が論理的に区別されているのみであって,物理上あるいは事実上は同一の領域を為していても良い。たとえば,アプリケーション作成支援システム1は,サーバやクラウドサーバなどで機能しており,アプリケーション作成支援システム1を操作する操作者のコンピュータからの操作で機能してもよい。
アプリケーション作成支援システム1は,項目パーツ記憶部10とベース画面レイアウト設定処理部11とクローン画面レイアウト設定処理部12と画面レイアウト記憶部13とシステム生成処理部14とテーブル記憶部15とを有している。
項目パーツ記憶部10は項目パーツの定義情報を記憶する。項目パーツとは,意味づけまたは関連づけがされた一または二以上の項目(オブジェクト)であり,項目パーツの定義情報とは,項目パーツがベース画面に配置されるとき,項目パーツに含まれる項目がどのように配置されるのかを示す情報である。項目パーツの定義情報は,ベース画面ごとに記憶される。
項目パーツの定義情報としては,項目の配置可能領域,配置方向,属性,桁数,見出し,計算式等がある。図6に項目パーツの定義情報の一例を模式的に示す。図6の項目パーツの定義情報では,生年月日(年齢付)の項目パーツ,住所の項目パーツ,性別の項目パーツの各定義情報を示している。生年月日(年齢付)の項目パーツにおいては,項目として生年月日の項目,年齢の項目,「歳というラベル」を表示する項目がある。そして項目の詳細情報として,配置方向は,画面に当該項目をドラッグしたときの配置方向であり,配置方向「右」とは,「生年月日」,「年齢」,「歳というラベル」という各項目を右方向に並べることを意味している。また,属性は項目のデータ型であり,桁数はその項目の桁数であり,編集方法はそのデータの編集方法である。また計算式は,どのような演算を行うかの数式である。また,住所の項目パーツにおける項目詳細情報として配置方向「下」とは,各項目を下方向に並べることを意味している。また設定先とはテーブルにおけるデータの出力先を示している。したがって設定先が「住所グループ.郵便番号」であれば,「住所グループ」のテーブルの「郵便番号」にデータが出力される。また,性別の項目パーツにおける項目詳細情報としての「選択肢」は,オプションボタンとして「不明」,「男性」,「女性」の3つの選択肢があることを意味している。
項目とは,文字列,数値,数字や文字のコード,日付,元号選択日付,日時,チェックボックス,オプションボックス,コンボボックスなど,アプリケーションソフトウェアの画面に配置するオブジェクトを指す。
項目の関連づけとは,機能を利用するために複数の項目の組み合わせを設定することである。たとえば「生年月日(年齢付)」という項目パーツを設定する場合には,「日付」という項目と「数値」の項目の2つの項目の関連性を設定する。ここでの関連性は,現在の日付から「日付」に入力された日付を減算し(年齢を演算する計算式を設定し),その結果を「数値」の項目に表示させることである。
項目の意味づけとは,項目に目的に応じたプロパティを設定することである。たとえば上述の「生年月日(年齢付)」という項目パーツを設定する場合には,関連づけられた「日付」項目と「数値」項目について,「日付」項目について「生年月日」という名称の設定をし(意味を付けて),「数値」項目について「年齢」という名称の設定(意味を付ける)をする。また,都道府県を選択可能とする選択肢の場合には,「コンボボックス」項目について,「都道府県を選択させる」という意味を付けて,選択肢として「都道府県名」を設定したものが「都道府県」の意味づけがされた項目となる。
上述の「生年月日(年齢付)」という項目パーツは,「生年月日」という名称が設定された「日付」項目と「年齢」という名称が設定された「数値」項目とからなり,2つの項目には年齢を演算する計算式が設定され,その計算結果が「数値」項目に表示されるという,関連づけが設定されている。
項目パーツとしては,上述のほかに,「名称(フリガナ付)」,「住所グループ」,「補助マスター」,「性別」,「血液型」,「メール」,「イメージ」といった項目パーツがあってもよい。
「名称(フリガナ付)」の項目パーツは,2つの「文字列」の項目があり,その関連性として,「名称」という名称の設定をした「文字列」項目について,その文字列のフリガナをもう一つの「フリガナ」という名称の設定をした「文字列」項目に反映する関連づけが設定されている。
「住所グループ」の項目パーツは,3つの「文字列」の項目があり,「郵便番号」という名称の設定をした「文字列」項目と,「電話番号」という名称の設定をした「文字列」項目と,「住所」という名称の設定をした「文字列」項目とがある。そして,「郵便番号」の項目に入力された郵便番号に基づいて住所を検索し,「住所」という名称の設定をした「文字列」項目に,その住所が反映する関連づけが設定されている。また,「住所グループ」について,宛名シールやはがきの宛先として印字可能な設定がされている。なお,「住所」の「文字列」の項目については,「都道府県」(住所1),「市区町村」(住所2),「番地」(住所3)などさらに複数の「文字列」の項目に分かれていても良い。
「補助マスター」の項目パーツは,「コード」と「文字列」の項目があり,「分類コード」という名称の設定をした「コード」項目と,「分類名称」という名称の設定をした「文字列」項目とについて,「コード」項目に入力された数字や文字のコードに基づいて,所定のデータベースを検索して,対応する分類名称を抽出し,その分類名称を「文字列」の項目に反映させる関連づけが設定されている。
「性別」の項目パーツは,「オプションボタン」の項目であり,その選択肢として「不明」,「男性」,「女性」が選択可能なように関連づけが設定されている。
「血液型」の項目パーツは,「オプションボタン」の項目であり,その選択肢として「不明」,「A型」,「B型」,「O型」,「AB型」が選択可能なように関連づけが設定されている。
「メール」の項目パーツは,「電子メールアドレス」の項目であり,電子メールアドレスを登録するのに最適な桁数,入力可能文字種,直接メーラー(電子メールを送受信するアプリケーションソフトウェア)を起動できる設定などが意味づけられている。
「イメージ」の項目パーツは,画像情報のアップロードが可能な「イメージパス」の項目であり,顔写真の画像情報や名刺の画像情報などをアップロードして,イメージ表示領域に表示する設定などが意味づけられている。
なお上述の各項目パーツにおける項目には,それぞれ入力可能な桁数,入力可能な文字種別(日本語,ローマ字のみ,英数字などの文字型)が,項目の意味づけとして設定されている。
ベース画面レイアウト設定処理部11は,アプリケーションソフトウェアでベース画面として用いる画面レイアウト情報を設定し,後述する画面レイアウト記憶部13に記憶する。ベース画面の画面レイアウト情報は,ベースとなるベース画面に,項目パーツ記憶部10に記憶する項目パーツが配置され,ベース画面における各項目の配置位置,各項目パーツのうち使用されている項目の情報などの情報がベース画面レイアウト情報として,後述する画面レイアウト記憶部13に記憶される。すなわち,ユーザが項目パーツをベース画面に配置すると,項目パーツ記憶部10における項目パーツの定義情報を参照し,項目パーツに含まれる項目の詳細情報にしたがって各項目が配置,表示され,それらがベース画面レイアウト情報として画面レイアウト記憶部13にベース画面ごとに記憶される。なお,項目パーツのほかに,項目をベース画面に配置できても良い。
ベース画面とはテーブル設計を伴う画面レイアウト情報であり,ベース画面に配置された項目パーツにおける項目やベース画面に単独で配置される項目のデータの型や桁数などのプロパティに応じたテーブルを定義し,そのテーブルを生成する。また,各項目のデータの結合表を定義し,パラメータを定義する。システム生成処理部14で定義したテーブル,結合表,パラメータは,テーブル記憶部15に記憶させる。
ベース画面レイアウト設定処理部11は,ベース画面を作成時に,後述するテーブル記憶部15の画面管理テーブルに,ベース画面の識別情報である画面管理コードを自動的に付番する。図35に画面管理テーブルの一例を模式的に示す。図35の画面管理テーブルでは,社員マスターのベース画面に画面管理コード「1001」が付番され,社内FAQ管理のベース画面に画面管理コード「1002」が付番された状態を一例として示している。また,ベース画面レイアウト設定処理部11は,ベース画面を作成時に,図37に示す画面ヘッダー情報管理テーブルを生成し,後述するテーブル記憶部15に記憶させる。画面ヘッダー情報管理テーブルは,ベース画面かクローン画面かを管理するテーブルであり,ベース画面とクローン画面との関係性を示す情報を記憶させる。図37の場合,「社員マスター保守Ver.1」のベース画面を作成した場合には,画面管理コード「1001」に対応付けて,そのベース画面であることを示す画面個別コード「B00」,画面種別「ベース画面」を記憶させる。また,「FAQ入力」のベース画面を作成した場合には,画面管理コード「1002」に対応付けて,そのベース画面であることを示す画面個別コード「B00」,画面種別「ベース画面」を記憶させる。
また,ベース画面レイアウト設定処理部11が作成するベース画面レイアウト情報としては,レイアウト情報や配置項目(変数),計算式など実際の詳細な情報を画面ごとに管理する画面詳細情報管理テーブル(図38)に記憶させる。画面詳細情報管理テーブルは,後述する画面レイアウト記憶部13に記憶されている。
クローン画面レイアウト設定処理部12は,アプリケーションソフトウェアでクローン画面として用いる画面レイアウト情報を設定し,後述する画面レイアウト記憶部13に記憶する。クローン画面の画面レイアウト情報は,ベース画面の画面レイアウト情報に基づいて,加工をした画面レイアウト情報であって,テーブル設計を伴わない画面レイアウト情報である。クローン画面の画面レイアウト情報には,ベース画面で設定した全部または一部の項目パーツ,項目が配置されており,クローン画面における各項目の配置位置,各項目パーツのうち使用されている項目の情報などの情報がクローン画面レイアウト情報として,後述する画面レイアウト記憶部13に記憶される。なお,クローン画面レイアウト設定処理部12では,クローン画面に配置されている項目パーツや項目の表示位置の変更,削除が可能である。テーブル設計に影響を与える新たな項目パーツや項目の追加,意味づけや関連づけなどの修正は行うことができないが,テーブル設計に影響を与えない新たな項目パーツや項目,意味づけや関連づけなどの修正は設定可能である。すなわち,ベース画面に配置されている項目パーツや項目の範囲内での画面レイアウト情報の設定となる。
クローン画面レイアウト設定処理部12においては,一つのベース画面から一または複数のクローン画面が作成可能であり,クローン画面作成の際に,ベース画面で設定したテーブルに対する処理の種類(処理モード)を選択可能とする。処理モードとしては,ベース画面で設定したテーブルのデータを登録する登録モード,データを修正する修正モード,データを削除する削除モード,データの登録と修正をする登録修正モード,データを照会(検索)する照会モードなどがある。
クローン画面レイアウト設定処理部12は,クローン画面を生成した際には,テーブル記憶部15に記憶する画面ヘッダー情報管理テーブルに,ベース画面とクローン画面との関係性を示す情報として画面個別コードや画面種別を記憶させる。図37の場合,「社員マスター保守Ver.1」をベース画面とするクローン画面「社員マスター保守Ver.2」を作成した場合には,画面管理コード「1001」に対応付けて,そのクローン画面であることを示す画面個別コード「C01」,画面種別「クローン画面」を記憶させる。また,「FAQ入力」をベース画面とするクローン画面「質問入力」,「FAQ照会」を作成した場合には,画面管理コード「1002」に対応付けて,そのクローン画面であることを示す画面個別コード「C01」,「C02」,画面種別「クローン画面」を記憶させる。
クローン画面レイアウト設定処理部12が作成するクローン画面レイアウト情報としては,クローン画面のレイアウト情報や配置項目(変数),計算式など実際の詳細な情報を画面ごとに管理する画面詳細情報管理テーブル(図38)に記憶させる。
画面レイアウト記憶部13は,ベース画面レイアウト設定処理部11でベース画面で配置されている項目および/または項目パーツの画面レイアウト情報,クローン画面レイアウト設定処理部12でクローン画面で配置されている項目および/または項目パーツの画面レイアウト情報を記憶する。ベース画面とクローン画面とはその主従関係を示すため関係性を示す情報が付与されて,画面詳細情報管理テーブルや,テーブル記憶部15の画面ヘッダー情報管理テーブルなどで記憶されている。本発明のアプリケーション作成支援システム1では,データ管理を行う簡易的なアプリケーションソフトウェアの作成支援を目的としている。そのため,一または複数の画面(ベース画面)におけるデータの入出力と,そこで入出力されるデータの管理機能があれば足りる。画面で入出力されるデータの管理を行うデータベースやデータファイルについても,後述するシステム生成処理部14が画面レイアウト記憶部13に記憶したベース画面レイアウト情報を用いて自動的に作成する。ここで記憶した画面レイアウト情報を用いれば,画面およびその画面における項目(オブジェクト)に対する処理を備えたアプリケーションソフトウェアとして用いることができる。
画面レイアウト記憶部13で記憶するベース画面レイアウト情報,クローン画面レイアウト情報を管理する画面詳細情報管理テーブルの一例を,図38に示す。
システム生成処理部14は,画面レイアウト記憶部13に記憶したベース画面レイアウト情報に基づいて,その画面で用いる項目のマスターに関する情報を生成する。すなわち,画面レイアウト情報での項目パーツにおける各項目のデータの型や桁数などのプロパティに応じたテーブル(テーブル情報管理テーブル)を定義し,そのテーブルを生成する。また,各項目のデータの結合表を定義し,パラメータを定義し,それらを生成する。システム生成処理部14で生成したテーブル,結合表,パラメータは,テーブル記憶部15に記憶させる。
システム生成処理部14が生成するベース画面レイアウト情報に基づいて生成するテーブル情報管理テーブルの一例を,図36に模式的に示す。画面管理テーブルが図35の場合,ベース画面レイアウト情報における各項目は,「T100101001」や「T100201005」といったように,変数で管理し,その変数と実項目の結びつきを管理している。なお,テーブル情報管理テーブルにおけるテーブルコードは,ベース画面におけるテーブルであり,画面管理コードを識別可能なように,その情報の一部を含んでいることが好ましい。なお,「T100101001」や「T100201005」といったIDは,ベース画面,クローン画面の画面レイアウト上の変数であり,図36における「CUSQ101001」,「CUSQ102001」といったIDは,実テーブルのテーブルIDや項目IDである。そのため,画面レイアウト上に配置した段階では,テーブルIDや項目IDは確定しておらず,システム生成処理部14でシステム生成処理を行い,実際にテーブルを作成した段階で,図36における「CUSQ101001」,「CUSQ102001」などのテーブルIDや項目IDが確定することとなる。
テーブル記憶部15は,システム生成処理部14で生成したテーブル,結合表,パラメータなどのテーブルに関する情報を記憶する。テーブル記憶部15に記憶しているテーブル,結合表,パラメータなどは,ベース画面やクローン画面から入出力されるデータを用いて処理が実行される。
テーブル記憶部15は,上述の画面管理テーブル(図35),テーブル情報管理テーブル(図36)のほか,画面ヘッダー情報管理テーブル(図37)などを記憶している。
アプリケーションソフトウェアは,画面レイアウト記憶部13で記憶したベース画面の画面レイアウト情報と,クローン画面の画面レイアウト情報と,テーブル記憶部15に記憶した各テーブル,結合表,パラメータなどのテーブルに関する情報とに基づいて機能する。すなわち,画面レイアウト記憶部13に記憶したベース画面,クローン画面の各画面レイアウト情報に基づいて画面が表示され,そこに入出力されるデータを,テーブル記憶部15に記憶されるテーブルで処理を実行する。この一連の処理によって,アプリケーションソフトウェアが実行される。
本発明のアプリケーション作成支援システム1では,データ管理を行う簡易的なアプリケーションソフトウェアの作成支援を目的としている。そのため,一または複数の画面(ベース画面,クローン画面)におけるデータの入出力と,そこで入出力されるデータの管理機能があれば足りる。
つぎに本発明のアプリケーション作成支援システム1を用いた処理プロセスの一例を図3乃至図5のフローチャートを用いて説明する。
まず本発明のアプリケーション作成支援システム1を用いてベース画面を作成する処理(S100)を説明する。
本発明のアプリケーション作成支援システム1を用いてアプリケーションソフトウェアを作成することを所望するユーザ(企業等のシステムエンジニアや業務担当者など)は,コンピュータで所定の操作をすることで,アプリケーション作成支援システム1を起動させることで,項目パーツを用いた画面レイアウトの設定処理を実行する(S110)。
アプリケーション作成支援システム1は,図7に示すようなメニュー画面を表示後,基本となる画面(ベース画面)を作成するため,「ファイル」,「新規作成」,「ベース画面」を選択することで,図8に示すベース画面新規作成画面を表示させる。ベース画面には3種類の画面タイプがあり,マスタータイプベース画面(図9),履歴タイプベース画面(図10),伝票タイプベース画面(図11)が選択可能である。
マスタータイプベース画面は,顧客マスターや商品マスターのように1データを1画面で入力する画面である。履歴タイプベース画面は,マスタータイプベース画面で作成したデータに紐づく複数の明細を入力する画面であって,購入履歴や問い合わせ履歴など複数の異なる明細を1画面で入力,確認が可能である。伝票タイプベース画面は売上伝票などのイメージでヘッダー部と明細部を入力する画面である。1画面に1種類の明細のみ入力できる。
図8におけるベース画面新規作成画面において,たとえばシステム名,画面名の入力と,ベース画面の画面タイプの選択を画面レイアウト設定処理部で受け付ける。たとえばシステム名として「顧客情報登録システム」,画面名として「顧客情報登録」,画面タイプとして「マスタータイプベース画面」の入力,選択を受け付ける。
つぎに,ベース画面レイアウト設定処理部11は,図12に示すシステム名設定画面に基づいて,システム名,システム生成時のパラメータの採番開始値などの情報の入力を受け付ける。そして,項目パーツ記憶部10に記憶する項目パーツ定義情報における名称を抽出して選択可能にするとともに,所定の操作を受け付けることで,項目パーツをベース画面(ここではマスタータイプベース画面)上に配置する。
たとえば「名称(フリガナ付)」,「住所」,「性別」,「生年月日」,「メール」,「顧客分類コード」の各項目パーツをマスタータイプベース画面に配置する。各項目パーツが配置されたベース画面の一例が図13および図14である。図14では図13のマスタータイプベース画面において一部の項目パーツがどのように選択,配置されているのかを示している。なお項目パーツの配置は,利用する項目パーツを選択後,それをベース画面上にドラッグアンドドロップにより配置可能である。
以上のように,選択したベース画面に,画面上に配置したい項目パーツをドラッグアンドドロップをするだけでアプリケーションソフトウェアを作成することができる。
たとえば「名称(フリガナ付)」の項目パーツを配置することで,「名称」,「フリガナ」の2つの項目について,それぞれ標準的な項目の名称,桁数,編集方法が設定され(意味づけされ),さらに,「名称」項目には「フリガナ」項目にカナを設定する関連づけが設定された状態で配置される。さらに,自動的に,この情報の「名称項目」(「顧客コード」と対で表示される「顧客名」として使われる項目)や,「索引項目」(「情報を検索する際の「索引」として扱われる項目)として意味づけがされている。したがって,以上のような設定がされた項目が容易に配置可能となる。
また「住所グループ」の項目パーツを配置することで,「郵便番号」,「住所」,「電話番号」の各項目について,それぞれ標準的な項目の名称,桁数,編集方法が設定され(意味づけがされ),自動的に郵便番号辞書を利用する項目として,同一グループに各項目が関連づけられている。さらに,はがきや宛名シールの宛先としても意味づけの設定がされている。このような設定がされた項目が容易に配置可能となる。これを模式的に示すのが図15である。
さらに「補助マスター」の項目パーツを配置することで,「名称付補助マスターコード」が配置される。「補助マスターコード」と「補助マスター名称」とは配置時にマスター名称,それぞれの桁数などを設定する画面が表示させ,設定可能である。また,自動的に「補助マスターコード」と「補助マスター名称」との関連づけが設定され,「補助マスターコード」には補助マスターの検索処理とメンテナンス用の入力処理の起動が設定(意味づけられる)。このような設定がされた項目が容易に配置可能となる。これを模式的に示すのが図16である。
なお,ユーザが項目パーツをベース画面にドラッグアンドドロップして項目パーツを配置する場合,ベース画面レイアウト設定処理部11は,配置する項目パーツの定義情報における配置可能領域を参照して配置可能か否かを判定し,配置可能であれば,項目詳細情報の配置方向を参照して,ベース画面への配置処理を行う。
たとえば配置する項目パーツが「生年月日(年齢付)」であった場合,その項目パーツ定義情報は,図6に示すものとなる。そのため,まず項目パーツの配置可能領域を参照し,それが全領域なので配置可能と判定し,つぎに項目詳細情報の配置方向を参照すると,「右」となるので,「生年月日」,「年齢」,「歳というラベル」の各項目が「右」に並ぶように配置する。
また配置する項目パーツが「住所」であった場合,その項目パーツ定義情報は図6に示すものとなるので,まず項目パーツの配置可能領域を参照し,配置された場所が「メイン領域」であるかを判定する。メイン領域である場合には配置可能と判定し,つぎに項目詳細情報の配置方向が「下」なので,「郵便番号」,「住所」,「電話番号」の各項目が上から順に縦方向に並ぶ方に配置する。
ドラッグした位置によってはベース画面からはみ出す場合もあるが,その場合には,ベース画面内に収まるように,各項目を重ねて配置する。また,ベース画面のサイズを入力可能なようにしておけば,ベース画面レイアウト設定処理部11でベース画面のサイズを広げる入力を受け付けると,項目の重なりを解消することができる。
以上のようにして作成した画面について,所定の操作を行うことで,ベース画面レイアウト設定処理部11は,ベース画面およびベース画面上に配置された項目パーツの位置情報や,項目パーツにおける使用されている項目の情報などをベース画面の画面レイアウト情報として画面レイアウト記憶部13に記憶させる(S120)。そして画面レイアウト記憶部13に記憶されたベース画面の画面レイアウト情報に基づいて,システム生成処理部14が,項目パーツにおける項目のテーブルに関する情報としてテーブル,結合表,パラメータを定義してそれらを生成し(S130),テーブル記憶部15に記憶させる(S140)。
以上のような処理を実行することでベース画面と,ベース画面における項目(オブジェクト)に対するデータを記憶するテーブルとを用いたアプリケーションソフトウェアを,アプリケーション作成支援システム1が自動的に作成する。
つぎに,以上のように作成したベース画面およびそこに配置された項目パーツの項目に対応するテーブルについて,クローン画面を作成する処理を説明する(S200)。クローン画面を作成する処理の概要を図17に示す。
本発明のアプリケーション作成支援システム1を用いてアプリケーションソフトウェアを作成することを所望するユーザ(企業等のシステムエンジニアや業務担当者など)は,コンピュータで所定の操作をすることで,アプリケーション作成支援システム1を起動させることで,図7に示すようなメニュー画面を表示させる。すなわち,メニュー画面から,「ファイル」,「新規作成」,「クローン画面」を選択することで,図18に示すクローン画面新規作成画面を表示させる。図18のクローン画面新規作成画面では,アプリケーション作成支援システム1で作成するアプリケーションソフトウェアの名称(システム),作成するクローン画面の元となるベース画面の名称,作成するクローン画面の名称を選択,入力等をするとそれらの情報をクローン画面レイアウト設定処理部12で受け付ける。たとえば図18では,作成するアプリケーションソフトウェアの名称として「顧客情報登録システム」,ベース画面の名称として「顧客情報保守」,作成するクローン画面の名称として「顧客情報確認」が選択,入力されている。
クローン画面レイアウト設定処理部12では入力を受け付けた情報に基づいて,画面レイアウト記憶部13を検索し,対応するベース画面を読み出す(S210)。ここでは,「顧客情報登録システム」の「顧客情報保守」の画面レイアウト情報を読み出す。そして,クローン画面レイアウト設定処理部12では画面レイアウト記憶部13から読み出したベース画面「顧客情報保守」の画面レイアウト情報をコピーし,図18で入力を受け付けたクローン画面の名称「顧客情報確認」の名称を付して,クローン画面として生成し,記憶する(S220)。この際に,クローン画面レイアウト設定処理部12では,ベース画面とクローン画面との関係性が識別可能なような情報を付しておく。すなわち,図19に示すように,ベース画面「顧客情報保守」に対応するクローン画面「顧客情報確認」を生成する。
図19の画面選択の画面において「顧客情報確認」の選択を受け付けると,ベース画面「顧客情報保守」と同一の画面レイアウト情報であるクローン画面「顧客情報確認」を編集画面で表示する。編集画面において,クローン画面「顧客情報確認」を最初に開いたときの画面を図20に示す。
画面レイアウトを設定する担当者は,編集画面においてクローン画面をベース画面と同様に修正等の加工をする。たとえば項目や項目パーツの配置位置を変更したり,不要な項目パーツを削除したり,項目や項目パーツの関連づけである計算式を変更するなどの加工をする(S230)。このような加工によって,クローン画面における各項目の配置位置,各項目パーツのうち使用されている項目の情報などの情報がクローン画面レイアウト情報として,画面レイアウト記憶部13に記憶される。クローン画面はベース画面の範囲内での修正等の加工のみが可能なので,テーブル設計に変更を伴わない限りでの修正等の加工が可能である。したがって,テーブル記憶部15に記憶した,ベース画面で使用するテーブル等に変更が加わる修正等の加工は行えない。このようにして加工後のクローン画面レイアウト情報を,クローン画面レイアウト設定処理部12で受け付ける。
また,クローン画面レイアウト設定処理部12は,加工後のクローン画面についての処理モードの選択を,図21の画面設定画面で受け付ける。すなわち,クローン画面である「顧客情報確認」について,「登録」,「修正」,「削除」,「登録修正」,「照会」のいずれの処理モードであるかの選択を受け付ける。ここでは顧客の情報を確認するための「顧客情報確認画面」であるため,テーブルのデータを検索できれば良いので処理モードとして「照会」を設定する。
以上のようにしてクローン画面レイアウト設定処理部12で受け付けた加工後のクローン画面レイアウト情報,処理モードについて,クローン画面レイアウト設定処理部12は,画面レイアウト記憶部13に記憶させる(S240)。
以上のような処理を画面(クローン画面)ごとに繰り返すことで,簡易的なアプリケーションソフトウェアであれば,誰でもが容易に作成することができる。
そしてベース画面の時と同様に,アプリケーション作成支援システム1において所定の操作を行うことで,画面レイアウト記憶部13に記憶されたクローン画面の画面レイアウト情報に基づいて,システム生成処理部14が,項目パーツにおける項目のテーブルに関する情報としてテーブル,結合表,パラメータを定義してそれらを生成し,テーブル記憶部15に記憶させる。
たとえば図7に示すメニュー画面から,「システム」,「システム生成」を選択することで,システム生成処理部14が,図22に示す画面単位でのシステム生成画面を表示させる。図22では,ベース画面に対応するクローン画面を,ベース画面とクローン画面の関連性情報に基づいて抽出し,それぞれに対応するテーブルを,チェックの選択を受け付けることで選択可能になっている。選択された画面について,システム生成処理部14は,画面レイアウト情報に基づいてテーブルに関する情報を生成し,テーブル記憶部15に記憶させる。
以上のような処理を実行することでベース画面とクローン画面と,ベース画面およびクローン画面における項目(オブジェクト)に対するデータを記憶するテーブルとを用いたアプリケーションソフトウェアを,アプリケーション作成支援システム1が自動的に作成する。
従来は,画面レイアウト情報をコピーすると,それに対応するテーブルに関する情報までコピーされ,画面レイアウト情報とテーブル情報とが対になって処理されていたが,本発明では上述のように,画面レイアウト情報とテーブルに関する情報とが一対一の関係ではなく独立しており,クローン画面の際には画面レイアウト情報のみをコピーし,テーブルに関する情報はコピーしていない。そのため複数の画面で同一のテーブルを処理対象とすることができる。
本発明のアプリケーション作成支援システム1のほかの実施態様として,ベース画面に基づいて作成されたクローン画面をもとに,選択された項目を並べた作表処理,テキスト出力処理プログラムの生成を行えるようにしても良い。
また,本発明のアプリケーション作成支援システム1を用いて,ほかのベース画面からクローン画面を作成する場合を説明する。たとえばアプリケーション作成支援システム1で作成するアプリケーションソフトウェアが顧客情報管理システムであった場合,ベース画面レイアウト設定処理部11で作成するベース画面は,図23に示す顧客管理画面のように,顧客名,フリガナ,顧客コード,生年月日,性別,顧客分類コード,メモ,画像情報,マスター検索表示区分,登録日,最終更新日,DM送付区分,郵便番号,住所,敬称,電話番号,FAX番号,勤務先名,郵便番号,住所,敬称,電話番号,FAX番号,携帯電話番号,メールアドレスのように,管理したい全ての顧客情報の項目パーツ,項目を備えることとなる。顧客管理画面では「基本情報」と「連絡先情報」の2つのタブがあるので,図23(a)に顧客管理画面における「基本情報」のタブの画面を,図23(b)に顧客管理画面における「連絡先情報」のタブの画面を示す。通常,出力として設定できるのは,管理番号や顧客コードのみであるので,顧客管理画面で出力をすると,図24に示すように,顧客管理画面で表示されている各項目がすべて出力されることとなる。
これでは不要な顧客情報の多く出力されてしまい,視認性が悪いとともに,顧客情報の漏洩につながる。そのため,たとえば顧客の住所録が必要なユーザが顧客情報の検索を行うためには,その顧客住所だけを検索,出力できる画面が必要となる。しかし,従来ではテーブルが画面と関連性が保持されていたため,ほかの画面を作成した場合には,上述の図23に示す顧客管理画面で作成した顧客情報のテーブルを参照することはできなかった。そこで,本発明のアプリケーション作成支援システム1では,上述のクローン画面レイアウト設定処理部12で顧客管理画面のクローン画面を設定し,住所検索,出力が行えるようにする。
クローン画面を作成するユーザは,コンピュータで所定の操作を行うことで,アプリケーション作成支援システム1を起動させることで,図7に示すようなメニュー画面を表示させる。すなわち,メニュー画面から,「ファイル」,「新規作成」,「クローン画面」を選択することで,クローン画面新規作成画面を表示させる。そしてクローン画面新規作成画面において,アプリケーション作成支援システム1で作成するアプリケーションソフトウェアの名称(システム),作成するクローン画面の元となるベース画面の名称,作成するクローン画面の名称を選択,入力等をするとそれらの情報をクローン画面レイアウト設定処理部12で受け付ける。
クローン画面レイアウト設定処理部12では入力を受け付けた情報に基づいて,画面レイアウト記憶部13を検索し,対応するベース画面(図23の顧客管理画面)のベース画面レイアウト情報を読み出す(S210)。そして,クローン画面レイアウト設定処理部12では画面レイアウト記憶部13から読み出したベース画面「顧客管理画面」の画面レイアウト情報をコピーし,図18で入力を受け付けたクローン画面の名称を付して,クローン画面として生成し,記憶する(S220)。この際に,クローン画面レイアウト設定処理部12では,ベース画面とクローン画面との関係性が識別可能なような情報(画面個別コードや画面種別)を付しておく。
画面レイアウトを設定する担当者は,図23の顧客管理画面のうち,顧客住所管理に必要な情報,たとえば顧客名,フリガナ,顧客コード,郵便番号,住所,電話番号などの各項目パーツのみとする加工をする(S230)。このようにして作成されたクローン画面が図25である。作成されたクローン画面における各項目の配置位置,各項目パーツのうち使用されている項目の情報などの情報がクローン画面レイアウト情報として,画面レイアウト記憶部13に記憶される。
また,クローン画面レイアウト設定処理部12は,加工後のクローン画面についての処理モードの選択を,画面設定画面で受け付ける。
なお,この際に,図26に示す画面において,出力時に指定したい項目とデータの出力順に変更をする。
以上のようにしてクローン画面レイアウト設定処理部12で受け付けた加工後のクローン画面レイアウト情報,処理モードについて,クローン画面レイアウト設定処理部12は,画面レイアウト記憶部13に記憶させる(S240)。
このようにして設定したクローン画面で顧客の住所録を出力した場合のイメージが図27である。
さらに本発明のアプリケーション作成支援システム1を用いて,ほかのベース画面からクローン画面を作成する場合を説明する。たとえばアプリケーション作成支援システム1で作成するアプリケーションソフトウェアが社内FAQシステムであった場合,ベース画面レイアウト設定処理部11で作成するベース画面は,図28に示すFAQ入力画面のように,FAQNo.,質問概要,質問詳細,回答概要,回答詳細,分類,カテゴリー,質問者,メール先,登録日時などの項目パーツ,項目を備えることとなる。
しかし,通常は,質問の入力,FAQの照会など,限られた機能のみが必要な場合がほとんどである。そのため,これらの機能のみに対応する画面が必要となる。そして参照するテーブルは,ベース画面で作成されたテーブルでなければならないので,クローン画面としてこれらの画面を作成する必要がある。
クローン画面を作成するユーザは,コンピュータで所定の操作を行うことで,アプリケーション作成支援システム1を起動させることで,図7に示すようなメニュー画面を表示させる。すなわち,メニュー画面から,「ファイル」,「新規作成」,「クローン画面」を選択することで,クローン画面新規作成画面を表示させる。そしてクローン画面新規作成画面において,アプリケーション作成支援システム1で作成するアプリケーションソフトウェアの名称(システム),作成するクローン画面の元となるベース画面の名称,作成するクローン画面の名称を選択,入力等をするとそれらの情報をクローン画面レイアウト設定処理部12で受け付ける。
クローン画面レイアウト設定処理部12では入力を受け付けた情報に基づいて,画面レイアウト記憶部13を検索し,対応するベース画面(図28のFAQ入力画面)のベース画面レイアウト情報を読み出す(S210)。そして,クローン画面レイアウト設定処理部12では画面レイアウト記憶部13から読み出したベース画面「FAQ入力画面」の画面レイアウト情報をコピーし,図18で入力を受け付けたクローン画面の名称を付して,クローン画面として生成し,記憶する(S220)。この際に,クローン画面レイアウト設定処理部12では,ベース画面とクローン画面との関係性が識別可能なような情報を付しておく。
画面レイアウトを設定する担当者は,図28のFAQ入力画面のうち,質問入力の機能の画面のみが必要な場合には,FAQNo.,質問概要,質問詳細,分類,カテゴリー,質問者,メール先,登録日時などの各項目パーツのみの加工をする(S230)。このようにして作成された質問入力のクローン画面が図29である。作成されたクローン画面における各項目の配置位置,各項目パーツのうち使用されている項目の情報などの情報がクローン画面レイアウト情報として,画面レイアウト記憶部13に記憶される。
また,クローン画面レイアウト設定処理部12は,加工後のクローン画面についての処理モードの選択を,画面設定画面で受け付ける。
以上のようにしてクローン画面レイアウト設定処理部12で受け付けた加工後のクローン画面レイアウト情報,処理モードについて,クローン画面レイアウト設定処理部12は,画面レイアウト記憶部13に記憶させる(S240)。
本発明の別の実施態様として,ベース画面レイアウト設定処理部11,クローン画面レイアウト設定処理部12は,ベース画面およびクローン画面で画面レイアウト情報を設定する際に,グリッドを用いて項目パーツ等の配置をしてもよい。グリッドとは項目パーツなど,ベース画面,クローン画面上に配置するオブジェクトを所定の間隔で配置させるものである。
たとえばグリッドとしては,「細かい」,「普通」,「粗い」のように項目配置間隔のボタンが用意され,その各項目配置間隔に応じた値(グリッドの値)が記憶されている。ベース画面レイアウト設定処理部11,クローン画面レイアウト設定処理部12は,ユーザが選択したグリッドに対応する項目配置間隔の値を取得し,この値を用いて,配置方向にグリッドに沿って項目パーツを配置する。この配置は,ユーザが選択した項目配置間隔の値に応じた演算式で,各項目パーツにおける項目の配置間隔を算出した上で,各項目を配置すれば良い。
このようにグリッドによる配置を設けることで,ユーザは,配置間隔の異なるグリッドボタンを押下するだけで,容易に項目の配置間隔を変更させて,整理された状態での項目パーツを配置することができる。
これを模式的に示すのが図30,図31である。図30は,ベース画面のグリッドとして「細かい」が選択されたときに,ベース画面レイアウト設定処理部11が項目パーツ「住所」をベース画面に配置した場合である。図31は,ベース画面のグリッドとして「粗い」が選択されたときに,画面レイアウト設定処理部11が項目パーツ「住所」をベース画面に配置した場合である。
本発明の別の実施態様として,ベース画面およびクローン画面に配置する項目パーツについて,配置回数を指定し,同時に複数の項目パーツを配置可能としてもよい。たとえば,上述の例でいえば,ベース画面には「住所グループ」の項目パーツを配置しているが,アプリケーションソフトウェアによっては,自宅住所,勤務先住所,連絡先住所等,「住所グループ」の項目パーツを複数配置することを所望する場合もある。
その場合,「住所グループ」の項目パーツを3回,ベース画面,クローン画面上に配置しても良いが,配置回数を指定することで,同時に3つの「住所グループ」を配置可能としても良い。これによって,一度に複数の項目パーツを配置することができ,項目パーツの配置の負担を減らすことができる。
図32に複数の項目パーツを配置する際のベース画面の一例を模式的に示す。図32の画面では,「配置する数」を選択することで,住所グループを配置する数が入力可能になっている。
さらに本発明の別の実施態様として,ベース画面とクローン画面の関係性の変更,すなわちベース画面をクローン画面に,クローン画面をベース画面に変更できるようにしても良い。
たとえばアプリケーションソフトウェアで画面の設計を行う場合,さまざまな画面を複数作成して,画面ごとにテストをしながら画面設計を行う場合がある。この場合,最初に,全ての項目パーツを入れ込んだベース画面を作成し,そのベース画面に基づいて,複数のクローン画面を作成しながら,機能ごとに必要な画面を作成していく。そして作成したクローン画面の中から最適と思料される画面をそのアプリケーションソフトウェアで用いることとなる。この場合,上記最適として選択した画面を実製品で用いるアプリケーションソフトウェアのベース画面として用いることとなるが,上記のように設計時にはクローン画面として作成されているため,その関係性が変更できなければ,非表示ではあっても,最初に作成したベース画面もアプリケーションソフトウェアに盛り込まなければならない。しかしそれはデータ量の無駄などにつながる。
そこで図33の概念図に示すように,ベース画面とクローン画面,クローン画面とベース画面の関係性を変更可能にできると良い。
この関係性の変更は,図34に示すように,メニュー画面において「昇格」,「クローン画面→ベース画面」を選択することによって,その選択入力をアプリケーション作成支援システム1で受け付け,テーブル記憶部15および画面レイアウト記憶部13におけるベース画面とクローン画面の関係性を示す情報であるを,変更すればよい。すなわち2つの画面(ベース画面A,クローン画面B)があった場合,関係性を示す情報として,ベース画面Aの関係性を示す情報のうち,クローン画面としてクローン画面Bの情報があり,クローン画面Bの関係性を示す情報のうち,ベース画面としてベース画面Aの情報が記憶されていたとすると,ベース画面Aの関係性を示す情報として,上記情報から「ベース画面としてベース画面Bの情報」,に変更し,クローン画面Bの関係性を示す情報として,上記情報から「クローン画面としてクローン画面Aの情報」に変更する。すなわち,画面Aをベース画面から画面Bのクローン画面に,画面Bをクローン画面から画面Aのベース画面に,それぞれ関係性を示す情報を変更して画面レイアウト記憶部13,テーブル記憶部15に記憶させる。これによって,ベース画面レイアウト情報,クローン画面レイアウト情報の関係性が変更され,いままではベース画面であったものがクローン画面に,クローン画面であったものがベース画面となる。
より具体的には,テーブル記憶部15における画面ヘッダー情報管理テーブルの画面個別コード,画面種別,画面名,画面レイアウト記憶部13の画面詳細情報管理テーブルにおける画面個別コードを,関係性を変更する対象となるベース画面とクローン画面とで入れ替える。たとえば,図37の「社員マスター保守Ver.1」と「社員マスター保守Ver.2」でベース画面とクローン画面を入れ替える場合,テーブル記憶部15における画面ヘッダー情報管理テーブルの画面個別コード「B00」と「C01」,画面種別「ベース画面」と「クローン画面」,画面名「社員マスター保守Ver.1」と「社員マスター保守Ver.2」とを入れ替える。また,画面レイアウト記憶部13における画面詳細情報管理テーブルにおける画面個別コード「B00」と「C01」とを入れ替える。
この際に,もともとのベース画面「社員マスター保守Ver.1」にある項目は,クローン画面「社員マスター保守Ver.2」に必ずある必要はないため,入れ替え前の「B00」にあって入れ替え前の「C01」にはない項目が存在する場合がある。ただし,「画面詳細情報管理テーブル」内の項目の情報は,「T100101001」,「T100201005」のように変数で管理しており,変数と実項目は,テーブル記憶部15におけるテーブル情報管理テーブルで管理をしているため,変更する対象となるクローン画面に未配置の項目があった場合も項目の情報が欠落することはなく,「未配置項目」として管理されるようにする。また,処理モードについては,ベース画面は「登録」,「修正」,「削除」が行える画面である必要があるため,「C01」が照会のみであった場合は,変更させないか,自動的に「登録」,「修正」,「削除」が行えるように変更するかを選択させる。
以上のように関係性を示す情報の変更によって,ベース画面のテーブル定義に関する情報はそのままベース画面のテーブル定義となる。そして,クローン画面の画面レイアウト情報(位置情報,装飾情報,計算式など)と,ベース画面の画面レイアウト情報との関係性が交換されるが,ほかの処理から呼び出される際の画面の管理コード(関係を示す情報に含まれる)はベース画面の番号のままなので,ベース画面に昇格後は,昇格したベース画面が自動的に呼び出されることとなる。さらに,もとのベース画面をクローン画面として保存することも可能であるので,その場合には,版管理としても利用可能である。