しかしながら、UML言語やGUI画面を用いた、人間が理解しやすいグラフィカルな設計書類を成果物として作成すると、次工程のシステム開発支援ツールに当該成果物を設計情報として渡すことが困難である。すなわち、グラフィカルな図等を使用した成果物は、設計者が目視により確認する際には便利であるが、コンピュータに対する設計情報として、共通した形式により表現する事が困難なのである。よって、前工程の成果物であるグラフィカルな設計書類に沿った内容を、設計者がコンピュータを利用して次工程のシステム開発支援ツールに入力しなければならない。これは、設計作業について考えると、二度手間であり、設計作業に余分な時間がかかってしまうという問題がある。
また、各工程のシステム開発支援ツールの利用方法等について、設計者が学習して覚える必要があり、ある程度の業務経験がなければ使いこなすのが難しいという問題がある。前記のように、上流から下流までの設計工程ごとにシステム開発支援ツールが存在するため、当該設計工程の数だけシステム開発支援ツールが存在し、この労力が必要となる。
さらに、従来のシステム開発支援ツールでは、「前工程の成果物を、次工程で詳細化していく」という開発思想をふまえて作成されているため、上流工程と下流工程とを並行して開発することが難しいという問題がある。なぜならば、下流工程の設計作業を先に進めると、上流工程の設計情報と論理的な整合性をとるのが非常に難しいからである。
また、同様の理由から、下流工程の作業中に上流工程での設計手戻り作業が発生した場合は、上流工程の設計情報を修正してから、当該修正を下流工程に全て反映させる必要があるという問題がある。
さらに、前記品質機能展開(QFD)は、製造業の品質管理のために開発されたものであり、ソフトウェアの製造に関しては、そのまま適用する事が困難であるという問題がある。
1、そこで、上記課題を解決するため、本発明に係る設計コンピュータプログラムは、情報を記憶する記憶手段と、情報を処理する処理手段と、利用者からの命令を受けつける入力手段と、利用者に情報を出力する出力手段とを備えたコンピュータシステムにおいて、コンピュータプログラムの設計のうち、外部設計、内部設計、及びプログラム設計を一貫して行うための設計プログラムである。
また、前記コンピュータシステムの前記記憶手段は、前記外部設計、内部設計、及びプログラム設計に関して使用するプログラム開発の部品としての部品情報が属する区分を識別する部品区分情報と、個々の前記部品情報を識別する部品情報識別情報とを関連付けて記憶すると共に、前記一貫したコンピュータプログラムの設計のために必要となる、複数の前記部品区分情報についての関連付けが定義されている部品区分関連情報とを記憶している。
そして、前記コンピュータシステムの前記処理手段が、(1)任意の前記部品区分関連情報の選択を、前記入力手段を介して受け付けること、(2)当該選択された部品区分関連情報を前記記憶手段から読み出すと共に、当該読み出した部品区分関連情報に関連付けが定義されている前記部品区分情報を特定すること、(3)当該特定した部品区分情報に関連付いている前記部品情報識別情報を、前記記憶手段から読み出して前記出力手段に出力すること、(4)当該出力した部品情報識別情報について関連付けの選択を、前記入力手段を介して受け付けること、(5)当該入力された部品情報識別情報の関連付けを、前記(2)で読み出した部品区分関連情報に関連付けて、前記コンピュータプログラムの設計情報として前記記憶手段に記憶させること、(6)前記(1)〜(5)の設計処理を繰り返すことにより、前記コンピュータプログラムの設計情報を前記記憶手段に記憶させていくこと、(7)任意の前記部品情報識別情報の選択を、前記入力手段を介して受け付けること、(8)前記記憶手段に記憶されている設計情報のうち、当該選択された部品情報識別情報に直接関連付いている設計情報と、当該選択された部品情報識別情報とは異なる他の部品情報識別情報を介して当該選択された部品情報識別情報に間接的に関連付いている設計情報とを、特定のコンピュータプログラムの設計情報として前記記憶手段に記憶させること、を、前記処理手段に行わせることを特徴とする設計コンピュータプログラムである。
ここで、「記憶手段」とは、RAM、ROM、HDD等のコンピュータシステムにおける記憶装置が該当する。「処理手段」とは、CPU等のコンピュータシステムにおける演算装置が該当する。「入力手段」とは、キーボード、マウス、タッチパネル等のコンピュータシステムにおける入力装置が該当する。「出力手段」とは、ディスプレイ、プリンタ等のコンピュータシステムにおける出力装置が該当する。
また、「コンピュータプログラムの設計のうち、外部設計、内部設計、及びプログラム設計を一貫して行う」とは、設計処理の結果、これらの各設計工程についての設計情報が、関連付けを有することを表す。すなわち、各設計工程についての設計情報が、関連付けを有するため、上流から下流までの設計工程について一貫した設計情報を取得できるのである。
「部品区分情報」の種類としては、例えば、会社や組織単位におけるシステム管理の部品区分情報である「プロジェクト」、システムの機能の最小単位を表す部品区分情報である「アクティビティ」、管理するデータの最小単位を表す部品区分情報である「項目」、データベースのテーブルと同様のものを表わす部品区分情報である「エンティティ」(エンティティはエンティティ関連図のノードにも該当する)、WEBブラウザ等で表示される1画面を表す部品区分情報である「画面」、部品情報としてのプログラムを管理する部品区分情報である「プログラム」、ユーザーからのリクエストやシステムからのリクエストによって発生する処理を表す部品区分情報である「イベント」、等がある。
また、「部品情報」とは、外部設計、内部設計、及びプログラム設計の部品となる情報であり、データやプログラム、定義情報等が該当する。「部品情報識別情報」とは、前記部品情報を識別するための情報であり、管理番号・コードや識別番号・コード等の識別子が該当する。
「部品区分情報」と「部品情報識別情報」とを関連付けて記憶することにより、「部品情報識別情報」が表す「部品情報」が、どの「部品区分情報」に属しているかを特定する事ができる。
また、「部品区分関連情報」とは、複数の前記部品区分情報についての関連付けが定義されており、個々の「複数の前記部品区分情報についての関連付け」は、プログラムの設計情報を関連付けて管理する単位となっている。
「部品情報識別情報について関連付けの選択を、前記入力手段を介して受け付ける」とは、出力手段(ディスプレイ等)に出力された複数の部品情報識別情報について、情報の関連付けの選択を、入力手段(マウス、キーボード、タッチパネル等)を介して受け付けるという意味である。
前記のように、部品情報識別情報の関連付けがプログラムの設計情報となるが、「当該選択された部品情報識別情報に直接関連付いている設計情報」とは、当該選択された部品情報識別情報を、直接関連付けに含んでいる設計情報のことである。一方、「当該選択された部品情報識別情報とは異なる他の部品情報識別情報を介して当該選択された部品情報識別情報に間接的に関連付いている設計情報」とは、当該選択された部品情報識別情報を直接含んでいる設計情報ではないが、複数の設計情報に含まれている部品情報識別情報の関連付けの結果、当該選択された部品情報識別情報とは異なる他の部品情報識別情報を介して(関連付けの結果として)、間接的に当該選択された部品情報識別情報に関連付いている設計情報をいう。概念的には、当該選択された部品情報識別情報に関連付いている設計情報を、芋づる式に特定し、当該特定した設計情報の集合を、特定のコンピュータプログラムの設計情報として記憶させるのである。よって、1の「特定のコンピュータプログラムの設計情報」は、2以上の「コンピュータプログラムの設計情報」から取得(生成)されるという関係にある。
以上の定義は、以下の発明にも適用される。
前記(1)〜(5)の設計処理により、前記一貫したコンピュータプログラムの設計のために必要となる部品区分関連情報の定義に基づいて、部品情報識別情報の関連付けである設計情報が記憶手段に記憶されていく。そして、当該設計処理を繰り返すことにより、コンピュータプログラムの設計を行ってゆき、記憶手段に記憶されている設計情報のうち、任意の部品情報識別情報に直接的、間接的に関連付いている設計情報を、特定のコンピュータプログラムの設計情報として記憶手段に記憶させる。
本発明を利用すると、設計者にとっては、入力手段を介して部品区分関連情報の選択を行い、処理手段が出力手段に出力した部品情報識別情報についての関連付けの選択を、入力手段を介して行うだけで、コンピュータプログラムの設計情報が記憶手段に記憶されていく。よって、従来のシステム開発支援ツールよりも操作が容易であり、使用方法について学習の手間も少ない。さらに、外部設計、内部設計、プログラム設計に関する設計情報を、何れかの部品区分に属する部品情報識別情報についての関連付けとして記憶していくため、前工程の成果物としての設計情報を、次工程に即座に活用する事ができるのである。また、設計者は、部品区分関連情報の選択を行い、処理手段が出力手段に出力した部品識別情報についての関連付けの選択を行うだけであるため、上流と下流との設計作業を複数の設計者が並行して進めることもできるのである。さらに、設計者が任意の部品情報識別情報を選択すれば、記憶手段に記憶されている設計情報のうち、当該選択された部品情報識別情報に直接的、間接的に関連付いている設計情報を、特定のコンピュータプログラムの設計情報として容易に特定、取得する事ができる。また、設計者が、記憶手段に記憶されている全ての部品区分関連情報について、処理手段が出力手段に出力した部品情報識別情報についての関連付けの選択を行えば、設計作業が終了する。よって、従来の設計作業に比較して、設計作業に伴い設計者が判断に迷う要素が格段に少なくなるため、設計作業の大幅な効率化を実現する事ができるのである。
2、また、他の発明に係る設計コンピュータプログラムは、情報を記憶する記憶手段と、情報を処理する処理手段と、利用者からの命令を受けつける入力手段と、利用者に情報を出力する出力手段とを備えたコンピュータシステムにおいて、コンピュータプログラムの設計のうち、外部設計、内部設計、及びプログラム設計を一貫して行うための設計プログラムである。
また、前記コンピュータシステムの前記記憶手段は、前記外部設計、内部設計、及びプログラム設計に関して使用するプログラム開発の部品としての部品情報が属する区分を識別する部品区分情報と、個々の前記部品情報を識別する部品情報識別情報とを関連付けて記憶すると共に、前記一貫したコンピュータプログラムの設計のために必要となる、複数の前記部品区分情報についての関連付けが定義されている部品区分関連情報と、複数の前記部品情報識別情報についての関連付けであるコンピュータプログラムの設計情報とを関連付けて記憶している。
そして、前記コンピュータシステムの前記処理手段が、(1)任意の前記部品区分関連情報の選択を、前記入力手段を介して受け付けること、(2)当該選択された部品区分関連情報を前記記憶手段から読み出すと共に、当該読み出した部品区分関連情報に関連付いている前記設計情報を特定すること、(3)当該特定した設計情報と、前記読み出した部品区分関連情報に含まれる部品区分情報に関連付いている前記部品情報識別情報とを、前記記憶手段から読み出して前記出力手段に出力すること、(4)当該出力した部品情報識別情報について関連付けの選択を、前記入力手段を介して受け付けること、(5)前記(3)で読み出した設計情報に代わる設計情報として、当該入力された部品情報識別情報の関連付けを、前記(2)で読み出した部品区分関連情報に関連付けて前記記憶手段に記憶させること、(6)任意の前記部品情報識別情報の選択を、前記入力手段を介して受け付けること、(7)前記記憶手段に記憶されている設計情報のうち、当該選択された部品情報識別情報に直接関連付いている設計情報と、当該選択された部品情報識別情報とは異なる他の部品情報識別情報を介して当該選択された部品情報識別情報に間接的に関連付いている設計情報とを、特定のコンピュータプログラムの設計情報として前記記憶手段に記憶させること、を、前記処理手段に行わせることを特徴とする設計コンピュータプログラムである。
ここで、「前記(3)で読み出した設計情報に代わる設計情報として、当該入力された部品情報識別情報の関連付けを、前記(2)で読み出した部品区分関連情報に関連付けて前記記憶手段に記憶させる」とは、設計情報を更新する処理が該当する。この更新処理は、旧の設計情報(前記(3)で読み出した設計情報)を上書きすることにより更新してもよいし、旧の設計情報(前記(3)で読み出した設計情報)を削除せずに別に保存する事によって、最新の設計情報として管理することにより、更新してもよい。
以上の定義は、以下の発明にも適用される。
本発明を利用すると、設計者にとっては、入力手段を介して部品区分関連情報の選択を行い、処理手段が出力手段に出力した設計情報及び部品情報識別情報を元にして、当該部品情報識別情報についての新たな関連付けの選択を、入力手段を介して行うだけで、コンピュータプログラムの設計情報を更新することができる。よって、既存のコンピュータプログラムの設計情報を活用して、新たなコンピュータプログラムの設計を、簡便に行えるのである。また本発明では、複数の部品情報識別情報の関連付けをコンピュータプログラムの設計情報として記憶手段に記憶しており、2以上の設計情報から1の「特定のコンピュータプログラムの設計情報」が取得(生成)されるという関係にある。よって、例えば、上流の設計工程を表す部品区分関連情報に関連付いている設計情報を更新すれば、下流の設計情報を全て再利用して、新たなコンピュータプログラムの設計が行え、結果として開発工数を大幅に削減できる。よって、設計情報をテンプレート化することも可能となり、テンプレート化した設計情報の流通・販売も実現する事ができる。
3、また、他の発明に係る設計コンピュータプログラムは、情報を記憶する記憶手段と、情報を処理する処理手段と、利用者からの命令を受けつける入力手段と、利用者に情報を出力する出力手段とを備えたコンピュータシステムにおいて、コンピュータプログラムの設計のうち、外部設計、内部設計、及びプログラム設計を一貫して行うための設計プログラムである。
また、前記コンピュータシステムの前記記憶手段は、前記外部設計、内部設計、及びプログラム設計に関して使用するプログラム開発の部品としての部品情報が属する区分を識別する部品区分情報と、個々の前記部品情報を識別する部品情報識別情報とを関連付けて記憶すると共に、前記一貫したコンピュータプログラムの設計のために必要となる、複数の前記部品区分情報についての関連付けが定義されている部品区分関連情報とを記憶している。
更に、前記コンピュータシステムの当該記憶手段は、前記設計プログラムの利用者を区分する利用者区分情報と前記部品情報識別情報を前記出力手段に出力する際の名称である名称情報との関連付けを、1の前記部品情報識別情報に対して2以上関連付けて記憶している。
そして、前記コンピュータシステムの前記処理手段が、(0)任意の前記利用者区分情報の入力を、前記入力手段を介して受け付けること、(1)任意の前記部品区分関連情報の選択を、前記入力手段を介して受け付けること、(2)当該選択された部品区分関連情報を前記記憶手段から読み出すと共に、当該読み出した部品区分関連情報に関連付けが定義されている前記部品区分情報を特定すること、(3)前記記憶手段において、当該特定した部品区分情報に関連付いている前記部品情報識別情報を特定し、当該特定した部品情報識別情報に関連付いている前記利用者区分情報と前記名称情報との関連付けから、前記(0)で入力された利用者区分情報と一致する利用者区分情報に関連付いている名称情報を前記記憶手段から読み出して、前記出力手段に出力すること、(4)当該出力した名称情報について関連付けの選択を、前記入力手段を介して受け付けること、(5)前記記憶手段に記憶されている部品情報識別情報と名称情報との関連付けに基づいて、当該入力された名称情報の関連付けを前記部品情報識別情報の関連付けに変換すること、(6)当該変換した部品情報識別情報の関連付けを、前記(2)で読み出した部品区分関連情報に関連付けて、前記コンピュータプログラムの設計情報として前記記憶手段に記憶させること、(7)前記(1)〜(6)の設計処理を繰り返すことにより、前記コンピュータプログラムの設計情報を前記記憶手段に記憶させていくこと、(8)前記入力手段を介して、任意の前記部品情報識別情報の選択を受け付けること、(9)前記記憶手段に記憶されている設計情報のうち、当該選択された部品情報識別情報に直接関連付いている設計情報と、当該選択された部品情報識別情報とは異なる他の部品情報識別情報を介して当該選択された部品情報識別情報に間接的に関連付いている設計情報とを、特定のコンピュータプログラムの設計情報として前記記憶手段に記憶させること、を、前記処理手段に行わせることを特徴とする設計コンピュータプログラムである。
ここで、「利用者区分情報」とは、設計プログラムの利用者を区分する情報であり、当該利用者区分としては、例えば、システムのユーザ企業、国内のSI会社、国内の2次請けシステム会社、海外(例えば、中国、インド等)のシステム会社、設計作業担当者、等が考えられる。また、「名称情報」とは、前記部品情報識別情報を前記出力手段に出力する際の名称であり、設計プログラムの利用者が設計作業で目視により認識する名称を表す。この「名称情報」の例として、ソフトウェア開発の現場で通常用いられるような業務的、システム的な名称(管理コード等)や、システムユーザが理解しやすい名称(日本語で表現された名称)等が考えられる。
「利用者区分情報と名称情報との関連付けを、1の前記部品情報識別情報に対して2以上関連付けて記憶している」ので、1の前記部品情報識別情報について、利用者区分に応じて利用者に表示するための名称情報を変化させることができる。
ここで、「当該特定した部品情報識別情報に関連付いている前記利用者区分情報と前記名称情報との関連付けから、前記(0)で入力された利用者区分情報と一致する利用者区分情報に関連付いている名称情報」とは、前記のように利用者区分情報と名称情報との関連付けを、1の前記部品情報識別情報に対して2以上関連付けて記憶しているので、当該特定した部品情報識別情報と前記(0)で入力された利用者区分情報とから特定できる1の名称情報のことを表す。
「前記記憶手段に記憶されている部品情報識別情報と名称情報との関連付けに基づいて、当該入力された名称情報の関連付けを前記部品情報識別情報の関連付けに変換する」とは、当該名称情報の関連付けに含まれる名称情報を、当該名称情報に関連付いている部品情報識別情報に置換え、情報の関連付けについては維持する。これにより、名称情報の関連付けを前記部品情報識別情報の関連付けに変換することができるのである。
以上の定義は、以下の発明にも適用される。
一般的に、中規模から大規模なコンピュータプログラム(システム)の設計作業には、複数の企業が関与することが多い。例えば、基本計画(要件定義)はシステムのユーザ企業が、外部設計は国内のSI会社が、内部設計やプログラム設計は国内の2次請けシステム会社が、プログラミングは海外(例えば、中国、インド等)のシステム会社が、夫々行うというようなことも珍しくない。そして、設計情報としては、ユーザ企業等が分かりやすい名称(例えば、A会社販売管理システム等)で管理されているのが望ましい。一方、外注先の企業(2次請けシステム会社や海外のシステム会社等)には、ユーザ企業等を特定できる情報を設計情報に含めて渡してしまうのは、設計情報の漏洩の危険性があるため、望ましくない。また、現実に稼動しているシステムに関する既存の設計情報について再利用ができれば便利であるが、当該システムのユーザ企業以外が当該設計情報にアクセスした際に、ユーザ企業を特定できる名称で表示されるのは設計情報の漏洩の観点からやはり好ましくない。
本発明では、同一の部品情報識別情報に対して設計を行う場合であっても、設計コンピュータプログラムの利用者の区分に応じて、当該部品情報識別情報の表示名称である名称情報を変化する。よって、設計コンピュータプログラムの利用者の区分(ユーザ企業、国内のSI会社、国内の2次請けシステム会社、海外のシステム会社、等)に応じて名称情報を異なるように、適切な設定をしておけば、設計情報の漏洩を未然に防ぐことができる。これにより、システム設計作業を分割して、当該分割した設計作業をユーザ企業が安心して外注すること等ができるため、コストを抑制でき、非常に有益である。
4、また、他の発明に係る設計コンピュータプログラムは、情報を記憶する記憶手段と、情報を処理する処理手段と、利用者からの命令を受けつける入力手段と、利用者に情報を出力する出力手段とを備えたコンピュータシステムにおいて、コンピュータプログラムの設計のうち、外部設計、内部設計、及びプログラム設計を一貫して行うための設計プログラムである。
また、前記コンピュータシステムの前記記憶手段は、前記外部設計、内部設計、及びプログラム設計に関して使用するプログラム開発の部品としての部品情報が属する区分を識別する部品区分情報と、個々の前記部品情報を識別する部品情報識別情報とを関連付けて記憶すると共に、前記一貫したコンピュータプログラムの設計のために必要となる、複数の前記部品区分情報についての関連付けが定義されている部品区分関連情報と、複数の前記部品情報識別情報についての関連付けであるコンピュータプログラムの設計情報とを関連付けて記憶している。
更に、前記コンピュータシステムの当該記憶手段は、前記設計プログラムの利用者を区分する利用者区分情報と前記部品情報識別情報を前記出力手段に出力する際の名称である名称情報との関連付けを、1の前記部品情報識別情報に対して2以上関連付けて記憶している。
そして、前記コンピュータシステムの前記処理手段が、(0)任意の前記利用者区分情報の入力を、前記入力手段を介して受け付けること、(1)任意の前記部品区分関連情報の選択を、前記入力手段を介して受け付けること、(2)当該選択された部品区分関連情報を前記記憶手段から読み出すと共に、当該読み出した部品区分関連情報に関連付いている前記設計情報を特定すること、(3)前記記憶手段において、当該読み出した部品区分関連情報に含まれる部品区分情報に関連付いている前記部品情報識別情報を特定し、当該特定した部品情報識別情報に関連付いている前記利用者区分情報と前記名称情報との関連付けから、前記(0)で入力された利用者区分情報と一致する利用者区分情報に関連付いている名称情報を前記記憶手段から読み出すこと、(4)前記(2)で特定した設計情報を前記記憶手段から読み出し、前記記憶手段に記憶されている部品情報識別情報と名称情報との関連付けに基づいて、当該読み出した設計情報を、前記(3)で読み出した名称情報の関連付けに変換すること、(5)前記(3)で読み出した名称情報と、当該変換した名称情報の関連付けとを、前記出力手段に出力すること、(6)当該出力した名称情報について関連付けの選択を、前記入力手段を介して受け付けること、(7)前記記憶手段に記憶されている部品情報識別情報と名称情報との関連付けに基づいて、当該入力された名称情報の関連付けを前記部品情報識別情報の関連付けに変換すること、(8)前記(4)で読み出した設計情報に代わる設計情報として、当該変換した部品情報識別情報の関連付けを、前記(2)で読み出した部品区分関連情報に関連付けて前記記憶手段に記憶させること、(9)任意の前記部品情報識別情報の選択を、前記入力手段を介して受け付けること、(10)前記記憶手段に記憶されている設計情報のうち、当該選択された部品情報識別情報に直接関連付いている設計情報と、当該選択された部品情報識別情報とは異なる他の部品情報識別情報を介して当該選択された部品情報識別情報に間接的に関連付いている設計情報とを、特定のコンピュータプログラムの設計情報として前記記憶手段に記憶させること、を、前記処理手段に行わせることを特徴とする設計コンピュータプログラムである。
ここで、「前記(2)で特定した設計情報を前記記憶手段から読み出し、前記記憶手段に記憶されている部品情報識別情報と名称情報との関連付けに基づいて、当該読み出した設計情報を、前記(3)で読み出した名称情報の関連付けに変換する」とは、前記のように設計情報は部品情報識別情報についての関連付けであるため、当該設計情報に含まれる部品情報識別情報を、当該部品情報識別情報に関連付いている名称情報に置換え、情報の関連付けについては維持する。これにより、設計情報を名称情報の関連付けに変換することができるのである。但し、1の部品情報識別情報には、2以上の名称情報が関連付いているため、「前記(3)で読み出した名称情報」という限定を付すことにより、1の部品情報識別情報に対応する1の名称情報を特定することができるのである。
以上の定義は、以下の発明にも適用される。
本発明では、既に作成している設計情報を利用して設計を行う場合であっても、設計コンピュータプログラムの利用者の区分に応じて、部品情報識別情報の表示名称である名称情報を変化する。よって、設計コンピュータプログラムの利用者の区分(ユーザ企業、国内のSI会社、国内の2次請けシステム会社、海外のシステム会社、等)に応じて名称情報を異なるように、適切な設定をしておけば、設計情報の漏洩を未然に防ぐことができる。更に、現実に稼動しているシステムに関する既存の設計情報についても、当該システムのユーザ企業と、それ以外の企業等で異なる利用者区分を割当てておけば、設計情報の漏洩を防ぎつつ、既存の設計情報についての再利用を円滑にすることができる。これは、ある企業のシステムに関する既存の設計情報を、他企業が利用して開発を短縮化すること等が可能であり、この場合でも、当該他企業は前記ある企業を特定する事ができないのである。これにより、あらゆる企業のシステムにおいても、既存の設計情報をテンプレート化して流通・販売させることができる可能性が生じるのである。
5、また、他の発明に係る設計コンピュータプログラムは、前記コンピュータシステムの前記記憶手段に複数存在する部品区分情報の1つとして、データ項目情報が存在し、前記記憶手段に記憶されている部品区分関連情報には、前記データ項目情報と当該データ項目情報以外の他の前記部品区分情報との関連付けが定義されている部品区分関連情報が含まれていること、を特徴とする、設計コンピュータプログラムである。
ここで、「データ項目情報」とは、データ項目に関する部品情報が属する部品区分情報であり、この「データ項目」は、1レコードにおけるフィールドのような小さな単位としてもよいし、複数のフィールドの集合のような大きな単位としてもよい。
以上の定義は、以下の発明にも適用される。
DOA(データ中心アプローチ)の考え方によると、コンピュータソフトウェアをデータとプロセスに分離した場合、データは対象業務の特性に応じて安定した構造を持つのに対し、プロセスは組織構造、技術動向、業務改革などにより頻繁に変更されるという特徴がある。よって、安定した構造を持つデータに着目してシステムを設計する事が、システムの安定性、拡張性を保証するためには重要なのである。
上流工程と下流工程の設計作業を並行して行った場合、最も起きやすい不具合は、上流工程で作成した設計情報が下流工程では全く使用されていなかったり、逆に、下流工程で作成した設計情報が上流工程では全く定義されていなかったり、等の論理的な不整合が発生することである。しかし、本発明によると、部品区分関連情報に、データ項目情報と当該データ項目情報以外の他の前記部品区分情報との関連付けが定義されている部品区分関連情報が含まれており、上流工程と下流工程の論理的整合性を、当該データ項目情報を利用することによって担保することができる。すなわち、コンピュータプログラムは、どんな複雑なものであっても、データとプロセスに分解することができ、データは安定した構造を持つ。よって、上流工程でデータ項目情報に属する部品情報識別情報を設計情報として使用していながら、下流工程で当該部品情報識別情報を設計情報として使用していない場合は、当該上流工程における設計情報と当該下流工程における設計情報とを関連付けることにより、論理的な不整合が生じていることがはっきりとわかるのである。この逆の、下流工程でデータ項目情報に属する部品情報識別情報を設計情報として使用しているのに、上流工程では当該部品情報識別情報を設計情報として使用してない場合も、同様である。
6、また、他の発明に係る設計コンピュータプログラムでは、前記コンピュータシステムの前記記憶手段は、更に、コンピュータプログラムの設計に関する管理書類の区分を識別する管理書類区分情報と、1以上の前記部品区分関連情報とを関連付けて記憶している。
そして、前記コンピュータシステムの前記処理手段が、(11)任意の前記管理書類区分情報の選択を、前記入力手段を介して受け付けること、(12)当該選択された管理書類区分情報に関連付いている1以上の前記部品区分関連情報を前記記憶手段から特定すること、(13)当該特定した1以上の部品区分関連情報に関連付いている設計情報を前記記憶手段から読み出し、管理書類データとして前記記憶手段に記憶させること、を、前記処理手段に行わせることを特徴とする、設計コンピュータプログラムである。
ここで、「管理書類区分情報」とは、コンピュータプログラムの設計に関する管理書類の区分を識別する情報であり、この管理書類の区分の例として、エンティティとエンティティ間のリレーションシップとを表す管理書類の区分である「エンティティ関連図」、データフローダイアグラムを表す管理書類の区分である「データフロー図」、表示される画面の遷移を表す管理書類の区分である「画面遷移図」、ボタンや入出力項目等が実際に画面上でどのように配置・表示されるかを表す管理書類の区分である「画面モックアップ図」、等が考えられる。「管理書類データ」とは、1以上の設計情報から構成される情報であり、管理書類として出力する為の元データである。
以上の定義は、以下の発明にも適用される。
一般的には、「エンティティ関連図」、「データフロー図」、「画面遷移図」、「画面モックアップ図」等のシステム設計に関する管理書類を事前に作成し、当該管理書類に沿って実際の設計作業をすることが行われている。この場合、バグの発生などにより先に設計情報に修正を行う際には、管理書類も併せて修正する必要があり、不整合が生じてしまう可能性がある。しかし、本発明によると、既に設計された設計情報を元にして、管理書類データを生成することができるため、このような不整合が生じる可能性を大幅に減らす事ができる。また、わざわざ管理書類を更新する手間が省けるため、システムメンテナンスも容易になり、システムメンテナンスの工数を削減する事ができる。
7、また、他の発明に係る設計コンピュータプログラムでは、前記コンピュータシステムの記憶手段に複数存在する部品区分情報の1つとして、プロセス項目情報が存在し、当該プロセス項目情報に関連付いて前記記憶手段に記憶されている部品情報識別情報には、前記部品情報としてのプログラム情報が関連付けられて前記記憶手段に記憶されている。また、前記データ項目情報に関連付いて前記記憶手段に記憶されている部品情報識別情報には、前記部品情報としてのデータ情報が関連付けられて前記記憶手段に記憶されており、前記記憶手段に記憶されている部品区分関連情報には、前記データ項目情報と前記プロセス項目情報との関連付けを含んで定義されているプログラム部品区分関連情報が含まれている。また、当該プログラム部品区分関連情報には、前記コンピュータプログラムの設計情報が関連付けて前記記憶手段に記憶されている。
そして、前記コンピュータシステムの前記処理手段が、(14)前記記憶手段に記憶されているプログラム部品区分関連情報に関連付いている設計情報から取得された設計情報が、前記記憶手段に記憶された特定のコンピュータプログラムの設計情報に含まれているか否かを判断すること、(15)含まれていると判断した場合に、当該プログラム部品区分関連情報に関連付いている設計情報から取得された設計情報に含まれる部品情報識別情報を特定し、当該特定した部品情報識別情報に関連付いている前記プログラム情報と前記データ情報とを前記記憶手段から読み出すこと、(16)前記特定した部品情報識別情報に基づき、当該読み出したプログラム情報とデータ情報とを前記特定のコンピュータプログラムの設計情報に関連付けて前記記憶手段に記憶させることにより、特定のコンピュータプログラムを生成すること、を、前記処理手段に行わせることを特徴とする設計コンピュータプログラムである。
前記「データ項目情報」に区分されている部品情報として「データ情報」が存在し、当該「データ情報」はデータ項目に関する部品情報である。また、この「データ情報」には部品情報の属性情報が含まれ、この属性情報の例として、htmlファイルにおけるタグの属性(TEXT、SELECT、BUTTON等)を表す「デフォルトタグ」、当該「デフォルトタグ」以外の属性(文字サイズ等)を表す「タグの付加属性」、等が考えられる。この「デフォルトタグ」や「タグの付加属性」は目的に合わせて2つ以上の「デフォルトタグ」や「タグの付加属性」を持つことができる。例えば、システムの管理者が顧客マスタに登録を行うための顧客情報の新規登録画面と、顧客自らが顧客マスタに登録を行うための顧客情報の新規登録画面とは、同じ顧客マスタのテーブルに新規レコードを挿入する処理画面である。しかし、利用者の立場が異なる為、画面の項目の表示方法や入力方法を、夫々の利用者に応じて変化させた方が良い場合がある。従って「デフォルトタグ」を目的により複数登録しておいて、「デフォルトタグ」を目的に合わせて切り替えれば目的に合った操作性の高い画面を簡単に作成できる。これを実現するには、「データ情報」に、「デフォルトタグ」と「タグの付加属性」との関連付けを複数有していればよい。
そして、「データ情報」が表すデータ項目に対する処理、命令、定義に関する部品情報が「プログラム情報」である。そして、当該「プログラム情報」が属する部品区分情報として、「プロセス項目情報」が存在する。「データ情報」が表すデータ項目に対する処理、命令、定義とは、例えば、Aデータ項目の値+Bデータ項目の値=Cデータ項目の値、Aデータ項目の値×1.05の結果の値をBデータ項目に出力する、Aデータ項目の値とBデータ項目の値とを比較して、高いほうの値をCデータ項目に格納する、等である。
「プログラム部品区分関連情報」とは、前記部品区分関連情報の1つであり、少なくとも、前記部品区分としての「データ項目情報」と「プロセス項目情報」との関連付けを含んで定義されている。この「プログラム部品区分関連情報」に関連付いているコンピュータプログラムの設計情報は、「データ情報」と「プログラム情報」との関連付けを含んでいるため、コンピュータプログラムをどのように生成すればよいかを特定できるのである。すなわち、コンピュータプログラムは、データ中心の思想(DOA)によると、データ項目から取得したデータを利用・加工したデータを、他のデータ項目に格納する処理(プロセス)として把握する事ができる。よって、「データ情報」が表すデータ項目に対する処理、命令、定義を、どのデータ項目に対して行うかということが特定できれば、コンピュータプログラムのソースを生成することができるのである。
図8を使用してこれを詳しく説明する。同図は、(1)画面を介して動作するプログラム、(2)帳票としてデータを出力するプログラム、(3)バッチ処理として動作するプログラム、の概念図を示したものである。まず、同図の中段の(2)帳票としてデータを出力するプログラム、について説明する。データの最小管理単位としてデータ項目「項目」が存在し、当該データ項目の集合として「テーブル」が存在する。そして、この「テーブル」を管理単位として、DBの形式により、HDD等の記憶装置に情報が記憶されている。帳票としてデータを出力するプログラムは、この「テーブル」から「ルール」に従って情報を取得する。「ルール」とは、例えば、「テーブルから100レコードの情報を読み出す」や、「AテーブルのB項目のうち、値が100以上のものを取得する」、等の規則である。そして、DBから実際に情報を取得するには、「クエリー」を利用して読み出す。読み出した情報は、また「ルール」によって、情報加工して、「帳票」に出力する。「帳票」に出力する際の「ルール」の例としては、「A項目の値+B項目の値=C項目の値」や、「帳票のレイアウトとして、C項目、B項目、A項目、の順に表示する」、等の規則である。この「帳票」もまた、データ項目の集合として表現することができる。
次に、同図の下段の(3)バッチ処理として動作するプログラム、について説明する。(2)帳票と同様に、「クエリー」を利用して「項目」の集合である「テーブル」から読み出した情報を、「ルール」に従って情報加工し、「項目」の集合である「ファイル」という形式でアウトプットする。逆に、「ファイル」から取得した情報を、「ルール」に従って情報加工し、「クエリー」を利用して「項目」の集合である「テーブル」に格納することもできる。さらに、「ファイル」から取得した情報を、「ルール」に従って情報加工し、違った「ファイル」として情報を出力することもできる。
最後に、同図の上段の(1)画面を介して動作するプログラム、について説明する。(2)帳票や、(3)バッチ処理とほとんど同様なのであるが、(1)画面を介して動作するプログラムは、オンラインでの対話型で処理をするという違いがある。よって、画面上に配置された入力項目(テキストボックス)や表示項目(ラベル)等の「項目」の集合である「外部データ源」と、ユーザにより画面上に配置されたボタンが押下されたことなどの、処理のトリガーを表す「イベント」とが、含まれている。しかしながら、「外部データ源」も「ファイル」や「帳票」と同じく「項目」の集合として把握することができるし、「イベント」についても、当該「イベント」がなんらかの処理のトリガーとなるため、処理の振り分けの役割を果たすものとして把握できる。よって、何らかの「イベント」が発生した場合は、対応する「ルール」に従って情報加工等を行えばよい。
以上、図8を使用して説明したが、(1)オンライン系(画面)のプログラムも、(2)帳票に出力するプログラムも、(1)バッチのプログラムも、全て、所定のデータ項目から取得したデータを利用・加工したデータを、他のデータ項目に格納する処理(プロセス)として把握する事ができるのである。よって、どのデータ(「項目」)に対してどのようなプロセス(「ルール」)を行うか、ということが分かれば、コンピュータプログラムの生成ができるのである。
本発明によると、前記プログラム部品区分関連情報に関連付いているコンピュータプログラムの設計情報に基づいて、前記記憶手段に記憶されているプログラム情報とデータ情報とを特定する。そして、当該特定したプログラム情報とデータ情報とを前記特定のコンピュータプログラムに関連付けることにより、特定のコンピュータプログラムを生成する。よって、設計コンピュータプログラムにより設計した設計情報を元にして、コンピュータプログラムの生成が行えるため、利用者にとっては、コンピュータプログラムの設計を行うだけで、コンピュータプログラムのソースを取得することができる。また、外部設計、内部設計、及びプログラム設計に関する設計情報を事前に作成しておけば、コンピュータプログラムの生成までが可能であるので、上流の設計工程から下流の実装までを、共通した開発環境で提供できるのである。さらに、プログラム情報とデータ情報とを、コンピュータプログラム言語(VB、C、COBOL等)毎に用意しておけば、設計情報は共通のものであっても、異なるコンピュータプログラム言語でのコンピュータプログラムのソース生成が可能である。このように、従来に比して、開発環境の生産性を高める事ができるのである。
以上のように、本発明を利用すると、設計者にとっては、入力手段を介して部品区分関連情報の選択を行い、処理手段が出力手段に出力した部品情報識別情報についての関連付けの選択を、入力手段を介して行うだけで、コンピュータプログラムの設計情報が記憶手段に記憶されていく。よって、従来のシステム開発支援ツールよりも操作が容易であり、使用方法について学習の手間も少ない等の、上記記載した従来の設計コンピュータプログラムに比較した有利な効果を奏するという、従来にない優れた設計コンピュータプログラムを提供することができるのである。
このような従来に比べて優れている、本発明に係るソフトウェア開発手法を、ODM(オープン化開発メソドロジー)と名付けることとした。オープン化開発メソドロジー(Open Development Methodology: ODM)とは、上記説明したように、Webアプリケーション開発専用のデータフローから運用・保守までをカバーするオープンな開発環境を提供するもので、標準化、開発工数・期間の短縮を可能とするものである。従来ソフトウェア業界は建築業のような揺るぎのない設計手法が存在しなかったが、本発明はソフトウェアの設計開発に仕様を単純で且つ強固な設計構造を確立させることを目的としたものであり、ODMの柱となるツールとして実現した発明である。本発明の保護及び利用により、産業の発達という、特許法の法目的が達成されるものと思料する。
以下、本発明の実施形態を、図面を参照しつつ説明する。
1、本発明の実施の構成について
(1)図51は、本発明に係る設計コンピュータプログラムを含むコンピュータシステムが、複数存在する場合の全体構成図である。同図に示すように、複数のコンピュータシステム1は、通信ネットワーク2を介して接続されている。本発明に係る設計コンピュータプログラムは、ローカルのコンピュータシステム1のみでの実行(設計作業)も可能であるが、このような構成とすることで、設計作業を複数の拠点で同時並行的に行うことができるのである。例えば、特定のコンピュータプログラムについて、上流設計工程は日本で行い、下流設計工程は中国で行う、等の実施も可能である。設計作業を複数の拠点で同時並行的に行う場合は、後述するコンピュータプログラムの設計情報を1のコンピュータシステム1で集中管理し、他のコンピュータシステム1は当該集中管理されている設計情報を共有して利用すればよい。これにより、設計作業における成果物としての設計情報の、論理的整合性が担保される。
図51における構成要素を更に詳述すると、コンピュータシステム1は、パーソナルコンピュータ、サーバコンピュータ等のコンピュータシステムである。また、通信ネットワーク2は、インターネットやフレームリレー、無線通信網等の、電気的な通信を行うことができるネットワークである。
(2)次に、図52に基づいて、図51のコンピュータシステム1のハードウェア構成について説明する。コンピュータシステム1は同図に示すように、通信インターフェースであるNIC11と、出力装置であるディスプレイ12と、入力装置であるキーボード等15と、記憶装置であるメモリ14及びハードディスク16と、これらを制御する演算装置(コンピュータ)であるCPU13とから構成されている。これら各構成要素はバス17により接続されており、相互に通信を行えるように構成されている。また、ハードディスク16には、OS・アプリケーションプログラム16aと、部品区分情報16bと、部品情報識別情報16cと、部品区分関連情報16dと、コンピュータプログラムの設計情報16eと、利用者区分情報16fと、名称情報16gと、管理書類区分情報16hと、設計コンピュータプログラム16iとを、ファイルやデータベースの形式により記憶している。
そして、CPU13が、ハードディスク16に記憶されている各情報(16a〜16i)を、ハードディスク16からメモリ14に読み込むことにより、プログラムやデータの解釈・実行を行なう。このCPU13が、OS・アプリケーションプログラム16aを解釈し、実行する事により、コンピュータシステム1は動作する。また、CPU13が、設計コンピュータプログラム16iを解釈し、実行する事により、本発明に係る設計処理が行なわれるのである。そして、プログラムの実行結果等を表示する際には、CPU13が当該実行結果をディスプレイ12に表示することにより行う。更に、利用者からの指示命令は、キーボード等15を介してCPU13が受け付ける。また、コンピュータシステム1が他のコンピュータシステム1と通信する際には、CPU13の命令により、通信インターフェースであるNIC11を介して通信を行なう。ここで、キーボード等15は、一般的にコンピュータシステムにおいて使用されているマウス等を含む。また、OS・アプリケーションプログラム16aは、コンピュータシステム1を動作させるためのOSと、各種機能(他システムとの通信機能、ディスプレイへの表示機能等)を利用者に提供する為のアプリケーションプログラムを表している。さらに、当該OS・アプリケーションプログラム16aには、各種アプリケーションプログラムが使用するデータの情報も含まれる。
(3)続いて、記憶装置であるハードディスク16に記憶されている各情報(16b〜16h)の相互の関連付けについて、図53を使用して説明する。
「部品情報識別情報16c」は、外部設計、内部設計、及びプログラム設計に関して使用するプログラム開発の部品としての部品情報を識別する情報である。そして、「部品情報識別情報16c」には、部品情報が属する区分を識別する「部品区分情報16b」が関連付けて記憶されており、この関連付けにより「部品情報識別情報16c」が属する「部品区分情報16b」を特定することができる。例えば、図53において、「A」の「部品区分情報16b」には、「a1、a2、a3」の「部品情報識別情報16c」が属しており、「B」の「部品区分情報16b」には、「b1、b2、b3」の「部品情報識別情報16c」が属していることが分かる。
また、「利用者区分情報16f」と「名称情報16g」との関連付けが、1の「部品情報識別情報16c」に対して2以上関連付けて記憶されている。「利用者区分情報16f」とは、設計コンピュータプログラムの利用者を区分する情報であり、「名称情報16g」とは、部品情報識別情報を出力手段に出力する際の名称である。この関連付けにより、「部品情報識別情報16c」と「利用者区分情報16f」とを特定することによって、1の「名称情報16g」を特定することができる。また、1の「部品情報識別情報16c」であっても、「利用者区分情報16f」に応じて、異なった「名称情報16g」を関連付けることができる。例えば、図53において、「a1」の「部品情報識別情報16c」には、「利用者1」の「利用者区分情報16f」と「名称1」の「名称情報16g」との関連付けと、「利用者2」の「利用者区分情報16f」と「名称2」の「名称情報16g」との関連付けと、が関連付いていることがわかる。
「部品区分情報16b」についての関連付けを定義しているのが「部品区分関連情報16d」である。そして、「部品区分関連情報16d」に定義されている複数の「部品区分情報16b」についての関連付けは、外部設計、内部設計、及びプログラム設計について一貫したコンピュータプログラムの設計のために必要となるものである。例えば、図53において、「AB」の「部品区分関連情報16d」には、「A」の「部品区分情報16b」と「B」の「部品区分情報16b」との関連付けが定義されており、「BCD」の「部品区分関連情報16d」には、「B」の「部品区分情報16b」と「C」の「部品区分情報16b」と「D」の「部品区分情報16b」との関連付けが定義されていることがわかる。
また、この「部品区分関連情報16d」には、「コンピュータプログラムの設計情報16e」が関連付けて記憶されている。この「コンピュータプログラムの設計情報16e」は、複数の「部品情報識別情報16c」についての関連付けである。例えば、図53において、「AB」の「部品区分関連情報16d」には、「a1−b1、a1−b2、a2−b3」の「コンピュータプログラムの設計情報16e」が関連付けられており、「BCD」の「部品区分関連情報16d」には、「b1−c1、b1−c2、b3−c3、c1−d1、c2−d2、c2−d3」の「コンピュータプログラムの設計情報16e」が関連付けられていることがわかる。
「管理書類区分情報16h」とは、コンピュータプログラムの設計に関する管理書類の区分を識別する情報であり、当該「管理書類区分情報16h」は1以上の「部品区分関連情報16d」と関連付いている。例えば、図53において、「AB・BCD」の「管理書類区分情報16h」には、「AB」の「部品区分関連情報16d」と「BCD」の「部品区分関連情報16d」とが関連付けられていることがわかる。
(4)続いて、記憶装置であるハードディスク16に記憶されている各情報(16b〜16h)の具体的な例について、更に説明する。
(5)図1及び図2は、「部品区分情報16b」と、当該「部品区分情報16b」についての関連付けを定義している「部品区分関連情報16d」との、具体的な例である。このうち、図1では、上流設計工程であるコンピュータプログラムの論理設計(主に外部設計と内部設計)についての構造図を、図2では、下流設計工程であるコンピュータプログラムの物理設計(主にプログラム設計)についての構造図を、夫々図示した。図1における、「プロジェクト」、「サブシステム」、「機能」、「アクティビティ」、…等の四角で囲まれている文字が、個々の「部品区分情報16b」を表す。また、これら個々の「部品区分情報16b」を関連付けている線が、「部品区分関連情報16d」を概念的に表したものである。この記載方法は、図2においても同様で、「画面プログラム」、「ルール」、「状態」、「アクション」、…等の四角で囲まれている文字が、個々の「部品区分情報16b」を表し、これら個々の「部品区分情報16b」を関連付けている線が、「部品区分関連情報16d」を概念的に表したものである。
図1における上流設計工程である論理設計と、図2における下流設計工程である物理設計とは、それぞれ独立しているのではなく、共通している「部品区分情報16b」を介して、両設計情報は関連付けを有している。すなわち、図1及び図2では、「項目」、「画面」、「帳票」、「ファイル」、「アクション」、「状態」、「ルール」、…という共通している「部品区分情報16b」が存在しているため、これら「部品区分情報16b」を介して両設計情報は関連付いているのである。よって、図1における上流設計工程である論理設計から、図2における下流設計工程である物理設計までの設計を行うことにより、外部設計、内部設計、及びプログラム設計に関して論理的に一貫した設計が行われることになるのである。
図1及び図2における「部品区分情報16b」として、どのような項目を採用すべきかであるが、例えば、図1及び図2では、「機能」、「誰が」、「何が」、「何を」、…のように、5W1Hを基本として、「部品区分情報16b」を任意に設定している。すなわち、基本的には、「部品情報識別情報16c」を区分して管理したい任意の「部品区分情報16b」を採用してよい。但し、前述したように、DOA(データ中心アプローチ)の考え方によると、コンピュータソフトウェアをデータとプロセスに分離した場合、データは対象業務の特性に応じて安定した構造を持つプロセスは組織構造、技術動向、業務改革などにより頻繁に変更されるという特徴がある。よって、データに関する「部品区分情報16b」を、図1における上流設計工程である論理設計と、図2における下流設計工程である物理設計との、共通する「部品区分情報16b」として設定しておくと、上流工程と下流工程の論理的整合性を、当該データに関する「部品区分情報16b」を利用することによって担保することができる。図1及び図2におけるデータに関する「部品区分情報16b」としては、「項目」が該当する。また、図1及び図2における「部品区分情報16b」として、どのような項目を採用すべきか、については、図9〜図13に図示する資料をまとめ、その結果として図1及び図2に示す項目を採用した。すなわち、図9及び10については、論理設計の構造マトリックスにより、システムを分析し、物理設計の構造マトリックスにより、システムを分析したものである。この結果、図1及び図2における「部品区分情報16b」としての項目が適切であると判断し、決定した。
また、「部品区分情報16b」としての項目には、属性の情報を含ませて設定してもよい。例として、図1における「部品区分情報16b」としての項目(「プロジェクト」、「サブシステム」、「機能」、「アクティビティ」、「ロール」、「画面」、「画面遷移」、…)に属性と、属性項目を設定したものである。同図に示すように、様々な属性(業種、業務、対象領域、利用頻度、対象データ、…)について、属性項目(金融、販売、製造、…)を設定することにより、既作成の設計情報を簡便に検索できるようになるのである。すなわち、「部品区分情報16b」に属性と属性項目とを含ませる事により、検索キーとして利用できるのである。
(6)図3〜6は、図1及び図2における「部品区分情報16b」についての関連付けを定義している「部品区分関連情報16d」の、具体的な例である。そして、図1の論理設計における「部品区分情報16b」についての関連付けを定義している「部品区分関連情報16d」を図3及び4に図示し、図2の物理設計における「部品区分情報16b」についての関連付けを定義している「部品区分関連情報16d」を図5及び6に図示している。図3〜6に示すように、図1及び図2における「部品区分情報16b」のうち、2つの「部品区分情報16b」が関連付いて1の「部品区分関連情報16d」が構成されている。図3、4における、L1、L2、L3、…、が個々の「部品区分関連情報16d」を表しており、図5、6における、P1、P2、P3、…、が個々の「部品区分関連情報16d」を表している。例えば、図3におけるL1の「部品区分関連情報16d」では、「プロジェクト」という「部品区分情報16b」と「サブシステム」という「部品区分情報16b」との関連付けを定義しており、L2の「部品区分関連情報16d」では、「サブシステム」という「部品区分情報16b」と「機能」という「部品区分情報16b」との関連付けを定義している。このように、「部品区分関連情報16d」には「部品区分情報16b」の関連付けが定義されており、1の「部品区分情報16b」を複数の「部品区分関連情報16d」において定義されているため、「部品区分関連情報16d」を通じて、各「部品区分情報16b」が関連付いているのである。
(7)図13〜20は、図3及び4に図示した論理設計における「部品区分関連情報16d」と、当該「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」とを図示している。図13〜20における、L1、L2、L3、…、は、「部品区分関連情報16d」を表しており、図3及び4に図示した、L1、L2、L3、…、の「部品区分関連情報16d」と同じものを表現している。すなわち、図3及び4に図示した「部品区分関連情報16d」を更に詳細に図示しているのが、図13〜20なのである。
例として、図13におけるL1の「部品区分関連情報16d」について説明する。図3と同様に、L1の「部品区分関連情報16d」では、「プロジェクト」という「部品区分情報16b」と「サブシステム」という「部品区分情報16b」との関連付けを定義していることが図13に示されている。これに加え、「プロジェクト」という「部品区分情報16b」には、「販売管理」という「部品情報識別情報16c」が関連付いており、「サブシステム」という「部品区分情報16b」には、「受注管理」という「部品情報識別情報16c」と「発注管理」という「部品情報識別情報16c」とが関連付いていることが、図示されている。そして、当該「販売管理」という「部品情報識別情報16c」と、「受注管理」及び「発注管理」という「部品情報識別情報16c」との、マトリックス上に「〇」印が存在しているため、これら「部品情報識別情報16c」について関連付けが存在している事がわかる。この「部品情報識別情報16c」について関連付けが、「コンピュータプログラムの設計情報16e」なのである。
以上より、図13におけるL1からは、当該L1の「部品区分関連情報16d」には「プロジェクト」という「部品区分情報16b」と「サブシステム」という「部品区分情報16b」との関連付けを定義されており、「プロジェクト」という「部品区分情報16b」には「販売管理」という「部品情報識別情報16c」が属しており、「サブシステム」という「部品区分情報16b」には「受注管理」及び「発注管理」という「部品情報識別情報16c」が属していることが分かる。さらに、当該L1の「部品区分関連情報16d」には、「販売管理」という「部品情報識別情報16c」と、「受注管理」及び「発注管理」という「部品情報識別情報16c」との関連付けである「コンピュータプログラムの設計情報16e」を、関連付けて記憶していることが分かる。
図13〜20におけるL1以外の、L2、L3、…、の「部品区分関連情報16d」についても同様である。このようにして、上流設計工程から下流設計工程まで、複数の「部品区分関連情報16d」が存在し、共通する「部品区分情報16b」を介して、一貫した「コンピュータプログラムの設計情報16e」が管理、記憶できるのである。図13におけるL1においては、「部品情報識別情報16c」に関してのマトリックス上に「〇」印が存在する事により、「部品情報識別情報16c」の関連付けを表現していたが、図13のL6やL7のように、「登録」、「参照」、「更新」、「出力」と「CRUD」というような、更に具体的に当該関連付けを表現することもできる。「登録」とはデータを登録する関係にあることを、「参照」とはデータを参照する関係にあることを、「更新」とはデータを更新する関係にあることを、「出力」とはデータを出力する関係にあることを、「CRUD」とはデータを登録、参照、更新と削除する関係にあることを、夫々表している。同様に、図15のL12のように、「部品情報識別情報16c」の関連付けを「−」で表現したり、図17のL17のように、「入出力」、「コマンドボタン」、「隠れ」というようにして「部品情報識別情報16c」の関連付けを具体的に表現することもできる。さらに、図17のL24のように、「Z:1」、「1:N」、というデータ関係を「部品情報識別情報16c」の関連付けとして、表現することもできる。ここで表現の「Z:1」はゼロ個以上対1を意味し、「1:N」は1対1個以上を意味する。「入出力」とはデータを入出力する関係にあることを、「コマンドボタン」とはコマンドボタンとして画面上に配置される関係にあることを、「隠れ」とは画面上には表示されない関係にあることを、夫々表している。
(8)図22は、「管理書類区分情報16h」に基づいて生成した管理書類データを概念的に表現したものであり、(a)データフロー図と、(b)画面遷移、(c)エンティティ関連図、(d)画面モックアップ、の各書類がある。(a)データフロー図については、L6とL20との夫々の「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」から生成できる。すなわち、L20の「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」から特定の「エンティティ関係範囲定義」に関連付いている「エンティティ」を特定し、当該特定した「エンティティ」に関連付いている「アクティビティ」をL6から特定することにより、図22の(a)データフロー図を生成する管理書類データが取得できるのである。よって、(a)データフロー図を生成する管理書類データを取得する為には、L6とL20との「部品区分関連情報16d」と、「データフロー」という「管理書類区分情報16h」が関連付いていればよい。
(a)データフロー図と同様に、(b)画面遷移は、L19とL23との夫々の「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」から生成できる。よって、(b)画面遷移を生成する管理書類データを取得する為には、L19とL23との「部品区分関連情報16d」と、「画面遷移」という「管理書類区分情報16h」が関連付いていればよい。また、(c)エンティティ関連図は、L20とL24との夫々の「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」から生成できる。よって、(c)エンティティ関連図を生成する管理書類データを取得する為には、L20とL24との「部品区分関連情報16d」と、「画面遷移」という「管理書類区分情報16h」が関連付いていればよい。
(d)画面モックアップは、L12とL17との夫々の「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」から生成できる。よって、(d)画面モックアップを生成する管理書類データを取得する為には、L12とL17との「部品区分関連情報16d」と、「画面遷移」という「管理書類区分情報16h」が関連付いていればよい。この(d)画面モックアップを生成する管理書類データを取得する処理について、図21のフローを元にして、更に説明する。まず、L12の「画面」の「部品区分情報16b」に属している画面の「部品情報識別情報16c」を選択し(S2101)、選択した画面の「部品情報識別情報16c」に関連付いている「項目」の「部品区分情報16b」に属する「部品情報識別情報16c」と「画面レイアウト」の「部品区分情報16b」に属する「部品情報識別情報16c」とをL12とL17とから特定し、取得する(S2102a、b)。そして、L17で特定した「画面レイアウト」の「部品区分情報16b」に属する「部品情報識別情報16c」について、S2103〜S2108までの処理を繰り返す事により、(d)画面モックアップを生成する管理書類データを取得できる。基本的には、L17で特定した「画面レイアウト」の「部品区分情報16b」に属する「部品情報識別情報16c」の指定(例えば、単数横線なし、単数横、複数横、等)どおりに画面を展開していけばよい。この「単数横線なし」とは、図22における(d)画面モックアップの「タイトル」のように、囲み線がなく横文字であることを表し、「単数横」とは、図22における(d)画面モックアップの「顧客コード」のように、囲み線がある横文字であることを表し、「複数横」とは、図22における(d)画面モックアップの「受注明細番号」のように、囲み線がある横文字で、かつ、複数行のレコードが存在することを表す。また、L17のコンピュータプログラムの設計情報としての、「部品情報識別情報16c」の関連付けが表しているように、「コマンドボタン」、「入出力」、「隠れ」、「参照」、についても、夫々が表しているように、図22における(d)画面モックアップが表示されている。
(9)図28〜35は、図5及び6に図示した物理設計における「部品区分関連情報16d」と、当該「部品区分関連情報16d」に関連付いている「コンピュータプログラムの設計情報16e」との一部を図示している。図28〜35における、P8、L32、L37、…、は、「部品区分関連情報16d」を表しており、図5及び6に図示した、P8、L32、L37、…、の「部品区分関連情報16d」と同じものを表現している。すなわち、図5及び6に図示した「部品区分関連情報16d」を更に詳細に図示しているのが、図28〜35なのである。
また、図24〜27は、図28〜35に図示した「部品区分関連情報16d」に含まれている「部品区分情報16b」に属する「部品情報識別情報16c」に、どのような内容の部品情報が関連付いているかを図示している。この図24〜35についての、「部品区分関連情報16d」と「部品情報識別情報16c」との関連は、図23に図示している。
2、本発明のフローについて
(1)続いて、本発明に係る設計コンピュータプログラム16iを、コンピュータシステム1のCPU13が解釈・実行して行う設計処理の動作フローについて説明する。まず、コンピュータプログラムの設計情報16eを新規作成する場合について説明する。
まず、CPU13が、任意の利用者区分情報16fの入力を、入力装置であるキーボード等15を介して受け付ける(S0)。この利用者区分情報16fとして、利用者認証用のID・パスワードのうち、IDの情報を利用することが考えられる。ここでは、「利用者1」という利用者区分情報16fが入力されたこととする。次に、CPU13が、任意の部品区分関連情報の選択を、入力装置であるキーボード等15を介して受け付ける(S1)。例えば、図3〜6に図示されているような、部品区分関連情報16dのうち、任意の部品区分関連情報16dの選択を、コンピュータシステム1の利用者が行うのである。
続いて、CPU13は、当該選択された部品区分関連情報16dを記憶装置であるハードディスク16から読み出すと共に、当該読み出した部品区分関連情報16dに関連付けが定義されている部品区分情報16bを特定する(S2)。例えば、図3における「プロジェクト」と「サブシステム」との関連付けが定義されている部品区分関連情報16dにおいては、「プロジェクト」と「サブシステム」という部品区分情報16bを特定できる。また、図53におけるハードディスク16の、「AB」という部品区分関連情報16dにおいては、「A」と「B」という部品区分情報16bを特定できる。
続いて、CPU13は、記憶装置であるハードディスク16において、当該特定した部品区分情報16bに関連付いている部品情報識別情報16cを特定し、当該特定した部品情報識別情報16cに関連付いている利用者区分情報16fと名称情報16gとの関連付けから、S0で入力された利用者区分情報16fと一致する利用者区分情報16fに関連付いている名称情報16gを記憶装置であるハードディスク16から読み出して、出力装置であるディスプレイ12に出力する(S3)。例えば、図53におけるハードディスク16において、当該特定した部品区分情報16bが「A」である場合に、関連付いている部品情報識別情報16cである「a1」、「a2」、「a3」、を特定し、当該特定した部品情報識別情報16cである「a1」、「a2」、「a3」に関連付いている利用者区分情報16fと名称情報16gとの関連付けである「利用者1−名称1」、「利用者2−名称2」、「利用者1−名称3」、「利用者2−名称4」、…、から、S0で入力された利用者区分情報16fである「利用者1」と一致する利用者区分情報16fである「利用者1」に関連付いている名称情報16g「利用者1−名称1」と「利用者1−名称3」をハードディスク16から読み出して、出力装置であるディスプレイ12に出力する。
続いて、CPU13は、当該出力した名称情報16gについて関連付けの選択を、入力装置であるキーボード等15を介して受け付ける(S4)。例えば、例えば、図13における「プロジェクト」と「サブシステム」との関連付けが定義されている部品区分関連情報16dにおいては、出力した名称情報16gである「販売管理」と、出力した名称情報16gである「受注管理」と「発注管理」と、についての関連付けがされたことを、「〇」印により表している。図13に示すように、この名称情報16gについて関連付けの選択は、ディスプレイ12にマトリックス上に表示させて、利用者がキーボード等15で任意の当該マトリックス上の□をクリックすれば、関連付けの指示をCPU13に与えられるように構成するとよい。このようにすることによって、グラフィカルな設計操作が可能となり、設計作業の効率化が図れるのである。
そして、CPU13は、記憶装置であるハードディスク16に記憶されている部品情報識別情報16cと名称情報16gとの関連付けに基づいて、当該入力された名称情報16gの関連付けを部品情報識別情報16cの関連付けに変換する(S5)。例えば、図53におけるハードディスク16に記憶されている部品情報識別情報16cと名称情報16gとの関連付け(「a1」と「名称1」及び「名称2」、「a3」と「名称3」及び「名称4」)に基づいて、当該入力された名称情報16gの関連付け(例えば、「名称1」と「名称3」)を部品情報識別情報16cの関連付け(例えば、「a1」と「a3」)に変換する。
次に、CPU13は、当該変換した部品情報識別情報16cの関連付け(例えば、「a1」と「a3」)を、前記S2で読み出した部品区分関連情報16d(例えば、「AB」)に関連付けて、コンピュータプログラムの設計情報16e(この場合、「a1−a3」)として記憶装置であるハードディスク16に記憶させる(S6)。
このようにして、1の部品区分関連情報16dに関連付けるコンピュータプログラムの設計情報16eを作成することができるのである。そして、CPU13は、前記S1〜S6の設計処理を繰り返すことにより、コンピュータプログラムの設計情報16eを記憶装置であるハードディスク16に記憶させていく(S7)。これにより、図3〜6に図示するような部品区分関連情報16d(L1、L2、…、P1、P2、…)について、順次設計処理を繰り返し、それぞれの部品区分関連情報16dに関連付けたコンピュータプログラムの設計情報16eを作成していくのである。図3及び4に図示する部品区分関連情報16dに関連付けて作成したコンピュータプログラムの設計情報16eの例を、図13〜20に図示している。同図に示すように、単なる部品情報識別情報16cの関連付け(例えば、「〇」、「−」、等)として設計を行っている設計情報16eもあり、更なる付加情報を加えた部品情報識別情報16cの関連付け(例えば、「入力」、「参照」、「登録」、「出力」、等)として設計を行っている設計情報16eもある。同様に、図5及び6に図示する部品区分関連情報16dに関連付けて作成したコンピュータプログラムの設計情報16eの一部の例を、図28〜35に図示している。
そして、CPU13は、入力装置であるキーボード等15を介して、任意の部品情報識別情報16cの選択を受け付ける(S8)。例えば、図3における「プロジェクト」と「サブシステム」との関連付けが定義されているL1の部品区分関連情報16dから、「プロジェクト」に属する任意の部品情報識別情報16cを選択する。
これを受けてCPU13は、記憶装置であるハードディスク16に記憶されている設計情報16eのうち、当該選択された部品情報識別情報16cに直接関連付いている設計情報16eと、当該選択された部品情報識別情報16cとは異なる他の部品情報識別情報16cを介して当該選択された部品情報識別情報16cに間接的に関連付いている設計情報16eとを、特定のコンピュータプログラムの設計情報として記憶装置であるハードディスク16に記憶させる(S9)。例えば、図3におけるL1、L2、L3、L4、…の部品区分関連情報16dから、「プロジェクト」に属する任意の部品情報識別情報16cを選択された場合、当該選択された部品情報識別情報16cに直接関連付いている設計情報16eと、当該選択された部品情報識別情報16cに間接的に関連付いている設計情報16eとを、特定のコンピュータプログラムの設計情報とするのである。すなわち、図3〜6における設計情報16eは、部品区分関連情報16dの定義に基づき、互いに関連付いているので、芋づる式に設計情報16eが取得できるのである。
このように、設計者にとっては、部品区分関連情報16dの選択を行い、名称情報16gについての関連付けの選択を行うだけで、コンピュータプログラムの設計情報16eが記憶されていく。よって、従来のシステム開発支援ツールよりも操作が容易であり、使用方法について学習の手間も少ない。さらに、同一の部品情報識別情報16cに対して設計を行う場合であっても、設計コンピュータプログラム16iの利用者の区分情報16fに応じて、部品情報識別情報16cの表示名称である名称情報16gを変化する。よって、設計コンピュータプログラム16iの利用者の区分(ユーザ企業、国内のSI会社、国内の2次請けシステム会社、海外のシステム会社、等)に応じて名称情報16gを異なるように、適切な設定をしておけば、設計情報16eの漏洩を未然に防ぐことができる。これにより、システム設計作業を分割して、当該分割した設計作業をユーザ企業が安心して外注すること等ができるため、コストを抑制でき、非常に有益である。
(2)続いて、既存のコンピュータプログラムの設計情報16eを元にして、新たなコンピュータプログラムの設計情報16eを作成する場合について説明する。
先に説明したコンピュータプログラムの設計情報16eを新規作成する場合におけるS0〜S9のうち、S2とS3の部分の処理が異なるだけであるので、当該S2とS3の変わりに行う処理を説明する。この説明には、図53を使用する。
まず、CPU13は、前記S1で選択された部品区分関連情報16d(例えば、「AB」)を記憶装置であるハードディスク16から読み出すと共に、当該読み出した部品区分関連情報16d(「AB」)に関連付いているコンピュータプログラムの設計情報16e(「a1−b1」、「a1−b2」、「a2−b3」)を特定する(S2、1)。
そして、CPU13は、ハードディスク16において、当該読み出した部品区分関連情報16d(「AB」)に含まれる部品区分情報16b(「A」、「B」)に関連付いている部品情報識別情報16c(「a1」、「a2」、「a3」、「b1」、「b2」、「b3」)を特定し、当該特定した部品情報識別情報16cに関連付いている利用者区分情報16fと名称情報16gとの関連付け(「利用者1−名称1」、「利用者2−名称2」、「利用者1−名称3」、「利用者2−名称4」、…)から、前記S0で入力された利用者区分情報16f(例えば、「利用者1」)と一致する利用者区分情報16fに関連付いている名称情報16g(「名称1」、「名称3」)をハードディスク16から読み出す(S2、2)。
さらに、CPU13は、前記S2、1で特定した設計情報16e(「a1−b1」、「a1−b2」、「a2−b3」)をハードディスク16から読み出し、ハードディスク16に記憶されている部品情報識別情報16cと名称情報16gとの関連付け(「a1−名称1」、「a1−名称2」、「a3−名称3」、「a3−名称4」、…)に基づいて、当該読み出した設計情報16e(「a1−b1」、「a1−b2」、「a2−b3」)を、前記S2、2で読み出した名称情報16gの関連付け(例えば「名称1−名称3」等)に変換する(S3、1)。
そして、CPU13は、前記S2、2で読み出した名称情報16gと、当該S3、1で変換した名称情報16gの関連付けとを、出力装置であるディスプレイ12に出力する(S3、2)。そして、前記S4のように名称情報16gの関連付けの選択が行われ、当該名称情報16gの関連付けは、部品情報識別情報16cの関連付けに変換されて、コンピュータプログラムの設計情報16eとして記憶される。
このようにして、既存のコンピュータプログラムの設計情報16eを活用して、新たなコンピュータプログラムの設計を、簡便に行えるのである。例えば、上流の設計工程を表す部品区分関連情報16dに関連付いている設計情報16eを更新すれば、下流の設計情報16eを全て再利用して、新たなコンピュータプログラムの設計が行え、結果として開発工数を大幅に削減できる。よって、設計情報16eをテンプレート化することも可能となり、テンプレート化した設計情報16eの流通・販売も実現する事ができる。
(3)前記説明したハードディスク16に複数存在する部品区分情報16bの1つとして、データ項目情報が存在し、ハードディスク16に記憶されている部品区分関連情報16dには、データ項目情報と当該データ項目情報以外の他の部品区分情報16bとの関連付けが定義されている部品区分関連情報16dが含まれていると、更に有益である。すなわち、この「データ項目情報」の例として、図3〜6に複数回登場する「項目」というデータ項目に関する部品情報が属する部品区分情報16bが考えられる。
上流工程と下流工程の設計作業を並行して行った場合、最も起きやすい不具合は、上流工程で作成した設計情報が下流工程では全く使用されていなかったり、逆に、下流工程で作成した設計情報が上流工程では全く定義されていなかったり、等の論理的な不整合が発生することである。しかし、部品区分関連情報16dに、データ項目情報と当該データ項目情報以外の他の部品区分情報16bとの関連付けが定義されている部品区分関連情報16dが含まれており、上流工程と下流工程の論理的整合性を、当該データ項目情報を利用することによって担保することができるのである。
(4)また、CPU13が、任意の管理書類区分情報16hの選択を、キーボード等15を介して受け付け(S11)、当該選択された管理書類区分情報16hに関連付いている1以上の部品区分関連情報16dをハードディスク16から特定する(S12)。そして、当該特定した1以上の部品区分関連情報16dに関連付いている設計情報16eをハードディスク16から読み出し、管理書類データとしてハードディスク16に記憶させる(S13)。
このような処理を行うことにより、前記説明したように管理書類区分情報16hの設定を事前に行っておけば、既に設計された設計情報16eを元にして、管理書類データを生成することができるため、わざわざ管理書類を更新する手間が省け、システムメンテナンスも容易になる。
(5)また、更に好ましい実施のフローを説明する。前記説明したハードディスク16に複数存在する部品区分情報16bの1つとして、プロセス項目情報が存在し、当該プロセス項目情報に関連付いてハードディスク16に記憶されている部品情報識別情報16cには、部品情報としてのプログラム情報が関連付けられてハードディスク16に記憶されている。そして、データ項目情報に関連付いてハードディスク16に記憶されている部品情報識別情報16cには、部品情報としてのデータ情報が関連付けられてハードディスク16に記憶されている。さらに、ハードディスク16に記憶されている部品区分関連情報16dには、データ項目情報とプロセス項目情報との関連付けを含んで定義されているプログラム部品区分関連情報が含まれている。そして、当該プログラム部品区分関連情報には、コンピュータプログラムの設計情報16eが関連付けてハードディスク16に記憶されている。
このような情報が、ハードディスク16に記憶されている状態で、CPU13が、ハードディスク16に記憶されているプログラム部品区分関連情報に関連付いている設計情報16eから取得された設計情報16eが、ハードディスク16に記憶された特定のコンピュータプログラムの設計情報に含まれているか否かを判断する(S14)。
さらに、CPU13が、S14の判断の結果、含まれていると判断した場合に、当該プログラム部品区分関連情報に関連付いている設計情報16eから取得された設計情報16eに含まれる部品情報識別情報16cを特定し、当該特定した部品情報識別情報16cに関連付いている前記プログラム情報と前記データ情報とをハードディスク16から読み出す(S15)。
そして、S15で特定した部品情報識別情報16cに基づき、当該読み出したプログラム情報とデータ情報とを前記特定のコンピュータプログラムの設計情報に関連付けてハードディスク16に記憶させることにより、特定のコンピュータプログラムを生成する(S16)。
このS14〜S16について、更に説明する。ここでは、図24〜27に示す(a)〜(h)までの部品区分情報16bと、当該部品区分情報16bの区分に属し、Noにより管理されている部品情報識別情報16cと、当該部品情報識別情報16cに関連付いている部品情報とを、使用する。例えば、図24の(a)の「画面」という部品区分情報16bには、「受注入力」という部品情報識別情報16cと、「受注照会」という部品情報識別情報16cとが、Noにより管理されており、当該部品情報識別情報16cに関連付いている部品情報として、「属性」及び「説明」という部品情報がある。
ここで、前記「データ項目情報」は、部品区分情報16bである図24の(b)「項目」が該当し、前記「データ項目情報」は、当該図24の(b)「項目」のNoにより管理されている部品情報識別情報16cに関連付いている部品情報(「デフォルトタグ」、「タグの付加属性」、「項目コード」)が該当する。また、前記「プロセス項目情報」は、部品区分情報16bである図26の(f)「スクリプト」が該当し、前記「プログラム情報」は、当該図26の(f)「スクリプト」のNoにより管理されている部品情報識別情報16cに関連付いている部品情報(「スクリプト文字列」)が該当する。
次に、図28〜35に示す(a)〜(j)までの部品区分関連情報16dは、図24〜27に示す(a)〜(h)までの部品区分情報16bに属する部品情報識別情報16cの関連付けであるコンピュータプログラムの設計情報16eと、関連付いている。前記「データ項目情報」としての部品区分情報16bである図24の(b)「項目」と、前記「プロセス項目情報」としての部品区分情報16bである図26の(f)「スクリプト」との関連付けは、図35の(j)「スクリプトと項目」という部品区分関連情報16d(プログラム部品区分関連情報)において定義されている。そして、当該図35の(j)「スクリプトと項目」という部品区分関連情報16d(プログラム部品区分関連情報)は、同図に示すように、コンピュータプログラムの設計情報16eが関連付いている。
図24〜35までの、部品情報識別情報16cと部品区分関連情報16dの別を、図23に図示した。
そして、CPU13が、ハードディスク16に記憶されている図35の(j)「スクリプトと項目」というプログラム部品区分関連情報に関連付いている設計情報16e(図35のマトリックス上で〇のついている関連付け)から取得された設計情報16eが、ハードディスク16に記憶された特定のコンピュータプログラムの設計情報に含まれているか否かを判断する(S14)。この「特定のコンピュータプログラムの設計情報」とは、先に説明したように、CPU13が、複数の設計情報16eから特定したものである。
さらに、CPU13が、S14の判断の結果、含まれていると判断した場合に、当該図35の(j)「スクリプトと項目」というプログラム部品区分関連情報に関連付いている設計情報16e(図35のマトリックス上で〇のついている関連付け)から取得された設計情報16eに含まれる部品情報識別情報16c(サーバ接続、金額計算、顧客コード、…)を特定し、当該特定した部品情報識別情報16cに関連付いているプログラム情報(図26(f)「スクリプト」における「スクリプト文字列」)とデータ情報(図24(b)「項目」における「デフォルトタグ」、「タグの付加属性」、「項目コード」)とをハードディスク16から読み出す(S15)。
そして、S15で特定した部品情報識別情報16c(サーバ接続、金額計算、顧客コード、…)に基づき、当該読み出したプログラム情報とデータ情報とを前記特定のコンピュータプログラムの設計情報に関連付けてハードディスク16に記憶させることにより、特定のコンピュータプログラムを生成するのである(S16)。
この処理を、図36〜50を使用して、更に詳細に説明する。図36は、図24〜35までの情報を利用して、htmlの画面プログラムを生成する処理についてのフローチャートである。そして、図36のS3601の「中間データ作成」の処理に関する詳細なフローチャートが図37である。
図37における「中間データ作成」のフローチャートには、S3701の「中間データ取得1」の処理と、S3702の「中間データ取得2」の処理と、S3703の「中間データ取得3」の処理と、が存在する。S3701の「中間データ取得1」の処理に関する詳細なフローチャートが図41及び42であり、S3702の「中間データ取得2」の処理に関する詳細なフローチャートが図43及び44であり、S3703の「中間データ取得3」の処理に関する詳細なフローチャートが図45及び46である。そして、S3701の「中間データ取得1」、S3702の「中間データ取得2」、S3703の「中間データ取得3」、の処理の結果として生成された中間データを図47及び48に図示した。
また、図36のS3604の「合成文字の出力」の処理に関する詳細なフローチャートが図38及び39である。そして、図38におけるS3811の「タグ合成文字」の処理に関する詳細なフローチャートが図40である。
このように、「中間データ」を作成し(S3601)、「中間データ」の中に含まれるテンプレート変数に応じた処理を行い(S3602〜S3605)、テンプレート展開が全て終了するまで、処理を繰り返すことによって、図49の画面プログラムの合成が行えるのである。そして、図49の画面プログラムを、ブラウザにより表示した画面の表示例が図50である。
このように、設計コンピュータプログラムにより設計した設計情報を元にして、コンピュータプログラムの生成が行えるため、利用者にとっては、コンピュータプログラムの設計を行うだけで、コンピュータプログラムのソースを取得することができる。また、外部設計、内部設計、及びプログラム設計に関する設計情報を事前に作成しておけば、コンピュータプログラムの生成までが可能であるので、上流の設計工程から下流の実装までを、共通した開発環境で提供できるのである。さらに、プログラム情報とデータ情報とを、コンピュータプログラム言語(VB、C、COBOL等)毎に用意しておけば、設計情報は共通のものであっても、異なるコンピュータプログラム言語でのコンピュータプログラムのソース生成が可能である。このように、従来に比して、開発環境の生産性を高める事ができるのである。