(57)【要約】【課題】ソフトウェアを生成するための仕様情報のうち、いずれかの仕様情報に仕様変更が発生した場合でも、波及関係のある他の仕様情報を容易に編集し、仕様変更に対する対応漏れを確実に防止し、開発保守作業の効率を大幅に向上させること。【解決手段】関連情報生成部１０６が、予め作成されるソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報（波及関係情報１１０）を生成し、変更波及解析表示部１１７が、前記生成された参照関係情報に基づく逆参照入出力一覧表示を行い、該逆参照入出力一覧表示から特定の仕様情報を指定して業務仕様記述部１１６により編集する構成を特徴とする。【選択図】      図１
2005078119.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェアを生成するための複数の仕様情報を記憶可能な記憶手段と、
前記記憶手段に記憶される各仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する第１の生成手段と、
前記第１の生成手段により生成される参照関係情報に基づいて特定の仕様情報を指定して編集可能な編集手段と、
を有することを特徴とするソフトウェア開発支援装置。
【請求項２】
前記第１の生成手段により生成される参照関係情報に基づく表示を行う表示手段を設けたことを特徴とする請求項１記載のソフトウェア開発支援装置。
【請求項３】
前記編集手段は、前記表示手段による表示から特定の仕様情報を指定して編集可能なことを特徴とする請求項２記載のソフトウェア開発支援装置。
【請求項４】
前記表示手段は、前記第１の生成手段により生成された参照関係情報に基づいて、特定の仕様情報に対して参照関係にある仕様情報の一覧を表示することを特徴とする請求項２又は３記載のソフトウェア開発支援装置。
【請求項５】
前記仕様情報は、複数の項目により定義されるものであり、
前記表示手段は、前記第１の生成手段により生成された参照関係情報に基づいて、特定の項目に対して参照関係にある項目の一覧を表示することを特徴とする請求項２〜４のいずれかに記載のソフトウェア開発支援装置。
【請求項６】
前記記憶手段に記憶される各仕様情報に基づいてアプリケーションプログラムを生成する第２の生成手段を設けたことを特徴とする請求項１〜５のいずれかに記載のソフトウェア開発支援装置。
【請求項７】
前記第２の生成手段は、前記編集手段により編集された仕様情報に基づいてアプリケーションプログラムを生成可能なことを特徴とする請求項６記載のソフトウェア開発支援装置。
【請求項８】
前記仕様情報は、複数のデータ項目のデータベースへの配置を示す情報により定義される第１の仕様情報，前記第１の仕様情報内のデータ項目に紐付けられた項目を含む複数の項目により定義される第２の仕様情報を含むものであり、
前記第１の生成手段は、前記第１の仕様情報と前記第２の仕様情報間の参照関係を示す参照関係情報を生成することを特徴とする請求項１〜７のいずれかに記載のソフトウェア開発支援装置。
【請求項９】
前記第２の生成手段は、前記仕様情報に基づいて、前記第１の仕様情報で定義された各データ項目に対応したデータベースの作成、並びに前記データベースへのアクセスを行うための第１のプログラムの生成，前記第２の仕様情報で定義された各項目の入出力画面を表示するための第２のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成をそれぞれ行うことを特徴とする請求項６〜８のいずれかに記載のソフトウェア開発支援装置。
【請求項１０】
ソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する生成工程と、
該生成された参照関係情報に基づく表示を行う表示工程と、
該表示から特定の仕様情報を指定して編集する編集工程と、
を有することを特徴とするソフトウェア開発支援方法。
【請求項１１】
請求項１０に記載されたソフトウェア開発支援方法を実行するためのプログラム。
【請求項１２】
請求項１０に記載されたソフトウェア開発支援方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ソフトウェア開発における仕様書間の関連付けを行うソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体に関するものである。
【０００２】
【従来の技術】
ソフトウェア開発において、仕様の一部に変更が発生した場合、その構成要素に関連した仕様を特定するため、仕様書間の関連情報が必要である。
【０００３】
従来の仕様書間の関連付けの方法として、各工程で作成する仕様書の各々の細粒度項目に対して識別子を与え、それら項目間の関連性の有無を示すクロスリファレンス表を作成して、関連情報を管理する方法がある。
【０００４】
しかし、この方法は、クロスリファレンスを人手で作成し、項目間の関連が変更されたとき、クロスリファレンス表を再度人手で作成する必要があった。
【０００５】
これに対し、特開２００３−１４０８９４公報（特許文献１）では、プログラム機能関連図から、各種仕様書と仕様書間の関連情報、波及関係情報を自動生成する方法が記載されている。
【０００６】
このプログラム機能関連図とは、開発対象の業務システムを構成するプログラム、データ、表示画面を構成要素とし、これら構成要素間のデータの入出力関係を記述した図を示すものである。
【０００７】
【特許文献１】
特開２００３−１４０８９４公報
【０００８】
【発明が解決しようとする課題】
しかしながら、上記特許文献１における仕様書間の関連情報の管理方法では、各種仕様書と波及関係情報は、上述したプログラム機能関連図から自動生成される構成となっているが、上述プログラム機能関連図自体については、仕様変更の度に、人手により変更しなければならず、煩雑で非効率的であった。
【０００９】
また、上述したように、プログラム機能関連図は、プログラム、データ、表示画面を構成要素とするため、プログラム機能関連図の作成・変更は、システム全体を把握しているものでなければ困難であった。
【００１０】
さらに、プログラム機能関連図から自動生成される波及関係情報については、その結果情報が表示出力されるのみで、仕様変更作業，プログラムコード生成といった開発保守作業支援との連携についてはなんら考慮なされていない。
【００１１】
そのため、波及関係情報を表示出力した後、波及関係情報の表示とは異なるシステムを利用して、仕様変更作業、プログラムコード生成等の保守作業を独立に行う必要があり、非効率的であるとともに、仕様変更に対する対応漏れを起こしやすいという問題点があった。
【００１２】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、予め作成されるソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の関連情報（例えば、参照関係を示す参照関係情報）を生成し、該生成された関連情報に基づく表示を行い、該表示から特定の仕様情報を指定して編集することにより、ソフトウェアを生成するための複数の仕様情報のうち、いずれかの仕様情報に仕様変更が発生した場合でも、容易に波及関係のある他の仕様情報を指定して編集することができ、業務仕様の枠組みの中で、仕様書間の関連を自動検索でき、仕様変更に対する対応漏れを確実に防止することができ、開発保守作業の効率を大幅に向上させることができるソフトウェア開発支援装置およびソフトウェア開発支援方法およびプログラムおよび記録媒体を提供することである。
【００１３】
【課題を解決するための手段】
本発明の第１の発明は、ソフトウェアを生成するための複数の仕様情報を記憶可能な記憶手段（図１に示す外部記憶装置１０４内の入出力テーブルに格納される業務処理情報（図１０））と、前記記憶手段に記憶される各仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する第１の生成手段（図１に示す関連情報生成部１０６，図１２）と、前記第１の生成手段により生成される参照関係情報（図１３，図１４）に基づいて特定の仕様情報を指定して編集可能な編集手段（図１に示す業務使用記述部１１６，図１５に示す項目逆参照入出力一覧１５００内の編集ボタン１５０１の押下により表示される図５，図１６に示すファイル逆参照入出力一覧１６００内の編集ボタン１６０１の押下により表示される図６）とを有することを特徴とする。
【００１４】
本発明の第２の発明は、前記第１の生成手段により生成される参照関係情報に基づく表示を行う表示手段（図１５に示す項目逆参照入出力一覧，図１６に示すファイル逆参照入出力一覧１６００）を設けたことを特徴とする。
【００１５】
本発明の第３の発明は、前記編集手段は、前記表示手段による表示から特定の仕様情報を指定して編集可能（図１５に示す項目逆参照入出力一覧１５００内の編集ボタン１５０１の押下により表示される図５，図１６に示すファイル逆参照入出力一覧１６００内の編集ボタン１６０１の押下により表示される図６）なことを特徴とする。
【００１６】
本発明の第４の発明は、前記表示手段は、前記第１の生成手段により生成された参照関係情報に基づいて、特定の仕様情報に対して参照関係にある仕様情報の一覧を表示する（図１６に示すファイル逆参照入出力一覧１６００）ことを特徴とする。
【００１７】
本発明の第５の発明は、前記仕様情報は、複数の項目により定義されるものであり、前記表示手段は、前記第１の生成手段により生成された参照関係情報に基づいて、特定の項目に対して参照関係にある項目の一覧を表示する（図１５に示す項目逆参照入出力一覧１５００）ことを特徴とする。
【００１８】
本発明の第６の発明は、前記記憶手段に記憶される各仕様情報に基づいてアプリケーションプログラムを生成する第２の生成手段（図１に示すコード生成部１０７，図２３〜図２７）を設けたことを特徴とする。
【００１９】
本発明の第７の発明は、前記第２の生成手段は、前記編集手段により編集された仕様情報に基づいてアプリケーションプログラムを生成可能（図５に示す生成ボタン５１１，図６に示す生成ボタン７０８によりコード生成指示可能）なことを特徴とする。
【００２０】
本発明の第８の発明は、前記仕様情報は、複数のデータ項目のデータベースへの配置を示す情報により定義される第１の仕様情報（ファイル項目（ＩＯ区分＝「Ｆ」）から構成されるデータファイル），前記第１の仕様情報内のデータ項目に紐付けられた項目を含む複数の項目により定義される第２の仕様情報（入出力項目（ＩＯ区分＝「Ｄ」）から構成されるデータファイル）を含むものであり、前記第１の生成手段は、前記第１の仕様情報と前記第２の仕様情報間の参照関係を示す参照関係情報を生成することを特徴とする。
【００２１】
本発明の第９の発明は、前記第２の生成手段は、前記仕様情報に基づいて、前記第１の仕様情報で定義された各データ項目に対応したデータベースの作成（図２３のステップＳ４０３，図２４）、並びに前記データベースへのアクセスを行うための第１のプログラムの生成（図２３のステップＳ４０４，図２５），前記第２の仕様情報で定義された各項目の入出力画面を表示するための第２のプログラムの生成（図２３のステップＳ４０６，図２６）、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成（図２３のステップＳ４０５，図２５）をそれぞれ行うことを特徴とする。
【００２２】
本発明の第１０の発明は、ソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成する生成工程（図１２）と、該生成された参照関係情報に基づく表示を行う表示工程（図１１のステップＳ２０７，Ｓ２０８）と、該表示から特定の仕様情報を指定して編集する編集工程（図１１のステップＳ２０８からステップＳ２０１へ移行する行程）とを有することを特徴とする。
【００２３】
本発明の第１１の発明は、第１０の発明に記載されたソフトウェア開発支援方法を実行するためのプログラムであることを特徴とするプログラム。
【００２４】
本発明の第１２の発明は、第１０の発明に記載されたソフトウェア開発支援方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【００２５】
【発明の実施の形態】
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
【００２６】
図１は、本発明の一実施形態を示すソフトウェア開発支援装置の構成を示すブロック図である。
【００２７】
図において、１０１は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報（データ項目のデータベースへの配置とデータ項目間の関係を示すファイル定義，画面に対して入出力するデータ項目を示す入出力定義）や、業務パターン（画面表示パターンと該画面表示パターンに付随したロジックの組み合わせを規定したもの）の選択等を行うことが可能である。
【００２８】
１０２は表示装置で、ＣＲＴ，ＬＣＤ等で構成され、業務仕様情報，業務パターンの選択情報の入力画面や、該入力画面から入力された業務仕様情報や業務パターン選択情報、生成されたプログラムコード等を表示可能である。１０４はハードディスク等の外部記憶装置で、入力された業務仕様を記憶するための入出力テーブル１０９（後述する図１０）、波及関係情報１１０（後述する図１３，図１４）、業務パターン選択情報１１１、生成されたプログラムコード（ＪＳＰコード１１２，サーブレット（Ｓｅｒｖｌｅｔ）コード１１３，Ｂｅａｎコード１１４）等を記憶するものである。
【００２９】
１０３は処理装置で、ＣＰＵ，ＲＯＭ，ＲＡＭ等から構成され、ＣＰＵがＲＯＭ，外部記憶装置１０４又はその他の記録媒体に格納されるプログラムをＲＡＭ上にロードして実行することにより実現されるものであり、画面制御部１０５，コード生成部１０７を備える。
【００３０】
画面制御部１０５は、入力装置１０１から業務仕様情報の入力を行うために表示装置１０２の画面（後述する図４〜図９）を制御する業務仕様記述部１１６と、波及関係情報１１０を解析し変更波及一覧画面の表示を行うために表示装置１０２の画面（後述する図１５に示す項目逆参照入出力一覧１５００，図１６に示すファイル逆参照入出力一覧１６００）を制御する変更波及解析表示部１１７とを有する。
【００３１】
関連情報生成部１０６は、入力装置１０１から入力され外部記憶装置１０４内の入出力テーブル１０９に業務仕様情報が記憶されると、該記憶された業務仕様情報に基づいて波及関係情報１１０の生成及び格納を行う。コード生成部１０７は、外部記憶装置１０４内の入出力テーブル１０９に記憶された業務仕様情報，業務パターン選択情報１１１に基づいてプログラムコード（ＪＳＰコード１１２，サーブレット（Ｓｅｒｖｌｅｔ）コード１１３，Ｂｅａｎコード１１４）を生成し、外部記憶装置１０４に記憶させる。また、コード生成部１０７は、外部記憶装置１０４内の入出力テーブル１０９から読み出された業務仕様情報に基づいて図示しないデータベースシステムに対してデータベース（ＤＢ）を作成する。
【００３２】
１０８は全体制御部で、画面制御部１０５，コード生成部１０７等の各部の制御を行う。
【００３３】
図２は、図１に示したコード生成部１０７によって生成したサーブレット、ＪＳＰ、およびＢｅａｎを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【００３４】
コード生成部１０７によって生成されたサーブレット、ＪＳＰ、およびＢｅａｎは、それぞれ実行可能な状態で、サーバ３０４側のアプリケーションサーバ３０６上に配置される。
【００３５】
このＷｅｂアプリケーションシステムは、クライアント３０１からウェブブラウザ３０２によって利用される。ウェブブラウザ３０２からＪＳＰ３０９にアクセスすることにより、ＨＴＭＬページを生成し、クライアント３０１側に返送する。そして、ウェブブラウザ３０２上には、ＪＳＰ３０９から送信されるＨＴＭＬページ３０３が表示される。
【００３６】
また、Ｗｅｂブラウザ３０２からのリクエストは、ＨＴＴＰ経由でサーバ３０４側に送信される。サーバ３０４にはＨＴＴＰサーバ３０５とアプリケーションサーバ３０６があり、アプリケーションサーバ３０６にはサーブレットやＪＳＰの実行環境が含まれている。
【００３７】
サーバ３０４側にリクエストが送信されると、リクエストに応じて該当するサーブレット３０７が起動される。サーブレット３０７は、対応するＢｅａｎ３０８に処理を要求する。さらに、Ｂｅａｎ３０８はＤＢアクセスオブジェクト３１０を利用してデータベース３１１にアクセスし、業務に関する処理やデータ加工などを行い、その処理結果を保持する。ＤＢアクセスオブジェクト３１０は、業務を分析、設計した結果、作成されるクラスや、再利用可能な既存のクラスである。
【００３８】
次に、サーブレット３０７からＪＳＰ３０９にＢｅａｎ３０８を渡し、ＪＳＰ３０９を呼び出す。ＪＳＰ３０９は、Ｂｅａｎ３０８で保持する処理結果を参照して、ＨＴＭＬページを生成し、クライアント３０１側に返送する。クライアント３０１側に返送されたＨＴＭＬページは、Ｗｅｂブラウザ３０２上に表示される。
【００３９】
サーブレット３０７は、Ｗｅｂブラウザ３０２からのリクエストの受け付け、Ｂｅａｎ３０８への処理要求、およびＪＳＰ３０９の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。ＪＳＰ３０９はＨＴＭＬページを出力するための表示に関することを受け持ち、Ｂｅａｎ３０８はデータベース３１１へのアクセス等の業務に関する処理を受け持つ。Ｂｅａｎ３０８やＪＳＰ３０９を利用せず、サーブレット３０７のみでＷｅｂブラウザ３０２からのリクエストを処理することは可能であるが、Ｂｅａｎ３０８やＪＳＰ３０９を利用することでそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
【００４０】
図３は、本発明のソフトウェア開発支援装置における第１の制御処理手順の一例を示すフローチャートであり、図１に示した処理装置１０３の全体制御部１０８の動作に対応する。なお、Ｓ１０１〜Ｓ１０５は各ステップを示す。
【００４１】
図１に示した処理装置１０３は、コード生成する業務仕様（入出力テーブル）の入力や業務パターンの選択を行う入力モードと、入力された業務仕様（入出力テーブル）や業務パターン選択情報からプログラムコードを生成する生成モードとを有する。
【００４２】
まず、全体制御部１０８が起動されると、ステップＳ１０１において、入力装置１０１からオペレータの指示により選択されたモードが生成モードか入力モードかを判定し、入力モードが選択されたと判定した場合には、ステップＳ１０２に進み、全体制御部１０８は、画面制御部１０５を起動する。
【００４３】
起動された画面制御部１０５は、ステップＳ１０３において、業務仕様記述部１１６を起動して業務仕様入力画面（不図示）を表示させ、生成するウェブアプリケーションのアプリケーション名，オペレータからの業務仕様の一形態である入出力テーブルへの項目入力を受け付け、該入出力テーブルを外部記憶装置１０４に格納する。また、フローチャートには図示しないが、入出力テーブルが更新されると、全体制御部１０８は、関連情報生成部１０６を起動し、該起動された関連情報生成部１０６は波及関係情報１１０を生成し外部記憶装置１０４に格納する。さらに、業務仕様記述部１１７は、ユーザからの指示に応じて、変更波及解析表示部１１７を起動させる。該起動された変更波及解析表示部１１７は逆参照入出力一覧（後述する図１５に示す項目逆参照入出力一覧１５００，図１６に示すファイル逆参照入出力一覧１６００）を表示させる。
【００４４】
なお、業務仕様記述部１１６による業務仕様入力処理については、後述する図１１，図１２に示すフローチャートで詳細に説明する。
【００４５】
一方、ステップＳ１０１において、入力装置１０１からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップＳ１０４に進み、全体制御部１０８は、コード生成部１０７を起動させて、外部記憶装置１０４に記憶された入出力テーブル１０９と選択された業務パターン選択情報１１１に基づいてコード生成及びデータベースの作成を行う。
【００４６】
そして、ステップＳ１０５において、全体制御部１０８は、生成されたコードを、オペレータの指示により表示装置１０２に表示したり、外部記憶装置１０４に書き込む出力処理を行う。
【００４７】
以下、図４〜図１０を参照して、本発明のソフトウェア開発支援装置における業務仕様（入出力データ）について説明する。
【００４８】
図４〜図９は、本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図であり、業務仕様記述部１１６により起動される。
【００４９】
また、図１０は、本発明のソフトウェア開発支援装置における業務仕様情報を入出力テーブルの形式で示したテーブル構成の一例を示す模式図である。
【００５０】
図４〜図９の業務仕様入力画面から入力される業務仕様は、内部的には図１０の入出力テーブルの形式で保存される。
【００５１】
まず、図４において、４００はアプリケーション番号入力エリアで、生成するウェブアプリケーションのアプリケーション番号（この例では「ＳｈｏｈｉｎＭａｓｔｅｒ」）を入力する。
【００５２】
４０１はデータファイル番号入力エリアで、データファイル番号（この例では「ＳｈｏｈｉｎＭ」（アプリケーション名と同一でもよい））を入力するためのものであり、図１０に示す入出力テーブルの列１に格納される。４０２はファイル名入力エリアで、データファイル番号入力エリア４０１で入力されたデータファイル番号に対応するデータファイル名（この例では「商品マスタ」）を入力するためのものであり、図１０に示す入出力テーブルの列３に格納される。４０３は説明入力エリアである。
【００５３】
また、４０４はＩＯ区分選択エリアで、データファイル番号入力エリア４０１で入力されたデータファイル番号が「ファイル定義」又は「入出力定義」のいずれであるかを選択する（この例では「ファイル定義」が選択されている）。なお、ファイル定義とは、当該データファイルで定義される項目をデータベースへの配置の定義とするものであり、入出力定義とは、当該データファイルで定義される項目を画面表示項目群の定義とするものである。
【００５４】
４０５は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータファイルが削除される。４０６は詳細ボタンで、このボタンをマウス等で指示することにより、ＩＯ区分選択エリア４０４で「ファイル定義」が選択されていた場合、データファイルの各ファイル項目情報を入力するファイル項目一覧画面（図５）が表示され、また、ＩＯ区分選択エリア４０４で「入出力定義」が選択されていた場合、入出力項目情報を入力する入出力項目一覧画面（図６）が表示される。
【００５５】
図５に示すファイル項目一覧において、５０１は並び順入力エリアで、対応するファイル項目の並び順（１，２，３，・・・）を入力するためのものであり、図１０に示す入出力テーブルの列７に格納される。５０２はデータファイル項目枝番入力エリアで、対応するファイル項目の識別情報であるデータファイル項目枝番（この例では「Ｃｏｄｅ」を含む４項目）を入力するためのものであり、図１０に示す入出力テーブルの列４に格納される。５０３はデータファイル項目名入力エリアで、対応するデータファイル項目の名称（この例では「商品コード」を含む４項目）を入力するためのものであり、図１０に示す入出力テーブルの列５に格納される。
【００５６】
なお、図１０には示していないが、キー機能指定エリアで、主キー，第２キーとなるデータファイル項目を指定したり、参照ファイル番号及び参照先データファイル項目枝番指定エリアで、参照関係にあるデータファイル番号及びデータファイル項目枝番を指定したり、桁数入力エリア，データタイプ入力エリア等により、データファイル項目の桁数，データタイプ（テキスト，数値，日付，通貨等）を入力可能に構成してもよい。
【００５７】
５０４は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータファイル項目が削除される。
【００５８】
５０５は項目逆参照入出力一覧表示指示エリアで、このエリアをマウス等で指示することにより、後述する図１５に示すように当該データファイル項目に対応する項目逆参照入出力一覧１５００が表示される。
【００５９】
５０６はファイル逆参照入出力一覧表示指示エリアで、このエリアをマウス等で指示することにより、後述する図１６に示すように当該データファイルに対応するファイル逆参照入出力一覧１６００が表示される。
【００６０】
５０７は「別名で保管」ボタンで、このボタンをマウス等で指示することにより、業務仕様入力画面（図４）及びデータ項目入力画面（図５）で入力された業務仕様より入出力テーブルが生成され、外部記憶装置１０４に所望の名称で保存することができる。
【００６１】
５０９は閉じるボタンで、このボタンをマウス等で指示することにより、ファイル項目一覧画面が終了される。５１０は適用ボタンで、このボタンをマウス等で指示することにより、業務仕様入力画面（図４）及びファイル項目一覧画面（図５）で入力された業務仕様より入出力テーブルが生成され、外部記憶装置１０４に新規保存又は更新保存される。なお、ここで保存されるデータは、全てファイル項目を示すデータとなり、図１０に示す入出力テーブルの列６に示すＩＯ区分に「Ｆ」が格納される。
【００６２】
５１１は生成ボタンで、このボタンをマウス等で指示することにより、図１に示したコード生成部１０７を起動し、コード生成処理を行うことができる。
【００６３】
次に、入出力定義の入力について説明する。
【００６４】
図６に示す入出力定義入力画面で入力される入出力項目データは、図１０に示す入出力テーブルの６列のＩＯ区分が「Ｄ」として生成される（行５〜行７，行８〜行１１）。
【００６５】
図６において、７０１は並び順入力エリアで、対応する入出力項目の並び順（１，２，３，・・・）を入力するためのものであり、図１０に示す入出力テーブルの列７に格納される。７０２は入出力項目名入力エリアで、画面表示する項目名称（例えば、「商品コード」）を入力するためのものであり、図１０に示す入出力テーブルの列５に格納される。
【００６６】
７０３はデータファイル番号入力エリアで、データファイル番号（例えば、「ＳｈｏｈｉｎＭ」を入力するためのものであり、図１０に示す入出力テーブルの列２に格納される。７０４はデータファイル項目枝番入力エリアで、対応する入出力項目の識別情報であるデータ項目番号（例えば「Ｃｏｄｅ」）を入力するためのものであり、図１０に示す入出力テーブルの列４に格納される。
【００６７】
７０６は閉じるボタンで、このボタンをマウス等で指示することにより、データ項目入力画面が終了される。７０７は適用ボタンで、このボタンをマウス等で指示することにより、入出力項目一覧画面（図６）で入力された入出力項目が外部記憶装置１０４に記憶される入出力テーブル１０９に追加される。
【００６８】
７０８は生成ボタンで、このボタンをマウス等で指示することにより、図１に示したコード生成部を起動し、コード生成処理を行うことができる。
【００６９】
なお、図６中の各フィールド（並び順入力エリア７０１，入出力項目名入力エリア７０２，データファイル番号入力エリア７０３）へキーボード等から項目名称等を入力する場合について説明したが、「ファイル定義から」ボタン７０５をマウス等で指示することにより、図７に示すデータファイル選択画面が表示され、データファイルから選択入力することができる。
【００７０】
そして図７のデータファイル選択画面において、詳細表示ボタン８０１をマウス等で指示して表示項目と関連づけたいデータファイル項目（データファイル番号表示欄８０２，データファイル名表示欄８０３で特定される）を選択することで、図８に示すように当該データファイル内の項目の一覧が表示され、これらから入出力項目とする項目については、表示選択チェックボックス９０６にチェックを行って、適用ボタン９０４をマウス等で指示すると、入出力項目一覧画面に戻り、その結果、図９に示すように選ばれた項目（並び順表示欄９０１，項目番号表示欄９０２，項目名表示欄９０３に表示される項目）が表示項目として入出力テーブルに格納されることになる。
【００７１】
なお、この図９に示す入出力項目一覧画面中で項目名を変更して、データファイル項目名称と区別することも可能である。
【００７２】
以上、図６〜図９に示した入出力項目入力機能により、業務仕様入力作業の負荷を相当、軽減することが可能となった。
【００７３】
なお、図６（図９）〜図８に示した画面による入出力項目の入力を複数回繰り返すことにより、複数のデータファイルから入出力項目を選択して入出力項目を作成することも可能である。
【００７４】
以上、図４〜図９に示す操作画面による入力操作を行った結果、入出力テーブルは以下に示す図１０のようになる。
【００７５】
以下、図１０に示した業務仕様情報（入出力テーブル）について説明する。
【００７６】
図１０の入出力テーブルにおいて、列１は、画面単位に定義されるアプリケーション番号を示している。列２は、データファイル番号であり、ＤＢテーブル名称を表している。列４は、データファイル項目枝番であり、データファイルを構成するデータ項目を表している。
【００７７】
列３はデータファイル番号に対応するデータファイルの名称、列５はデータファイル項目枝番に対応する各データ項目の名称である。
【００７８】
入出力テーブル１０９は、ファイル項目と入出力項目で構成されており、その識別は、列６のＩＯ区分でなされる。ＩＯ区分の値が「Ｆ」のときは、当該データ項目はファイルであり、「Ｄ」のときは入出力項目群である。
【００７９】
本発明における、業務仕様間の関連付けは、ＩＯ区分が「Ｆ」の項目が、他の業務仕様のどこで「Ｄ」項目，「Ｓ」項目として用いられているかを調べるものである。この関連情報をもとに、波及関係を明確にし、業務仕様の変更が発生した場合、どの仕様が影響を受けるかをデータ項目単位とテーブル単位とで提示しようというものである。
【００８０】
列７は、並び順を表しており、アプリケーション毎で独立に付加される。この並び順は、後述する図１３に示すデータ項目単位の波及関係情報において関係するデータ項目を示す項目番号として用いる。
【００８１】
以下、図１０〜図１６を用いて、本実施形態の業務仕様間の関連付け方法について説明する。
【００８２】
〔波及関連情報の出力〕
図１１は、本発明のソフトウェア開発支援装置における第２の制御処理手順の一例を示すフローチャートであり、図１に示した業務仕様入力部１１６による業務仕様入力処理（図３のステップＳ１０３）に対応する。なお、Ｓ２０１〜Ｓ２１０は各ステップを示す。
【００８３】
まず、ステップＳ２０１において、オペレータからの入力を検知するまで待機し、入力を検知したと判定した場合には、ステップＳ２０２において、入力が業務仕様保存指示であるか否かを判定し、入力が業務仕様保存指示であると判定した場合には、ステップＳ２０３において、業務仕様を入出力テーブル１０９に格納（保存）し、該業務仕様が格納された段階で自動に（オペレータの操作選択を必要とせず）ステップＳ２０４に進む。
【００８４】
ステップＳ２０４において、関連情報生成部１０６が起動され、該関連情報生成部１０６が入出力テーブル１０９に格納された業務仕様（データファイル）に対する関連情報生成処理（詳細は図１２）を行って波及関係情報を生成し、ステップＳ２０５において、生成された波及関係情報を外部記憶装置１０４に格納し、ステップＳ２０１に戻り、次の入力があるまで待機する。
【００８５】
一方、ステップＳ２０２において、入力が業務仕様保存指示でないと判定した場合には、ステップＳ２０６において、入力が逆参照入出力一覧表示指示であるか否かを判定し、逆参照入出力一覧表示指示であると判定した場合には、ステップＳ２０７において、変更波及解析表示部１１７が起動され、該変更波及解析表示部１１７が外部記憶装置１０４に格納された波及関係情報１１０を読み出し、変更波及解析処理を行い、ステップＳ２０８において、該解析結果の一覧（後述する図１５に示す項目逆参照入出力一覧１５００，図１６に示すファイル逆参照入出力一覧１６００）を画面表示し（変更波及一覧画面表示を行い）、ステップＳ２０１に戻り、次の入力があるまで待機する。
【００８６】
なお、図５に示した項目逆参照入出力一覧表示エリア５０５により逆参照入出力一覧表示指示が成された場合には、該変更波及解析表示部１１７は、項目の波及関係情報（後述する図１３）を読み出し、変更波及解析処理を行い、項目逆参照入出力一覧１５００（図１５）を表示する。一方、図５に示したファイル逆参照入出力一覧表示エリア５０６により逆参照入出力一覧表示指示が成された場合には、該変更波及解析表示部１１７は、ファイルの波及関係情報（後述する図１４）を読み出し、変更波及解析処理を行い、ファイル逆参照入出力一覧１６００（図１６）を表示する。
【００８７】
ここで、変更によりその波及が予想される業務仕様を編集する場合は、逆参照入出力一覧画面（図１５に示す項目逆参照入出力一覧１５００，図１６に示すファイル逆参照入出力一覧１６００）より変更したい業務仕様の編集ボタン（１５０１，１６０１）を指示することにより、編集画面（図５，図６）を表示して、シームレスに変更を行うことができる（詳細には図示していないが、図１１のステップＳ２０８→Ｓ２０１の工程に対応する）。なお、編集ボタン（１５０１，１６０１）の指示に応じて、対応する業務仕様の編集画面（図５，図６）を表示して手動で編集するように構成してもよいし、オペレータが図示しない画面より自動編集を指示した場合には、編集画面を表示することなく、変更された業務仕様に合わせて関連する業務仕様を自動編集するように構成してもよい。
【００８８】
さらに、オペレータが、生成ボタン（５１１，７０８）を指示することにより、変更を行った業務仕様からプログラムコードをやはりシームレスに生成し、直接、その動作を確認することもできる。
【００８９】
なお、オペレータの指示がなくても、ファイル項目が変更入力された際に（図５に示したデータファイル項目枝番入力エリア５０２，項目逆参照入出力一覧表示指示エリア５０５等に変更入力があった際に）、該変更されたファイル項目に対応する図１５に示す項目逆参照入出力一覧１５００を自動表示するように構成してもよい。
【００９０】
また、オペレータの指示がなくても、データファイルが変更された際に（図４に示したデータファイル番号入力エリア４０１に変更入力があった際や、図５に示した適用ボタン５１０が押下された際に）、該変更されたデータファイルに対応する図１６に示すファイル逆参照入出力一覧１６００を自動表示するように構成してもよい。
【００９１】
以下、図１１のフローチャートの説明に戻る。
【００９２】
一方、ステップＳ２０６において、入力が逆参照入出力一覧表示指示でないと判定した場合には、ステップＳ２０９において、入力が終了指示であるか否かを判定し、終了指示（「閉じる」ボタン５０９への指示）であると判定した場合には、そのまま処理を終了して図３のフローチャートに戻る。
【００９３】
一方、ステップＳ２０９で、入力が終了指示でないと判定した場合には、ステップＳ２１０において、その他の入力に応じた処理を行い、ステップＳ２０１に戻り、次の入力があるまで待機する。
【００９４】
図１２は、本発明のソフトウェア開発支援装置における第３の制御処理手順の一例を示すフローチャートであり、図１に示した関連情報生成部１０６による関連情報生成処理（図３のステップＳ１０３）に対応する。なお、Ｓ３０１〜Ｓ３０９は各ステップを示す。
【００９５】
まず、ステップＳ３０１において、入出力テーブル１０９よりＩＯ区分が「Ｆ」のデータファイル項目を１つ取得する。
【００９６】
次に、ステップＳ３０２において、入出力テーブル１０９より項目１つを読み込み、ステップＳ３０３において、該読み込んだ項目とステップ３０１で取得した項目のデータファイル番号が等しいか否かをチェックし、等しくないと判定した場合には、ステップ３０８へ遷移する。
【００９７】
一方、ステップＳ３０３で、ステップＳ３０２で読み込んだ項目とステップ３０１で取得した項目のデータファイル番号と等しいと判定した場合には、ステップＳ３０４において、ステップＳ３０２で読み込んだ項目とステップ３０１で取得した項目のアプリケーション番号が等しいかどうかのチェックを行う。これは、テーブル（データファイル）単位での波及関係を得るためのものであり、等しくないと判定した場合には、新たなテーブルにおける波及関係が生起したものとみなし、ステップＳ３０５において、ステップ３０１で取得した項目のアプリケーション番号，ステップＳ３０２で読み込んだ項目のアプリケーション番号を図１４に示すテーブルにおける波及関係情報の関連元番号１４０１，関連先番号１４０２にそれぞれ格納し（関係情報出力（テーブル））、ステップＳ３０６に進む。
【００９８】
一方、ステップＳ３０４で、ステップＳ３０２で読み込んだ項目とステップ３０１で取得した項目のアプリケーション番号が等しいと判定した場合には、そのままステップＳ３０６に進む。
【００９９】
次に、ステップＳ３０６において、ステップＳ３０２で読み込んだ項目とステップ３０１で取得した項目のデータファイル項目枝番が等しいかどうかのチェックを行う。これは、項目単位での波及関係を得るためのものであり、等しいと判定した場合には、項目における波及関係が成立っているものとみなし、ステップＳ３０７において、ステップ３０１で取得した項目のデータファイル項目枝番を特定する情報（アプリケーション番号と並び順），ステップＳ３０２で読み込んだ項目のデータファイル項目枝番を特定する情報（アプリケーション番号と並び順）を図１３に示す項目における波及関係情報の関連元番号１３０１，関連先番号１３０２にそれぞれ格納し（関係情報出力（項目））、ステップＳ３０８に進む。
【０１００】
次に、ステップＳ３０８において、入出力テーブル１０９内の全項目についてステップＳ３０２〜Ｓ３０７の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップＳ３０２の処理に戻り、一方、終了したと判定した場合には、ステップＳ３０９に進む。
【０１０１】
次に、ステップＳ３０９において、入出力テーブル１０９内の全データファイル項目（ＩＯ区分＝「Ｆ」）についてステップＳ３０１〜Ｓ３０８の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップＳ３０１の処理に戻り、一方、終了したと判定した場合には、処理を終了して図１１のフローチャートに戻る。
【０１０２】
以上の処理により、作成された波及関系情報を図１３，図１４に示す。
【０１０３】
図１３は、図１に示した関連情報生成部１０６によって生成された項目における波及関系情報の一例を示す図である。
【０１０４】
図１３において、１３０１は関係元番号、１３０２は関係先番号で、図１０に示した入出力テーブルの列２のデータファイル番号と列７の並び順で表される。なお、関係元番号１３０１に現れる並び順は、図１０における列６のＩＯ区分が「Ｆ」、即ち、ファイル項目のみとなる。
【０１０５】
例えば、図１３の２行目は、関係元番号が「ＳｈｏｈｉｎＭａｓｔｅｒ：１」で、関連先番号が「Ｓａｎｍｐｌｅ２：１」である。
【０１０６】
これは、図１０に示したアプリケーション「ＳｈｏｈｉｎＭａｓｔｅｒ（商品マスタ）」における並び順「１」のファイル項目「Ｃｏｄｅ（商品コード）」が変更されれば、アプリケーション「Ｓａｍｐｌｅサンプル２」における並び順「１」の入出力項目「Ｃｏｄｅ（商品コード）」をも変更する必要があることを表している。
【０１０７】
以上示したような項目における波及関系情報は、図１５に示す項目逆参照入出力一覧（項目波及変更一覧）のように表示される。
【０１０８】
図１４は、図１に示した関連情報生成部１０６によって生成されたテーブルにおける波及関系情報の一例を示す図である。
【０１０９】
図１４において、１４０１は関連元番号、１４０２は関連先番号で、図１０に示した入出力テーブルの列１のアプリケーション番号で表される。
【０１１０】
例えば、図１４の２行目は、関連元番号が「ＳｈｏｈｉｎＭａｓｔｅｒ」で、アプリケーション「ＳｈｏｈｉｎＭａｓｔｅｒ」で用いるテーブル「ＳｈｏｈｉｎＭ」に変更が加えられた場合、アプリケーション「Ｓａｍｐｌｅ２」で用いられているテーブル「ＳｈｏｈｉｎＭ」への変更を考慮しなければならないことを意味している。
【０１１１】
以上示したようなテーブルにおける波及関連情報は、図１６に示すテーブル逆参照入出力一覧（テーブル波及変更一覧）のように表示される。
【０１１２】
図１５は、本発明のソフトウェア開発支援装置における項目逆参照入出力一覧（項目波及変更一覧）の一例を示す模式図である。
【０１１３】
図において、１５０１は編集ボタンで、このボタンをマウス等で指示することにより、対応する業務仕様の入力画面（図５又は図６）が表示され、さらに該当する項目にカーソルが移動し、当該項目に対応する仕様変更をシームレスに行うことができ、また、入力画面から生成ボタン（５１１又は７０８）をマウス等で指示することで、プログラムコードを生成することができる。
【０１１４】
図１６は、本発明のソフトウェア開発支援装置におけるファイル（テーブル）逆参照入出力一覧（テーブル波及変更一覧）の一例を示す模式図である。
【０１１５】
図において、１６０１は編集ボタンで、このボタンをマウス等で指示することにより、対応する業務仕様の入力画面（図５又は図６）が表示され、当該業務仕様に対応する仕様変更をシームレスに行うことができ、また、入力画面から生成ボタン（５１１又は７０８）をマウス等で指示することで、プログラムコードを生成することができる。
【０１１６】
図１７〜図２１は、本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【０１１７】
図１７に示す一覧表示パターンは、図１０の行５〜行７に対応する項目データをデータベースから取得し、列４のデータファイル項目枝番に対応する項目データを一覧表示する業務処理に対応する。
【０１１８】
図１８に示す登録パターンは、図１０の行５〜行７に対応する項目データを入力画面から入力させ、データベースへ格納（新規登録）する業務処理に対応する。
【０１１９】
図１９に示す更新パターンは、図１０の行５〜行７に対応する項目データを入力画面から入力させ、データベースへ更新登録，新規登録させたり、入力画面から入力されたデータに対応するレコードをデータベースから削除させたり、入力画面から入力されたデータに対応するレコードをデータベースから取得して表示させる業務処理に対応する。
【０１２０】
図２０に示す一覧更新パターンは、図１０の行５〜行７対応する項目データをデータベースから取得し、一覧表示したり、表示されたデータに対して追加，変更，削除等を行わせてデータベースに更新する業務処理に対応する。
【０１２１】
図２１に示す検索一覧パターンは、図１０の行５〜行７に対応するテーブル内のデータを入力画面から入力させ、該入力されたデータをキーにしてデータを検索して一覧表示する業務処理に対応する。
【０１２２】
なお、本発明のソフトウェア開発支援装置に適用可能な業務パターンは、図１８〜図２１に示した業務パターンに限られるものではなく、その他の各種業務パターンを含めてもよい。
【０１２３】
例えば、複数の画面を使用した業務パターン、詳細には、第１の画面で一覧表示を行い、該一覧表示から選択された項目に対して、第２の画面で詳細に表示するような業務パターンを含めてもよい。
【０１２４】
図２２は、本発明のソフトウェア開発支援装置における業務パターン選択情報１１１について説明する模式図である。
【０１２５】
図において、２２０２は業務パターンで、アプリケーション番号２２０１に対して選択された業務パターン（図１８〜図２１）を示している。
【０１２６】
以下、図２３〜図２７を参照して、図１に示したコード生成部１０７によるコード生成処理について説明する。
【０１２７】
図２３は、本発明の第４の制御処理手順の一例を示すフローチャートであり、図１に示したコード生成部１０７によるコード生成処理（図３のステップＳ１０４）に対応する。なお、Ｓ４０１〜Ｓ４０７は各ステップを示す。
【０１２８】
まず、ステップＳ４０１において、入出力テーブル１０９から指定されたアプリケーションに対応するデータファイルを１つ取得する。
【０１２９】
次に、ステップＳ４０２において、該取得したデータファイルの各項目のＩＯ区分＝「Ｆ」であるか否かを判定し、ＩＯ区分＝「Ｆ」であると判定した場合には、ステップＳ４０３に進む。
【０１３０】
ステップＳ４０３では、図示しないデータベースシステムにアクセスし、データベース（ＤＢ）を作成し（詳細は図２４に示す）、次に、ステップＳ４０４において、ステップＳ４０１で作成したデータベースに対するデータ操作処理を行うＢｅａｎコード１１４を、ステップＳ４０１で取得したデータファイルに基づいて生成し（詳細は図２５に示す）、ステップＳ４０７に進む。
【０１３１】
一方、ステップＳ４０２で、ステップＳ４０１で取得したデータファイルの各項目のＩＯ区分＝「Ｆ」でない（「Ｄ」である）と判定した場合には、ステップＳ４０５に進む。
【０１３２】
次に、ステップＳ４０５では、ステップＳ４０１で取得したデータファイルに基づいて、ウェブブラウザからの入力データを取得して業務処理全体を制御するサーブレットコード１１３を生成（詳細は図２６に示す）し、次に、ステップＳ４０６において、ウェブブラウザへの表示を制御するＪＳＰコード１１２を生成し（詳細は図２７に示す）、ステップＳ４０７に進む。
【０１３３】
次に、ステップＳ４０７において、指定されたアプリケーションに対応する全データファイルに対して、ステップＳ４０１〜Ｓ４０６の処理を終了したか否かを判定し、まだ終了していないと判定した場合には、ステップＳ４０１に戻り、既に終了したと判定した場合には、処理を終了して図３のフローチャートにリターンする。
【０１３４】
図２４は、本発明の第５の制御処理手順の一例を示すフローチャートであり、図１に示したコード生成部１０７によるデータベース作成処理（図２３のステップＳ４０３）に対応する。なお、Ｓ５０１〜Ｓ５０４は各ステップを示す。
【０１３５】
まず、ステップＳ５０１において、図示しないデータベースシステムに対して、アプリケーション名をデータベース名とするＤＢを作成するコマンドを発行する（既にデータベースが作成済みの場合には、この処理は行わない）。次に、ステップＳ５０２において、作成されたデータベースに接続する。
【０１３６】
そして、ステップＳ５０３において、カレントのデータファイル番号をテーブル名、該データファイル番号内の各データ項目枝番をテーブル内の項目名としたテーブルを作成するＳＱＬ文を生成し、該ＳＱＬ文のクエリを実行する。
【０１３７】
次に、ステップＳ５０４において、データベースから切断する処理を行い、処理を終了して図２３のフローチャートにリターンする。
【０１３８】
図２５は、本発明の第６の制御処理手順の一例を示すフローチャートであり、図１に示したコード生成部１０７によるＢｅａｎ作成処理（図２３のステップＳ４０４）に対応する。なお、Ｓ６０１〜Ｓ６０５は各ステップを示す。
【０１３９】
まず、ステップＳ６０１において、カレントのデータファイル番号に対応するデータベース操作用のＢｅａｎファイルを生成する。なお、Ｂｅａｎファイル名は、例えば、アプリケーション名にデータファイル番号及び文字列「Ｂｅａｎ」を付加し拡張子を「Ｊａｖａ（登録商標）」としたＢｅａｎファイルとする。また、このとき、作成したＢｅａｎファイル内の先頭に、「パッケージ名（例えば、アプリケーション名にデータファイル番号及び文字列「Ｂｅａｎ」を付加したもの）の宣言、「ｊａｖａ（登録商標）．ｓｑｌ」パッケージのインポート、Ｊａｖａ（登録商標）Ｂｅａｎｓを利用するために必要なインタフェースの実装等を行うコード」を格納しておく。
【０１４０】
次に、ステップＳ６０２において、検索処理コードを生成する。詳細には、「ＤＢに接続し、指定されたパラメータを検索条件として当該データファイル番号に対応するテーブルに対する検索処理を行うためのＳＱＬ文のクエリを実行し、検索結果を返し、ＤＢから切断するコード（検索メソッド）」を当該Ｂｅａｎファイル内に生成する。
【０１４１】
次に、ステップＳ６０３において、新規登録処理コードを生成する。詳細には、「ＤＢに接続し、指定されたパラメータを新規追加データとして当該データファイル番号に対応するテーブルに対して追加処理を行うためのＳＱＬ文のクエリを実行し、新規追加結果を返し、ＤＢから切断するコード（登録メソッド）」を当該Ｂｅａｎファイル内に生成する。
【０１４２】
次に、ステップＳ６０４において、更新処理コードを生成する。詳細には、「ＤＢに接続し、指定されたパラメータを更新データとして当該データファイル番号に対応するテーブルに対して更新処理を行うためのＳＱＬ文のクエリを実行し、更新結果を返し、ＤＢから切断するコード（更新メソッド）」を当該Ｂｅａｎファイル内に生成する。
【０１４３】
次に、ステップＳ６０５において、削除処理コードを生成する。詳細には、「ＤＢに接続し、指定されたパラメータにより削除対象レコードを指定して削除処理を行うためのＳＱＬ文のクエリを実行し、削除結果を返し、ＤＢから切断するコード（削除メソッド）」を当該Ｂｅａｎファイル内に生成する。
【０１４４】
そして、処理を終了して図２３のフローチャートにリターンする。
【０１４５】
なお、上記ステップＳ６０２〜Ｓ６０５により当該Ｂｅａｎファイル内に生成されるコードには、「ドライバクラスをロードする処理、データベースに接続する処理、ＳＱＬステートメントオブジェクトを生成する処理、サーブレットから渡されたデータに基づくＳＱＬ文のクエリを実行して結果を取得する処理、結果をセットする処理、ＳＱＬステートメントオブジェクトとデータベース接続オブジェクトをクローズする処理を行うためのコード」等が記載されているものとする。
【０１４６】
また、ステップＳ６０２〜Ｓ６０５で生成する検索処理コード，新規登録処理コード，更新処理コード，削除処理コードは、Ｂｅａｎファイル内で定義される業務処理用のクラス（例えば、クラス名：データファイル名に文字列「ＤＢＡｃｃｅｓｓ」を付加）内の検索メソッド，登録メソッド，更新メソッド，削除メソッドとして生成するものとする。
【０１４７】
さらに、図２５のフローチャートでは、いずれのデータファイルに対して、検索処理コード，新規登録処理コード，更新処理コード，削除処理コードを生成する構成について示したが、業務パターン選択情報１１１に応じて、必要なコードのみ生成するように構成してもよい。
【０１４８】
例えば、業務パターンとして「一覧表示パターン（図１７）」が選択されているデータファイルでは、検索処理コードのみを生成するように構成する。
【０１４９】
図２６は、本発明の第７の制御処理手順の一例を示すフローチャートであり、図１に示したコード生成部１０７によるサーブレット作成処理（図２３のステップＳ４０５）に対応する。なお、Ｓ７０１〜Ｓ７０４は各ステップを示す。
【０１５０】
まず、ステップＳ７０１において、サーブレットファイルを生成する。このサーブレットファイルのファイル名は、例えば、アプリケーション名にカレントのデータファイル名及び文字列「Ｓｅｒｖｌｅｔ」を付加し拡張子を「ｊａｖａ（登録商標）」とする。なお、このとき、サーブレットファイル内の先頭に、「使用するＢｅａｎパッケージ及びその他必要なパッケージをインポートするコード、アクセス修飾子，クラスの定義，クラス（例えば、ＨｔｔｐＳｅｒｖｌｅｔクラス）の継承、ウェブブラウザ（ＨＴＭＬフォーム）から送信されたパラメータ（送信情報）を受け取るためのメソッドを示すコード」を格納しておく。
【０１５１】
次に、ステップＳ７０２において、「ウェブブラウザからの送信情報を受け取るコード」をサーブレットファイル内に生成する。
【０１５２】
次に、ステップＳ７０３において、「ステップＳ７０２で生成したコードで受け取るウェブブラウザからの送信情報に対応する業務処理のＢｅａｎのメソッドを起動して業務処理を実行させるためのコード」をサーブレットファイル内に生成する。なお、ここで生成されるコードは、選択された業務パターンによって異なるものとなる。詳細は省略するが、例えば、業務パターン選択情報が「登録パターン」の場合には、登録ボタンが指示されたことを示すウェブブラウザからの送信情報に応じて、登録用のメソッドを呼び出して実行させるコードを生成し、また、業務パターン選択情報が「更新パターン」の場合には、更新ボタン／新規ボタン／削除ボタン／表示ボタンが指示が入力されたことを示すウェブブラウザからの送信情報に応じて、更新用メソッド／新規登録用メソッド／削除用メソッド／検索用メソッドを選択的に呼び出して実行させるコードを生成する。
【０１５３】
なお、ステップＳ７０３では、「Ｂｅａｎのメソッドの処理結果をＪＳＰから取得可能な記憶領域（例えば、セッションオブジェクト）に格納するコード」も生成するものとする。
【０１５４】
次に、ステップＳ７０４において、「対応するＪＳＰを呼び出すコード」をサーブレットファイル内に生成し、処理を終了して図２３のフローチャートにリターンする。
【０１５５】
なお、必要に応じて（例えば、「閉じる」ボタン等の処理に対して）、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔを用いたコードをＪＳＰファイル内に生成するものとする。
【０１５６】
図２７は、本発明の第８の制御処理手順の一例を示すフローチャートであり、図１に示したコード生成部１０７によるＪＳＰ作成処理（図２３のステップＳ４０６）に対応する。なお、Ｓ８０１〜Ｓ８０３は各ステップを示す。
【０１５７】
まず、ステップＳ８０１において、カレントのデータファイルに対応するＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名にデータファイル名を付加し拡張子を「ｊｓｐ」とする。なお、このＪＳＰファイル内には、「ＪＳＰページのＭＩＭＥタイプとエンコードするキャラクタセットを設定するコード、当該データファイルに対応するＢｅａｎをインスタンスするコード、ｈｔｍｌのタグである「＜ｈｔｍｌ＞＜ｈｅａｄ＞＜ｔｉｔｌｅ＞アプリケーション名＜／ｔｉｔｌｅ＞」等のコード」を生成し格納しておくものとする。
【０１５８】
次に、ステップＳ８０２において、選択された業務パターン（業務パターン選択情報１１１）がいずれの業務パターンであるか判断し、業務パターン選択情報１１１に応じて、「表示用データを取得するコード」をＪＳＰファイル内に生成する。詳細は省略するが、例えば、業務パターン選択情報が「一覧表示パターン」，「一覧更新パターン」等の場合には、「業務処理用のＢｅａｎの検索用メソッドを呼び出して実行させ、検索用メソッドの処理結果をＢｅａｎから取得するコード」を生成する。また、業務パターン選択情報が「検索一覧パターン」等の場合には、「前の画面で検索が指示されてセッション等に検索結果が格納されているかを判定し、格納されている場合には、該検索結果を取得するコード」を生成する。
【０１５９】
次に、ステップＳ８０３において、業務パターン選択情報１１１に応じて、「画面を生成するコード」をＪＳＰファイル内に生成し、処理を終了して図２３のフローチャートにリターンする。
【０１６０】
以上の処理により、業務仕様からウェブアプリケーションプログラムを自動生成することによって、Ｊａｖａ（登録商標）等のプログラムコードの特別な知識を必要とせず、ウェブアプリケーションのプログラミングコードを生成することができ、開発作業を軽減することができるとともに、業務仕様変更等があった場合であっても、上述した図１５，図１６に示した項目逆参照入力一覧から関連する全ての業務仕様変更を行った後、再度コード生成処理を行うことにより、業務仕様とプログラムコードとを常に一致させることができるという、仕様変更に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができる。
【０１６１】
なお、本実施形態では、サーバサイドのＪａｖａ（登録商標）プログラムを用いたウェブアプリケーションを生成する場合について説明したが、生成されるプログラムコードは、Ｊａｖａ（登録商標）に限られるものではなく、ＡＳＰ（Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ），ＰＨＰ（Ｈｙｐｅｒｔｅｘｔ  Ｐｒｅｐｒｏｓｅｓｓｏｒ）等によるウェブアプリケーションであってもよい。
【０１６２】
また、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔを用いる場合について説明したが、その他のスクリプト言語を用いてもよい。
【０１６３】
なお、本実施形態では、項目のＩＯ区分（入出力テーブルの列６）をデータファイル項目「Ｆ」又は入出力項目「Ｄ」とする場合について説明したが、その他の項目、例えばセッション変数項目「Ｓ」等を含めるように構成してもよい。セッション変数項目とは、当該項目をセッション変数とするものである。
【０１６４】
この場合、図４に示した業務仕様入力画面のＩＯ区分選択エリア４０４で、データファイル番号入力エリア４０１で入力されたデータファイル番号が「ファイル定義」，「入出力定義」，「セッション定義」のいずれであるかを選択可能とする。セッション定義とは、当該データファイルで定義される項目群をセッション変数群とするものである。
【０１６５】
また、図４のＩＯ区分選択エリア４０４で「セッション定義」が選択されていた場合、詳細ボタン４０６をマウス等で指示することにより、セッション項目情報を入力するセッション項目一覧画面（図示しないが図６と同様の画面）が表示されるものとする。
【０１６６】
そして、このセッション項目一覧画面等で入力されたセッション項目データは、図１０に示した入出力テーブルの列６のＩＯ区分が「Ｓ」として生成されるものとする。
【０１６７】
これにより、図１２に示した関連情報生成処理において、セッション変数も含めた波及関係情報が生成される。
【０１６８】
また、詳細は省略するが、図２６に示したサーブレット作成処理においても、「ウェブブラウザから受け取った情報等がセッション変数項目に対応する情報であった場合、当該情報をセッションオブジェクトに格納するコード」をサーブレットファイル内に生成するように構成するものとする。
【０１６９】
以上説明したように、業務仕様入力画面において、当該業務仕様で定義されたファイル項目、入出力項目、セッション変数項目を参照している業務仕様ファイルの名称一覧（即ち、波及情報）を、処理選択により表示させ（図１５，図１６）、参照業務仕様ファイルの名称一覧表示において、該当業務仕様ファイル名称を選択することで、当該項目を使用している業務仕様入力画面（図５，図６）を表示させることにより、業務仕様を構成する項目（ファイル項目，セッション変数項目，入出力項目）に名称，属性等の仕様変更が発生した場合でも、上述した工程により、波及関係の確認を行ったのち、仕様変更、プログラムコード生成、動作確認という開発保守作業をサイクリックに行うことができる。
【０１７０】
従って、業務仕様の枠組みの中で、仕様書間の関連を自動検索でき、仕様変更に対する対応漏れを確実に防止することができる。
【０１７１】
また、一連の業務仕様入力作業の中で、仕様変更作業を行えることから、開発保守作業の効率を大幅に向上させることができる。
【０１７２】
また、上述した各変形例を合わせた構成も全て本発明の適用範囲である。
【０１７３】
さらに、図１０に示した入出力テーブルの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１７４】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１７５】
以下、従来の技術の欄に示した特許文献１と、本実施形態で示したソフトウェア開発支援装置との相違について説明する。
【０１７６】
まず、上述したように、特許文献１に示される仕様書間の関連情報の管理方法では、仕様変更の度に、プログラム機能関連図を人手により変更しなければならず、煩雑で非効率的であるとともに、システム全体を把握しなければ困難な作業であるという問題点があった。また、プログラム機能関連図から波及関係情報が自動生成されるが、その結果情報が表示出力されるのみで、仕様変更作業，プログラムコード生成といった開発保守作業支援との連携についてはなんら考慮なされていないため、波及関係は把握できるものの、結局、仕様変更作業、プログラムコード生成等の保守作業等を独立に行う必要があり、仕様変更に対する対応漏れを起こしやすくなってしまうという問題点があった。
【０１７７】
これに対して、本実施形態で示したソフトウェア開発支援装置は、業務仕様を入力とした、業務仕様間の参照関係（クロスリファレンス）を生成／表示するため、仕様が変更されたとき、その構成要素に関連する仕様を業務仕様の枠組みの中（特別なデータを作成する必要なし）で波及箇所を特定し、波及関連情報として参照業務仕様ファイル一覧を出力することができる。
【０１７８】
また、表示されたクロスリファレンスより、業務仕様の入力画面に遷移させるため、出力された波及関連情報から、直接、業務仕様の入力画面を立ち上げ、仕様変更に関連する業務仕様を変更することができる。
【０１７９】
さらに、変更された業務仕様からアプリケーションプログラムを自動生成し、その動作を直に確認できる、シームレスな保守作業を実現できる。
【０１８０】
このように、（１）特別なデータを用意する必要なくクロスリファレンスを業務仕様の枠組みの中で特定表示でき、（２）該クロスリファレンスから直接に業務仕様の入力画面を立ち上げて変更でき、（３）変更された業務仕様からアプリケーションプログラムを自動生成して直に確認できるという、（１），（２），（３）のシームレスな保守作業を実現できる点において、本実施形態で示したソフトウェア開発支援装置は、上記特許文献１に示すような従来のソフトウェア開発資源間の関連付け方法とは根本的に異なるものである（上記特許文献１の問題点を解決するものである）。
【０１８１】
以上示した点は、本実施形態で示したソフトウェア開発支援装置と、上記特許文献１に示すような従来のソフトウェア開発資源間の関連付け方法との相違を考察する上で、特に留意すべき事項と考える。
【０１８２】
以下、図２８に示すメモリマップを参照して本発明に係るソフトウェア開発支援装置で読み出し可能なデータ処理プログラムの構成について説明する。
【０１８３】
図２８は、本発明に係るプログラム生成置で読み出し可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１８４】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１８５】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１８６】
本実施形態における図３，図１１，図１２，図２３，図２４，図２５，図２６，図２７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１８７】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１８８】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１８９】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１９０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９１】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９２】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１９３】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１９４】
【発明の効果】
以上説明したように、本発明によれば、予め作成されるソフトウェアを生成するための複数の仕様情報に基づいて、前記各仕様情報間の参照関係を示す参照関係情報を生成し、該生成された参照関係情報に基づいて特定の仕様情報を指定して編集するので、ソフトウェアを生成するための複数の仕様情報のうち、いずれかの仕様情報に仕様変更が発生した場合でも、容易に波及関係のある他の仕様情報を指定して編集することができる。
【０１９５】
従って、業務仕様の枠組みの中で、仕様書間の関連を自動検索でき、仕様変更に対する対応漏れを確実に防止することができる。
【０１９６】
また、一連の業務仕様入力作業の中で、仕様変更作業を行えることから、他の仕様情報への波及関係の確認、仕様変更、プログラムコード生成、動作確認という開発保守作業をサイクリックに行うことができ、開発保守作業の効率を大幅に向上させることができる等の効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施形態を示すソフトウェア開発支援装置の構成を示すブロック図である。
【図２】図１に示したコード生成部によって生成したサーブレット、ＪＳＰ、およびＢｅａｎを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【図３】本発明のソフトウェア開発支援装置における第１の制御処理手順の一例を示すフローチャートである。
【図４】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図５】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図６】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図７】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図８】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図９】本発明のソフトウェア開発支援装置における業務仕様入力画面の一例を示す模式図である。
【図１０】本発明のソフトウェア開発支援装置における業務仕様情報を入出力テーブルの形式で示したテーブル構成の一例を示す模式図である。
【図１１】本発明のソフトウェア開発支援装置における第２の制御処理手順の一例を示すフローチャートである。
【図１２】本発明のソフトウェア開発支援装置における第３の制御処理手順の一例を示すフローチャートである。
【図１３】図１に示した関連情報生成部によって生成された項目における波及関系情報の一例を示す図である。
【図１４】図１に示した関連情報生成部によって生成されたテーブルにおける波及関系情報の一例を示す図である。
【図１５】本発明のソフトウェア開発支援装置における項目逆参照入出力一覧（項目波及変更一覧）の一例を示す模式図である。
【図１６】本発明のソフトウェア開発支援装置におけるテーブル逆参照入出力一覧（テーブル波及変更一覧）の一例を示す模式図である。
【図１７】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図１８】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図１９】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図２０】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図２１】本発明のソフトウェア開発支援装置における業務パターンに対応する表示画面の一例を示す模式図である。
【図２２】本発明のソフトウェア開発支援装置における業務パターン選択情報について説明する模式図である。
【図２３】本発明の第４の制御処理手順の一例を示すフローチャートである。
【図２４】本発明の第５の制御処理手順の一例を示すフローチャートである。
【図２５】本発明の第６の制御処理手順の一例を示すフローチャートである。
【図２６】本発明の第７の制御処理手順の一例を示すフローチャートである。
【図２７】本発明の第８の制御処理手順の一例を示すフローチャートである。
【図２８】本発明に係るプログラム生成置で読み出し可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
１０１  入力装置
１０２  表示装置
１０３  処理装置（ＣＰＵ，ＲＡＭ，ＲＯＭ）
１０４  外部記憶装置（ハードディスク）
１０５  画面制御部
１１６  業務仕様記述部
１１７  変更波及解析表示部
１０６  関連情報生成部
１０７  コード生成部
１０８  全体制御部
１０９  入出力テーブル
１１０  波及関係情報
１１２  ＪＳＰコード
１１３  Ｓｅｒｖｌｅｔコード
１１４  Ｂｅａｎコード
【図１】
2005078119.tif 000003
【図２】
2005078119.tif 000004
【図３】
2005078119.tif 000005
【図４】
2005078119.tif 000006
【図５】
2005078119.tif 000007
【図６】
2005078119.tif 000008
【図７】
2005078119.tif 000009
【図８】
2005078119.tif 000010
【図９】
2005078119.tif 000011
【図１０】
2005078119.tif 000012
【図１１】
2005078119.tif 000013
【図１２】
2005078119.tif 000014
【図１３】
2005078119.tif 000015
【図１４】
2005078119.tif 000016
【図１５】
2005078119.tif 000017
【図１６】
2005078119.tif 000018
【図１７】
2005078119.tif 000019
【図１８】
2005078119.tif 000020
【図１９】
2005078119.tif 000021
【図２０】
2005078119.tif 000022
【図２１】
2005078119.tif 000023
【図２２】
2005078119.tif 000024
【図２３】
2005078119.tif 000025
【図２４】
2005078119.tif 000026
【図２５】
2005078119.tif 000027
【図２６】
2005078119.tif 000028
【図２７】
2005078119.tif 000029
【図２８】
2005078119.tif 000030