(57)【要約】【課題】データ入出力画面、データベーステーブルおよびプログラムの整合性を担保しつつシステム生産を行うこと。【解決手段】定義体データ管理部がデータベースのデータベーステーブルを作成するためのデータベース作成情報、入出力用画面を作成するための画面作成情報及び入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報を含んだ定義体情報を受け付け、チェック処理部がかかる定義体情報の整合性を検査したうえで定義体データとして記憶部に記憶させるよう構成する。また、システム情報作成部が記憶部の定義体データに基づいて画面作成情報、業務ロジック作成情報およびＤＢテーブル作成情報を作成し、システム生産処理部がこれらの作成情報に基づいてシステム生産を行うよう構成する。【選択図】        図２
2007164503.tif 000002
【特許請求の範囲】
【請求項１】
データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産方法であって、
前記データベースのデータベーステーブルを作成するためのデータベース作成情報、前記入出力用画面を作成するための画面作成情報及び前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報を含んだ定義体情報の受け付けを行う受付工程と、
前記受付工程が受け付けた定義体情報に基づいて前記データベーステーブル、前記入出力用画面及び前記業務プログラムを作成する作成工程と
を含んだことを特徴とするシステム生産方法。
【請求項２】
前記作成工程は、
前記定義体情報に基づいて複数の属性の属性値からなる組を識別する組識別子、各属性を識別する属性識別子及び属性値を列とする前記データベーステーブルを作成することを特徴とする請求項１に記載のシステム生産方法。
【請求項３】
前記受付工程は、
前記データベーステーブルに対して属性の属性識別子を追加、削除または修正する変更を行う場合に、新たな属性に対応する新規入出力用画面及び新規業務プログラムを作成するための作成情報を含む前記定義体情報を受け付け、
前記作成工程は、
前記受付工程が受け付けた定義体情報に基づいて作成した新規入出力用画面及び新規業務プログラムを前記画面管理部及び前記プログラム管理部に出力することによってシステム生産を行うこと
を特徴とする請求項２に記載のシステム生産方法。
【請求項４】
前記受付工程は、
前記データベース作成情報、前記画面作成情報及び前記業務プログラム作成情報を関連付けた１又は複数のテーブル形式の前記定義体情報を受け付けることを特徴とする請求項１、２又は３に記載のシステム生産方法。
【請求項５】
前記受付工程は、
前記データベーステーブルの各行に格納される前記属性と対応付けられた前記入出力用画面の構成部品の表示形式を表す表示情報と前記構成部品の各画面内における位置を表す配置情報とを前記画面作成情報として含んだ前記定義体情報を受け付けることを特徴とする請求項２、３又は４に記載のシステム生産方法。
【請求項６】
前記受付工程は、
前記入出力用画面の構成部品に関連付けられたデータベースアクセス処理を作成するための情報を前記業務プログラム作成情報として含んだ前記定義体情報を受け付けることを特徴とする請求項５に記載のシステム生産方法。
【請求項７】
前記受付工程は、
前記入出力用画面ごとに付与された使用権限に基づくワークフロー情報を前記画面作成情報として含んだ前記定義体情報を受け付けることを特徴とする請求項１〜６のいずれか一つに記載のシステム生産方法。
【請求項８】
前記受付工程によって受け付けられた定義体情報の整合性を検査する定義体情報検査工程をさらに含んだことを特徴とする請求項１〜７のいずれか一つに記載のシステム生産方法。
【請求項９】
データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産を行うシステム生産装置を含んだシステム生産システムであって、
前記データベースのデータベーステーブルを作成するためのデータベース作成情報と、前記入出力用画面を作成するための画面作成情報と、前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを含んだ定義体情報の受け付けを行う受付手段と、
前記受付手段が受け付けた定義体情報に基づいて前記データベーステーブル、前記入出力用画面及び前記業務プログラムを作成する作成手段と
を備えたことを特徴とするシステム生産システム。
【請求項１０】
データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産を行うシステム生産装置に用いられるシステム生産プログラムであって、
前記データベースのデータベーステーブルを作成するためのデータベース作成情報と、前記入出力用画面を作成するための画面作成情報と、前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを含んだ定義体情報の受け付けを行う受付手順と、
前記受付手順が受け付けた定義体情報に基づいて前記データベーステーブル、前記入出力用画面及び前記業務プログラムを作成する作成手順と
をコンピュータに実行させることを特徴とするシステム生産プログラム。
【請求項１１】
データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産に用いられる定義体情報のデータ構造であって、
前記定義体情報は、
前記データベースのデータベーステーブルを作成するためのデータベース作成情報と、前記入出力用画面を作成するための画面作成情報と、前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを整合性を維持しつつ関連付けた１又は複数のテーブルからなり、
複数の属性の属性値からなる各組を識別する組識別子、各属性を識別する属性識別子及び属性値を列とする前記データベーステーブルを作成する情報
を含んだ情報であることを特徴とする定義体情報のデータ構造。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、データベース管理部と画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造に関し、特に、データ入出力画面、データベーステーブルおよびプログラムを一括して作成することができるとともに、各作成物の整合性を担保することが容易なシステム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造に関する。
【背景技術】
【０００２】
従来、Ｗｅｂブラウザに表示されるデータ入出力用画面を用いてデータベースのデータ更新処理を行う情報処理システムが知られている。このような情報処理システムを設計する場面では、データ入出力画面の設計、データベーステーブルの設計およびデータベースのデータ更新処理を行うプログラムの設計をそれぞれ行う必要がある。
【０００３】
しかし、上記したデータ入出力画面設計、データベーステーブル設計およびデータ更新処理プログラム設計は、それぞれ異なる設計スキルを要するものである。したがって、上記した情報処理システムの設計および作成をする場合には、各分野のスキルに精通した開発要員を揃える必要がある。また、それぞれの設計作業の連携も必要となるため、設計作業が大規模になるとともに、作業効率が良くないという問題があった。
【０００４】
このため、データ入出力画面設計、データベーステーブル設計およびデータ更新処理プログラム設計を連携させて行う手法の提案がなされている。たとえば、特許文献１には、電子アンケートの集計システムに関し、アンケートの項目に関するデータ定義を行うことによってデータ入出力画面、データベーステーブルおよびデータ更新処理プログラムのひな形を自動作成する技術が開示されている。
【０００５】
【特許文献１】特開平１１−２３２０９０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記した特許文献１の技術は、データベーステーブルを自動作成するものの、データ入出力画面やデータ更新処理プログラムに関してはそのひな形を作成するにすぎない技術である。すなわち、特許文献１の技術は、電子アンケートという特定の分野において用いられることを考慮したものであり、アンケート項目を定義すればお仕着せのデータ入出力画面等が生成されるにすぎなかった。そのため、画面やプログラムに個別システムの目的に応じた完全な動作を行わせるためにはファイルやプログラムに対する追加作業や修正作業が必要となり、システム生産時に作業ミスを誘発しやすいという問題があった。
【０００７】
たとえば、特許文献１の技術を用いて複数画面間の画面遷移や、電子承認に関するワークフローを実現しようとする場合には、画面遷移やワークフローに関するロジックを追加する作業が発生する。このため、作業ミスが発生するとシステム全体の整合性をとることが困難となり、最悪の場合にはシステムダウンなどの重大な障害を誘発するおそれがある。
【０００８】
また、特許文献１の技術は、データ項目の追加や削除といったデータベース再定義を前提とした技術ではないため、会計システムや営業管理システムといった基幹業務に適用しづらいという問題があった。たとえば、営業管理システムにおいては、取り扱う製品に応じて製品を構成する部品点数が異なることが通常であるため、新たな製品を販売対象とする場合には、各部品に対応するデータ項目を追加したり削除したりといったデータベースを再作成する作業が発生する。
【０００９】
これらのことから、データ入出力画面、データベーステーブルおよびプログラムを一括して作成することができるとともに、各作成物の整合性を担保することができるシステム生産手法をいかにして実現するかが大きな課題となっている。
【００１０】
この発明は、上述した従来技術による問題点を解消するためになされたものであって、データ入出力画面、データベーステーブルおよびプログラムを一括して作成することができるとともに、各作成物の整合性を担保することが容易なシステム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するため、請求項１に係る発明は、データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産方法であって、前記データベースのデータベーステーブルを作成するためのデータベース作成情報、前記入出力用画面を作成するための画面作成情報及び前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報を含んだ定義体情報の受け付けを行う受付工程と、前記受付工程が受け付けた定義体情報に基づいて前記データベーステーブル、前記入出力用画面及び前記業務プログラムを作成する作成工程とを含んだことを特徴とする。
【００１２】
また、請求項２に係る発明は、上記の発明において、前記作成工程は、前記定義体情報に基づいて複数の属性の属性値からなる組を識別する組識別子、各属性を識別する属性識別子及び属性値を列とする前記データベーステーブルを作成することを特徴とする。
【００１３】
また、請求項３に係る発明は、上記の発明において、前記受付工程は、前記データベーステーブルに対して属性の属性識別子を追加、削除または修正する変更を行う場合に、新たな属性に対応する新規入出力用画面及び新規業務プログラムを作成するための作成情報を含む前記定義体情報を受け付け、前記作成工程は、作成した新規入出力用画面及び新規業務プログラムを前記画面管理部及び前記プログラム管理部に出力することによってシステム生産を行うことを特徴とする。
【００１４】
また、請求項４に係る発明は、上記の発明において、前記受付工程は、前記データベース作成情報、前記画面作成情報及び前記業務プログラム作成情報を関連付けた１又は複数のテーブル形式の前記定義体情報を受け付けることを特徴とする。
【００１５】
また、請求項５に係る発明は、上記の発明において、前記受付工程は、前記データベーステーブルの各行に格納される前記属性と対応付けられた前記入出力用画面の構成部品の表示形式を表す表示情報と前記構成部品の各画面内における位置を表す配置情報とを前記画面作成情報として含んだ前記定義体情報を受け付けることを特徴とする。
【００１６】
また、請求項６に係る発明は、上記の発明において、前記受付工程は、前記入出力用画面の構成部品に関連付けられたデータベースアクセス処理を作成するための情報を前記業務プログラム作成情報として含んだ前記定義体情報を受け付けることを特徴とする。
【００１７】
また、請求項７に係る発明は、上記の発明において、前記受付工程は、前記入出力用画面ごとに付与された使用権限に基づくワークフロー情報を前記画面作成情報として含んだ前記定義体情報を受け付けることを特徴とする。
【００１８】
また、請求項８に係る発明は、上記の発明において、前記受付工程によって受け付けられた定義体情報の整合性を検査する定義体情報検査工程をさらに含んだことを特徴とする。
【００１９】
また、請求項９に係る発明は、データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産を行うシステム生産装置を含んだシステム生産システムであって、前記データベースのデータベーステーブルを作成するためのデータベース作成情報と、前記入出力用画面を作成するための画面作成情報と、前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを含んだ定義体情報の受け付けを行う受付手段と、前記受付手段が受け付けた定義体情報に基づいて前記データベーステーブル、前記入出力用画面及び前記業務プログラムを作成する作成手段とを備えたことを特徴とする。
【００２０】
また、請求項１０に係る発明は、データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産を行うシステム生産装置に用いられるシステム生産プログラムであって、前記データベースのデータベーステーブルを作成するためのデータベース作成情報と、前記入出力用画面を作成するための画面作成情報と、前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを含んだ定義体情報の受け付けを行う受付手順と、前記受付手順が受け付けた定義体情報に基づいて前記データベーステーブル、前記入出力用画面及び前記業務プログラムを作成する作成手順とをコンピュータに実行させることを特徴とする。
【００２１】
また、請求項１１に係る発明は、データベースを管理するデータベース管理部と、データベースアクセス時にユーザにより利用される入出力用画面を管理する画面管理部と、前記データベース管理部と前記画面管理部との間に介在してデータの変換並びに受け渡しを行うプログラムを管理するプログラム管理部とを有する情報処理システムのシステム生産に用いられる定義体情報のデータ構造であって、前記定義体情報は、前記データベースのデータベーステーブルを作成するためのデータベース作成情報と、前記入出力用画面を作成するための画面作成情報と、前記入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを整合性を維持しつつ関連付けた１又は複数のテーブルからなり、複数の属性の属性値からなる各組を識別する組識別子、各属性を識別する属性識別子及び属性値を列とする前記データベーステーブルを作成する情報を含んだ情報であることを特徴とする。
【発明の効果】
【００２２】
請求項１、９又は１０の発明によれば、データベースのデータベーステーブルを作成するためのデータベース作成情報、入出力用画面を作成するための画面作成情報及び入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報を含んだ定義体情報の受け付けを行い、受け付けた定義体情報に基づいてデータベーステーブル、入出力用画面及び前記業務プログラムを作成するよう構成したので、データ入出力画面、データベーステーブルおよび業務プログラムを一括して作成することができるとともに、各作成物の整合性を担保することができるという効果を奏する。
【００２３】
また、請求項２の発明によれば、定義体情報に基づいて複数の属性の属性値からなる組を識別する組識別子、各属性を識別する属性識別子及び属性値を列とするデータベーステーブルを作成するよう構成したので、縦もちのデータベーステーブルに各データを格納することによって、新規属性の追加や、既存属性の削除を行う場合であってもデータベーステーブルの再定義を不要とすることができるという効果を奏する。
【００２４】
また、請求項３の発明によれば、データベーステーブルに対して属性の属性識別子を追加、削除または修正する変更を行う場合に、新たな属性に対応する新規入出力用画面及び新規業務プログラムを作成するための作成情報を含む定義体情報を受け付け、受け付けた定義体情報に基づいて作成した新規入出力用画面及び新規業務プログラムを画面管理部及びプログラム管理部に出力することによってシステム生産を行うよう構成したので、システムの変更を効率的かつ確実に行うことができるという効果を奏する。
【００２５】
また、請求項４の発明によれば、データベース作成情報、画面作成情報及び業務プログラム作成情報を関連付けた１又は複数のテーブル形式の定義体情報を受け付けるよう構成したので、データベーステーブル、画面および業務プログラムの整合性を担保することができるとともに、システム変更点の波及範囲を正確に把握することができるという効果を奏する。
【００２６】
また、請求項５の発明によれば、データベーステーブルの各行に格納される属性と対応付けられた入出力用画面の構成部品の表示形式を表す表示情報と構成部品の各画面内における位置を表す配置情報とを画面作成情報として含んだ定義体情報を受け付けるよう構成したので、定義体情報に対するデータ定義を行うのみで、そのまま使用可能な完成された画面を自動作成することができるという効果を奏する。
【００２７】
また、請求項６の発明によれば、入出力用画面の構成部品に関連付けられたデータベースアクセス処理を作成するための情報を業務プログラム作成情報として含んだ定義体情報を受け付けるよう構成したので、定義体情報に対するデータ定義を行うのみで、データベースに対する問い合わせロジックを自動作成することができるという効果を奏する。
【００２８】
また、請求項７の発明によれば、入出力用画面ごとに付与された使用権限に基づくワークフロー情報を画面作成情報として含んだ定義体情報を受け付けるよう構成したので、定義体情報に対するデータ定義を行うのみで、複数画面を用いたワークフローを自動作成することができるという効果を奏する。
【００２９】
また、請求項８の発明によれば、受け付けた定義体情報の整合性を検査するよう構成したので、整合性が担保された定義体情報に基づいてシステム生産を行うことによって、システム生産の信頼性を高めることができるという効果を奏する。
【００３０】
また、請求項１１の発明によれば、定義体情報は、データベースのデータベーステーブルを作成するためのデータベース作成情報と、入出力用画面を作成するための画面作成情報と、入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報とを整合性を維持しつつ関連付けた１又は複数のテーブルからなり、複数の属性の属性値からなる各組を識別する組識別子、各属性を識別する属性識別子及び属性値を列とする前記データベーステーブルを作成する情報を含んだ情報であるよう構成したので、この定義体情報を用いたシステム生産を行うことによって、データ入出力画面、データベーステーブルおよび業務プログラムを一括して作成することができるとともに、各作成物の整合性を担保することができるという効果を奏する。
【発明を実施するための最良の形態】
【００３１】
以下に添付図面を参照して、本発明に係るシステム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造の実施例１〜２を詳細に説明する。なお、以下の説明においては、ダウンロード用画面をネットワークを介してダウンロードするクライアントコンピュータと、ダウンロード用画面および業務ロジックを管理するアプリケーションサーバ装置と、データベースを管理するデータベースサーバ装置とで構成されるいわゆる「三層アーキテクチャ」を採用した情報処理システムのシステム生産を行う場合について説明する。
【００３２】
まず、各実施例の詳細な説明に先立って本発明に係るシステム生産手法の特徴について説明する。図１は、本発明に係るシステム生産手法の概要を示す図である。
【００３３】
同図に示すように、本実施例に係るシステム生産手法では、上記した三層アーキテクチャを採用した情報処理システムのシステム生産を、ネットワーク接続されたシステム生産装置を用いて行う。このシステム生産装置は、データ入出力画面、データベーステーブルおよび業務プログラム（画面遷移制御プログラムおよびデータ更新処理プログラムを含む）を作成するための情報である「定義体情報」に基づき、同図に示すアプリケーションサーバあるいはデータベースサーバのデータ更新を行うことによってシステム生産処理を行う装置である。
【００３４】
具体的には、このシステム生産装置は、テーブル形式の情報である定義体情報の登録を受け付け（図１の（１）参照）、受け付けた定義体情報の整合性などをチェックする（図１の（２）参照）。そして、定義体情報が正常であると判定されたならば、画面作成用のＪＳＰ（登録商標、Java（登録商標）  Server  Pages）、業務ロジック作成用のＪＡＶＡ（登録商標）プログラムおよびデータベース問い合わせ用のＳＱＬ（Structured  Query  Language）、データベーステーブル作成用のＳＱＬなどを作成し、これらのデータを用いたリモートコマンドを発行することによってシステムを作成する（図１の（３ａ）〜（３ｃ）参照）。
【００３５】
前述したように、特許文献１には、電子アンケートの項目に関するデータ定義を行うことによって、データベーステーブルを作成するとともに、データ入出力画面およびデータ更新処理プログラムのひな形を作成する技術が開示されている。
【００３６】
しかし、特許文献１の技術は、電子アンケートのようにデータ項目のメンテナンスを要しないシステムを前提とした技術であり、この技術分野にのみ使用されることを前提としたうえでアンケート項目を定義すれば機械的にお仕着せのレイアウトに従ったデータ入出力画面等が生成されるにすぎないものである。また、電子アンケートは単発的におこなわれアンケート結果が出るとその使命を終える性質を有しているので、データ項目が追加・削除されることはない。すなわち、特許文献１の技術は、データベーステーブルの項目追加や項目削除が頻繁に行われるシステムへの適用を前提とした技術ではない。
【００３７】
このため、企業の基幹業務システムなどのように、データ項目の追加や削除が頻繁に発生するシステム生産には適用しづらいという問題があった。また、かかる従来技術は、データ入出力画面やデータ更新処理プログラムのひな形を作成する技術であり、画面やプログラムに個別のシステムの目的に応じた完全な動作を行わせるためにはファイルやプログラムに対する追加作業や修正作業が必要となる。
【００３８】
そこで、本実施例に係るシステム生産手法では、データベース作成情報、画面作成情報及び業務プログラム作成情報を含んだ定義体情報を新たに考案し、この定義体情報を用いて画面作成、業務ロジック作成およびデータベース作成を一括して行うこととした。なお、本システム生産手法によって作成される画面や業務ロジックは、事後的な修正作業を要することなくそのまま動作可能な完全な形で作成される。
【００３９】
また、かかる定義体情報は、データ項目の追加や削除をデータベーステーブルに反映させるのみならず、画面や業務ロジックにも一括して反映させることができるデータ構造を有している。すなわち、データベーステーブルのデータ項目、各データ項目に対応する画面部品、画面部品が操作された場合などに呼び出される業務ロジックを関連付けて定義することが可能である。したがって、データ項目の追加や削除といったシステムメンテナンスを行う場合であっても、変更点の整合性を担保することができる。
【００４０】
また、本実施例に係るシステム生産手法には上記した定義体情報をチェックする機能を持たせているので、定義体情報の定義ミスを事前に発見することができる。したがって、定義ミスに起因するシステムダウンなどのシステム障害を防止することが可能である。なお、かかる定義体情報のデータ構造の詳細については後述する。
【００４１】
さらに、本実施例に係るシステム生産手法ではかかる定義体情報に基づき、データベースのいわゆる１レコードに相当するデータ群を、複数行にわたって格納する列数が固定のデータベーステーブルを作成するので、データベーステーブルにデータ項目を追加あるいは削除する場合であっても、通常のデータベースアクセス処理（たとえば、行挿入や行削除）を実行すれば足りる。すなわち、データ項目の追加や削除に伴ってデータベーステーブルを再作成する必要がないので、コンピュータシステムの可用性を高めることができる。
【００４２】
ところで、図１においては、アプリケーションサーバやデータベースサーバとは別にシステム生産装置を設け、このシステム生産装置がシステム生産を行う場合について示しているが、これに限らず、アプリケーションサーバあるいはデータベースサーバ上に、システム生産装置と同様の機能（たとえば、プログラム）を搭載することによってシステム生産を行うこととしてもよい。
【００４３】
また、図１においては、システム生産装置がリモートコマンドを用いてシステム生産する場合について示したが、アプリケーションサーバやデータベースサーバにシステム生産用データを送信することとし、これらのデータを受信した各装置がシステム生産を行うよう構成することもできる。なお、かかる変形例については、図１８を用いて後述する。
【００４４】
ここで、かかるアプリケーションサーバは以下に示す各実施例のように、インターネットやイントラネットで用いられる場合には、Ｗｅｂサーバとしての機能をあわせもつように構成すればよい。また、この場合にはクライアントの端末にＷｅｂブラウザを搭載するよう構成することになる。
【００４５】
以下では、本発明に係るシステム生産手法を適用した実施例１〜２を説明する。なお、実施例１では、定義体情報を用いた基本的な実施例について、実施例２では、定義体情報に複数画面の定義を行い、これらの画面を用いた画面遷移およびワークフローを実現する実施例についてそれぞれ説明することとする。
【実施例１】
【００４６】
本実施例１では、定義体情報を用いた基本的な実施例について図２〜図６を用いて説明する。図２は、本実施例１に係るシステム生産装置１０の構成を示す機能ブロック図である。同図に示すように、システム生産装置１０は、入力部１１と、出力部１２と、Ｉ／Ｆ部１３と、記憶部１４と、制御部１５とを備えている。また、記憶部１４は、定義体データ１４ａと、画面作成情報１４ｂと、業務ロジック作成情報１４ｃと、データベーステーブル（以下、「ＤＢテーブル」と記載する）作成情報１４ｄとを記憶し、制御部１５は、定義体データ管理部１５ａと、チェック処理部１５ｂと、システム情報作成部１５ｃと、システム生産処理部１５ｄとをさらに備えている。
【００４７】
入力部１１は、後述する定義体データの登録を受け付けるキーボード、マウス、可搬型記録媒体読取装置といった入力デバイスである。そして、この入力部１１は受け付けた定義体データを制御部１５の定義体データ管理部１５ａに渡す処理を行う。また、出力部１２は、ディスプレイ装置などの出力デバイスであり、登録された定義体データや、定義体データのチェック結果を表示する処理を行う。なお、本実施例１では、入力部１１および出力部１２を別々のデバイスとして構成した場合を示したが、タッチパネル付ディスプレイ装置などの入出力デバイスを用いることとしてもよい。
【００４８】
Ｉ／Ｆ部１３は、ＬＡＮ（Local  Area  Network）ボードなどの通信デバイスで構成され、図１に示した各サーバ装置とシステム生産装置１０の間でデータ送受信処理を行う。たとえば、このＩ／Ｆ部１３は、制御部１５のシステム生産処理部１５ｄが発行するリモートコマンドを該当する装置に対して送信する処理を行う。
【００４９】
記憶部１４は、不揮発性ＲＡＭ（Random  Access  Memory）や、ハードディスク装置といった記憶デバイスで構成された記憶部であり、定義体データ１４ａ、画面作成情報１４ｂ、業務ロジック作成情報１４ｃおよびＤＢテーブル作成情報１４ｄを記憶する。
【００５０】
定義体データ１４ａは、データベーステーブル、画面および業務ロジックの作成を行うためのデータであり、複数のテーブル形式データによって構成される。この定義体データ１４ａを構成する各テーブルは他のテーブルと関連付けられており、各テーブルにデータを定義することによって、システム生産を一括して行うことが可能となる。なお、本実施例１では、定義体データ１４ａをテーブル群によって構成する場合について説明するが、かかるテーブル群と同様の内容を含んだ、ＩＮＩ（INItialize）ファイル形式やＣＳＶ（Comma  Separated  Value）形式のファイル群、あるいは、複数の定義項目を含んだ単一のファイルを用いることとしてもよい。
【００５１】
ここで、かかる定義体データ１４ａを構成する各テーブルについて図３を用いて説明しておく。図３は、定義体情報（定義体データ１４ａ）を構成するテーブル群の一例を示す図である。なお、同図には、データ項目定義テーブル１０３ａ、画面タイプ定義テーブル１０３ｂ、画面構成項目定義テーブル１０３ｃおよび画面間遷移定義テーブル１０３ｄの４つのテーブルを示している。
【００５２】
データ項目定義テーブル１０３ａは、データベーステーブルのデータ項目を定義するためのテーブルである。このデータ項目定義テーブル１０３ａは、「項目ＩＤ」と、「項目名」と、「桁数」と、「チェックタイプ」と、「ビジネスロジック」とを列項目として含んだテーブルである。「項目ＩＤ」は、定義体データ１４ａで定義する全てのデータ項目を一意に識別するための識別子である。この項目ＩＤは、画面構成項目定義テーブル１０３ｃにおいても用いられており、データ項目定義テーブル１０３ａの行データと、画面構成項目定義テーブル１０３ｃの行データとの対応関係を表現するために用いられる。たとえば、データ項目定義テーブル１０３ａにおける項目ＩＤが「１０２」の行データは、画面構成項目定義テーブル１０３ｃにおける項目ＩＤが「１０２」の行データと関連付けられている。
【００５３】
「項目名」は、データ項目の名称を定義したものである。この項目名に定義されたデータは、後述する作成画面に表示されるデータ項目名に対応している。なお、データ項目定義テーブル１０３ａの項目名とは異なるデータ項目名を画面上に表示したい場合には、画面構成項目定義テーブル１０３ｃにおいてその旨を定義することとすればよい。
【００５４】
「桁数」は、データベーステーブルにおける各データ項目のバイト数を定義したものである。なお、この桁数は、上記した項目名と同様に作成画面に表示される各画面構成部品のデータ項目長としても用いられる。
【００５５】
「チェックタイプ」は、入力値に対するチェック方式を定義したものである。たとえば、この「チェックタイプ」に「０」が指定された場合には入力値チェックを行わない。また、「１０」が指定された場合には日付形式チェックを行う、「２０」の場合には数字のみ入力可のチェック、「３０」の場合には半角英字のみ可のチェック、「４０」の場合には半角英数字のみ可のチェックというように、データ項目ごとにチェック方式を変更することが可能である。
【００５６】
「ビジネスロジック」は、データ項目に対応して実行されるクラスを定義したものである。たとえば、同図に示すように、この「ビジネスロジック」にクラスパスが指定された場合には、このクラスパスに一致するクラスが実行されることになる。また、同図に示した「ＣｏｎｓｕｍｅｒＴａｘ」というクラスは、データ項目定義テーブル１０３ａの中から「金額」という項目を探し、見つかった「金額」項目の値に所定の税率をかける計算を行うクラスである。
【００５７】
画面タイプ定義テーブル１０３ｂは、作成される画面の形式を定義するためのテーブルである。この画面タイプ定義テーブル１０３ｂは、「画面ＩＤ」と、「名称」と、「画面タイプ」とを列項目として含んだテーブルである。「画面ＩＤ」は、定義体データ１４ａで定義する全ての画面を一意に識別するための識別子である。たとえば、図３に示した場合では、この画面ＩＤは「Ａ０１」と指定されているので、他の画面定義を行う場合には「Ａ０１」以外の識別子を指定することになる。
【００５８】
「名称」は、各画面の名称であり、この「名称」に指定されたデータが各画面のタイトル部などに表示される。たとえば、図３に示した場合では、作成された画面のタイトル部などに「契約入力」と表示されることになる。また、「画面タイプ」は、各画面の画面形式を定義したものである。たとえば、この「画面タイプ」に「１０」が指定された場合にはメニュー画面として画面作成が行われる。また、「２０」が指定された場合には検索データの一覧画面として、「３０」が指定された場合には検索条件を入力する画面として、「４０」が指定された場合には各項目の入力／参照画面としてというように、作成画面の画面形式を変更することが可能である。
【００５９】
画面構成項目定義テーブル１０３ｃは、作成される画面に含まれる各画面構成部品の詳細情報を定義するためのテーブルである。この画面構成項目定義テーブル１０３ｃは、「画面ＩＤ」と、「項目ＩＤ」と、「ソート順」と、「入力フラグ」と、「必須チェック」と、「入力タイプ」とを列項目として含んだテーブルである。「画面ＩＤ」は、上記した画面タイプテーブル１０３ｂの「画面ＩＤ」と対応した項目であり、「項目ＩＤ」は、上記したデータ項目定義テーブル１０３ａの「項目ＩＤ」と対応した項目である。このように、他のテーブルで用いられるキー項目などの項目と対応付けることで、データベーステーブル上に作成されるデータ項目と作成画面に含まれる画面構成部品とを関連付けている。
【００６０】
「ソート順」は、画面内における各画面構成部品の配置順序を指定するための項目である。たとえば、図３に示した場合では、「ソート順」に指定された値の昇順で配置が行われ、「項目ＩＤ」が「１００」、「１０３」、「１０２」、「１０１」、「２００」、「２０１」の順序で各画面構成部品が上から下へと配置される。
【００６１】
「入力フラグ」は、該当する画面における入力を許可するか否かを指定するための項目である。たとえば、この「入力フラグ」に「１」が指定された場合には入力が許可され、「０」が指定された場合には入力が不許可（参照のみ可）となる。また、「必須チェック」は、「入力フラグ」に「１」（入力可）が指定された場合にのみ用いられる項目であり、必須入力項目であるか任意入力項目であるかが指定される。たとえば、この項目に「０」が指定されていれば該当項目は任意入力項目であり、「１」が指定されていれば必須入力項目である。
【００６２】
「入力タイプ」は、「入力フラグ」に「１」（入力可）が指定された場合には必須指定項目となる項目であり、入力用部品の種類を指定する。たとえば、「ｔｅｘｔ」が指定された場合には単一行のテキスト入力部品が、「ｒａｄｉｏ」が指定された場合には選択肢から一つを選択するいわゆるラジオボタンが、「ｃｈｅｃｋ」が指定された場合には各選択肢の選択／非選択を指定可能ないわゆるチェックボックスが、「ｔｅｘｔａｒｅａ」が指定された場合には複数行のテキスト入力部品がそれぞれ作成されることになる。
【００６３】
画面間遷移定義テーブル１０３ｄは、作成される画面に含まれる各画面構成部品が選択された場合などに、コールされる業務ロジックを指定するためのテーブルである。この、画面間遷移定義テーブル１０３ｄは、「画面ＩＤ」と、「ＩＤ」と、「次画面ＩＤ」と、「アクションＩＤ」と、「表示名称」とを列項目として含んだテーブルである。「画面ＩＤ」は、画面タイプ定義テーブル１０３ｂおよび画面構成項目定義テーブル１０３ｃの「画面ＩＤ」と対応した項目である。また、「ＩＤ」は、画面に含まれるボタン部品を一意に識別するための識別子である。
【００６４】
「次画面ＩＤ」は、表示中の画面がポップダウンした場合に表示される画面の識別子である。なお、同図に示したように、この「次画面ＩＤ」に「９９９９」が指定された場合には、一覧画面に戻ることになる。また、「アクションＩＤ」は、該当するボタン部品が押下された場合に呼び出される業務ロジックを一意に識別するための識別子であり、「表示名称」は、該当するボタン部品に表示される文字列である。
【００６５】
たとえば、図３に示した場合では、画面ＩＤが「Ａ０１」である画面の表示中に、画面間遷移定義テーブル３ｄの表示名称が「確認」であるボタンが押下されると、アクションＩＤが「Ｓａｖｅ」である業務ロジックが呼び出され、「Ａ０１」の画面がポップダウンするとともに、「Ａ０２」の画面がポップアップする。なお、アクションＩＤが「Ｓａｖｅ」である業務ロジックの作成については後述する（図４参照）。
【００６６】
また、定義体データ１４ａにおいては、この他、データのデフォルト値を指定したり、ある項目の値が特定の範囲内にあれば他の項目の値について所定のチェックを行ったり、ある項目に値が入力されるとこの入力値を他の項目の初期値として設定したりといった各種データ処理についての定義を行うこととしてもよい。
【００６７】
上述したように、定義体データ１４ａを用いることによって、データベーステーブル、画面および業務ロジックの作成を一括して行うことができるとともに、データ項目の追加や削除が生じた場合であっても、この定義体データ１４ａを更新するのみで、システム再作成を容易に行うことができる。
【００６８】
図２の説明に戻り、画面作成情報１４ｂについて説明する。画面作成情報１４ｂは、制御部１５のシステム情報作成部１５ｃが定義体データ１４ａに基づいて作成するＪＳＰ（登録商標）などの画面作成用情報である。また、業務ロジック作成情報１４ｃは、同じくシステム情報作成部１５ｃが作成するＳＱＬを含んだＪＡＶＡ（登録商標）プログラムなどの業務ロジック作成用情報である。そして、ＤＢテーブル作成情報１４ｄは、同じくシステム情報作成部１５ｃが作成するＳＱＬデータなどのデータベーステーブル作成用情報である。これらの情報が制御部１５のシステム生産処理部１５ｄに読み込まれると、画面、業務ロジックおよびデータベーステーブルが図１に示した各サーバ装置上に作成されることになる。
【００６９】
制御部１５は、定義体データ１４ａの登録やチェック、修正といった管理処理を行うとともに、定義体データ１４ａに基づいてシステム生成情報を作成し、作成したシステム生成情報を用いることによってシステムの生産処理を行う処理部である。
【００７０】
定義体データ管理部１５ａは、定義体データ１４ａを入力部１１を介して受け取り、受け取った定義体データ１４ａを記憶部１４に記憶させる処理を行う処理部である。また、この定義体データ管理部１５ａは、入力部１１から受け取った定義体データ１４ａをチェック処理部１５ｂに渡し、チェック処理部１５ｂのチェック結果が正常である場合にのみ、かかる定義体データ１４ａを記憶部１４に記憶させる処理を行う。なお、かかるチェック結果は、出力部１２に出力されるので、保守員などはチェック結果を参照しながら正常な定義体データ１４ａを入力することが可能である。
【００７１】
チェック処理部１５ｂは、定義体データ管理部１５ａから渡された定義体データ１４ａの書式検査や整合性検査を行い、検査結果を定義体データ管理部１５ａに返す処理を行う処理部である。たとえば、このチェック処理部１５ｂは、図３に示した各テーブル（図３の１０３ａ〜１０３ｄ参照）を関連付ける情報（たとえば、「項目ＩＤ」や「画面ＩＤ」）の参照先あるいは参照元をトレースすることによって整合性を検査する。また、テーブルの各項目に入力されたデータが許容値であるか否かの検査も併せて行う。
【００７２】
システム情報作成部１５ｃは、記憶部１４の定義体データ１４ａを取得し、取得した定義体データ１４ａに基づいて画面作成情報１４ｂ、業務ロジック作成情報１４ｃおよびＤＢテーブル作成情報１４ｄを作成して記憶部１４に記憶させる処理を行う処理部である。
【００７３】
システム生産処理部１５ｄは、記憶部１４の画面作成情報１４ｂ、業務ロジック作成情報１４ｃおよびＤＢテーブル作成情報１４ｄを取得し、取得した各情報（１４ｂ〜１４ｄ）に対応するＪＳＰ（登録商標）やＳＱＬを作成するとともに、作成したデータを含んだリモートコマンドを各サーバ装置に発行することによってシステム生産を実行する処理部である。
【００７４】
次に、かかるシステム生産処理部１５ｄが実行するシステム生産処理によって作成される画面やＤＢテーブルの一例について図４を用いて説明する。図４は、図３に示した定義体情報（１０３ａ〜１０３ｄの各テーブル）に基づいて作成される成果物について示す図である。
【００７５】
図４の１０４ａに示したのは、図３に示した定義体情報（１０３ａ〜１０３ｄの各テーブル）に基づいて作成される画面である。図４の１０４ａに示したように、１０３ａの「項目名」に対応する画面構成部品が１０３ｃの「ソート順」に従って作成されている。また、１０３ｄの「表示名称」に対応するボタン部品がそれぞれ作成されており、「契約入力」という画面タイトルは、１０３ｂの「名称」に従って作成されている。
【００７６】
また、図４の１０４ｂに示したのは、図３の１０３ａに基づいて作成されるＤＢテーブルである。図４の１０４ｂに示したように、作成されるＤＢテーブルは、「識別コード」と、「項目ＩＤ」と、「登録内容」とを列項目として有する列数が固定のテーブルである。「識別コード」は、図３の１０３ａに示した５つの項目名（「契約＃」〜「金額」）を１グループとした項目群を一意に識別する識別子である。また、「項目ＩＤ」は、図３の１０３ａに示した「項目ＩＤ」と対応した項目であり、同一の「識別コード」に属する各項目を一意に識別する識別子である。そして、「登録内容」は、図３の１０３ａに示した「桁数」に従って作成される記憶エリアに格納されるデータ内容である。
【００７７】
また、図４の１０４ｃに示したのは、図３の１０３ｄに示した「アクションＩＤ」が「Ｓａｖｅ」である行に対応して作成された業務ロジックによってＤＢテーブルに登録されるデータ群の一例である。図４の１０４ｃ示したように、「項目ＩＤ」が「１００」〜「２００」の５つの行には、同一の「識別コード」（「Ａ００００００１」）が付与される。そして、図４の１０４ａに示した画面にデータが入力されて「確認ボタン」が押下されるたびに、異なる識別コードが付与された６つの行がＤＢテーブル（図４の１０４ｂ参照）に登録されていくことになる。
【００７８】
なお、図４の１０４ｃでは、作成された業務ロジックによって登録されるＤＢテーブルのイメージを示したが、かかる業務ロジックの作成例としては以下のものがある。たとえば、各画面構成部品に入力されたデータを取得し、取得した各データをＤＢテーブルの各行に登録するＳＱＬを発行するルーチンなどである。
【００７９】
次に、定義体情報に新規項目を追加する場合の例について図５〜図６を用いて説明する。図５は、図３に示した定義体情報に新規項目を追加する場合の一例を示す図であり、図６は、図５に示した定義体情報に基づいて作成される成果物について示す図である。なお、図５〜図６は、図４の１０４ａに示した画面に「備考」の欄を追加する例について示している。また、図５に示した１０５ａ〜１０５ｄの各テーブルは、図３に示した１０３ａ〜１０３ｄの各テーブルにそれぞれ対応している。
【００８０】
図３に示した１０３ａのテーブルに「項目名」が「備考」である行を追加したものが図５の１０５ａのテーブルである。また、図３に示した１０３ｃのテーブルに「項目ＩＤ」が「２０２」である行を追加したものが図５の１０５ｃのテーブルである。このように、新規項目の追加を行うためには該当するテーブルに行を追加するだけでよい。なお、同図においては、各テーブルの最下行に新規項目を追加する場合について示したが、追加する行の位置に制限はない。すなわち、各テーブルの最上行に新規項目を挿入したり、任意の行に新規項目を挿入したりすることができる。
【００８１】
このようにして定義された定義体情報に基づいて作成される成果物を図６に示している。図６の１０６ａに示すように、画面には「備考欄」が追加されているが、１０６ｂに示したＤＢテーブルに変更はない。すなわち、本実施例１に係る定義体情報に基づいて作成されるＤＢテーブルは列数が固定のテーブルであり、新規項目の追加や削除を行う場合であってもＤＢテーブルを再作成する必要がない。
【００８２】
また、図６の１０６ｃに示すように、図４の１０４ｃに示したデータ群には、「項目ＩＤ」が「２０２」（画面の「備考欄」に対応）が追加されている。このように、データ項目を追加した場合には、ＤＢテーブル（図６の１０６ｂ参照）の変更は生じない。そして、データ項目の追加に対応した業務ロジックを自動作成することによってデータ項目の追加に対応することとしている。また、データ項目追加の手順と同様の手順で、データ項目の削除を行うことができる。したがって、本実施例１に係るシステム生産手法は、データ項目の追加や削除が頻繁に発生するシステムのシステム生産に適している。
【００８３】
上述してきたように、本実施例１では、定義体データ管理部がデータベースのデータベーステーブルを作成するためのデータベース作成情報、入出力用画面を作成するための画面作成情報及び入出力用画面間の遷移制御を少なくとも行う業務プログラムを作成するための業務プログラム作成情報を含んだ定義体情報を受け付け、チェック処理部がかかる定義体情報の整合性を検査したうえで定義体データとして記憶部に記憶させるよう構成した。また、システム情報作成部が記憶部の定義体データに基づいて画面作成情報、業務ロジック作成情報およびＤＢテーブル作成情報を作成し、システム生産処理部がこれらの作成情報に基づいてシステム生産を行うよう構成した。
【００８４】
したがって、データ入出力画面、データベーステーブルおよび業務プログラムを一括して作成することができるとともに、各作成物の整合性を担保することが容易である。また、システムの変更時には、かかる定義体情報の変更箇所からシステム変更の波及範囲を正確に把握することができるとともに、システム変更の整合性を予め確認することが可能となる。
【実施例２】
【００８５】
実施例２では、定義体情報に複数画面の定義を行い、これらの画面を用いた画面遷移およびワークフローを実現する実施例について図７〜図１７を用いて説明する。なお、以下の説明においては実施例１との相違点について主に説明し、共通点についての説明は簡単なものにとどめることとする。
【００８６】
まず、定義体情報を構成するテーブル群について説明する。本実施例２では、実施例１で示したテーブル群（図５の１０５ａ〜１０５ｄ参照）において複数画面の定義を行うとともに（図７〜図９参照）、新たに、アクタ（権限）定義テーブル（図１０参照）、ユーザ定義テーブル（図１１参照）およびワークフロー定義テーブル（図１２参照）を追加することによって複数画面を用いた画面遷移およびワークフローを定義することとしている。
【００８７】
図７は、本実施例２に係る定義体情報に含まれる画面タイプ定義テーブルの一例を示す図である。なお、同図に示す画面タイプ定義テーブルは、実施例１で示した画面タイプ定義テーブル（図５の１０５ｂ参照）において複数画面の定義を行ったものである。
【００８８】
具体的には、図７に示したように、契約入力画面（画面ＩＤが「Ａ０１」）、契約確認画面（画面ＩＤが「Ａ０２」）および契約承認画面（画面ＩＤが「Ｂ０２」）の３画面を、この画面タイプ定義テーブルにおいて定義している。本実施例２においては、これら３画面を使用権限が異なるユーザに割り当て、部下から上司への電子承認に関するワークフローを実現することとしている。
【００８９】
図８は、画面構成項目定義テーブルの一例を示す図である。なお、同図に示す画面構成項目定義テーブルは、実施例１で示した画面構成項目定義テーブル（図５の１０５ｃ参照）において複数画面に関する画面構成項目の定義を行ったものである。また、図８の１０８ａは図７に示した画面ＩＤが「Ａ０１」の契約入力画面を構成する項目を定義したデータ例であり、同じく１０８ｂは図７に示した画面ＩＤが「Ａ０２」の契約確認画面を構成する項目を定義したデータ例であり、同じく１０８ｃは図７に示した画面ＩＤが「Ｂ０２」の契約承認画面を構成する項目を定義したデータ例である。
【００９０】
なお、図８の１０８ａは、図５の１０５ｃと同一内容である。また、図８の１０８ｂおよび１０８ｃは、１０８ａと異なり「入力フラグ」の項目が全て「０」となっている。すなわち、契約確認画面（１０８ｂに対応）および契約承認画面（１０８ｃに対応）では、各画面構成項目への入力を禁止することとしている。
【００９１】
図９は、画面間遷移定義テーブルの一例を示す図である。なお、同図に示す画面間遷移定義テーブルは、実施例１で示した画面間遷移定義テーブル（図５の１０５ｄ参照）において複数画面に関する画面間遷移の定義を行ったものである。また、図９の１０９ａは図７に示した画面ＩＤが「Ａ０１」の契約入力画面に関する画面間遷移を定義したデータ例であり、同じく１０９ｂは図７に示した画面ＩＤが「Ａ０２」の契約確認画面に関する画面間遷移を定義したデータ例であり、同じく１０９ｃは図７に示した画面ＩＤが「Ｂ０２」の契約承認画面に関する画面間遷移を定義したデータ例である。
【００９２】
なお、図９に示した画面間遷移定義テーブルには、「アクタコード」という項目が新たに追加されている。この「アクタコード」とは、後述するアクタ（権限）定義テーブル（図１０参照）において定義される、画面の使用者（たとえば、「担当者」や「管理者１」）の権限を一意に識別するための識別子である。たとえば、図９の１０９ａおよび１０９ｂは、アクタコードが「１００１」であるので画面の使用者は「担当者」である（図１０参照）。また、図９の１０９ｃは、アクタコードが「１００２」であるので画面の使用者は「管理者１」である（図１０参照）。
【００９３】
図９の１０９ａに示すように、画面ＩＤが「Ａ０１」である画面の表示中に「表示名称」が「確認」であるボタンが押下されると、「アクションＩＤ」が「Ｓａｖｅ」である業務ロジックがコールされるとともに「次画面ＩＤ」に指定された画面ＩＤ（Ａ０２）に対応する画面、すなわち、契約確認画面がポップアップする。
【００９４】
また、図９の１０９ｂに示すように、画面ＩＤが「Ａ０２」である画面の表示中に「表示名称」が「申請」であるボタンが押下されると、「アクションＩＤ」が「Ａｐｐｌｉｃａｔｉｏｎ」である業務ロジックがコールされるとともに「次画面ＩＤ」に指定された画面ＩＤ（Ｂ０２）に対応する画面、すなわち、契約承認画面が承認者のＰＣ（パーソナルコンピュータ）などに表示されることになる。
【００９５】
また、図９の１０９ｃに示すように、画面ＩＤが「Ｂ０２」である画面の表示中に「表示名称」が「承認」であるボタンが押下された場合には「アクションＩＤ」が「Ｒｅｃｏｇｎｉｔｉｏｎ」である業務ロジックがコールされ、「表示名称」が「返却」であるボタンが押下された場合には「アクションＩＤ」が「Ｒｅｊｅｃｔｉｏｎ」である業務ロジックがコールされる。
【００９６】
すなわち、画面間遷移定義テーブルに図９で示したような記述を行うことによって複数画面間における遷移あるいはコールされるロジックを定義することが可能となる。
【００９７】
図１０は、アクタ（権限）定義テーブルの一例を示す図である。このアクタ（権限）定義テーブルは、「アクタコード」と「アクタ名称」とを列項目として含んだテーブルである。「アクタコード」は画面使用者の権限あるいは役割の設定単位である「アクタ」を一意に識別するための識別子である。また、「アクタ名称」は各アクタに付与された名称であり、同図に示したように、たとえば、「担当者」や「管理者１」といった役職名などが設定される。
【００９８】
図１１は、ユーザ定義テーブルの一例を示す図である。このユーザ定義テーブルは、「ユーザＩＤ」と、「アクタコード」と、「ユーザ名」とを列項目として含んでおり、各画面使用者の定義を行うためのテーブルである。「ユーザＩＤ」は各画面使用者（ユーザ）を一意に識別するための識別子であり、「アクタコード」は図１０に示した権限定義テーブルの「アクタコード」に対応する項目である。また、「ユーザ名」は各画面使用者に付与された名称であり、同図に示したように、たとえば、各画面使用者のフルネームなどが設定される。
【００９９】
図１２は、ワークフロー定義テーブルの一例を示す図である。このワークフロー定義テーブルは、「申請」と、「現在」と、「次」とを列項目として含んでおり、ワークフローを構成する各段階に介在する画面使用者の「アクタコード」を定義したテーブルである。「申請」はワークフローの起点となる申請処理を行う画面使用者のアクタコードであり、「現在」はワークフロー内の現段階における画面使用者のアクタコードである。また、「次」はワークフロー内における次段階における画面使用者のアクタコードである。
【０１００】
たとえば、図１２に示した場合では、アクタコードが「１００１」すなわちアクタ名称が「担当者」（図１０参照）が起点となるワークフローを定義している。そして、ワークフローの現段階が「１００１」（担当者）であれば次段階は「１００２」（管理者１，図１０参照）であり、現段階が「１００２」（管理者１）であれば次段階は「９９９９」（終了）である旨が定義されている。
【０１０１】
このように、ワークフロー定義テーブルを用いることでワークフローを構成する各段階に介在する画面使用者を定義することができる。なお、図１２においては、「担当者」および「管理者１」の２段階のワークフローを定義しているが、これに限らず、５段階や１０段階といった多段階のワークフローを定義することももちろん可能である。
【０１０２】
次に、本実施例２に係る定義体情報に含まれる各テーブル間の関係について図１３を用いて説明する。図１３は、実施例２に係る定義体情報に含まれる各テーブル間の関係を示す図である。なお、同図に示す１−１〜１−９は各テーブルの名称を表しており、１−１ａから１−９ａは各テーブルの内容を表している。そして、１−１〜１−７の各テーブルは、上記したデータ項目定義テーブル、画面タイプ定義テーブル、画面構成項目定義テーブル、画面間遷移定義テーブル、アクタ定義テーブル、ユーザ定義テーブルおよびワークフロー定義テーブルにそれぞれ対応している。
【０１０３】
また、図１３に示した区分体系定義テーブル１−８は、データ項目定義テーブル１−１などのテーブルで用いられる「翻訳ＩＤ」（１−８ａ参照）などの項目を定義するテーブルである。なお、この「翻訳ＩＤ」は商品区分などの区分体系を一意に識別するための識別子である。
【０１０４】
また、図１３に示した区分値定義テーブル１−９は、ラジオボタンやコンボボックスといった選択式の画面構成部品の各選択肢を定義するためのテーブルである。たとえば、ラジオボタンの選択肢として、鉛筆、ノートおよび消しゴムの３つがある場合には、「翻訳コード」（１−９ａ参照）に１、２および３を指定することになる。
【０１０５】
ところで、図１３に示した各テーブル（１−１〜１−９）を結ぶ矢印は、各テーブル間の参照関係を表している。具体的には、矢印の根が参照元となるテーブルを、矢印の先が参照先となるテーブルをそれぞれ指しており、参照元テーブルと参照先テーブルとの対応関係は１対Ｎ（Ｎは自然数）となる。たとえば、区分体系定義テーブル１−８の「翻訳ＩＤ」（１−８ａ参照）は、区分値定義テーブル１−９およびデータ項目定義テーブル１−１においてそれぞれ参照されている（１−９ａおよび１−１ａ参照）。
【０１０６】
このように、定義体情報を構成する各定義テーブル（１−１〜１−９）は、図１３の矢印で示した関係を有しているので、各テーブルにおいてそれぞれ矛盾したデータ定義がされた場合には、かかる矛盾を容易に検出することができる。さらに、矛盾したデータ定義を受け付けないようにすることも可能である。
【０１０７】
各テーブル間の関係についての説明を続ける。画面構成項目定義テーブル１−３は、データ項目定義テーブル１−１の「項目ＩＤ」（１−１ａ参照）と、画面タイプ定義テーブル１−２の「画面ＩＤ」（１−２ａ参照）とを参照している（１−３ａ参照）。また、画面間遷移定義テーブル１−４は、画面タイプ定義テーブル１−２の「画面ＩＤ」（１−２ａ参照）を「画面ＩＤ」および「次画面ＩＤ」として参照しており、アクタ定義テーブル１−５の「アクタコード」（１−５ａ参照）を「アクタ」として参照している。そして、ワークフロー定義テーブル１−７は、アクタ定義テーブル１−５の「アクタコード」（１−５ａ参照）を「申請者アクタ」および「現在のアクタ」として参照している。
【０１０８】
なお、図１３に示した各テーブルおよび各テーブル間の関係は一例であり、テーブルの種類や数、あるいはテーブル間の関係を限定するものではない。
【０１０９】
次に、本実施例２に係る定義体情報に基づいてシステム生産処理部１５ｄが実行するシステム生産処理によって作成される画面の一例について図１４を用いて説明する。図１４は、実施例２に係る定義体情報に基づいて作成される画面について示す図である。
【０１１０】
図１４の１１４ａ〜１１４ｃに示したのは、実施例２に係る定義体情報（図５の１０５ａ、図７〜図９）に基づいて作成される画面である。なお、図１４の１１４ａは契約入力画面（図７の「名称」が「契約入力」である行、図８の１０８ａおよび図９の１０９ａ参照）であり、同じく１１４ｂは契約確認画面（図７の「名称」が「契約確認」である行、図８の１０８ｂおよび図９の１０９ｂ参照）である。また、同じく１１４ｃは契約承認画面（図７の「名称」が「契約承認」である行、図８の１０８ｃおよび図９の１０９ｃ参照）である。
【０１１１】
また、図１４の１１４ａに示した契約入力画面では画面構成部品に対する入力が許可されているのに対し、図１４の１１４ｂおよび１１４ｃに示した契約確認画面および契約承認画面では入力が許可されていない。これは、図８に示した画面構成項目定義テーブルにおける「入力フラグ」の項目が、同図の１０８ｂおよび１０８ｃにおいて全て「０」に定義されていることによるものである。
【０１１２】
次に、本実施例２に係る定義体情報に基づいて作成されたデータベーステーブルに登録されるデータ例について図１５を用いて説明する。図１５は、実施例２に係る定義体情報に基づいて作成されたデータベーステーブルに登録されるデータの一例を示す図である。なお、同図に示す識別コードが「Ａ００００００１」である７行のデータが、図１４に示した契約入力画面などによって一度に登録されるデータの組を表している。そして、登録されるデータの組にはそれぞれ一意の識別コードが付されていく（たとえば、「Ａ００００００２」）。
【０１１３】
次に、本実施例２に係る定義体情報に基づいて作成される画面のワークフローについて図１６を用いて説明する。図１６は、実施例２に係る定義体情報に基づいて作成される画面のワークフローについて示す図である。なお、図１６に示す３つの画面（１１６ａ〜１１６ｃ）は、図１４に示した３つの画面（１１４ａ〜１１４ｃ）にそれぞれ対応している。また、１１６ａおよび１１６ｂの２画面は担当者に、１１６ｃの画面は管理者１にそれぞれ割り当てられている（図９および図１０参照）。
【０１１４】
図１６に示すように、担当者が契約入力画面（１１６ａ）にデータ入力を行って「確認」ボタンを押下すると、契約入力画面（１１６ｂ）に画面遷移する。そして、担当者が契約入力画面に表示されたデータ内容に誤りがないことを確認したうえで「申請」ボタンを押下すると、管理者１が使用するＰＣ（パーソナルコンピュータ）などに契約承認画面（１１６ｃ）がポップアップする。
【０１１５】
つづいて、管理者１が契約承認画面に表示されたデータを承認する場合には、「承認ボタン」を押下する。この「承認」ボタンを押下することによって契約承認画面に表示されたデータが承認情報としてデータベーステーブルに登録される。一方、管理者１がデータを承認できないと判断した場合には、「返却」ボタンを押下する。この「返却」ボタンを押下することによって契約承認画面に表示されたデータが承認されなかった旨が担当者に対して通知される。
【０１１６】
上述してきたように、本実施例２では定義体情報に複数画面の定義を行うこととした。したがって、本実施例２に係る定義体情報を用いることで、複数画面間の画面遷移および各画面を用いたワークフローを自動作成することができる。また、かかる定義体情報を変更することで、画面遷移やワークフローを容易に変更することができる。
【０１１７】
次に、上記した実施例（実施例１〜２）におけるシステム生産処理の処理手順について図１７を用いて説明する。図１７は、システム生産処理の処理手順を示すフローチャートである。同図に示すように、定義体データ管理部１５ａが定義体情報を受け付けると（ステップＳ１０１）、チェック処理部１５ｂがこの定義体情報の整合性チェックを行う（ステップＳ１０２）。
【０１１８】
そして、チェック処理部１５ｂが整合性ありと判定した場合には（ステップＳ１０３，Ｙｅｓ）、システム情報作成部１５ｃがシステム情報を作成し（ステップＳ１０４）、システム生産処理部１５ｄが該当サーバ装置の設定を実行して（ステップＳ１０５）処理を終了する。一方、チェック処理部１５ｂが整合性なしと判定した場合には（ステップＳ１０３，Ｎｏ）、ステップＳ１０１以降の処理を繰り返すことになる。
【０１１９】
次に、上記した実施例（実施例１〜２）の変形例について図１８を用いて説明する。図１８は、各サーバ装置にシステム生産部を配置した場合について示す図である。同図に示すように、本変形例は、アプリケーションサーバやデータベースサーバにシステム生産用データを送信することとし、これらのデータを受信した各装置がシステム生産を行うよう構成したものである。
【０１２０】
具体的には、システム生産装置は、テーブル形式の情報である定義体情報の登録を受け付け（図１８の（１）参照）、受け付けた定義体情報の整合性などをチェックする（図１８の（２）参照）。そして、定義体情報が正常であると判定されたならば、画面作成情報および業務ロジック作成情報をアプリケーションサーバに対して送信する（図１８の（３ａ）参照）とともに、ＤＢテーブル作成情報をデータベースサーバに対して送信する（図１８の（３ｂ）参照）。
【０１２１】
かかる画面作成情報および業務ロジック作成情報を受信したアプリケーションサーバは、自装置に搭載されたジェネレータ（図２のシステム作成処理部に相当）を介することによって、画面作成情報からＪＳＰ（登録商標）を、業務ロジック作成情報からＪＡＶＡ（登録商標）プログラムおよびデータベース問い合わせ用のＳＱＬを、それぞれ作成する（図１８の（４ａ）および（４ｂ）参照）。
【０１２２】
また、システム生産装置からＤＢテーブル作成情報を受信したデータベースサーバは、自装置に搭載されたジェネレータ（図２のシステム作成処理部に相当）を介することによって、ＤＢテーブル作成情報からデータベーステーブル作成用のＳＱＬを作成する（図１８の（４ｃ）参照）。
【０１２３】
なお、上記した各実施例では、本発明を実現するシステム生産装置を機能面から説明したが、システム生産装置の各機能はＰＣ（パーソナルコンピュータ）やワークステーションなどのコンピュータにプログラムを実行させることによって実現することもできる。
【０１２４】
すなわち、上述した各種の処理手順は、あらかじめ用意されたプログラムをコンピュータ上で実行することによって実現することができる。そして、これらのプログラムは、インターネットなどのネットワークを介して配布することができる。さらに、これらのプログラムは、ハードディスク、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【０１２５】
つまり、例を挙げれば、各実施例に示したシステム生産装置用プログラムを格納したＣＤ−ＲＯＭを配布し、このＣＤ−ＲＯＭに格納されたプログラムを各コンピュータが読み出して実行するようにしてもよい。そして、このシステム生産装置用プログラムを図１などに示したアプリケーションサーバやデータベースサーバにインストールすることとすれば、アプリケーションサーバやデータベースサーバがシステム生産装置としての機能を併せ持つことができる。
【産業上の利用可能性】
【０１２６】
以上のように、本発明に係るシステム生産方法、システム生産システム、システム生産プログラムおよびシステム生産に用いられる定義体情報のデータ構造は、データベースを用いたシステムの一括生産に有用であり、特に、三層アーキテクチャなど多階層のシステム構造を有するシステムの生産に適している。また、本発明の好適な適用対象としては、長期的に使用されるなかで細々とした仕様変更をすることが多い生産管理、営業管理、購買、勘定系、商品・原料のマスタ管理などがあるが、もちろん、本発明の適用対象がこれらに限定されるものではない。
【図面の簡単な説明】
【０１２７】
【図１】本発明に係るシステム生産手法の概要を示す図である。
【図２】実施例１に係るシステム生産装置の構成を示す機能ブロック図である。
【図３】定義体情報を構成するテーブル群の一例を示す図である。
【図４】図３に示した定義体情報に基づいて作成される成果物について示す図である。
【図５】図３に示した定義体情報に新規項目を追加する場合の一例を示す図である。
【図６】図５に示した定義体情報に基づいて作成される成果物について示す図である。
【図７】実施例２に係る定義体情報に含まれる画面タイプ定義テーブルの一例を示す図である。
【図８】画面構成項目定義テーブルの一例を示す図である。
【図９】画面間遷移定義テーブルの一例を示す図である。
【図１０】権限定義テーブルの一例を示す図である。
【図１１】ユーザ定義テーブルの一例を示す図である。
【図１２】ワークフロー定義テーブルの一例を示す図である。
【図１３】実施例２に係る定義体情報に含まれる各テーブル間の関係を示す図である。
【図１４】実施例２に係る定義体情報に基づいて作成される画面について示す図である。
【図１５】実施例２に係る定義体情報に基づいて作成されたデータベーステーブルに登録されるデータの一例を示す図である。
【図１６】実施例２に係る定義体情報に基づいて作成される画面のワークフローについて示す図である。
【図１７】システム生産処理の処理手順を示すフローチャートである。
【図１８】各サーバ装置にシステム生産部を配置した場合について示す図である。
【符号の説明】
【０１２８】
１０  システム生産装置
１１  入力部
１２  出力部
１３  Ｉ／Ｆ部
１４  記憶部
１４ａ  定義体データ
１４ｂ  画面作成情報
１４ｃ  業務ロジック作成情報
１４ｄ  ＤＢテーブル作成情報
１５  制御部
１５ａ  定義体データ管理部
１５ｂ  チェック処理部
１５ｃ  システム情報作成部
１５ｄ  システム生産処理部
１０３ａ、１−１  データ項目定義テーブル
１０３ｂ、１−２  画面タイプ定義テーブル
１０３ｃ、１−３  画面構成項目定義テーブル
１０３ｄ、１−４  画面間遷移定義テーブル
１−５  アクタ（権限）定義テーブル
１−６  ユーザ定義テーブル
１−７  ワークフロー定義テーブル
１−８  区分体系定義テーブル
１−９  区分値定義テーブル
【図１】
2007164503.tif 000003
【図２】
2007164503.tif 000004
【図３】
2007164503.tif 000005
【図４】
2007164503.tif 000006
【図５】
2007164503.tif 000007
【図６】
2007164503.tif 000008
【図７】
2007164503.tif 000009
【図８】
2007164503.tif 000010
【図９】
2007164503.tif 000011
【図１０】
2007164503.tif 000012
【図１１】
2007164503.tif 000013
【図１２】
2007164503.tif 000014
【図１３】
2007164503.tif 000015
【図１４】
2007164503.tif 000016
【図１５】
2007164503.tif 000017
【図１６】
2007164503.tif 000018
【図１７】
2007164503.tif 000019
【図１８】
2007164503.tif 000020