(57)【要約】【課題】成果物の再利用を前提としたソフトウェア開発加工関連図生成システム，装置，方法およびプログラムを提供する。【解決手段】成果物関連生成手段１２１は、成果物種別定義ファイル１００と再利用成果物指定ファイル１１０とを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する。関連合成手段１２２は、成果物関連生成手段１２１の処理結果から成果物の加工ルールを元に成果物間の加工関連を生成する。冗長関連削除手段１２３は、関連合成手段１２２の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図１３０とする。【選択図】      図１
2004287561.tif 000002
【特許請求の範囲】
【請求項１】
成果物種別定義ファイルを格納する成果物種別定義ファイル記憶装置と、
再利用成果物指定ファイルを格納する再利用成果物指定ファイル記憶装置と、
前記成果物種別定義ファイルと前記再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，および前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段を含むソフトウェア開発加工関連図生成装置と、
前記ソフトウェア開発加工関連図を格納するソフトウェア開発加工関連図記憶装置と
を有することを特徴とするソフトウェア開発加工関連図生成システム。
【請求項２】
成果物種別定義ファイルを格納する成果物種別定義ファイル記憶装置と、
再利用成果物指定ファイルを格納する再利用成果物指定ファイル記憶装置と、
前記成果物種別定義ファイルと前記再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段，および前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出手段を含むソフトウェア開発加工関連図生成装置と、
前記最適コストのソフトウェア開発加工関連図を格納するソフトウェア開発加工関連図記憶装置と
を有することを特徴とするソフトウェア開発加工関連図生成システム。
【請求項３】
成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段と、
前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段と、
前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段と
を有することを特徴とするソフトウェア開発加工関連図生成装置。
【請求項４】
成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段と、
前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段と、
前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段と、
前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出手段と
を有することを特徴とするソフトウェア開発加工関連図生成装置。
【請求項５】
成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成工程と、
前記成果物関連生成工程の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成工程と、
前記関連合成工程の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除工程と
を含むことを特徴とするソフトウェア開発加工関連図生成方法。
【請求項６】
成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成工程と、
前記成果物関連生成工程の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成工程と、
前記関連合成工程の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除工程と、
前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出工程と
を含むことを特徴とするソフトウェア開発加工関連図生成方法。
【請求項７】
コンピュータを、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，および前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段として動作させるためのソフトウェア開発加工関連図生成プログラム。
【請求項８】
コンピュータを、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段，および前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出手段として動作させるためのソフトウェア開発加工関連図生成プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はソフトウェア開発加工関連図生成システム，装置，方法およびプログラムに関し、特に業務システムのソフトウェア開発の成果物の再利用を前提としたソフトウェア開発加工関連図生成システム，装置，方法およびプログラムに関する。
【０００２】
【従来の技術】
一般に、業務システムのソフトウェア開発を行う場合、ソフトウェア開発技術者は、予め作業手順を定義したソフトウェア開発加工関連図（ソフトウェア開発プロセスで作られる成果物の加工関連を図示したものをいう）をもとに作業を行う。通常、このソフトウェア開発加工関連図は、新規にソフトウェア開発することを前提としたものである。
【０００３】
しかし、業務システムのソフトウェア開発において、全ての機能を新規に開発することは稀である。既存システムの機能の一部，画面や業務ロジックの設計書，論理データモデル，物理データベースなどを再利用する場合が多い。従って、再利用する成果物が存在する場合の業務システムのソフトウェア開発には、新規のソフトウェア開発加工関連図でなく、成果物の再利用を前提としたソフトウェア開発加工関連図が必要となる。
【０００４】
ところが、成果物の再利用を前提としたソフトウェア開発加工関連図は、通常、業務システムのソフトウェア開発に先立って準備されることはない。なぜならば、再利用する成果物が開発プロジェクト毎に異なることから、さまざまな再利用する成果物の組み合わせを想定したソフトウェア開発加工関連図を事前に用意することは、多くの時間が必要になるために現実的ではないからである。
【０００５】
従って、ある業務システムのソフトウェア開発向けの成果物の再利用を前提としたソフトウェア開発加工関連図は、ソフトウェア開発の開始時点では存在しないことになる。すなわち、ソフトウェア開発のプロジェクト毎に開発を始める前に、成果物の再利用を前提としたソフトウェア開発加工関連図を作成する必要がある。
【０００６】
従来、成果物の再利用を前提としたソフトウェア開発加工関連図の作成作業は、プロジェクトマネージャなどのソフトウェア開発工程を熟知した人間が、数十時間の時間を掛けて作成していた。また、人間が行う作業であるので、新たに作成したソフトウェア開発加工関連図に誤りが入りやすいという問題もあった。このような問題から、ソフトウェア開発を進めながら、ソフトウェア開発加工関連図を定義していくといった手法がとられることも多かった。
【０００７】
また、成果物の再利用を前提としたソフトウェア開発プロセスの場合、新規のソフトウェア開発プロセスと比べてどのくらいコストが安くなるのか、また、通常、再利用方法は複数存在し、それらの中からどれを選択すればどのくらいコストが安くなるのかを、人間が比較する必要がある。しかし、このような比較を人間が行う場合、比較対象が多いことから多くの時間を要するといった問題を抱えていた。
【０００８】
ソフトウェア開発手順の作成に関する従来技術として、ソフトウェア開発手順のカスタマイズ支援装置が公知である（例えば、特許文献１参照）。この装置は、設計情報を削除する場合の、品質情報への影響の把握や、依存する設計情報の削除を支援する装置であり、上記問題点を解決するものでは無い。
【０００９】
また、カスタマイズ開発手順支援方法が公知である（例えば、特許文献２参照）。この方法は、複数の部署が独自に開発手順を定義しても、共同でソフトウェア開発が行えるようにするもので、上記問題点を解決するものでは無い。詳しくは、このカスタマイズ開発手順支援方法は、適用手順の決定部を詳細に示す機能構成図を参照すると、開発手順を人間が登録し、開発手順に沿って開発作業を支援するツールの起動の可否を行うことによって、ツールのユーザを誘導するものである。これに対して、本発明は、特許文献２では人間が登録する開発手順を、再利用する成果物と成果物の加工ルールとから生成するものである。
【００１０】
さらに、ソフトウェア開発管理用レポート出力手順編集方法が公知である（例えば、特許文献３参照）。この方法は、ソフトウェアをテストする際に発生した各種不良情報を収集蓄積し、ソフトウェア開発管理用レポートを出力する手順を編集する方法であり、データ加工処理に必要なデータ加工手順ファイルの作成には、専門的な知識と多くの時間が必要としていたものを、人間と専用端末との対話によって容易に作成しようとするものである。これに対して、本発明は、ソフトウェア開発加工関連図を、再利用する成果物と成果物の加工ルールとから機械的に生成するものであり、ソフトウェア開発管理用レポート出力手順編集方法とは、その構成および適用箇所が異なる。
【００１１】
さらにまた、ソフトウェア仕様作成支援装置が公知である（例えば、特許文献４参照）。この装置は、複数のソフトウェアの開発プロセスをプロセスモデルとして定義し、各々の開発プロセスで定義する成果物の類似性からソフトウェアの仕様化を支援する装置であり、ソフトウェア開発プロセスは、人間がプロセスモデルとして予め定義し、プロセスモデル記憶部に格納するものである。これに対して、本発明は、再利用する成果物と成果物の加工ルールとから、機械的にソフトウェア開発加工関連図を生成しようとするものである。
【００１２】
【特許文献１】
特開２００１−１２５７７７号公報（第３頁、図１）
【特許文献２】
特開平０５−２９８０７７号公報（第４頁、図３）
【特許文献３】
特開平０６−３０９１６０号公報（第３頁、図１）
【特許文献４】
特開平０５−９４２８７号公報（第５頁、図１）
【００１３】
【発明が解決しようとする課題】
上述したように、従来のソフトウェア開発方法では、ソフトウェア開発加工関連図に関する以下のような問題点が存在していた。
【００１４】
第１の問題点は、個々の業務システムのソフトウェア開発において、成果物の再利用を前提としたソフトウェア開発加工関連図を作成することが容易でないということである。その理由は、（１）従来のソフトウェア開発加工関連図は、新規開発を前提としたソフトウェア開発加工関連図であって、再利用を前提とした業務システムのソフトウェア開発に、そのまま適用できないこと、（２）ソフトウェア開発工程を熟知した人間でないと作成できないが、このような人間はプロジェクトマネージャなどの少数に限られていること、（３）ソフトウェア開発工程を熟知した人間が作成する場合でも多くの時間を必要とすること、（４）人間が行う作業なので誤りが入りやすいことである。
【００１５】
第２の問題点は、成果物の再利用を前提としたソフトウェア開発加工関連図において、新規のソフトウェア開発加工関連図と複数の再利用方法とのコスト比較を行い、一番コストの安い方法を選択することが容易ではないことである。その理由は、比較対象が多いために、人間が新規開発や再利用の方法毎にコストの比較表を誤りなく短時間に作成することが難しいからである。
【００１６】
本発明の目的は、業務システムのソフトウェア開発の成果物の再利用を前提とし、ソフトウェア開発加工関連図を生成するソフトウェア開発加工関連図生成システム，装置，方法およびプログラムを提供することにある。
【００１７】
また、本発明の他の目的は、業務システムのソフトウェア開発の成果物の再利用を前提とし、最適コストのソフトウェア開発加工関連図を生成するソフトウェア開発加工関連図生成システム，装置，方法およびプログラムを提供することにある。
【００１８】
【課題を解決するための手段】
本発明のソフトウェア開発加工関連図生成システムは、成果物種別定義ファイルを格納する成果物種別定義ファイル記憶装置と、再利用成果物指定ファイルを格納する再利用成果物指定ファイル記憶装置と、前記成果物種別定義ファイルと前記再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，および前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段を含むソフトウェア開発加工関連図生成装置と、前記ソフトウェア開発加工関連図を格納するソフトウェア開発加工関連図記憶装置とを有することを特徴とする。
【００１９】
また、本発明のソフトウェア開発加工関連図生成システムは、成果物種別定義ファイルを格納する成果物種別定義ファイル記憶装置と、再利用成果物指定ファイルを格納する再利用成果物指定ファイル記憶装置と、前記成果物種別定義ファイルと前記再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段，および前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出手段を含むソフトウェア開発加工関連図生成装置と、前記ソフトウェア開発加工関連図を格納するソフトウェア開発加工関連図記憶装置とを有することを特徴とする。
【００２０】
また、本発明のソフトウェア開発加工関連図生成装置は、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段と、前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段と、前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段とを有することを特徴とする。
【００２１】
さらに、本発明のソフトウェア開発加工関連図生成装置は、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段と、前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段と、前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段と、前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出手段とを有することを特徴とする。
【００２２】
一方、本発明のソフトウェア開発加工関連図生成方法は、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成工程と、前記成果物関連生成工程の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成工程と、前記関連合成工程の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除工程とを含むことを特徴とする。
【００２３】
また、本発明のソフトウェア開発加工関連図生成方法は、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成工程と、前記成果物関連生成工程の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成工程と、前記関連合成工程の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除工程と、前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出工程とを含むことを特徴とする。
【００２４】
他方、本発明のソフトウェア開発加工関連図生成プログラムは、コンピュータを、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，および前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段として動作させることを特徴とする。
【００２５】
また、本発明のソフトウェア開発加工関連図生成プログラムは、コンピュータを、成果物種別定義ファイルと再利用成果物指定ファイルとを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する成果物関連生成手段，前記成果物関連生成手段の処理結果から成果物の加工ルールを元に成果物間の加工関連を合成する関連合成手段，前記関連合成手段の処理結果から冗長な加工関連を削除してソフトウェア開発加工関連図とする冗長関連削除手段，および前記ソフトウェア開発加工関連図の実施結果として得られる成果物毎に最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図とする最適コスト抽出手段として動作させることを特徴とする。
【００２６】
本発明は、従来、人間が作成していたために非効率で誤りが入りがちであった設計情報等の成果物の再利用を前提としたときのソフトウェア開発加工関連図の作成作業を機械的に行うもので、（１）ソフトウェア開発加工関連図を正しく短時間で生成でき、（２）ソフトウェア開発加工関連図が定義する個々の加工コストを容易に把握および比較でき、（３）ソフトウェア開発加工関連図を、作業の一連の流れとして予め定義するのではなく、再利用する成果物と成果物の加工ルールとから生成できる。成果物を作る加工コストおよび加工ルールを複数保持する成果物種別定義ファイルと、再利用する設計情報等の成果物を記述した再利用成果物指定ファイルとから、加工コストの安い加工ルールの組み合わせをソフトウェア開発加工関連図として生成できるところに、本発明の特徴がある。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して詳細に説明する。
【００２８】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。本実施の形態に係るソフトウェア開発加工関連図生成システムは、成果物の加工ルールを定義した成果物種別定義ファイル１００と、それを格納する成果物種別定義ファイル記憶装置１０１と、再利用する設計情報等の成果物の種類を表す再利用成果物指定ファイル１１０と、それを格納する再利用成果物指定ファイル記憶装置１１１と、ソフトウェア開発加工関連図生成装置１２０と、生成したソフトウェア開発加工関連図１３０を格納するソフトウェア開発加工関連図記憶装置１３１とから、その主要部が構成されている。
【００２９】
成果物種別定義ファイル記憶装置１０１は、成果物種別定義ファイル１００を複数格納する。
【００３０】
図３は、成果物種別定義ファイル１００の定義を表す図である。成果物種別定義ファイル１００は、ソフトウェア開発で必要とされる設計情報やソースコード等の成果物を得るための加工ルールを格納したものである。成果物種別定義ファイル１００は、ソフトウェア開発で必要とされる設計情報等の成果物と１対１に対応する。成果物種別定義ファイル１００は、成果物種別および加工ルールの２つの属性から構成される。成果物種別には、成果物種別定義ファイル１００を一意に識別する名前である成果物種別名が定義される。加工ルールは、少なくとも１つ以上定義され、各加工ルールには、成果物を入力情報から得るときの加工情報が、少なくとも１つ以上の入力情報と加工コストおよび加工名との組で表される。入力情報は、他の成果物種別定義ファイル１００の成果物種別名である。成果物種別定義ファイル１００の情報は、ソフトウェア開発加工関連図生成装置１２０への入力情報として使用される。
【００３１】
図４，図５および図６は、ソフトウェア開発で作成するある成果物を、成果物種別定義ファイル１００の形式で記述した一例をそれぞれ示す図である。一般に、ある成果物を作る加工ルールは、複数存在する。そして、再利用する成果物に応じて、適切な加工ルールを選択することができる。しかし、成果物間の加工ルールの組み合わせの数が多いことから、人間が加工コストの安い加工ルールの組み合わせを選択することは難しかった。図４，図５または図６の成果物種別定義ファイル１００は、加工ルールを複数持つ一例をそれぞれ示す。
【００３２】
図４，図５および図６において、入力情報として、「画面設計書」，「画面帳票レイアウト一式」，「データモデル」，「エンティティオブジェクトモデル」，「データストア一式」が挙げられている。「画面設計書」とは、画面に表示あるいは入力するデータが何かを記述した設計書である。「画面帳票レイアウト一式」とは、画面あるいは帳票に表示あるいは入力するデータ箇所の配置を詳細に記述した設計書である。位置情報やデータ表示サイズの記述の無いものが画面設計書である。「データモデル」とは、データベースに格納するデータ構造の物理的な制約を排除し、正規化して表したエンティティリレーショナルモデルである。「エンティティオブジェクトモデル」とは、データモデルをオブジェクト指向の概念で表したモデルである。データモデルのエンティティにメソッドを追加してオブジェクトにしたものである。「データストア一式」とは、ビジネスのシステム化対象領域を記述する際に用いるもので、ビジネスの言葉で表された正規化されていないデータモデルのことである。
【００３３】
図４，図５および図６において、加工名として、「再利用」，「画面作成」，「正規化」，「マッピング」，「オブジェクト抽出」，「オブジェクトマッピング」が挙げられている。「再利用」とは、過去の設計情報を流用することであり、加工コストは過去の設計情報の形式を開発ツールが解釈できる形式に人間が変換するためのコストになる。「画面作成」とは、データモデルに定義されたエンティティとエンティティの属性とを元に、人間が画面レイアウトを作成することである。「正規化」とは、非正規化状態にある画面やデータストアの設計情報を元に人間が正規化を行うことである。「マッピング」とは、単純なルールに基づいて人間が設計情報を追加あるいは削除することである。例えば、エンティティオブジェクトモデルからデータモデルを得るマッピングは、エンティティオブジェクトモデルに含まれるオブジェクトからメソッドを削除するというルールに基づいてデータモデルのエンティティを得る加工のことである。「オブジェクトマッピング」とは、単純なルールに基づいて人間が設計情報を追加あるいは削除することである。例えば、データモデルからエンティティオブジェクトモデルを得るオブジェクトマッピングは、データモデルのエンティティにデータを作成，更新，削除，登録するメソッドを追加するというルールに基づいてエンティティオブジェクトを得る加工のことである。
【００３４】
再利用成果物指定ファイル記憶装置１１１は、再利用成果物指定ファイル１１０を格納する。
【００３５】
図７は、再利用成果物指定ファイル１１０の定義を示す図である。再利用成果物指定ファイル１１０は、業務システムのソフトウェア開発を始めるときに、予め再利用することを目的として与える成果物を記述したものである。再利用成果物指定ファイル１１０は、ソフトウェア開発加工関連図生成装置１２０への入力情報として使用される。
【００３６】
図８は、再利用成果物指定ファイル１１０の一例を示す図である。ここでは、成果物種別であるデータモデルに対して成果物として販売管理システムのデータモデルが指定され、成果物種別である画面帳票レイアウト一式に対して成果物として販売管理システムの画面レイアウトが指定されている。
【００３７】
ソフトウェア開発加工関連図生成装置１２０は、成果物種別定義ファイル１００と再利用成果物指定ファイル１１０とからソフトウェア開発加工関連図１３０を生成するものであり、成果物関連生成手段１２１と、関連合成手段１２２と、冗長関連削除手段１２３とから構成されている。
【００３８】
成果物関連生成手段１２１は、成果物種別定義ファイル１００と再利用成果物指定ファイル１１０とを読み込み、加工元の成果物と加工先の成果物間の加工関連を生成する。
【００３９】
関連合成手段１２２は、成果物関連生成手段１２１の処理結果から、成果物の加工ルールを元に成果物間の加工関連を生成する。
【００４０】
冗長関連削除手段１２３は、関連合成手段１２２の処理結果から、冗長な加工関連を削除し、これをソフトウェア開発加工関連図１３０としてソフトウェア開発加工関連図記憶装置１３１に格納する。
【００４１】
図２は、ソフトウェア開発加工関連図生成装置１２０がソフトウェア開発加工関連図１３０の生成を行うときの動作を説明するフローチャートである。成果物関連生成手段１２１における処理は、全成果物種別定義ファイル読み込みステップＳ１０１と、成果物種別定義ファイル取り出しステップＳ１０２と、加工関連生成ステップＳ１０３と、再利用成果物指定ファイル読み込みステップＳ１０４と、成果物名記入ステップＳ１０５とからなる。関連合成手段１２２における処理は、加工関連合成ステップＳ１０６からなる。冗長関連削除手段１２３における処理は、加工関連削除ステップＳ１０７と、ソフトウェア開発加工関連図格納ステップＳ１０８とからなる。
【００４２】
図９は、成果物関連生成手段１２１による１つの加工ルールから成果物間の加工関連を生成するルールを示す図である。加工関連とは、加工される前の成果物（加工元）と加工された後の成果物（加工先）との間の関係を定義するものである。加工関連は、加工属性，加工属性と加工元との間の矢印，および加工属性と加工先との間の矢印の３つの組み合わせで表現される。矢印の向きは加工される順序を表し、加工元から加工先に向けて引かれる。加工関連に加工元と加工先とは含まれない。成果物種別定義ファイル１００の成果物種別名を加工関連の加工先にし、加工ルールの入力情報１から入力情報ｎ（ｎ≧０の整数）を加工関連の加工元にし、加工ルールの加工コストおよび加工名を加工関連の加工属性にして、加工関連を生成する。
【００４３】
図１０は、成果物関連生成手段１２１による再利用する成果物名を記入する処理の一例を表す図である。ここで、記入処理のルールは、加工名が再利用である加工関連に対して、加工元の名前と読み込んだ再利用成果物指定ファイル１１０の成果物種別の名前とが一致する場合に、再利用する成果物名を加工元に記入するということである。
【００４４】
図１１，図１２および図１３は、図４，図５および図６の成果物種別定義ファイル１００から生成した加工関連に再利用する成果物名を記入処理した一例をそれぞれ示す図である。
【００４５】
図１４は、関連合成手段１２２により、図１１，図１２および図１３の加工関連を合成した一例を示す図である。
【００４６】
図１５は、冗長関連削除手段１２３により、図１４から加工元に再利用する成果物名が記入処理されていない加工関連を削除する処理を行った一例を示す図である。
【００４７】
次に、このように構成された第１の実施の形態に係るソフトウェア開発加工関連図生成システムの全体の動作について、図１ないし図１５を参照して詳細に説明する。
【００４８】
まず、成果物関連生成手段１２１は、成果物種別定義ファイル記憶装置１０１に格納されている複数の成果物種別定義ファイル１００を全て読み込む（ステップＳ１０１）。ここでは、図４，図５および図６に示す成果物種別定義ファイル１００の一例が読み込まれたものとする。
【００４９】
次に、成果物関連生成手段１２１は、成果物種別定義ファイル１００を１つ取り出す（ステップＳ１０２）。取り出す成果物種別定義ファイル１００が存在しない場合は、ステップＳ１０４に制御を移す。
【００５０】
取り出す成果物種別定義ファイル１００が存在する場合は、成果物関連生成手段１２１は、成果物種別定義ファイル１００から加工関連を生成する（ステップＳ１０３）。例えば、図９に示すように、成果物種別定義ファイル１００の成果物種別名を加工関連の加工先にし、加工ルールの入力情報１から入力情報ｎを加工関連の加工元にし、加工ルールの加工コストおよび加工名を加工関連の加工属性にして加工関連を生成する。
【００５１】
次に、成果物関連生成手段１２１は、再利用成果物指定ファイル１１０を読み込む（ステップＳ１０４）。
【００５２】
続いて、成果物関連生成手段１２１は、加工名が再利用である加工関連に対して、加工元の名前と読み込んだ再利用成果物指定ファイル１１０の成果物種別の名前とが一致する場合に再利用する成果物名を加工元に記入する処理を行う（ステップＳ１０５）。例えば、図１０に示した再利用する成果物名を記入する処理を、図４，図５および図６の成果物種別定義ファイル１００に適用することにより、図１１，図１２および図１３に示す加工関連がそれぞれ生成される。
【００５３】
次に、関連合成手段１２２は、ステップＳ１０５の処理結果を元に、加工関連を繋ぎ合わせる合成処理を行う（ステップＳ１０６）。図１４は、図１１，図１２および図１３の加工関連を合成した一例を示す。
【００５４】
次に、冗長関連削除手段１２３は、加工関連の加工属性が再利用のものを抽出し、加工元に再利用する成果物名が記入処理されていない加工関連を削除してソフトウェア開発加工関連図１３０を生成する（ステップＳ１０７）。例えば、図１４から加工元に再利用する成果物名が記入処理されていない加工関連を削除すると、図１５に示すソフトウェア開発加工関連図１３０が生成される。
【００５５】
次に、冗長関連削除手段１２３は、ステップＳ１０７で生成されたソフトウェア開発加工関連図１３０をソフトウェア開発加工関連図記憶装置１３１に格納する（ステップＳ１０８）。
【００５６】
ステップＳ１０８の処理の結果として、図４，図５および図６の成果物を得るためのソフトウェア開発加工関連図１３０の生成が完了した。
【００５７】
第１の実施の形態によれば、機械的に短時間で、成果物の再利用を前提としたソフトウェア開発加工関連図１３０を生成できる。
【００５８】
また、加工コスト付きの加工関連を複数生成するために、生成されたソフトウェア開発加工関連図１３０で加工コストの比較ができることから、機械的に短時間で、加工コストを比較できるソフトウェア開発加工関連図１３０を生成できる。
【００５９】
ところで、第１の実施の形態では、生成されたソフトウェア開発加工関連図１３０が、ある成果物を得る加工関連を複数含む。どの加工関連を選択するのかは、ソフトウェア開発加工関連図１３０を実施する人間が行う作業になっている。このような構成にしている理由は、ソフトウェア開発加工関連図１３０を実施する技術者を、適切な時期に確保できない場合を考慮しているからである。すなわち、人間が、技術者を確保できる時期を考慮しながらソフトウェア開発加工関連図１３０中の加工関連を選択できるようにしている。
【００６０】
しかし、技術者を適切な時期に確保できることが明らかな場合は、複数の加工関連を選択できなくてもよく、最適コストのソフトウェア開発加工関連図１３０のみを生成すればよい。
【００６１】
［第２の実施の形態］
図１６は、本発明の第２の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。本実施の形態に係るソフトウェア開発加工関連図生成システムは、図１に示した第１の実施の形態に係るソフトウェア開発加工関連図生成システムにおけるソフトウェア開発加工関連図生成装置１２０に対して、最適コストのソフトウェア開発加工関連図１３０’を生成するための最適コスト抽出手段１２４を追加してソフトウェア開発加工関連図生成装置１２０’としたものである。
【００６２】
最適コスト抽出手段１２４は、冗長関連削除手段１２３によるソフトウェア開発加工関連図１３０の実施結果として得られる成果物毎に最適コストの加工関連のみを抽出し、最適コストのソフトウェア開発加工関連図１３０’を生成する。
【００６３】
図１７は、第２の実施の形態に係るソフトウェア開発加工関連図生成システムの動作を示すフローチャートである。ここでは、図２に示した第２の実施の形態に係るソフトウェア開発加工関連図生成システムの動作を示したフローチャートのステップＳ１０８を、最適コスト加工関連抽出ステップＳ１０９およびソフトウェア開発加工関連図格納ステップＳ１１０に変更したものである。詳しくは、成果物関連生成手段１２１における処理は、全成果物種別定義ファイル読み込みステップＳ１０１と、成果物種別定義ファイル取り出しステップＳ１０２と、加工関連生成ステップＳ１０３と、再利用成果物指定ファイル読み込みステップＳ１０４と、成果物名記入ステップＳ１０５とからなる。関連合成手段１２２における処理は、加工関連合成ステップＳ１０６からなる。冗長関連削除手段１２３における処理は、加工関連削除ステップＳ１０７からなる。最適コスト抽出手段１２４における処理は、最適コスト加工関連抽出ステップＳ１０９と、最適コストのソフトウェア開発加工関連図格納ステップＳ１１０とからなる。
【００６４】
図１８を参照すると、最適コスト抽出手段１２４による最適コスト加工関連抽出ステップＳ１０９のより詳しい処理は、成果物選択ステップＳ２０１と、加工コスト計算ステップＳ２０２と、加工関連取り出しステップＳ２０３と、加工コスト取り出し・加算ステップＳ２０４と、再帰処理終了ステップＳ２０５と、最小加工コスト加工関連残ステップＳ２０６と、加工元独立削除ステップＳ２０７と、成果物収集ステップＳ２０８と、加工関連たどりステップＳ２０９と、加工関連削除ステップＳ２１０とからなる。
【００６５】
図１９は、ソフトウェア開発加工関連図１３０の左上の１つ加工元であるデータストア一式が削除対象であることを示す図である。
【００６６】
図２０は、最適コスト抽出手段１２４により得られた最適コストのソフトウェア開発加工関連図１３０’の一例を示す図である。
【００６７】
次に、このように構成された第２の実施の形態に係るソフトウェア開発加工関連図生成システムの動作について、最適コスト抽出手段１２４の動作を中心に説明する。
【００６８】
最適コスト抽出手段１２４は、ソフトウェア開発加工関連図１３０の実施結果として得られる成果物毎に、以下のステップＳ２０１からステップＳ２０９の処理を行うことによって最適コストの加工関連を抽出して最適コストのソフトウェア開発加工関連図１３０’とする（ステップＳ１０９）。
【００６９】
詳しくは、最適コスト抽出手段１２４は、まず、ソフトウェア開発加工関連図１３０の実施結果として得られる成果物を１つ選択する（ステップＳ２０１）。
【００７０】
次に、最適コスト抽出手段１２４は、選択した成果物を生成する加工関連毎に、ステップＳ２０３からステップＳ２０５を繰り返し、選択した成果物の加工コストの計算を行う（ステップＳ２０２）。
【００７１】
続いて、最適コスト抽出手段１２４は、選択した成果物を生成する加工関連を１つ取り出す（ステップＳ２０３）。
【００７２】
次に、最適コスト抽出手段１２４は、取り出した加工関連の加工属性から加工コストを取り出し、前の再帰処理で取り出した加工コストを加算する（ステップＳ２０４）。
【００７３】
加工元の成果物を生成する加工関連が存在していない場合、最適コスト抽出手段１２４は、ステップＳ２０４で取り出した加工コストを、選択した成果物の加工コストとする。
【００７４】
加工元の成果物を生成する加工関連が存在する場合、最適コスト抽出手段１２４は、加工元を加工先の成果物として再帰的にステップＳ２０３を行い、加工元の加工コストを計算し、ステップＳ２０３で取り出した加工コストを加え（ステップＳ２０４）、ステップＳ２０１で選択した成果物の加工コストとする。
【００７５】
ただし、１ループが生じた場合、最適コスト抽出手段１２４は、再帰処理を中止する（ステップＳ２０５）。例えば、図１４のエンティティオブジェクトモデルとデータモデルとの間の２つの加工関連がループしている例である。
【００７６】
未処理の加工関連が無い場合には、最適コスト抽出手段１２４は、一番小さい加工コストを抽出する加工関連を残す（ステップＳ２０６）。
【００７７】
次に、最適コスト抽出手段１２４は、加工元だけ独立に存在している加工関連を削除する（ステップＳ２０７）。図１９の例では、左上の１つ加工元であるデータストア一式が削除対象である。
【００７８】
続いて、最適コスト抽出手段１２４は、加工元を生成する加工関連を持たないもの、すなわち加工元とならない成果物を収集する（ステップＳ２０８）。図１９の例では、左下の２つの加工元である「データモデル＜販売管理システムのデータモデル＞」と「画面帳票レイアウト一式＜販売管理システムの画面レイアウト＞」とが集められる加工元である。
【００７９】
次に、最適コスト抽出手段１２４は、ステップＳ２０８で収集した加工元毎に、ソフトウェア開発加工関連図の実施結果として得られる成果物全てをたどるまで、成果物を生成する加工関連をたどる処理（ステップＳ２０９）を、加工先を加工元の成果物として再帰的に実行する（ステップＳ２０８）。
【００８０】
そして、未処理の成果物がなくなると、最適コスト抽出手段１２４は、ステップＳ２０９でたどらなかった加工関連を削除する（ステップＳ２１０）。図１９の例では、エンティティオブジェクトモデルとデータモデルとの間の、コスト１で行われる加工であるマッピングが削除される。この結果を、最適コストのソフトウェア開発加工関連図１３０’とする。例えば、図２０に示すような、最適コストのソフトウェア開発加工関連図１３０’が生成される。
【００８１】
第２の実施の形態によれば、最適コストのソフトウェア開発加工関連図１３０’が機械的に生成されるので、複数の加工関連を選択することはできないが、加工関連を最適コストで容易に実施することができる。
【００８２】
［第３の実施の形態］
図２１は、本発明の第３の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。本実施の形態に係るソフトウェア開発加工関連図生成システムは、図１に示した第１の実施の形態に係るソフトウェア開発加工関連図生成システムにおけるソフトウェア開発加工関連図生成装置１２０に対してソフトウェア開発加工関連図生成プログラム２００を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付して、それらの詳しい説明を省略する。
【００８３】
ソフトウェア開発加工関連図生成プログラム２００は、コンピュータでなるソフトウェア開発加工関連図生成装置１２０に読み込まれ、ソフトウェア開発加工関連図生成装置１２０の動作を、成果物関連生成手段１２１，関連合成手段１２２および冗長関連削除手段１２３として制御する。ソフトウェア開発加工関連図生成プログラム２００の制御によるソフトウェア開発加工関連図生成装置１２０の動作は、第１の実施の形態におけるソフトウェア開発加工関連図生成装置１２０の動作と全く同様になるので、その詳しい説明を割愛する。
【００８４】
［第４の実施の形態］
図２２は、本発明の第４の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。本実施の形態に係るソフトウェア開発加工関連図生成システムは、図１に示した第１の実施の形態に係るソフトウェア開発加工関連図生成システムにおけるソフトウェア開発加工関連図生成装置１２０’に対してソフトウェア開発加工関連図生成プログラム２００’を付加するようにした点だけが異なる。したがって、その他の特に言及しない部分には同一符号を付して、それらの詳しい説明を省略する。
【００８５】
ソフトウェア開発加工関連図生成プログラム２００’は、コンピュータでなるソフトウェア開発加工関連図生成装置１２０’に読み込まれ、ソフトウェア開発加工関連図生成装置１２０’の動作を、成果物関連生成手段１２１，関連合成手段１２２，冗長関連削除手段１２３および最適コスト抽出手段１２４として制御する。ソフトウェア開発加工関連図生成プログラム２００’の制御によるソフトウェア開発加工関連図生成装置１２０’の動作は、第２の実施の形態におけるソフトウェア開発加工関連図生成装置１２０’の動作と全く同様になるので、その詳しい説明を割愛する。
【００８６】
【発明の効果】
第１の効果は、機械的に短時間で、成果物の再利用を前提としたソフトウェア開発加工関連図を生成できることである。その理由は、成果物種別定義ファイルと再利用成果物指定ファイルとを用いて、ソフトウェア開発加工関連図を生成するソフトウェア開発加工関連図生成装置が存在するからである。
【００８７】
第２の効果は、機械的に短時間で、加工コストを比較できるソフトウェア開発加工関連図を生成できることである。その理由は、ソフトウェア開発加工関連図生成装置の中の関連合成手段が、加工コスト付きの加工関連を複数生成するために、生成されたソフトウェア開発加工関連図で加工コストが比較できるからである。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。
【図２】図１中のソフトウェア開発加工関連図生成装置がソフトウェア開発加工関連図の生成を行うときの動作を説明するフローチャートである。
【図３】図１中の成果物種別定義ファイルの定義を表す図である。
【図４】図１中の成果物種別定義ファイルの形式で、ソフトウェア開発で作成するある成果物を記述した一例を示す図である。
【図５】図１中の成果物種別定義ファイルの形式で、ソフトウェア開発で作成するある成果物を記述した一例を示す図である。
【図６】図１中の成果物種別定義ファイルの形式で、ソフトウェア開発で作成するある成果物を記述した一例を示す図である。
【図７】図１中の再利用成果物指定ファイルの定義を表す図である。
【図８】図１中の再利用成果物指定ファイルの一例を示す図である。
【図９】図１中の成果物関連生成手段による１つの加工ルールから成果物間の加工関連を生成するルールを示す図である。
【図１０】図１中の成果物関連生成手段による再利用する成果物名を記入する処理の一例を表す図である。
【図１１】図４の成果物種別定義ファイルから生成した加工関連に再利用する成果物名を記入処理した一例を示す図である。
【図１２】図５の成果物種別定義ファイルから生成した加工関連に再利用する成果物名を記入処理した一例を示す図である。
【図１３】図６の成果物種別定義ファイルから生成した加工関連に再利用する成果物名を記入処理した一例を示す図である。
【図１４】図１中の関連合成手段により、図１１，図１２および図１３の加工関連を合成した一例を示す図である。
【図１５】図１中の冗長関連削除手段により、図１４から加工元に再利用する成果物名が記入処理されていない加工関連を削除して生成したソフトウェア開発加工関連図の一例を示す図である。
【図１６】本発明の第２の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。
【図１７】図１６中のソフトウェア開発加工関連図生成装置の動作を示すフローチャートである。
【図１８】図１７中のステップＳ１０９の処理をさらに詳しく示すフローチャートである。
【図１９】図１５のソフトウェア開発加工関連図の左上の１つ加工元であるデータストア一式が削除対象であることを示す図である。
【図２０】図１６中の最適コスト抽出手段により生成された最適コストのソフトウェア開発加工関連図の一例を示す図である。
【図２１】本発明の第３の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。
【図２２】本発明の第４の実施の形態に係るソフトウェア開発加工関連図生成システムの構成を示すブロック図である。
【符号の説明】
１００  成果物種別定義ファイル
１０１  成果物種別定義ファイル記憶装置
１１１  再利用成果物指定ファイル記憶装置
１２０，１２０’  ソフトウェア開発加工関連図生成装置
１２１  成果物関連生成手段
１２２  関連合成手段
１２３  冗長関連削除手段
１２４  最適コスト抽出手段
１３０  ソフトウェア開発加工関連図
１３０’  最適コストのソフトウェア開発加工関連図
１３１  ソフトウェア開発加工関連図記憶装置
２００，２００’    ソフトウェア開発加工関連図生成プログラム
Ｓ１０１  成果物種別定義ファイル読み込みステップ
Ｓ１０２  成果物種別定義ファイル取り出しステップ
Ｓ１０３  加工関連生成ステップ
Ｓ１０４  再利用成果物指定ファイル読み込みステップ
Ｓ１０５  成果物名記入ステップ
Ｓ１０６  加工関連合成ステップ
Ｓ１０７  加工関連削除ステップ
Ｓ１０８  ソフトウェア開発加工関連図格納ステップ
Ｓ１０９  最適コスト加工関連抽出ステップ
Ｓ１１０  最適コストのソフトウェア開発加工関連図格納ステップ
Ｓ２０１  成果物選択ステップ
Ｓ２０２  加工コスト計算ステップ
Ｓ２０３  加工関連取り出しステップ
Ｓ２０４  加工コスト取り出し・加算ステップ
Ｓ２０５  再帰処理終了ステップ
Ｓ２０６  最小加工コストプロセス残ステップ
Ｓ２０７  加工元独立削除ステップ
Ｓ２０８  成果物収集ステップ
Ｓ２０９  加工関連たどりステップ
Ｓ２１０  加工関連削除ステップ
【図１】
2004287561.tif 000003
【図２】
2004287561.tif 000004
【図３】
2004287561.tif 000005
【図４】
2004287561.tif 000006
【図５】
2004287561.tif 000007
【図６】
2004287561.tif 000008
【図７】
2004287561.tif 000009
【図８】
2004287561.tif 000010
【図９】
2004287561.tif 000011
【図１０】
2004287561.tif 000012
【図１１】
2004287561.tif 000013
【図１２】
2004287561.tif 000014
【図１３】
2004287561.tif 000015
【図１４】
2004287561.tif 000016
【図１５】
2004287561.tif 000017
【図１６】
2004287561.tif 000018
【図１７】
2004287561.tif 000019
【図１８】
2004287561.tif 000020
【図１９】
2004287561.tif 000021
【図２０】
2004287561.tif 000022
【図２１】
2004287561.tif 000023
【図２２】
2004287561.tif 000024