開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、受け付けた前記編集操作に従って前記プログラムを編集するプログラム編集手段と、前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、を備える前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを作成するプログラム作成支援装置。請求項1に記載のプログラム作成支援装置において、前記プログラム編集手段は、前記基本プログラムの複数の前記プログラム列を前記プログラム開発者に提示する提示部と、対象の前記ユーザの前記個別要件を挿入する挿入位置として、前記提示部に提示された前記基本プログラムの複数の前記プログラム列の位置を前記プログラム開発者に指定させて受け付け、前記個別要件管理手段は、前記ユーザ毎に、前記プログラム編集手段が受け付けた前記挿入位置と前記個別要件とを関連付けて、前記ユーザ管理テーブルおよび前記個別要件管理テーブルに登録し管理するプログラム作成支援装置。請求項1または2に記載のプログラム作成支援装置において、前記個別要件管理テーブルは、前記個別要件の識別情報と、前記個別要件を実現する少なくとも1つの前記プログラム列を関連付けて記憶するプログラム作成支援装置。請求項1乃至3いずれかに記載のプログラム作成支援装置において、前記ユーザ管理テーブルは、前記ユーザごとに、前記個別要件の識別情報と、前記個別要件を挿入する前記基本プログラム中の位置識別子の組を関連付けて記憶するプログラム作成支援装置。請求項1乃至4いずれかに記載のプログラム作成支援装置において、前記基本プログラム管理テーブルは、前記基本プログラム中の複数の前記プログラム列の位置を示す位置識別子と、対応するプログラム列をそれぞれ関連付けて記憶するプログラム作成支援装置。請求項5に記載のプログラム作成支援装置において、前記基本プログラム管理テーブルは、前記基本プログラムにおいて、連続する2つの前記プログラム列の間に空白があるとみなし、前記空白の位置を含む前記位置識別子と、対応する前記プログラム列をそれぞれ関連付けて記憶するプログラム作成支援装置。請求項6に記載のプログラム作成支援装置において、前記ひな型記憶装置は、前記個別要件を挿入する挿入位置に対応する前記位置識別子が指す空白の位置の次のプログラム列の前に挿入するアスペクトを合成するための第1のひな型を記憶し、前記合成手段は、前記基本プログラム管理テーブルを参照し、前記個別要件を挿入する前記挿入位置が、前記基本プログラム中の空白の位置か否かを判別し、前記空白の位置が指定された場合には、前記第1のひな型を用いて前記挿入位置に対応する前記位置識別子が指す前記空白の位置の次の前記プログラム列の前に挿入するアスペクトを合成するプログラム作成支援装置。請求項6または7に記載のプログラム作成支援装置において、前記ひな型記憶装置は、前記個別要件を挿入する挿入位置に対応する前記位置識別子が指す位置のプログラム列を上書きして挿入するアスペクトを合成するための第2のひな型を記憶し、前記合成手段は、前記基本プログラム管理テーブルを参照し、前記個別要件を挿入する前記挿入位置が、前記基本プログラム中の空白の位置か否かを判別し、前記空白の位置を指さない場合には、前記第2のひな型を用いて前記挿入位置に対応する前記位置識別子が指す位置の前記プログラム列を上書きして挿入するアスペクトを合成するプログラム作成支援装置。開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、アプリケーションプログラムの前記基本プログラムの複数の前記プログラム列および前記個別要件を実現する前記プログラム列を記憶するプログラム記憶装置と、前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、前記プログラムを編集するプログラム編集手段と、前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、前記合成手段で合成された前記アスペクトを織り込んで、前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行するプログラム実行手段と、を備える情報システム。コンピュータに、開発対象のアプリケーションプログラムを作成するプログラム作成支援装置を実現させるためのプログラムであって、前記プログラム作成支援装置が、前記アプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、プログラム開発者に操作画面を表示して提示する表示部と、前記プログラム開発者の操作を受け付ける操作部と、を備え、前記コンピュータに、前記テーブル記憶装置を参照し、前記プログラム開発者に編集対象のプログラムを編集するための編集画面を前記表示部に表示して提示する手順、前記プログラム開発者による前記操作部を利用した、前記ユーザ毎に定義できる前記個別要件を前記基本プログラムに挿入する編集操作を受け付ける手順、受け付けた前記編集操作に従って前記プログラムを編集する手順、受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する手順、前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する手順、前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行する手順を実行させるためのプログラム。以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。本実施形態の情報システムは、開発済みのアプリケーションプログラムを利用して、たくさんのテナント企業にオンラインサービスを提供するものである。本実施形態において、ユーザとは、たとえば、テナント企業などであり、開発済みのアプリケーションプログラムを利用して、オンラインサービスを提供する情報システムのユーザを指すものとする。各ユーザは、予め本情報システムの利用について契約を結び、たとえば、ユーザアカウントを取得し、ユーザIDとパスワードを用いて本システムにログインして、サービスを利用することができる。本実施形態の情報システムは、各ユーザテナント企業に独自の個別要件、たとえば、異なるデータや処理の要件を満たすため、基本プログラムであるアプリケーションプログラムに処理を追加したカスタムプログラムを作成し、実行して、ユーザにサービスを提供するものである。本実施形態の情報システムにおいて、プログラムの配備または実行時に、アスペクトをアプリケーションプログラムに織り込むことで、アプリケーションの機能要件とは独立な処理を実装する。アスペクトの具体的な処理の定義をアドバイスと呼ぶ。また、アスペクトを織り込むアプリケーションプログラムの中の位置をポイントカットと呼ぶ。アスペクトの記述には、アドバイスとポイントカットが含まれる。図1は、本発明の実施の形態に係るプログラム作成支援装置100の構成を示す機能ブロック図である。本実施形態のプログラム作成支援装置100は、プログラム開発者がテナント個別要件に対応したテナントごとのカスタムプログラムを容易に開発し、保守できるよう、ユーザ毎の個別要件を基本プログラムとともに実現するアプリケーションプログラムの作成を支援するものである。なお、本実施形態では、プログラム開発者とユーザは別の利用者となっているが、これに限定されない。ユーザ自身がプログラム作成支援装置100を用いて、プログラムをカスタマイズすることもできる。本発明の実施の形態に係るプログラム作成支援装置100は、開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル112、基本プログラムとは別に、ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル114、およびユーザ毎に個別要件を関連付けて管理するユーザ管理テーブル116を記憶するテーブル記憶部110と、個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶部122と、テーブル記憶部110を参照し、プログラム開発者に編集対象のプログラムを提示し、基本プログラムに、ユーザ毎に定義できる個別要件を挿入する編集操作を受け付け、受け付けた編集操作に従ってプログラムを編集するプログラム編集部130と、プログラム編集部130が受け付けた個別要件を対象のユーザ毎に、基本プログラムの対象のプログラム列に関連付けて、ユーザ管理テーブル116、基本プログラム管理テーブル112、および個別要件管理テーブル114に登録し管理する個別要件管理部128と、テーブル記憶部110およびひな型記憶部122を参照し、ユーザ管理テーブル116、基本プログラム管理テーブル112、および個別要件管理テーブル114に登録された定義に従って、ひな型を用いてアスペクトを合成するアスペクト合成部140と、を備える。本実施形態において、プログラム作成支援装置100は、たとえば、図示しないCPUCentralProcessingUnitやメモリ、ハードディスク、および通信装置を備え、キーボードやマウス等の入力装置やディスプレイやプリンタ等の出力装置と接続されるサーバコンピュータやパーソナルコンピュータ、またはそれらに相当する装置により実現することができる。そして、CPUが、ハードディスクに記憶されるプログラムをメモリに読み出して実行することにより、上記各ユニットの各機能を実現することができる。なお、以下の各図において、本発明の本質に関わらない部分の構成については省略してあり、図示されていない。本実施形態のプログラム作成支援装置100によって作成されたユーザテナント企業ごとにカスタマイズされたアプリケーションプログラムは、図2に示す情報システム1によって実行され、各ユーザのユーザ端末20にサービスが提供される。情報システムの各構成要素は、任意のコンピュータのCPU、メモリ、メモリにロードされた本図の構成要素を実現するプログラム、そのプログラムを格納するハードディスクなどの記憶ユニット、ネットワーク接続用インタフェースを中心にハードウェアとソフトウェアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。以下説明する各図は、ハードウェア単位の構成ではなく、機能単位のブロックを示している。本実施形態において、情報システム1は、提供プログラム記憶装置10と、プログラム提供サーバ12と、プログラム作成支援装置100と、複数のテナント企業のユーザ端末20ユーザ端末U1、ユーザ端末U2、...、ユーザ端末Un、nは自然数と、を備え、これらはネットワーク3を介して接続されている。提供プログラム記憶装置10は、カスタムプログラムを実行できるように、基本プログラムおよび個別要件を条件するプログラム列、およびプログラム作成支援装置100のテーブル記憶部110に登録された基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116がコピーされて記憶されている。そして、プログラム提供サーバ12が、基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116に記憶されている情報に基づいて、基本プログラムにアスペクトを織り込んで実行し、各テナント企業のユーザ端末20にサービスを提供することができる。または、プログラム作成支援装置100によって開発されたユーザごとの要求に沿ってカスタマイズされたカスタムプログラムを提供プログラム記憶装置10に記憶し、ユーザの要求に応じてプログラム提供サーバ12が実行してもよい。プログラム提供サーバ12に、プログラム作成支援装置100のテーブル記憶部110と同様な記憶部を備えてもよいし、テーブル記憶部110をプログラム作成支援装置100およびプログラム提供サーバ12から共有できる構成としてもよい。また、提供プログラム記憶装置10と開発プログラム記憶部120は、同じ記憶装置に含まれてもよい。また、プログラム作成支援装置100は、必ずしもネットワーク3に接続される必要はなく、ネットワーク3から独立した構成でもよい。その場合、プログラム作成支援装置100で作成されたカスタマイズプログラムは、記録媒体を介して、提供プログラム記憶装置10に格納すればよい。また、本実施形態では、プログラム提供サーバ12は、テナント企業のユーザ端末20にオンラインでアプリケーションプログラムを利用したサービスを提供する構成としているが、これに限定されない。プログラム提供サーバ12は、基本プログラムを元に、各ユーザの要求に沿ってカスタマイズされたプログラムを作成し、各テナント企業のユーザ端末20にオフラインまたはオンラインで提供した後、各ユーザ端末20が、オフラインでも実行可能とするシステムであってもよい。図2に示すように、本発明の実施の形態に係る情報システム1は、図1のプログラム作成支援装置100と、アプリケーションプログラムの基本プログラムの複数のプログラム列および個別要件を実現するプログラム列を記憶する開発プログラム記憶部120と、プログラム作成支援装置100のアスペクト合成部140で合成されたアスペクトを織り込んで、ユーザ毎の個別要件を基本プログラムとともに実現するアプリケーションプログラムを実行するプログラム実行部プログラム提供サーバ12またはプログラム作成支援装置100と、を備える。図1に戻り、本実施形態のプログラム作成支援装置100は、テーブル記憶部110と、テーブル管理部118と、開発プログラム記憶部120と、ひな型記憶部122と、個別要件管理部128と、プログラム編集部130と、操作部132と、表示部134と、アスペクト合成部140と、アスペクト記憶部142と、を備える。操作部132は、プログラム作成支援装置100を実現するコンピュータに接続されたキーボードやマウス等の入力装置を含み、プログラム開発者が利用した操作を受け付ける。表示部134は、各種情報を提示してプログラム開発者が参照できるように、プログラム作成支援装置100を実現するコンピュータに接続されたディスプレイ等に各種画面を表示する。開発プログラム記憶部120は、開発対象のアプリケーションプログラムの基本プログラム、および各ユーザ固有の個別要件を実現するプログラム列を含むプログラムなどが記憶される。テーブル記憶部110は、基本プログラム管理テーブル112と、個別要件管理テーブル114と、ユーザ管理テーブル116と、を記憶する。なお、本実施形態において、開発プログラム記憶部120は、プログラム作成支援装置100に含まれる構成としているが、必ずしもプログラム作成支援装置100に含まれる必要はなく、プログラム作成支援装置100の外部のプログラム記憶部から、プログラム記憶部に記憶されているプログラムを読み込める構成であればよい。テーブル管理部118は、テーブル記憶部110に記憶される基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116を管理する。ここで、管理とは、これらの管理テーブルをテーブル記憶部110に永続的に保持するための機構を備え、テーブル記憶部110にアクセスと、各管理テーブルの作成、登録、更新、および参照ができることである。なお、各管理テーブルは、表示部134に各管理テーブルの閲覧画面を表示させて、プログラム開発者に提示することができる。また、テーブル管理部118は、本実施形態のプログラム作成支援装置100における開発対象のアプリケーションプログラムに係る管理情報が、テーブル記憶部110に存在するか否かを判別し、存在しない場合は、開発対象のアプリケーションプログラムにしたがって、必要なテーブルを新規に作成し、テーブル記憶部110にアプリケーションプログラムに対応付けて記憶する。基本プログラム管理テーブル112は、本実施形態のプログラム作成支援装置100における開発対象のアプリケーションプログラムの基本プログラムの管理情報を記憶している。本実施形態の基本プログラムは、図9の基本プログラムリスト300に示されるように、プログラム列Aからプログラム列Iの9つのプログラム列を含む。ここで、基本プログラムは、Java登録商標やCといったプログラミング言語で記述されたプログラム列が複数並んだものである。上述したように、テーブル管理部118は、開発対象のアプリケーションプログラムの基本プログラム管理テーブル112がテーブル記憶部110に存在するか否かを判別し、存在しない場合、開発対象のアプリケーションプログラムに基づいて、基本プログラム管理テーブル112を新規に作成し、テーブル記憶部110に記憶する。本実施形態の基本プログラム管理テーブル112は、図3に示すように、開発プログラム記憶部120に記憶されている開発対象のアプリケーションプログラムの基本プログラムに含まれる複数のプログラム列の行番号と、対応するプログラム列を関連付けて記憶する。基本プログラム管理テーブル112には、基本プログラムのすべてのプログラム列に関する情報がそれぞれ保持される。なお、本実施形態では、基本プログラムの実体、すなわち、プログラムコードは、開発プログラム記憶部120に記憶されているものとする。また、本実施形態の基本プログラムにおいて、連続する2つのプログラム列の間には、空白の行空行があるとみなし、テーブル管理部118は、プログラム列の間の空白の行の位置も指し示せるよう行番号を付けて基本プログラム管理テーブル112を作成する。本実施形態では、基本プログラム管理テーブル112は、各プログラム列を各行番号に対応付けて、1列に順に並べ、各プログラム列の間に空白の行を挿入し、各行に行番号を振り、行番号をプログラム列の位置識別子として用いて管理する。たとえば、プログラム列Aとプログラム列Bの間の空白の行には、行番号♯2が振られ、プログラム列Aの行番号は♯1、プログラム列Bの行番号は♯3となる。図3のように、基本プログラムの中の位置を指定する位置識別子として行番号を用いる行単位の管理がもっともベーシックであるが、他の例では、複数行にわたるプログラム列をひとつのブロックと定義し、ブロック単位で、ブロック番号と対応するプログラム列の組で管理することもできる。この場合も、連続する2つのブロックの間には、空白のブロック空ブロックがあるとみなし、テーブル管理部118は、ブロックの間の位置も指し示せるようブロック番号を付けて基本プログラム管理テーブル112を作成することもできる。個別要件管理テーブル114は、図4に示すように、個別要件の識別情報個別要件名と、個別要件を表すプログラム列の組を関連付けて少なくとも一つ保存する。たとえば、個別要件10はプログラム列A10とプログラム列B10などを含むことが、管理情報として記憶されている。なお、本実施形態では、各プログラム列の実体、すなわち、プログラムコードは、開発プログラム記憶部120に記憶されているものとする。なお、他の実施形態において、基本プログラムのプログラム列および個別要件のプログラム列は、基本プログラム管理テーブル112および個別要件管理テーブル114にそれぞれプログラム列の実体、すなわち、プログラムコード自体も格納してしまい、開発プログラム記憶部120は不要とする構成とすることもできる。ユーザ管理テーブル116は、図5に示すように、ユーザテナントごとに、ユーザ固有の個別要件を関連付けて記憶する。たとえば、ユーザ管理テーブル116は、ユーザテナントの識別情報ユーザIDTIDと、個別要件を実行する基本プログラム中の行番号と、その行番号で実行する必要があるユーザ固有の個別要件の識別情報個別要件名の組を複数保存する。たとえば、ユーザIDがTID0001のユーザ固有の個別要件10と個別要件11は、それぞれ行番号♯6と行番号♯11に関連付けて記憶されている。ひな型記憶部122は、後述するアスペクト合成部140がアスペクトを合成する際に使用するひな型を少なくとも一つ格納する。図14および図15に示すように、本実施形態のプログラム作成支援装置100のひな型記憶部122は、第1アスペクトひな型400と、第2アスペクトひな型420と、をそれぞれひな型として記憶する。なお、これらのひな型は、基本的には予め準備されたものを用いるが、後述するプログラム編集部130で、必要に応じて、新規作成、登録、削除および更新などができてもよい。図14において、第1アスペクトひな型400は、基本プログラム管理テーブル112で管理されている基本プログラムの空行に対応する行番号の位置に、個別要件を挿入した場合に用いられる。ひな型は一種のテンプレートで、図中、で示された挿入部に具体的な値や文字列のプログラムコードを挿入することで、後述するアスペクト合成部140によりアスペクトを合成することができるようになっている。Aspectの挿入部402は、アスペクト固有の識別子であるアスペクト名アスペクトIDを表し、他のアスペクト名と重複しなければ任意の文字列でよく、たとえば、通し番号などでよい。Beforeの挿入部404は、個別要件の挿入が指定された基本プログラム中の空行に対応する行番号の次の行番号に対応するプログラム列が記載される。ここでは、たとえば、空白の行の♯6に個別要件が挿入された場合、挿入部404には、その次の行の行番号♯7に対応するプログラム列Dが記載されることとなる。その後に続く、アドバイスには、ユーザIDユーザ固有の識別子の取得を表すプログラム列と、その取得したユーザIDごとに実行すべき異なる個別要件を表すプログラム列が記載される。すなわち、ユーザIDごとに実行すべき異なる個別要件を実行するために、条件分岐のifTID==の挿入部406は、ユーザIDTIDを表し、ユーザ管理テーブル116に記載されているユーザIDのなかで、Beforeの挿入部404のところで述べた空行に対応する行番号と同一の行番号が関連付けて記憶されているものを記載する。そして、ユーザIDユーザ固有の識別子ごとに実行すべき異なる個別要件を表すプログラム列であるdoの挿入部408には、ifTID==の挿入部406のところで述べた行番号に対応する個別要件を表すプログラム列を記載する。ひな型の中で記述されるプログラム列は、ユーザIDの取得のプログラム列とユーザIDごとにどの個別要件を実行すべきか振り分ける分岐のプログラム列である。たとえば、図5のユーザ管理テーブル116では、個別要件が挿入された行番号♯6を含むテナントは、ユーザIDがTID0001とTID0002の2つある。TID0001のユーザIDを挿入部406に記載し、対応する個別要件名、ここでは個別要件10を、対応するdoの挿入部408に記載する。さらに、TID0002のユーザIDをelseifTID==の挿入部410に記載し、対応する個別要件名、ここでは、個別要件20を、対応するdoの挿入部412に記載することとなる。図15において、第2アスペクトひな型420は、基本プログラム管理テーブル112で管理されている基本プログラムの空行ではないプログラム列に対応する行番号の位置に、個別要件を挿入した場合に用いられる。Aroundの挿入部424には、空行ではないプログラム列を指定する。他の挿入部の扱いは、図14のひな型と同じである。たとえば、空行ではないプログラム列Fに個別要件が挿入された場合、挿入部424には、その行に対応するプログラム列Fが記載されることとなる。図1に戻り、個別要件管理部128は、ユーザごとに定義できるユーザ固有の個別要件を実現するプログラム列を管理する。プログラム列自体は、後述するプログラム編集部130により編集でき、個別要件単独で行ってもよいし、ユーザのアプリケーションプログラム作成時に行ってもよい。個別要件は、開発プログラム記憶部120に個別要件の識別情報個別要件名などを付して記憶することができる。個別要件管理部128によって新たな個別要件を登録することができ、新たな個別要件が登録された時、個別要件管理部128は、基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116を更新するようテーブル管理部118に通知する。プログラム編集部130は、基本プログラムをもとに開発者がプログラムを編集するエディタの機能を提供する。エディタの機能は一般的なものであり、プログラム作成支援装置100を実現するコンピュータのディスプレイなどの表示部134に後述する図10~図13に示すプログラムエディタ画面を表示させて、プログラム開発者に編集対象のプログラムを提示し、プログラム開発者によるキーボードとマウスなどの入力装置を用いた操作を操作部132が受け付けて、プログラム列の作成、修正、または削除などを行うことができる。プログラム編集部130は、編集の作業と並行して、基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116の作成および更新を行うようテーブル管理部118や個別要件管理部128に通知する。本実施形態において、プログラム編集部130は、たとえば、開発対象のユーザテナントを指定し、その対象のユーザ専用の利用者画面として編集画面を表示させることができる。または、ユーザを指定する代わりに、プログラム作成支援装置100を利用するために、ユーザ毎に設定されたユーザ情報、たとえば、ユーザIDとパスワードにより、システムにログインすることで、認証されたユーザ専用の利用者画面を利用することを可能としてもよい。アスペクト合成部140は、テーブル管理部118が管理する基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116をもとに、ひな型記憶部122に記憶されているひな型に従って、ユーザごとの個別要件を実装したアスペクトを合成する。本実施形態では、アスペクト合成部140によって合成されたアスペクトは、図2のプログラム提供サーバ12によって、基本プログラムに織り込まれ、実行され、ネットワーク3を介してユーザのユーザ端末20にサービスが提供されることとなる。あるいは、プログラム作成支援装置100によって合成されたアスペクトと、基本プログラムは、ユーザごとにカスタムプログラムとして図2の提供プログラム記憶装置10に格納され、ユーザの要求に応じて、プログラム提供サーバ12が、ユーザごとにカスタムプログラムを実行して、ユーザ端末20にサービスを提供することもできる。アスペクト合成部140で合成されたアスペクトは、アスペクト記憶部142に記憶することができる。または、アスペクトは、開発プログラム記憶部120に記憶されてもよい。本実施形態のプログラムは、コンピュータに、開発対象のアプリケーションプログラムを作成するプログラム作成支援装置を実現させるためのプログラムであって、プログラム作成支援装置100を実現させるためのコンピュータに、テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを編集するための編集画面図10のプログラムエディタ画面210を表示部134図1に表示して提示する手順、プログラム開発者による操作部132図1を利用した、ユーザ毎に定義できる個別要件を基本プログラムに挿入する編集操作を受け付ける手順、受け付けた編集操作に従ってプログラムを編集する手順、受け付けた個別要件を対象のユーザ毎に、基本プログラムの対象のプログラム列に関連付けて、ユーザ管理テーブル116、基本プログラム管理テーブル112、および個別要件管理テーブル114に登録し管理する手順、テーブル記憶部110およびひな型記憶部122を参照し、ユーザ管理テーブル116、基本プログラム管理テーブル112、および個別要件管理テーブル114に登録された定義に従って、ひな型を用いてアスペクトを合成する手順、ユーザ毎の個別要件を基本プログラムとともに実現するアプリケーションプログラムを実行する手順、を実行させるように記述されている。本実施形態のコンピュータプログラムは、コンピュータで読み取り可能な記憶媒体に記録されてもよい。記録媒体は特に限定されず、様々な形態のものが考えられる。また、プログラムは、記録媒体からコンピュータのメモリにロードされてもよいし、ネットワークを通じてコンピュータにダウンロードされ、メモリにロードされてもよい。上述のような構成において、本実施の形態のデータ処理装置100によるデータ処理方法を以下に説明する。図6は、本実施形態のプログラム作成支援装置100の動作の一例を示すフローチャートである。本実施形態のデータ処理方法は、プログラム作成支援装置100図1が、テーブル記憶部110を参照し、プログラム開発者に編集対象のプログラムを編集するための編集画面図10のプログラムエディタ画面210を表示部134図1に表示して提示し、プログラム開発者による操作部132図1を利用した、ユーザ毎に定義できる個別要件を基本プログラムに挿入する編集操作を受け付け、受け付けた編集操作に従ってプログラムを編集し、受け付けた個別要件を対象のユーザ毎に、基本プログラムの対象のプログラム列に関連付けて、ユーザ管理テーブル116図1、基本プログラム管理テーブル112図1、および個別要件管理テーブル114図1に登録し、テーブル記憶部110図1およびひな型記憶部122図1を参照し、ユーザ管理テーブル116、基本プログラム管理テーブル112、および個別要件管理テーブル114に登録された定義に従って、ひな型を用いてアスペクトを合成し、ユーザ毎の個別要件を基本プログラムとともに実現するアプリケーションプログラムを実行する。以下、本実施形態のプログラム作成支援装置100の動作について、図1乃至図6を用いて説明する。具体的には、図6に示すように、本実施形態のプログラム作成支援装置100図1において、まず、プログラム編集部130図1が、開発プログラム記憶部120図1から基本プログラムを読み込むステップS101。プログラム編集部130が、読み込んだ基本プログラムに該当する基本プログラム管理テーブル112図1、個別要件管理テーブル114図1、およびユーザ管理テーブル116図1がテーブル記憶部110図1にそれぞれ登録されているかどうか、テーブル管理部118図1に問い合わせる。テーブル管理部118は、テーブル記憶部110を参照し、各テーブルが存在するか否かを判別する。テーブルが登録されていない場合にはステップS103のNO、テーブル管理部118は、読み込んだ基本プログラムのための基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116をそれぞれ新規に作成し、テーブル記憶部110に格納するステップS121。そして、ステップS105に進む。一方、テーブルが登録されている場合にはステップS103のYES、プログラム編集部130が、テーブル記憶部110を参照し、基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116をテーブル記憶部110から読み出すステップS105。次に、プログラム作成支援装置100の表示部134図1には、プログラム編集部130により、図10のプログラムエディタ画面210が表示される。なお、本実施形態において、ステップS101またはステップS107の前に、図8のユーザ指定画面200がプログラム作成支援装置100の表示部134に表示されてもよい。図8に示すように、ユーザ指定画面200は、ユーザID指定欄202と、OKボタン204と、を含む。プログラム開発者に操作部132を利用して、編集対象のプログラムのユーザ、すなわち、テナントのIDをユーザID指定欄202に入力または、プルダウンメニューなどで選択させる。OKボタン204の操作に呼応して、ユーザID指定欄202で指定されたユーザIDを受け付ける。この図8のユーザ指定画面200で指定されたユーザのカスタムプログラムを編集するための画面の一例が、図10のプログラムエディタ画面210である。プログラムエディタ画面210は、図9の基本プログラムリスト300が編集対象として表示される。基本プログラムの各プログラム列には、行番号212が振られている。図10に示すように、連続するプログラム列の間には、それぞれ空白の行があるとみなし、空白行にも行番号212が振られている。プログラムエディタ画面210のユーザID表示欄214には、上述した図8のユーザ指定画面200で指定された編集対象のユーザテナントの識別情報、図10では、TID0001が表示されている。プログラムエディタ画面210には、カーソル216位置が反転表示されている。また、プログラム開発者は、操作部132を利用して、ポインタ218を移動させて編集位置を指定することもできる。このようにして、プログラム開発者は、キーボード等を用いてカーソル216で示された文字やマウスポインタ218で示された位置を編集することができる。このように、プログラム開発者は、ユーザ毎に個別要件を編集および管理できる。図6に戻り、プログラム編集部130が、プログラム開発者がプログラムエディタ画面210で操作部132を利用して作成したユーザごとの個別要件を記述するプログラム列を受け付けるステップS107。そして、プログラム編集部130によって受け付けられたプログラム列は、個別要件管理部128により、開発プログラム記憶部120に登録されるとともに、個別要件管理テーブル114およびユーザ管理テーブル116を更新するようにテーブル管理部118に通知される。すなわち、プログラム編集部130は、基本プログラムの複数のプログラム列をプログラム開発者に提示する提示部図10のプログラムエディタ画面210と、対象のユーザの個別要件を挿入する挿入位置として、提示部に提示された基本プログラムの複数のプログラム列の位置をプログラム開発者に指定させて受け付け、個別要件管理部128は、ユーザ毎に、プログラム編集部130が受け付けた挿入位置と個別要件とを関連付けて、ユーザ管理テーブル116および個別要件管理テーブル114に登録し管理するよう118に通知する。この構成により、プログラム開発者は、提示された基本プログラムの複数のプログラム列を参照しながらユーザ毎の個別要件を挿入してプログラムを編集できることとなる。そして、テーブル管理部118が、個別要件管理部128からの通知を受けて、テーブル記憶部110の個別要件管理テーブル114およびユーザ管理テーブル116を更新するステップS109。そして、アスペクト合成部140が、ひな型記憶部122とテーブル記憶部110を参照し、ひな型と、基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116を読み出すステップS111。そして、アスペクト合成部140が、これらの情報をもとに、ポイントカットごとに該当するアスペクトの記述を合成するステップS113。合成されたアスペクトは、開発プログラム記憶部120に格納される。アスペクト合成処理の詳細については、後述する。そして、プログラム実行部であるプログラム提供サーバ12図2が、基本プログラムと合成したアスペクトを読み込み、アスペクト指向プログラミングの手法に従ってアスペクトを基本プログラムに織り込みながらプログラムを実行するステップS115。これにより、ユーザごとに異なる個別要件を満たすアプリケーションプログラムを利用したサービスを、各ユーザのユーザ端末20に提供できることとなる。以下、プログラム作成支援装置100におけるユーザ毎の個別要件の編集処理について、プログラム開発者の編集操作に沿って、具体例を示しながら説明する。以下、図1、図5、図10~図13を用いて説明する。たとえば、図10に示すように、プログラムエディタ画面210において、基本プログラムのプログラム列Cとプログラム列Dの間の6行目の空白行の位置にプログラム開発者は操作部132図1を利用してポインタ218を移動し、選択する。すると、図11に示すように、個別要件編集欄220が展開され、TID0001のユーザの個別要件を記述するプログラム列を編集することができるようになる。なお、図11の例では、プログラムエディタ画面210に個別要件編集欄220が展開されるように構成されているが、これに限定されるものではなく、別のウインドウを開いて編集できるようにしてもよい。そして、プログラム開発者は、操作部132を利用して個別要件編集欄220に、TID0001のユーザの個別要件10に対応するプログラム列を記述していく。図11では、個別要件10と記載されているが、この個別要件10は、図4の個別要件管理テーブル114に示されるように、複数のプログラム列、たとえば、A10、B10、...といった内容とすることができる。図11に戻り、さらに、6行目の個別要件10の編集を終了した後、プログラム開発者は、さらに、11行目に相当するプログラム列Fの位置に操作部132を利用してポインタ218を移動し、選択する。すると、図12に示すように、11行目の位置に個別要件編集欄220が展開され、そこに、TID0001のユーザの個別要件11に対応するプログラム列をさらに記述していくことができる。この個別要件11は、図4の個別要件管理テーブル114に示すように、複数のプログラム列、たとえば、A11、B11、...といった内容とすることができる。図12では、先に編集した個別要件10が行番号♯6に挿入され、編集済み個別要件欄222としてプログラムエディタ画面210上に提示されている。次に、プログラム開発者は、TID0001のユーザのプログラムの編集を終了し、TID0002のユーザのプログラムの編集を行うとする。プログラム編集部130は、開発プログラム記憶部120から基本プログラムを読み込み、図13に示すように、TID0002のユーザ用のプログラムエディタ画面210が表示部134に表示される。TID0001のユーザのときと同様に、プログラムを編集することができる。ここでは、たとえば、プログラムエディタ画面210において、基本プログラムのプログラム列Cとプログラム列Dの間の6行目の空白行の位置にプログラム開発者は操作部132を利用してポインタ218を移動し、選択する。すると、個別要件編集欄220が展開され、TID0002のユーザの個別要件を記述するプログラム列を編集することができるようになる。そして、プログラム開発者は、操作部132を利用して個別要件編集欄220に、TID0002のユーザの個別要件20に対応するプログラム列を記述していく。この個別要件20は、図4の個別要件管理テーブル114に示されるように、複数のプログラム列、たとえば、A20、B20、...といった内容とすることができる。プログラム開発者によるTID0002のユーザのプログラムの編集も終了したとき、プログラム編集部130は、これらのプログラムの編集内容を受け付ける。個別要件管理部128は、受け付けた各個別要件を記述するプログラム列を開発プログラム記憶部120に記憶するとともに、テーブル管理部118および個別要件管理部128に、テーブル記憶部110の個別要件管理テーブル114およびユーザ管理テーブル116を更新するよう通知する。なお、プログラム編集部130がテーブル管理部118および個別要件管理部128に各テーブルの更新を指示するタイミングは、これに限定されない。たとえば、途中でプログラム開発者の指示を受け付け更新してもよいし、定期的に更新してもよいし、ユーザ毎の定義が終了したときでもよい。テーブル記憶部110の個別要件管理テーブル114は、図4に示すように更新され、テーブル記憶部110のユーザ管理テーブル116は、図5に示すように更新される。なお、本実施形態では、個別要件をプログラムエディタ画面210上で、新規に入力する例について説明したが、これに限定されず、たとえば、プログラムエディタ画面210で、既にテーブル記憶部110の個別要件管理テーブル114に登録されている個別要件を読み出し、プログラム開発者に提示し、基本プログラムの指定した行の位置に、選択した個別要件を挿入することもできる。また、既に登録されている個別要件を記述するプログラム列をプログラムエディタ画面210の個別要件編集欄220上で、変更することもできる。そして、プログラムの編集が終了した後、アスペクト合成部140が、テーブル記憶部110から基本プログラム管理テーブル112、個別要件管理テーブル114、およびユーザ管理テーブル116を読み出すとともに、ひな型記憶部122からひな型を読み出す。本実施形態では、上述した図14および図15の2種類のひな型が予め準備されており、これらが読み出される。以下、図7を用いて、アスペクト合成処理の詳細について、具体例を示しながら説明する。以下、図1、図3~図5、図7、図14~図17を用いて説明する。このフローチャートに示す処理は、図6のステップS113の詳細処理である。アスペクト合成部140図1が、以下の処理を行う。図5のユーザ管理テーブル116を参照し、ユーザ管理テーブル116から、6行目と11行目に挿入すべき個別要件があることを検出するステップS201。そこで、まず、6行目に織り込むアスペクトを合成する。以下、ステップS201で検出された各行について、ステップS205~ステップS225を繰り返すステップS203。なお、すべての行について処理が終了したらステップS227、本処理を終了する。そして、図3の基本プログラム管理テーブル112を参照し、個別要件が挿入されている行が空白行か否かを判別するステップS205。ここで、6行目は空白行であるためステップS205のYES、空行に対応した図14の第1アスペクトひな型400を選択して用いるステップS207。第1アスペクトひな型400において、Aspectの挿入部402は、アスペクト名アスペクトID、たとえば、XXXが記載されるステップS211。ここで、第1アスペクトひな型400を用いているのでステップS213のYES、個別要件の挿入が指定された基本プログラム中の空行に対応する行番号の次の行番号に対応するプログラム列、ここでは、空白の行の♯6の次の行の行番号♯7に対応するプログラム列Dが取得され、Beforeの挿入部404に記載されるステップS215。そして、ユーザ管理テーブル116を参照し、該当行、ここでは行番号♯6に個別要件が記載されているユーザIDTIDと個別要件の組を取得するステップS219。この例では、TID0001と個別要件10、TID0002と個別要件20の2つの組が取得される。そして、各ユーザIDごとに、以下のステップS223の処理を繰り返すステップS221。ステップS219で取得したすべてのユーザIDについて処理が終了するまで繰り返しステップS225、すべてのユーザIDについて終了したら、ステップS227に進む。ステップS223では、条件分岐のifTID==の挿入部406に、ステップS219で取得したユーザIDであるTIDの0001が記載される。そして、doの挿入部408には、ユーザIDがTID0001の6行目に対応する個別要件10を表すプログラム列A10、B10、...といった内容が記載される。次に、次のユーザIDについて、ステップS223の処理を繰り返す。すなわち、条件分岐のelseifTID==の挿入部410に、ステップS219で取得したユーザIDであるTIDの0002が記載される。そして、doの挿入部412には、ユーザIDがTID0002の6行目に対応する個別要件20を表すプログラム列A20、B20、...といった内容が記載される。ここまでの処理で、第1アスペクトひな型400を用いたアスペクトの合成が終了する。この結果得られたアスペクト440を図16に示す。次に、ステップS201で検出された行のうち、まだ処理が済んでいない行番号♯11について、処理を繰り返す。すなわち、ステップS205に戻り、ユーザ管理テーブル116の11行目に織り込むアスペクトを合成する。基本プログラム管理テーブル112を参照し、個別要件が挿入されている行が空白行か否かを判別し、11行目は空白行でないためステップS205のNO、図15の第2アスペクトひな型420を選択して用いるステップS209。第2アスペクトひな型420において、Aspectの挿入部402は、アスペクト名アスペクトID、たとえば、YYYが記載されるステップS211。ここで、第2アスペクトひな型420を用いているのでステップS213のNO、個別要件の挿入が指定された基本プログラム中のプログラム列、ここでは、プログラム列Fが取得され、Aroundの挿入部424に記載されるステップS217。そして、ユーザ管理テーブル116を参照し、該当行、ここでは行番号♯11に個別要件が記載されているユーザIDTIDと個別要件の組を取得するステップS219。この例では、TID0001と個別要件11の1組が取得される。そして、条件分岐のifTID==の挿入部406に、ステップS219で取得したユーザIDであるTIDの0001が記載される。そして、doの挿入部408には、ユーザIDがTID0001の11行目に対応する個別要件11を表すプログラム列A11、B11、...といった内容が記載されるステップS223。ここでは、ユーザIDはTID0001のみなので、ステップS227に進み、ここまでの処理で、第2アスペクトひな型420を用いたアスペクトの合成が終了する。この結果得られたアスペクト460を図17に示す。ここで、ステップS201で検出されたすべての行について処理が終了したので、本処理を終了する。このようにして各ユーザのプログラムに織り込む各アスペクトが合成され、アスペクト記憶部142に記憶される。次に、これらのプログラムを利用したサービスを各ユーザに提供する場合について、説明する。図1および図2に示すように、プログラム作成支援装置100で開発されたプログラムは、開発プログラム記憶部120およびアスペクト記憶部142から提供プログラム記憶装置10にコピーされ、格納される。プログラム提供サーバ12が提供プログラム記憶装置10にアクセスし、基本プログラムとプログラム作成支援装置100によって合成された2つのアスペクトを読み込み、アスペクト指向プログラミングの手法に従ってアスペクトを基本プログラムに織り込みながらプログラムを実行する。プログラム提供サーバ12が、TID0001のユーザ向けに実行する実効的なプログラム310の例を図18に示す。このように、プログラム提供サーバ12は、プログラム列Dの前で個別要件10符号312を実行し、プログラム列Fの代わりに個別要件11符号314を実行することとなる。また、プログラム提供サーバ12が、TID0002のユーザ向けに実行する実効的なプログラム330の例を図19に示す。このように、プログラム提供サーバ12は、プログラム列Dの前で個別要件20符号332を実行することとなる。以上説明したように、本実施形態のプログラム作成支援装置100によれば、ユーザ毎に設けられた編集画面で基本プログラムに個別要件を挿入するだけで、自動的に対応するアスペクトを合成できるので、プログラム開発者がアスペクトを意識することなく、ユーザテナントを単位として編集作業ができるようになる。そのため、プログラム開発者がユーザ個別要件に対応したユーザテナントごとのカスタムプログラムを容易に開発し保守できるようになり、ユーザ個別要件に対応する際の作業効率やプログラム開発者の負担を改善することができる。これにより、プログラムの実装、実行の際のアスペクトを単位としたプログラムの管理において、プログラム開発者がプログラムの開発やバグ解析を行う際にはユーザテナントを単位として編集作業が行えるようになり、開発者の視点での編集、解析に適したプログラムの作成を支援することができることとなる。すなわち、ひとつのアスペクトに多数のテナント個別要件がまとめて実装されたり、ひとつのテナントの個別要件が複数のアスペクトに分かれて実装されたりすると、プログラム開発者がアスペクトとユーザテナントという2つの観点を把握しなければならず煩雑になり、プログラム開発者が、ユーザテナントごとに実行される実効的なプログラムを把握しにくいとう問題点を解決できる。以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。以上、実施形態および実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。以上、本発明の構成について説明したが、本発明は、これに限られず様々な態様を含む。以下はその例示である。本発明のプログラム作成支援装置は、開発対象のアプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、前記テーブル記憶装置を参照し、プログラム開発者に編集対象のプログラムを提示し、前記基本プログラムに、前記ユーザ毎に定義できる前記個別要件を挿入する編集操作を受け付け、受け付けた前記編集操作に従って前記プログラムを編集するプログラム編集手段と、前記プログラム編集手段が受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し管理する個別要件管理手段と、前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成する合成手段と、を備える前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを作成し、前記基本プログラム管理テーブルは、前記基本プログラム中の複数の前記プログラム列の位置を示す位置識別子と、対応するプログラム列をそれぞれ関連付けて記憶し、さらに、前記位置識別子は、前記基本プログラムの各プログラム列に振られた行番号であるプログラム作成支援装置。上記に記載のプログラム作成支援装置において、前記位置識別子は、前記基本プログラムの複数のプログラム列を表すブロックの番号であるプログラム作成支援装置。上記に記載のプログラム作成支援装置において、前記プログラム列は、連続する2つのプログラム列の間に空ブロック列が定義され、前記ブロックの番号は、前記空ブロック列を含めた番号であるプログラム作成支援装置。本発明のプログラム作成支援装置のデータ処理方法は、開発対象のアプリケーションプログラムを作成するプログラム作成支援装置のデータ処理方法であって、前記プログラム作成支援装置が、前記アプリケーションプログラムのユーザに共通な基本プログラムを構成する複数のプログラム列を管理する基本プログラム管理テーブル、前記基本プログラムとは別に、前記ユーザ毎に定義できる個別要件を実現するプログラム列を管理する個別要件管理テーブル、および前記ユーザ毎に前記個別要件を関連付けて管理するユーザ管理テーブルを記憶するテーブル記憶装置と、前記個別要件を実現するアスペクトを生成するためのひな型を記憶するひな型記憶装置と、プログラム開発者に操作画面を表示して提示する表示部と、前記プログラム開発者の操作を受け付ける操作部と、を備え、前記プログラム作成支援装置が、前記テーブル記憶装置を参照し、前記プログラム開発者に編集対象のプログラムを編集するための編集画面を前記表示部に表示して提示し、前記プログラム開発者による前記操作部を利用した、前記ユーザ毎に定義できる前記個別要件を前記基本プログラムに挿入する編集操作を受け付け、受け付けた前記編集操作に従って前記プログラムを編集し、受け付けた前記個別要件を対象のユーザ毎に、前記基本プログラムの対象のプログラム列に関連付けて、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに登録し、前記テーブル記憶装置および前記ひな型記憶装置を参照し、前記ユーザ管理テーブル、前記基本プログラム管理テーブル、および前記個別要件管理テーブルに従って、前記ひな型を用いて前記アスペクトを合成し、前記ユーザ毎の前記個別要件を前記基本プログラムとともに実現する前記アプリケーションプログラムを実行するプログラム作成支援装置のデータ処理方法である。この出願は、2010年3月5日に出願された日本出願特願2010-049333号を基礎とする優先権を主張し、その開示の全てをここに取り込む。