(57)【要約】      （修正有）【課題】水平型フレームワークの基本的な考え方の上に、業務・業種に特化した垂直型フレームワークを物理的な観点で捉え直し、物理的なデータ構造に着目して特化させたフレームワークを用いることで、業務・業種を越えながら、ソフトウェアの再利用が促されるアプリケーション生成方法及び装置を提供する。【解決手段】メニュー画面１５、レコード一覧画面１６、レコード編集画面１７を有する画面層１０における新規実行ボタン１７ａ、変更実行ボタン１７ｂ及び削除実行ボタン１７ｃが押下された場合、制御層２０では、これら実行ボタンの押下により起動される処理器として最低限必要な抽象化された処理構成を、対応する抽象化クラス２１，２２，２３から提供され、この抽象化クラスの処理構成を基底とし、実際のデータ内容にしたがってカスタマイズした新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラスを実装部２５，２６，２７に実装する。【選択図】図１
2007094883.tif 000002
【特許請求の範囲】
【請求項１】
メニュー画面、レコード一覧画面及びレコード編集画面を有する画面層における新規実行ボタン、変更実行ボタン及び削除実行ボタンが押下された場合、制御層では、これら実行ボタンの押下により起動される処理器として最低限必要な抽象化された処理構成を、対応する抽象化クラスから提供され、この提供された抽象化クラスの処理構成を基底とし、実際のデータ内容にしたがってカスタマイズした新規実行具象化クラス、変更実行具象化クラス及び削除実行具象化クラスを実装し、
前記新規実行、変更実行及び削除実行に対応する最低限必要な抽象化されたロジックを有するビジネスロジック抽象化クラスを基底とし、実際のデータ内容にしたがってカスタマイズされた新規実行ビジネスロジックのクラス、変更実行ビジネスロジックのクラス及び削除実行ビジネスロジックのクラスをそれぞれ実装し、
データ層では、データアクセスクラスにより、前記新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラス並びにこれらに対応する新規実行ビジネスロジック、変更実行ビジネスロジック及び削除実行ビジネスロジックの各クラスにしたがってデータストアに格納されているレコードを操作する
ことを特徴とするアプリケーション生成方法。
【請求項２】
画面層では、メニュー画面、レコード一覧画面及びレコード編集画面を、これら各画面に関する画面遷移が設定され、これら画面に具象化するための抽象化されたクラスを基底とし、実際のデータ内容にしたがってカスタマイズして作成することを特徴とする請求項１に記載のアプリケーション生成方法。
【請求項３】
データ層では、データストアに格納されるデータを操作するための最低限の抽象化されたデータアクセス抽象化クラスを基底とし、実際のデータ内容にしたがってカスタマイズしてデータアクセスクラスを作成することを特徴とする請求項１または請求項２に記載のアプリケーション生成方法。
【請求項４】
メニュー画面、レコード一覧画面及びレコード編集画面を有し、各画面間の画面遷移が設定され、かつ、レコードを新規登録するための新規実行ボタン、レコードを変更するための変更実行ボタン及びレコードを削除する削除実行ボタンが設定されている画面層と、
前記新規実行ボタン、変更実行ボタン及び削除実行ボタンにそれぞれ対応して設けられ、これら対応するボタンが押下された場合に起動される処理器として最低限必要な抽象化された処理構成を提供する新規実行抽象化クラス、変更実行抽象化クラス及び削除実行抽象化クラスと、新規実行、変更実行及び削除実行に対応する最低限必要な抽象化されたロジックを有するビジネスロジック抽象化クラスと、このビジネスロジック抽象化クラスのロジックを基底とし、実際のデータ内容にしたがってカスタマイズされた新規実行ビジネスロジック、変更実行ビジネスロジック及び削除実行ビジネスロジックの各実装部と、前記新規実行抽象化クラス、変更実行抽象化クラス及び削除実行抽象化クラスが提供する処理構成を基底とし、実際のデータ内容にしたがってカスタマイズされた新規実行具象化クラス、変更実行具象化クラス及び削除実行具象化クラスとの各実装部を有する制御層と、
データストアを有するとともに、前記新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラス並びにこれらに対応する新規実行ビジネスロジックのクラス、変更実行ビジネスロジックのクラス及び削除実行ビジネスロジックのクラスにしたがってデータストアに格納されているレコードを操作するデータアクセスクラスを有するデータ層と
を備えたことを特徴とするアプリケーション生成装置。
【請求項５】
画面層には、メニュー画面、レコード一覧画面及びレコード編集画面にそれぞれ対応し、これら画面に具象化するための基底となる抽象化されたクラスをそれぞれ有することを特徴とする請求項４に記載のアプリケーション生成装置。
【請求項６】
データ層には、データアクセスクラスとして具象化するための基底となる抽象化されたデータアクセス抽象化クラスを有することを特徴とする請求項４または請求項５に記載のアプリケーション生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種の業務・業種に適用されるアプリケーションの生成方法及び生成装置に関する。
【背景技術】
【０００２】
近年、各種の業務・業種に適用されるアプリケーションを構築するに当たって、アプリケーションを構築しやすいようにその開発環境を改善する提案が多く成されている（例えば、特許文献1参照）。現状、アプリケーションの生成には、その土台となるソフトウェアやアーキテクチュアを提供し、プログラム作成の効率化を図ったフレームワークが用いられる。このフレームワークには、業務・業種を問わない汎用性を重視した水平型フレームワークと、特定の業務・業種に特化した垂直型フレームワークとに分類される。水平型フレームワークは、どの業務・業種にも適用可能な反面、汎用性を重視している為に、開発者が設計・実装しなければならない部分が多くなる欠点を持つ。一方、垂直型フレームワークでは、開発者が設計・実装しなければならない部分は少なくなるものの、特定の業務・業種向けのフレームワークを他の業務・業種に転用することが難しく、フレームワークが存在しないドメインに直面する度に、フレームワークから構築しなければならない欠点を持つ。
【特許文献１】特開２００２−５５８１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
したがって、従来のアプリケーションフレームワーク技術である、水平型フレームワークでは、開発者が設計・実装しなければならない部分が多くなり、垂直型フレームワークでは他の業務・業種に転用することが難しいという欠点を解消し、それらが有する特徴を活かすことが大きな課題であった。
【０００４】
本発明の目的は、自由度の極めて高い水平型フレームワークの基本的な考え方の上に、業務・業種に特化した垂直型フレームワークを物理的な観点で捉え直し、物理的なデータ構造に着目して特化させたフレームワークを用いることで、業務・業種を越えながら、ソフトウェアの再利用が促されると共に、水平型フレームワーク以上に高い生産性と、保守性に優れたアプリケーションの構築が可能となるアプリケーション生成方法及びアプリケーション生成装置を提供することにある。
【課題を解決するための手段】
【０００５】
本発明のアプリケーション生成方法は、メニュー画面、レコード一覧画面及びレコード編集画面を有する画面層における新規実行ボタン、変更実行ボタン及び削除実行ボタンが押下された場合、制御層では、これら実行ボタンの押下により起動される処理器として最低限必要な抽象化された処理構成を、対応する抽象化クラスから提供され、この提供された抽象化クラスの処理構成を基底とし、実際のデータ内容にしたがってカスタマイズした新規実行具象化クラス、変更実行具象化クラス及び削除実行具象化クラスを実装し、前記新規実行、変更実行及び削除実行に対応する最低限必要な抽象化されたロジックを有するビジネスロジック抽象化クラスを基底とし、実際のデータ内容にしたがってカスタマイズされた新規実行ビジネスロジックのクラス、変更実行ビジネスロジックのクラス及び削除実行ビジネスロジックのクラスをそれぞれ実装し、データ層では、データアクセスクラスにより、前記新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラス並びにこれらに対応する新規実行ビジネスロジック、変更実行ビジネスロジック及び削除実行ビジネスロジックの各クラスにしたがってデータストアに格納されているレコードを操作することを特徴とする。
【０００６】
本発明方法は、画面層では、メニュー画面、レコード一覧画面及びレコード編集画面を、これら各画面に関する画面遷移が設定され、これら画面に具象化するための抽象化されたクラスを基底とし、実際のデータ内容にしたがってカスタマイズして作成する。
【０００７】
また、本発明方法は、データ層では、データストアに格納されるデータを操作するための最低限の抽象化されたデータアクセス抽象化クラスを基底とし、実際のデータ内容にしたがってカスタマイズしてデータアクセスクラスを作成する。
【０００８】
本発明によるアプリケーション生成装置は、メニュー画面、レコード一覧画面及びレコード編集画面を有し、各画面間の画面遷移が設定され、かつ、レコードを新規登録するための新規実行ボタン、レコードを変更するための変更実行ボタン及びレコードを削除する削除実行ボタンが設定されている画面層と、前記新規実行ボタン、変更実行ボタン及び削除実行ボタンにそれぞれ対応して設けられ、これら対応するボタンが押下された場合に起動される処理器として最低限必要な抽象化された処理構成を提供する新規実行抽象化クラス、変更実行抽象化クラス及び削除実行抽象化クラスと、新規実行、変更実行及び削除実行に対応する最低限必要な抽象化されたロジックを有するビジネスロジック抽象化クラスと、このビジネスロジック抽象化クラスのロジックを基底とし、実際のデータ内容にしたがってカスタマイズされた新規実行ビジネスロジック、変更実行ビジネスロジック及び削除実行ビジネスロジックの各実装部と、前記新規実行抽象化クラス、変更実行抽象化クラス及び削除実行抽象化クラスが提供する処理構成を基底とし、実際のデータ内容にしたがってカスタマイズされた新規実行具象化クラス、変更実行具象化クラス及び削除実行具象化クラスとの各実装部を有する制御層と、データストアを有するとともに、前記新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラス並びにこれらに対応する新規実行ビジネスロジックのクラス、変更実行ビジネスロジックのクラス及び削除実行ビジネスロジックのクラスにしたがってデータストアに格納されているレコードを操作するデータアクセスクラスを有するデータ層とを備えたことを特徴とする。
【０００９】
本発明装置は、画面層には、メニュー画面、レコード一覧画面及びレコード編集画面にそれぞれ対応し、これら画面に具象化するための基底となる抽象化されたクラスをそれぞれ有する。
【００１０】
また、本発明装置は、データ層には、データアクセスクラスとして具象化するための基底となる抽象化されたデータアクセス抽象化クラスを有する。
【発明の効果】
【００１１】
本発明は、従来のフレームワーク技術の欠点を補完し、設計・実装箇所を削減しながら業務・業種を越えてソフトウェアの再利用を図るものであり、その結果、データ構造が適合するあらゆるアプリケーション開発がより簡単に、より短期間化され、ソフトウェアの再利用性も向上する。このため、アプリケーションの高品質化と低価格化が強く期待できる。すなわち、本発明によれば、抽象化クラスを基底としてカスタマイズし、実装することのみに注力することでアプリケーションを構築することが可能になり、従来のように業務・業種毎に全て設計・実装していたことに比べ、実装箇所が少なくなることは明らかで、生産性が向上する。また、カスタマイズする箇所が限定されていることと、カスタマイズする場合の作法が取り決められていることで、アプリケーション毎に構造がばらつくことを防ぎ、保守性の優れたシステムとなることが期待できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施の形態について図面を用いて説明する。
【００１３】
はじめに、本発明の基本的な考え方を説明する。先ず、本発明が対象とするフレームワークの開発に当たり、多くの業種・業務システムのアプリケーションを機能分解した。その結果、データ層、制御層（ビジネスロジック含む）、画面層の要素から構成されており、さらに、これらの要素に対して抽象化を進めると、ある抽象化レベルで、データの構造（例えば、親子レコードが、１：１関係、１：Ｎ関係、又は、Ｎ：Ｍ関係など）によってアプリケーション種別の分類が可能であると言う特性が導かれた。
【００１４】
これに着目し、業務・業種と言った論理的分類による垂直型フレームワークではなく、データ構造と言う物理的分類によった垂直型フレームワークを考え、これを水平型フレームワークの上にデータ構造に特化させて実装し、データ構造毎に用意することとした。このようにすることによって、水平型フレームワークでありながら、物理的に分類された多くの業務・業種に適用可能な垂直型フレームワークの特徴を持ち合わせたフレームワークの実現が可能となる。
【００１５】
このように、業務機能を物理的な側面から捉え、データ構造に着目する。例えば、会計業務における会計データの場合、図３で示すように、代表データと明細データで構成されており、それらのデータは、テーブルに１：Ｎの親子レコードで表現される。画面も代表データと明細データを入力、編集することに都合の良い構成となっている。一例を示せば、親レコードの一覧表示画面から対象レコードを選択し、親レコードの詳細表示画面を表示し、さらにここから、子レコードの詳細を複数表示する画面に遷移する。物理的側面に着目して言い換えると、親レコードと子レコードの関連性が保たれながら編集可能な画面構成とデータハンドリング機構を装備し、これに業務ロジックを加えれば会計業務が成立する。
【００１６】
ここで、どのようなデータ構成であっても各レコードに対しては、新規レコードを登録する新規実行、登録されたレコードを変更する変更実行、登録されたレコードを削除する削除実行が不可欠である。
【００１７】
図１で示す実施の形態は、１：Ｎの親子レコードで表現されるデータモデルを取り扱うのに都合の良い画面様式・画面遷移とデータハンドリングを実現する為の抽象化クラスと業務ロジックを加える部分が明確化された、１：Ｎで表現されるデータ構造に特化したフレームワークを示している。
【００１８】
図１は上述の１：Ｎの関係をもつデータ構造を例に取ったアプリケーションフレームワークの構成を表すブロック図である。本発明のアプリケーション生成装置を構成するフレームワークは、大きく分けて、画面層(View)１０、制御層(Controller)２０とデータ層(Model)３０のブロックから構成される。画面層(View)１０は、ユーザとのマンマシンインターフェイスを提供する。制御層(Controller)２０は、ユーザからの操作の指示を受け取り処理する責務をもつ。データ層(Model)３０は、制御層(Controller)２０で受け付けた処理依頼を受け、データストアとのやり取りを司る部分である。
【００１９】
画面層(View)１０では、フレームワークからの提供範囲として、抽象化メニュー１１、抽象化親レコード一覧１２、抽象化親レコード編集１３と抽象化子レコード編集１４がある。これらの抽象化された画面群は、メニューからの各画面への画面遷移と１：Ｎレコードを取り扱う為に必要な最小限のボタン類が配置されている。このままでも、画面遷移のみは可能な状態であるが、実際に取り扱う項目については未定義である為、開発者は取り扱う１：Ｎデータに基づいた取り扱い項目を定義して画面群を具象化（カスタマイズ）する。ブロック図には、その結果としてメニュー画面１５、親レコード一覧画面１６、親レコード編集画面１７と子レコード編集画面１８が配置された様子を示している。
【００２０】
すなわち、画面層１０では、メニュー画面１５、レコード一覧画面１６、レコード編集画面１７，１８は、基底となる前記抽象化された各クラス（抽象化メニュー１１、抽象化親レコード一覧１２、抽象化親レコード編集１３と抽象化子レコード編集１４）を継承し、実際のデータ内容にしたがって具象化される。このため、メニュー画面１５、レコード一覧画面１６、レコード編集画面１７，１８には画面相互の画面遷移が設定される。また、前述した１：Ｎレコードを取り扱う為に必要な最小限のボタン類として、レコード一覧画面１６に対しては、このレコード一覧画面１６から選択されたデータを削除する削除実行ボタン１６ａが設定されている。同じく、親レコード編集画面１７に対しては、新規実行ボタン１７ａ及び上記レコード一覧画面１６から選択されたデータを変更するための変更実行ボタン１７ｂが設定されている。
【００２１】
なお、これら実行ボタン１６ａ、１７ａ，１７ｂは、ソフトウェアによるボタンであり、後述するボタンの押下とは、マウスなどによる指示操作を含む。
【００２２】
制御層(Controller)２０では、フレームワークからの提供範囲として、新規実行抽象化クラス２１、変更実行抽象化クラス２２と削除実行抽象化クラス２３がある。これらは、それぞれ、親レコード編集画面１７における新規実行ボタン１７ａ及び変更実行ボタン１７ｂと親レコード一覧１６における削除実行ボタン１６ｂとに対応しており、これらのボタンが押下された場合に起動される処理器として構成されている。
【００２３】
これらの抽象化クラス２１，２２，２３には、ボタン押下イベントに対し、実施しなくてはならない抽象化された最低限の処理工程が表現されている。例えば、１：Ｎのデータ構造に適した、チェック処理、データ編集処理、データアクセス処理、次画面遷移処理などの順序が予め表現されている。ただし、これは上述のように最小限の処理構成のみが実装されているに過ぎない為、業務の要件と照らし合わせ、開発者によって必要に応じ、差分となる処理を具象化クラスに追加実装することによって処理フローが完成する。ブロック図には、具象化の結果として、新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラスが配置された各実装部２５，２６，２７を示している。
【００２４】
すなわち、実装部２５，２６，２７に実装された新規実行具象化クラス、変更実行具象化クラス、削除実行具象化クラスは、前述のように、各抽象化クラス２１，２２，２３が提供する、ボタン押下イベントに対して実施しなくてはならない抽象化された最低限の処理工程を基底として継承し、実際のデータ内容にしたがって具象化したものである。
【００２５】
各処理フローは、前述のようにこれら実装部２５，２６，２７に実装された各具象化クラスの書き換えによって表現するが、ロジックそのものは、これらのクラスで表現するのではなく、ビジネスロジック抽象化クラス２４を基底にした別クラスとして実装部２８，２９，２Ａに実装する。これは、ビジネスロジックの実装箇所を明示化すると共に、制御層２０の再利用を促しやすい構造としている。
【００２６】
すなわち、ビジネスロジック抽象化クラス２４は、新規実行、変更実行、削除実行に対応する最低限必要な抽象化されたロジックを有する。そして、実際のビジネスロジッククラスは、このビジネスロジック抽象化クラス２４のロジックを基底として継承し、実際のデータ内容にしたがってカスタマイズされ、実装部２８，２９，２Ａに実装されたものである。
【００２７】
データ層(Model)３０は、データストア３５を有し、このデータストアに格納されている親レコード３３と子レコード３４を操作することに好都合な、例えば、１：Ｎデータに対するデータアクセス抽象化クラス３１がフレームワークとして提供される。この中では、例えば、親レコードの操作、子レコードの操作や親子レコードの関連を意識した操作などが含まれる。開発者は、この１：Ｎデータアクセス抽象化クラス３１を基底として継承し、実際に取り扱う項目を定義し、１：Ｎデータアクセス具象化クラスとして実装部３２に実装する。このことによって、データ層３０のクラスが完成される。
【００２８】
次に、前述した構成の動作を、新規登録を行なう場合を例に、図２の新規登録シーケンス図を用いて説明する。
【００２９】
図１における、親レコード編集画面１７において、新規実行ボタン１７ａが押下された場合、これは、図２において、親レコード編集画面１７のクラスＯＢ１に対する新規実行ボタン押下ＳＴ１のメソッド呼び出しとなる。この親レコード編集クラスＯＢ１における新規実行ボタン押下ＳＴ１は、フレームワーク（抽象化レコード編集１３のクラス）による提供段階から定義済みのメソッドとなっており、新規実行具象クラス実装部２５におけるクラスＯＢ２の新規実行手順起動ＳＴ２を呼び出す。
【００３０】
新規実行具象クラスＯＢ２における、カスタマイズ手順ＳＴ３は、新規実行具象化クラスＯＢ２の実装において、継承元である新規実行抽象化クラス２１のメソッドをオーバーライドしたもので、開発者によって処理が追加できる部分の一つである。開発者は、このカスタマイズメソッドの中で、追加の実装を行った後、定義済み手順ＳＴ４を呼び出して、フレームワークに制御を戻す。
【００３１】
定義済み手順ＳＴ４では、実装部２８に実装された新規実行ビジネスロジックにおけるクラスＯＢ３のビジネスロジック起動ＳＴ５を呼び出し、ビジネスロジック処理を実行する。この中では、カスタマイズロジックＳＴ６がコールされるが、このメソッドは開発者によって実装される部分となり、業務内容に応じた処理を記述する。カスタマイズロジックＳＴ６を終えると、定義済み手順ＳＴ４に戻る。
【００３２】
次に、定義済み手順ＳＴ４は、データ層３０の１：Ｎデータアクセス具象化クラス（実装部３２におけるクラスＯＢ４）のデータアクセス開始ＳＴ７をコールする。データアクセス開始ＳＴ７の中で、カスタマイズ手順ＳＴ８を呼び出すが、このカスタマイズ手順ＳＴ８も、開発者が実際のデータストア３５に格納されたテーブルの物理名でメソッドを定義し手順を完成させることとなる。そして、カスタマイズ手順ＳＴ８により完成された手順により、データストア３５に格納されたレコードを操作する。
【００３３】
このように、図２におけるカスタマイズ手順ＳＴ３、カスタマイズロジックＳＴ６とカスタマイズ手順ＳＴ８の実装のみに注力することによって、各種の業務アプリケーションを構築することが可能になり、生産性が向上する。すなわち、従来であれば、新規実行手順起動ＳＴ２以下を全て設計・実装していたことに比べ、実装箇所が少なくなることは明らかで、生産性の向上が期待できる。また、カスタマイズする箇所が限定されていることと、カスタマイズする場合の作法が取り決められていることで、アプリケーション毎に構造がばらつくことを防ぎ、保守性の優れたシステムとなることが期待できる。
【００３４】
１：Ｎの関係を持ったデータ構造については、前述してきたとおりであるが、１：１、Ｎ：Ｍ、単一テーブルのみ等、と言ったように、データの関係に応じて同様なフレームワークの構築が可能である。
【図面の簡単な説明】
【００３５】
【図１】本発明によるアプリケーション生成装置の一実施の形態を説明するブロック図である。
【図２】同上一実施の形態の操作を説明するシーケンス図である。
【図３】一般的な１：Ｎデータ構成を説明するテーブルの模式図である。
【符号の説明】
【００３６】
１０    画面層
１１，１２，１３，１４    抽象化クラス
１５    メニュー画面
１６    レコード一覧画面
１７，１８    レコード編集画面
２０    制御層
２１    新規実行抽象化クラス
２２    変更実行抽象化クラス
２３    削除実行抽象化クラス
２４    ビジネスロジック抽象化クラス
２５    新規実行具象化クラス実装部
２６    変更実行具象化クラス実装部
２７    削除実行具象化クラス実装部
２８    新規実行ビジネスロジッククラス実装部
２９    変更実行ビジネスロジッククラス実装部
２Ａ    削除実行ビジネスロジッククラス実装部
３０    データ層
３１    データアクセス抽象化クラス
３２    データアクセスクラス実装部
３３，３４    レコード
３５    データストア
【図１】
2007094883.tif 000003
【図２】
2007094883.tif 000004
【図３】
2007094883.tif 000005