説明

ソフトウェア開発支援方法、ソフトウェア開発支援装置、ソフトウェア開発支援システム、及びソフトウェア開発支援プログラム

【課題】工程順序に逆らって登録された設計情報によって、上流工程の設計情報に影響が及ばないようにする。
【解決手段】ソフトウェア開発支援装置において設計情報を管理することによってソフトウェア開発を支援する方法であって、ソフトウェア開発支援装置の記憶部には、上流工程の設計情報と下流工程の設計情報との対応を定義する参照関係スキーマ情報と、設計情報間の対応関係を推定するための代替識別属性情報とが記憶され、ソフトウェア開発支援装置に設計情報が入力されると、参照関係スキーマ情報に基づいて、入力された設計情報に対応する参照元設計情報を特定し、参照元設計情報を特定できない場合には、代替識別属性情報に基づいて、参照元設計情報を推定し、入力された設計情報と、推定された参照元設計情報又は特定された参照元設計情報との整合性を判定し、整合性の判定結果に基づいて、入力された設計情報を登録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェア開発を支援する技術に関し、特に、多くの人員及び工程を必要とする大規模プロジェクトにおけるソフトウェア開発を支援する技術に関する。
【背景技術】
【0002】
複数の開発者が関わる大規模プロジェクトでは、一般的に、事前に作成された設計書及び仕様変更票などに基づいて開発作業が進められる。各開発者は、互いに独立して作業するため、下流工程の設計情報が上流工程の設計情報よりも先行して生成又は変更される可能性がある。このような場合に対応するために、ある設計情報が生成又は変更された際に、影響が及ぶ上流工程及び下流工程の設計情報との整合性を保証する技術が提案されている。
【0003】
例えば、特許文献1に開示された技術では、設計情報間の関連情報を取得及び管理し、設計情報に変更があった場合に、関連する他の設計情報にフラグを付けることなどによって開発者に通知し、変更可能性のある設計情報を提供する。
【0004】
また、特許文献2に開示された技術では、複数の設計情報の共通部分を抽出して一元管理し、設計情報に変更があった場合には、一元管理されている共通部分を変更することによって、自動的に変更を反映し、仕様変更の反映を支援する。
【特許文献1】特開平5−35460号公報
【特許文献2】特開2006−79212号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
特許文献1及び特許文献2に開示された技術は、ある設計情報が生成又は変更された場合に、設計情報と何らかの関連(例えば参照利用関係)を有する上流工程又は下流工程の設計情報を互いに区別せず、両方に影響が及ぶとみなして整合性保証の対象とする。したがって、関連元(参照元)である上流工程の設計情報の値が、関連先(利用先)である下流工程の設計情報の変更によって、変更後の値で(特許文献2の場合は自動的に、特許文献1の場合は作業ミスなどによって)不当に上書きされてしまう可能性がある。
【0006】
また、工程順序に逆らって登録された設計情報間の整合状態、及び、不整合が発生している場合の不整合要因を認識することができない。
【0007】
本発明では、工程順序に逆らって設計情報が登録された場合に、整合性を確保する技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一形態では、ソフトウェア開発支援装置において、設計情報を管理するソフトウェア開発支援方法であって、前記ソフトウェア開発支援装置は、プロセッサ、及び前記プロセッサに接続される記憶部を備え、前記記憶部には、上流工程の設計情報と下流工程の設計情報との対応を定義する参照関係スキーマ情報と、前記設計情報間の対応関係を推定するための代替識別属性情報とが記憶され、前記方法は、前記設計情報が入力されると、前記参照関係スキーマ情報に基づいて、前記入力された設計情報に対応する参照元設計情報を特定し、前記参照元設計情報を特定できない場合には、前記代替識別属性情報に基づいて、前記参照元設計情報を推定し、前記入力された設計情報と、前記推定された参照元設計情報又は前記特定された参照元設計情報との整合性を判定し、前記整合性の判定結果に基づいて、前記入力された設計情報を登録する。
【発明の効果】
【0009】
本発明の代表的な一形態によれば、入力された設計情報と参照元の設計情報との整合性を判定し、整合性の判定結果に基づいて、参照元の設計情報に不適切な影響を与えないように設計情報を登録することができる。
【発明を実施するための最良の形態】
【0010】
本発明の実施の形態では、ソフトウェア及びシステムの設計、開発及び保守の現場において、上流工程の変更対応が完了する前に下流工程が先行して変更された場合に、下流工程の設計情報及びあらかじめ登録された定義情報に基づいて、関連する上流側の設計情報を抽出又は推定する。その後、関連する上流工程の設計情報が追加又は更新されたか否か、及び、追加又は更新された上流側の設計情報が関連する下流側の設計情報と整合するか否かを判定し、両者が整合した場合に下流工程が正式に変更されたものとみなす。
【0011】
以下、本発明の実施の形態について図面を用いて説明する。
【0012】
(第1の実施の形態)
図1は、本発明の第1の実施の形態のソフトウェア開発支援システム100の構成を示す図である。
【0013】
本発明の第1の実施の形態のソフトウェア開発支援システム100は、CPU101、メモリ102、及び外部インターフェイス103を備え、それぞれバス108を介して相互に接続されている。
【0014】
CPU101は、メモリ102に記憶されたプログラムを処理することによって、業務処理を実行する。メモリ102は、CPU101によって処理されるプログラム及び当該プログラムを処理する際に使用されるデータを記憶する。
【0015】
外部インターフェイス103は、入出力装置などとCPU101及びメモリ102とを接続する。具体的には、外部インターフェイス103には、入力装置104、出力装置105、通信装置106、及び外部記憶装置107が接続される。
【0016】
入力装置104は、利用者からの入力を受け付ける。出力装置105は、利用者から要求された情報、及び利用者によって要求された処理の結果などを出力する。通信装置106は、外部の機器と接続する。例えば、ネットワークインタフェースカード(NIC)であって、ネットワークを介して他の装置によって接続される。
【0017】
外部記憶装置107は、ソフトウェア開発支援システム100で使用されるプログラム及び情報が格納される。外部記憶装置107は、例えば、不揮発性記憶媒体である。
【0018】
外部記憶装置107に格納されるプログラムは、設計情報登録プログラム110、参照元推定プログラム111、整合状態確認プログラム112、状態情報通知プログラム113、強制登録見直しプログラム114、及び参照元変更確認プログラム115である。前述したように、これらの処理プログラムは実行時にメモリ102に読み込まれ、CPU101によって実行される。
【0019】
また、外部記憶装置107には、設計情報記憶部120及び関係情報記憶部130が含まれる。設計情報記憶部120及び関係情報記憶部130は、前述したプログラムとは別の外部記憶装置に格納するようにしてもよい。例えば、大規模なシステム開発の場合には、格納する設計情報が膨大になる可能性があるため、別途ストレージ装置に格納するようにしてもよい。また、データベース管理システムが稼働するデータベースサーバを別途用意し、設計情報記憶部120及び関係情報記憶部130に格納されるデータを管理してもよい。
【0020】
設計情報記憶部120は、入力装置104を介して外部から入力された設計情報が格納される。設計情報は、まず、外部記憶装置107の設計情報記憶部120の非公開設計情報121に書き込まれる。公開設計情報122は、整合性が確認された設計情報が格納される。登録状態情報123は、登録された設計情報の状態を示す情報が格納される。具体的には、設計情報が上流工程との整合性が保証されている状態で登録された通常登録又は不整合の状態で登録された強制登録である。
【0021】
関係情報記憶部130は、設計情報の参照関係などの関係情報が格納される。具体的には、入力装置104を介して外部から参照関係スキーマ定義及び代替識別属性定義が入力され、それぞれ参照関係スキーマ定義情報131及び代替識別属性定義情報132に書き込まれる。さらに、関係情報記憶部130には、参照関係インスタンス情報133、整合状態情報134及び強制登録見直し対象情報135が格納されている。
【0022】
参照関係インスタンス情報133は、実際に参照利用した上流工程の設計情報の識別属性と、利用先の設計情報の識別属性の組合せを保存した情報が格納される。整合状態情報134は、参照元の設計情報と利用先の設計情報との整合性を示す情報が格納される。強制登録見直し対象情報135は、強制登録されたために整合性が保証されていない設計情報が格納される。
【0023】
ここで、各処理プログラムによって実行される処理の概要について説明する。
【0024】
設計情報登録プログラム110は、非公開設計情報121から読み出された設計情報と、参照関係スキーマ定義情報131から読み出された参照関係スキーマ定義情報とに基づいて、参照関係インスタンス情報を生成する。さらに、生成された参照関係インスタンス情報を関係情報記憶部130の参照関係インスタンス情報133に書き込む。
【0025】
また、設計情報から生成された参照関係インスタンス情報の参照元の設計情報が不明な場合には、設計情報登録プログラム110によって参照元推定プログラム111が呼び出される。
【0026】
参照元推定プログラム111は、非公開設計情報121から読み出された設計情報と、代替識別属性定義情報132から読み出された代替識別属性定義情報とに基づいて、参照関係インスタンス情報の不明な参照元の設計情報を推定し、その結果を推定値フラグとともに参照関係インスタンス情報133の参照元の設計情報の値として書き込む。
【0027】
また、設計情報登録プログラム110は、整合状態確認プログラム112を実行する。整合状態確認プログラム112は、参照関係インスタンス情報133から読み出された参照関係インスタンス情報について、参照元と利用先の設計情報のバージョン又は値を比較し、結果を参照関係インスタンス間の整合状態として整合状態情報134に書き込む。
【0028】
また、設計情報登録プログラム110は、非公開設計情報121、参照関係インスタンス情報133、及び整合状態情報134から、それぞれ設計情報、参照関係インスタンス情報(設計情報の外部キーを含む)、整合状態情報(設計情報の外部キーを含む)を読み出し、これら3種類の情報を設計情報の外部キーを用いて結合する。
【0029】
このとき、設計情報登録プログラム110によって、通常登録による設計情報の公開又は強制登録による設計情報の公開が実行される。
【0030】
通常登録による設計情報の公開は、設計情報が「整合状態=整合」の場合に行われる。具体的には、設計情報記憶部120の登録状態情報123に利用先の設計情報の識別属性の値とともに「登録状態=通常登録」と書き込み、利用先の設計情報を設計情報記憶部120の公開設計情報122にコピーする。
【0031】
また、強制登録による設計情報の公開は、設計情報の「整合状態=不整合」、かつ、参照関係インスタンス情報の参照元の設計情報の「推定値フラグ=NO」、かつ、設計情報のバージョン関係が「参照元<利用先」の場合に行われる。具体的には、設計情報記憶部120の登録状態情報123に利用先の設計情報の識別属性の値とともに「登録状態=強制登録」と書き込み、関係情報記憶部130の強制登録見直し対象情報135に強制登録の見直し条件とともに参照関係インスタンス情報を書き込み、利用先の設計情報を設計情報記憶部120の公開設計情報122にコピーする。なお、参照元の設計情報が未登録のために不整合が発生している場合には「強制登録の見直し条件=参照元追加時」、参照元の設計情報が登録済であるが不整合が発生している場合には「強制登録の見直し条件=参照元更新時」とする。
【0032】
強制登録見直しプログラム114は、外部から強制登録見直し要求コマンドが入力された際に、参照元変更確認プログラム115を実行する。参照元変更確認プログラム115は、強制登録見直し対象情報135から強制登録見直し対象情報を読み出す。このとき、「強制登録の見直し条件=参照元追加時」の場合には、参照元推定プログラム111を実行し、最新の設計情報から参照関係インスタンス情報を推定する。参照元の設計情報が追加されていた場合には、さらに強制登録見直しプログラム114によって整合状態確認プログラム112を実行する。
【0033】
他方、強制登録見直しプログラム114は、「強制登録の見直し条件=参照元更新時」の場合には、最新の設計情報から参照元の設計情報が更新されたか否かを確認する。参照元の設計情報が更新されていた場合には、さらに強制登録見直しプログラム114によって整合状態確認プログラム112を実行する。整合状態確認プログラム112は、参照関係インスタンス間の整合状態を確認し、「整合状態=整合」の場合には、参照関係インスタンスの利用先の設計情報に該当する登録状態情報123の「登録状態=通常登録」に更新する。さらに、参照関係インスタンスの利用先の設計情報に該当する強制登録見直し対象情報135の強制登録見直し対象情報を削除する。
【0034】
状態情報通知プログラム113は、設計情報の登録完了時、強制登録の見直し完了時、及び外部から状態情報の参照要求コマンドが入力された際に、設計情報の登録結果、強制登録の見直し結果、設計情報の登録状態情報、参照関係インスタンスの整合状態情報、及び強制登録見直し対象情報を、出力装置105を介して外部に出力する。
【0035】
図2は、本発明の第1の実施の形態のソフトウェア開発支援システム100の全体の処理を示すフローチャートである。
【0036】
ソフトウェア開発支援システム100は、設計情報の登録機能、強制登録の見直し機能、及び設計情報のレポーティング機能を有する。
【0037】
CPU101は、まず、利用者から要求された処理が設計情報の登録要求であるか否かを判定する(ステップ200)。利用者から要求された処理が設計情報の登録要求の場合には(ステップ200の結果が「YES」)、設計情報の登録処理を実行する(ステップ201)。ここで、設計情報の登録要求は、例えば、外部のソフトウェア開発者が任意のタイミングで入力可能である。また、登録要求の対象となる一つ以上の設計情報は、一覧指定及び範囲指定など任意の方法で指定可能である。なお、設計情報の登録処理の詳細は、図3にて後述する。
【0038】
一方、CPU101は、利用者から要求された処理が設計情報の登録要求でない場合には(ステップ200の結果が「NO」)、利用者から要求された処理が強制登録された設計情報の見直し要求であるか否かを判定する(ステップ202)。利用者から要求された処理が強制登録の見直し要求の場合には(ステップ202の結果が「YES」)、強制登録の見直し処理を実行する(ステップ203)。ここで、強制登録の見直し要求は、例えば、外部のソフトウェア開発者又はプロジェクト管理者が、任意のタイミングで入力したり、あらかじめ指定した定期的なタイミングで入力したりすることが可能である。また、強制登録の見直し要求の対象となる一つ以上の設計情報は、一覧指定又は範囲指定など任意の方法で外部から指定可能である。なお、強制登録の見直し処理の詳細は、図4にて後述する。
【0039】
さらに、CPU101は、利用者から要求された処理が強制登録の見直し要求でない場合には(ステップ202の結果が「NO」)、状態情報の参照要求であるか否かを判定する(ステップ204)。利用者から要求された処理が状態情報の参照要求の場合には(ステップ204の結果が「YES」)、状態情報のレポーティングを実行する(ステップ205)。ここで、状態情報の参照要求は、例えば外部のソフトウェア開発者又はプロジェクト管理者が、任意のタイミングで入力したり、あらかじめ指定した定期的なタイミングで入力したりすることが可能である。
【0040】
また、状態情報のレポーティングとは、利用者によって指定された一つ以上の設計情報について、その登録状態情報、当該設計情報が参照元又は利用先となっている参照関係インスタンスの整合状態情報、当該設計情報の識別属性の値を外部キーとして持つ強制登録見直し対象情報などを外部に出力する処理である。また、状態情報のレポーティングでは、各種情報の値をそのまま出力したり、又は各種情報の値が一定の条件を満たす件数を出力したりすることが可能である。
【0041】
CPU101は、利用者から要求された処理が状態情報の参照要求でない場合には(ステップ204の結果が「NO」)、利用者からの入力を待機する。設計情報の登録処理(ステップ201)、強制登録の見直し処理(ステップ203)、又は状態情報のレポーティング(ステップ205)の処理が完了すると、利用者からプログラム終了要求コマンドが入力されたか否かの判定する(ステップ206)。プログラム終了要求コマンドが入力された場合には(ステップ206の結果が「YES」)、本処理を終了する。プログラム終了要求コマンドが入力されていない場合には(ステップ206の結果が「NO」)、利用者からの入力を待機する。
【0042】
続いて、図3のフローチャートを参照しながら、設計情報を登録する手順について詳しく説明する。
【0043】
図3は、本発明の第1の実施の形態の設計情報の登録処理の手順を示すフローチャートである。
【0044】
CPU101は、設計情報登録プログラム110によって、入力装置104を介して外部から入力された編集済みの設計情報を非公開設計情報121に書き込む(ステップ300)。なお、外部のソフトウェア開発者が設計作業時にソフトウェア開発支援システム100に接続し、オンライン上で非公開設計情報121に格納された設計情報を編集してもよい。こうすることによって、外部(ソフトウェア開発支援システム100にとってのクライアント)で使用する記憶領域を削減することができる。
【0045】
CPU101は、設計情報登録プログラム110によって、非公開設計情報121から設計情報を読み出し、さらに、参照関係スキーマ定義情報131から参照関係スキーマ定義情報を読み出す。そして、各々の設計情報について該当する参照関係スキーマ定義情報が存在するか否かを判定する(ステップ301)。
【0046】
ここで、参照関係スキーマ定義情報について具体的に説明する。
【0047】
ソフトウェア開発者が設計作業を行う際に、上流工程の設計情報を参照し、上流工程の設計情報の一部を選択して現工程の設計情報に埋め込むことによって、現工程の設計情報を表現する場合がある。参照関係スキーマ定義情報とは、上流工程と現工程との整合性を確保するために、上流工程の設計情報の一部を選択して現工程の設計情報に埋め込むことが義務付けられている場合に、参照元と利用先の設計情報の識別属性の組合せを定義した情報のことである。
【0048】
一例として、インターフェイスの開発者が上流工程で生成されたデータ項目辞書を参照してインターフェイス定義を生成する場合について説明する。上流工程の設計情報、現工程の設計情報、及び参照関係スキーマ定義情報の具体例を図5から図7に示す。
【0049】
図5は、本発明の第1の実施の形態の上流工程の設計情報にあたるデータ項目辞書の一例を示す図である。
【0050】
データ項目辞書は、データ項目識別子500、データ項目名501、及びバージョン502を含む。さらに、データ型、桁数、更新日時などの属性を含む。
【0051】
データ項目識別子500は、データ項目を識別する識別子である。データ項目名501は、データ項目の名称である。バージョン502は、データ項目のバージョンを示す数値であって、データ項目の属性が変更されるたびに加算される。
【0052】
図6は、本発明の第1の実施の形態の現工程の設計情報にあたるインターフェイス定義の一例を示す図である。
【0053】
図6に示すインターフェイス定義は、顧客名を入力項目として顧客情報を出力するインターフェイスの定義情報である。インターフェイス定義は、参照関係スキーマ定義情報を生成するために必要な情報として、インターフェイス入力項目名600、第一参照元データ項目識別子601、第一参照元データ項目バージョン602、インターフェイス出力項目名603、第二参照元データ項目識別子604、及び第二参照元データ項目バージョン605を含む。さらに、インターフェイスを識別するインターフェイス識別子などを含む。
【0054】
インターフェイス入力項目名600は、入力項目の名称である。第一参照元データ項目識別子601は、入力項目に対応するデータ項目の識別子である。第一参照元データ項目バージョン602は、第一参照元データ項目のバージョンである。インターフェイス出力項目名603は、出力項目の名称である。第二参照元データ項目識別子604は、出力項目に対応するデータ項目の識別子である。第二参照元データ項目バージョン605は、第二参照元データ項目のバージョンである。
【0055】
図7は、本発明の第1の実施の形態の参照関係スキーマ定義情報131の一例を示す図である。
【0056】
インターフェイス定義は、入力項目及び出力項目に対応するデータ項目を選択することによって作成される。具体的には、図5に示したデータ項目辞書のデータ項目名501を参照し、図6に示したインターフェイス定義のインターフェイス入力項目名600及びインターフェイス出力項目名603が定義される。データ項目辞書のデータ項目識別子500の値が、インターフェイス定義の第一参照元データ項目識別子601及び第二参照元データ項目識別子604に格納される。
【0057】
参照関係スキーマ定義情報は、上流工程である参照元の識別属性700と、下流工程である利用先の識別属性701との対応が格納される。前述した例では、参照元の識別属性700がデータ項目辞書の「データ項目識別子500」であって、利用先の識別属性701がインターフェイス定義の「インターフェイス入力項目識別子」及び「インターフェイス出力項目識別子」となる。
【0058】
参照関係スキーマ定義情報は、下流工程の設計情報を入力する場合には、すでに作成済みとなっていることを前提とする。例えば、プロジェクト開始時にプロジェクト管理者によって作成される。
【0059】
また、設計情報に該当する参照関係スキーマ定義が存在するということは、当該設計情報の識別属性が、参照関係スキーマ定義の利用先の設計情報の識別属性と一致している場合のことである。
【0060】
ここで、図3のフローチャートの説明に戻る。
【0061】
CPU101は、非公開設計情報121から読み出された設計情報に該当する参照関係スキーマ定義が存在する場合には(ステップ301の結果が「Yes」)、設計情報登録プログラム110によって、各々の設計情報に該当する参照関係スキーマ定義情報を用いて参照関係インスタンス情報を生成する。さらに、参照関係インスタンス情報の参照元の設計情報の識別属性が明らかとなっているか否かを判定する(ステップ302)。
【0062】
また、ステップ302の処理で生成された参照関係インスタンス情報は、関係情報記憶部130の参照関係インスタンス情報133に書き込まれる。
【0063】
参照関係インスタンス情報とは、前述したように、ソフトウェア開発者が設計作業を行う際に、実際に参照利用した上流工程の設計情報の識別属性と、利用先の設計情報の識別属性との組合せを保存した情報のことである。参照関係インスタンス情報の具体例を図8に示す。
【0064】
図8は、本発明の第1の実施の形態の参照関係インスタンス情報133の一例を示す図である。
【0065】
参照関係インスタンス情報133は、参照元の設計情報800及び利用先の設計情報810を含む。
【0066】
参照元の設計情報800には、識別属性の名前801、識別属性の値802、及び推定値フラグ803が含まれる。例えば、レコード820の識別属性の名前801及び識別属性の値802は、フィールド名に対応する「データ項目識別子」と値に対応する「D−0002」が格納されている。推定値フラグ803は、参照元の設計情報800と利用先の設計情報810とが参照関係スキーマ定義情報131などによって対応付けられた場合には「NO」、参照元の設計情報800が推定された値である場合には「YES」が格納される。推定値フラグの初期値は「NO」に設定される。推定値フラグ803は、図3のステップ303の処理で設定され、詳細については後述する。
【0067】
利用先の設計情報810には、識別属性の名前801及び識別属性の値802が含まれる。識別属性の名前801及び識別属性の値802が含まれる。レコード820には、フィールド名に対応する「インターフェイス入力項目識別子」と値に対応する「IFIN−0087」が格納されている。
【0068】
ここで、図3のフローチャートの説明に戻る。
【0069】
CPU101は、利用先の設計情報において参照元の設計情報が不明の場合、すなわち、ソフトウェア開発者が上流工程の設計情報を参照利用せず、独自に現工程の設計を生成した場合には(ステップ302の結果が「No」)、公開設計情報の中から該当する参照元の設計情報が推定可能であるか否かを判定する(ステップ303)。
【0070】
参照元の設計情報は、参照元推定プログラム111が実行されることによって、代替識別属性定義情報に基づいて推定される。
【0071】
具体的に説明すると、まず、利用先の設計情報に基づいて、代替識別属性定義情報132から代替識別属性定義情報を取得する。次に、取得された代替識別属性に基づいて、公開設計情報122から対応する公開設計情報を取得する。取得された公開設計情報を参照元の設計情報として推定する。代替識別属性定義情報132の具体例を図9に示す。
【0072】
図9は、本発明の第1の実施の形態の代替識別属性定義情報132の一例を示す図である。
【0073】
代替識別属性定義情報132は、参照元の開発工程901、参照元の識別属性902、利用先の開発工程903、及び利用先の識別属性904を含む。
【0074】
参照元の設計情報を推定するために代替識別属性定義情報132を検索する場合、利用先の設計情報、すわなち、利用先の開発工程903及び利用先の識別属性904は既知である。したがって、利用先の開発工程903及び利用先の識別属性904に基づいて、参照元の開発工程901及び参照元の識別属性902が検索される。そして、公開設計情報から参照元の開発工程901が同一であって、かつ、参照元の識別属性902が対応する設計情報を参照元の設計情報として推定する。
【0075】
ここで、図3のフローチャートの説明に戻る。
【0076】
CPU101は、参照元の設計情報が推定可能である場合には(ステップ303の結果が「Yes」)、推定された参照元の設計情報の識別属性の値を、識別属性の名前及び推定値フラグとともに、参照関係インスタンス情報133に参照元の設計情報として書き込む。なお、この場合に設定される推定値フラグの値は常に「YES」である。その後、ステップ304の処理を実行する。
【0077】
CPU101は、参照元の設計情報が明らかな場合、すなわち、ソフトウェア開発者が上流工程の設計情報を参照利用して現工程の設計情報を生成した場合には(ステップ302の結果が「Yes」)、ステップ304の処理を実行する。
【0078】
CPU101は、整合状態確認プログラム112によって、非公開設計情報121から設計情報を読み出し、さらに、参照関係インスタンス情報133から参照関係インスタンス情報を読み出す。そして、読み出された設計情報及び参照関係インスタンス情報を設計情報の外部キーに基づいて結合する。続いて、参照関係インスタンスの参照元の設計情報と利用先の設計情報のバージョン又は値を比較し、両者の整合性を判定する(ステップ304)。さらに、判定結果を参照関係インスタンス間の整合状態として、関係情報記憶部130の整合状態情報134に書き込む。
【0079】
ここで、参照関係インスタンスの参照元の設計情報と利用先の設計情報との整合性とは、参照元の設計情報が推定値の場合は、参照元と利用先の設計情報の値の一致をもって整合とみなし、参照元の設計情報が推定値でない場合は、参照元と利用先の設計情報のバージョンの一致をもって整合とみなす。また、整合状態情報とは、参照元と利用先の設計情報の識別情報と整合状態とで構成されるものとする。整合状態情報の具体例を図10に示す。
【0080】
図10は、本発明の第1の実施の形態の設計情報間の整合状態を格納する整合状態情報134の一例を示す図である。
【0081】
整合状態情報134は、参照元の設計情報1010、利用先の設計情報1020、及び整合状態1030を含む。参照元の設計情報1010及び利用先の設計情報1020には、それぞれ識別属性の名前及び識別属性の値が含まれる。整合状態1030は、参照元の設計情報1010に対応する利用先の設計情報1020が整合しているか否かを示す情報で、前述したように、「整合」又は「不整合」が格納される。
【0082】
ここで、図3のフローチャートの説明に戻る。
【0083】
CPU101は、参照関係インスタンスの参照元の設計情報と利用先の設計情報が不整合の場合には(ステップ304の結果が「不整合」)、設計情報登録プログラム110を実行し、参照関係インスタンス間の参照元と利用先の設計情報のバージョンを比較する(ステップ305)。
【0084】
このとき、参照元の設計情報が推定値でなく(「推定値フラグ=NO」)、かつ、設計情報のバージョン関係が「参照元<利用先」の場合は、「外部で、現工程(利用先)の開発者が上流工程(参照元)の設計情報を参照利用せずに、意図的に独自の設計情報を生成した場合なので、強制的に登録してしまってよい」とみなし、CPU101は、ステップ307の処理を実行する。
【0085】
他方、設計情報のバージョン関係が「参照元>利用先」の場合は、「外部で、現工程(利用先)の開発者が知らない間に上流工程(参照元)の設計情報が更新又は削除されているので、いったん登録を中止し、現工程の開発者に影響先の確認又は必要な修正をしてもらわなければならない」とみなし、CPU101は、ステップ311の処理を実行する。
【0086】
また、設計情報のバージョン関係が「参照元=推定値」の場合は、「上流工程又は現工程のいずれかの開発者が作業ミスをしているので、いったん登録を中止し、上流工程及び現工程の開発者に影響先の確認又は必要な修正をしてもらわなければならない」とみなし、CPU101は、ステップ311の処理を実行する。
【0087】
CPU101は、参照元の設計情報を推定できない場合には(ステップ303の結果が「NO」)、参照関係インスタンスの整合状態を「不整合」として、整合状態情報134に書き込む(ステップ306)。
【0088】
CPU101は、設計情報登録プログラム110によって、設計情報の登録状態を「強制登録」として、登録状態情報123に書き込む(ステップ307)。ここで、登録状態情報とは、設計情報の識別属性と設計情報の登録状態の組合せを保存した情報のことである。登録状態情報123の具体例を図11に示す。
【0089】
図11は、本発明の第1の実施の形態の設計情報の登録状態を格納する登録状態情報123の一例を示す図である。
【0090】
登録状態情報123は、設計情報識別属性1101及び登録状態1102を含む。登録状態1102には、「通常登録」又は「強制登録」が格納される。「通常登録」は参照元の設計情報と整合している場合に格納される。一方、「強制登録」は参照元の設計情報を見直す必要がある場合に格納される。
【0091】
ここで、図3のフローチャートの説明に戻る。
【0092】
CPU101は、設計情報登録プログラム110によって、参照関係インスタンス情報を強制登録見直し対象情報135に書き込む(ステップ308)。さらに、強制登録の見直し条件も書き込む。強制登録の見直し条件に書き込む内容は、参照関係インスタンスの参照元の設計情報が存在していない場合には強制登録の見直し条件を「参照元追加時」とする。また、参照関係インスタンスの参照元の設計情報が存在している場合には、強制登録の見直し条件を「参照元更新時」とする。また、書き込み時に、同じ参照元と利用先の設計情報の識別属性が既に存在している場合には上書きする。強制登録見直し対象情報の具体例を図12に示す。
【0093】
図12は、本発明の第1の実施の形態の強制登録見直し対象情報135の一例を示す図である。
【0094】
強制登録見直し対象情報135は、強制登録見直し対象1210及び強制登録の見直し条件1220を含む。強制登録見直し対象1210は、参照元の設計情報と利用先の設計情報とを含む。参照元の設計情報にはバージョンも含まれる。
【0095】
ここで、図3のフローチャートの説明に戻る。
【0096】
CPU101は、非公開設計情報121から読み出された設計情報に該当する参照関係スキーマ定義が存在しない場合には(ステップ301の結果が「No」)、設計情報登録プログラム110によって、読み出された設計情報の登録状態を「通常登録」として登録状態情報123に書き込む(ステップ309)。
【0097】
CPU101は、設計情報登録プログラム110によって、非公開設計情報121から設計情報を読み出し、公開設計情報122に上書きコピーする(ステップ310)。
【0098】
最後に、CPU101は、状態情報通知プログラム113によって、設計情報の登録結果を外部に通知し、プログラムを終了する(ステップ311)。ここで、設計情報の登録結果とは、例えば、設計情報の登録状態又は登録を中止した理由などである。また、登録結果の通知先としては、例えば、「参照元か利用先の開発者の作業ミス」の場合には、参照元及び利用先の設計情報の開発者に通知し、それ以外の場合には、利用先の設計情報の開発者のみに通知するなど、あらかじめ定義された通知条件にしたがって、任意に指定可能である。登録結果の通知先、登録時の条件、及び登録処理の結果をまとめた具体例を図13に示す。
【0099】
図13は、本発明の第1の実施の形態の登録時の条件と登録処理の結果との対応の一例を示す図である。
【0100】
図13に示す例では、登録時の条件を構成する内容には、参照関係スキーマ1301、参照元の値1302、代替識別属性を用いた参照元の推定1303、参照関係インスタンス間の整合状態1304、及び参照関係インスタンス間のバージョン関係1305が含まれる。
【0101】
一方、登録処理の結果には、参照関係インスタンス間の不整合要因1311、登録処理の種類1312、登録結果の通知先1313、及び強制登録の見直し条件1314が含まれる。
【0102】
例えば、新たに登録された設計情報について、参照関係スキーマ1301に該当する情報が存在しない場合には(ステップ301の結果が「NO」)、参照元の設計情報が存在しないとみなし、不整合が生じることはない。登録処理の結果としては、登録処理の種類1312が「通常登録」となり、設計情報を登録した現工程の開発者にその旨通知する。
【0103】
別の例を挙げると、参照関係スキーマ1301に該当する情報が含まれ(ステップ301の結果が「Yes」)、参照元の設計情報の識別属性が明らかな場合に(ステップ302の結果が「Yes」)、参照元の設計情報のバージョンが登録された設計情報よりも古い場合、すなわち、参照元の設計情報と不整合が生じている場合には(ステップ303の結果が「Yes」)、参照元の設計情報が更新される前に新たに設計情報を登録したことが不整合の要因となっている。この場合には、「強制登録」を実施し、参照元の設計情報が更新されたタイミングで再度整合性を確認する。
【0104】
なお、参照元の設計情報又は利用先の設計情報の入力ミスなどによって不整合が生じている場合には(ステップ305の結果が「NO」)、登録を中止する。
【0105】
設計情報の登録処理の手順では、ステップ303から305の処理で、(1)参照元の設計情報を推定可能か否か、(2)参照関係インスタンスの参照元と利用先の設計情報が整合しているか否か、(3)参照関係インスタンスの参照元と利用先の設計情報のバージョンという3種類の条件で、(あ)通常登録、(い)強制登録、(う)登録中止のいずれかの登録処理を決定している。
【0106】
第1の実施の形態の変形例として、ステップ303から305の処理において、(い)強制登録、(う)登録中止のいずれかの登録処理しか選択できないと判定された場合には、状態情報通知プログラム113によって、判定結果を外部に通知し、外部からの指示を受け付けて、ステップ306、ステップ307、又はステップ311のいずれかの処理を実行するようにしてもよい。
【0107】
こうすることによって、外部から登録を要求された設計情報の特徴及び他の設計情報との関係のみに基づいて機械的に登録処理の種類を決定するだけでなく、プロジェクトの進行とともに変化し得る外部環境(例えばソフトウェア開発者やプロジェクト管理者のスキル、開発の規模や開発スケジュールなど)とあわせて総合的に考慮した上で、より最適な登録処理の種類を決定することが可能となる。
【0108】
以上が設計情報の登録の処理手順の詳細な説明である。続いて、強制登録の見直しの処理手順について、図4のフローチャートを参照しながら説明する。
【0109】
図4は、本発明の第1の実施の形態の強制登録された設計情報を見直す手順を示すフローチャートである。
【0110】
CPU101は、強制登録見直しプログラム114によって、強制登録見直し対象情報135から強制登録見直し対象情報を読み出す。図2のステップ202の処理で強制登録の見直し要求の対象として外部から指定された設計情報の識別属性と、強制登録見直し対象情報の利用先の設計情報の識別属性とを比較し、設計情報が強制登録見直し対象情報と一致するか否かを判定する(ステップ400)。一致しない場合には(ステップ400の結果が「NO」)、状態情報通知プログラム113によって、強制登録の見直しが実行できない旨を外部にエラーを通知し(ステップ409)、本処理を終了する。この場合には、外部から入力された強制登録の見直し要求の対象が、現在、何らかの理由により見直しの対象から外れているか、あるいは複数の見直し対象と一致してしまうためである。
【0111】
CPU101は、外部から指定された設計情報の識別属性と強制登録見直し対象情報の利用先の設計情報の識別属性とが一致する場合には(ステップ400の結果が「Yes」)、強制登録見直しプログラム114によって、ステップ400の処理で一致した強制登録見直し対象情報の見直し条件を取得する。そして、強制登録の見直し条件が「参照元追加時」であるか、強制登録の見直し条件が「参照元更新時」であるかを判定する(ステップ401)。
【0112】
CPU101は、強制登録の見直し条件が「参照元追加時」の場合には(ステップ401の結果が「参照元追加時」)、参照元推定プログラム111によって、ステップ400で一致した強制登録見直し対象情報について、参照元の設計情報を図3のステップ303処理と同様の手順で代替識別属性定義情報に基づいて推定する(ステップ402)。
【0113】
また、ここで推定された参照元の設計情報の識別属性の値を参照関係インスタンス情報133に参照元の設計情報として書き込む。さらに、識別属性の名前と、値を「YES」として推定値フラグを参照関係インスタンス情報133に書き込む。また、ステップ400で一致した強制登録見直し対象情報の見直し条件を「参照元更新時」に更新する。
【0114】
CPU101は、参照元の設計情報が推定できなかった場合には(ステップ402の結果が「NO」)、強制登録の見直しが失敗した旨を通知し(ステップ407)、本処理を終了する。
【0115】
一方、CPU101は、強制登録の見直し条件が「参照元更新時」の場合には(ステップ401の結果が「参照元更新時」)、参照元の設計情報が更新されているか否かを判定する(ステップ408)。具体的には、参照元変更確認プログラム115によって、非公開設計情報121から設計情報を読み出し、ステップ400の処理で一致した強制登録見直し対象情報の参照元の設計情報と識別属性の値が一致する設計情報を検索し、両者のバージョンを比較する。強制登録見直し対象情報の参照元の設計情報よりも現在の設計情報のバージョンのほうが古い場合には(ステップ408の結果が「NO」)、参照元の設計情報が更新されていないため、強制登録の見直しが失敗した旨を通知し(ステップ407)、本処理を終了する。
【0116】
CPU101は、参照元の設計情報が推定された場合(ステップ402の結果が「YES」)、又は、参照元の設計情報が更新されている場合には(ステップ408の結果が「YES」)、整合状態確認プログラム112によって、ステップ400の処理で一致した強制登録見直し対象情報の参照元と利用先の設計情報のバージョン又は値を比較し、ステップ304の処理と同様の手順で両者が整合しているか否かを判定する(ステップ403)。また、判定結果を参照関係インスタンス間の整合状態とみなし、整合状態情報134を更新する。
【0117】
CPU101は、強制登録見直し対象情報の参照元と利用先の設計情報とが整合していない場合には(ステップ403の結果が「NO」)、強制登録の見直しが失敗した旨を通知し(ステップ407)、本処理を終了する。
【0118】
CPU101は、強制登録見直し対象情報の参照元と利用先の設計情報とが整合している場合には(ステップ403の結果が「YES」)、強制登録見直しプログラム114によって、強制登録対象の設計情報の登録状態を「通常登録」として、登録状態情報123に書き込む(ステップ404)。
【0119】
CPU101は、強制登録見直しプログラム114によって、参照関係インスタンス情報133に格納された参照関係インスタンス情報のうち、参照元の設計情報の識別属性の値が、ステップ400の処理で一致した強制登録見直し対象情報の参照元の設計情報の識別属性と等しい参照関係インスタンス情報の推定値フラグを「NO」に参照関係インスタンス情報133を更新する(ステップ405)。
【0120】
CPU101は、さらに、強制登録見直しプログラム114によって、ステップ400の処理で一致した強制登録見直し対象情報を強制登録見直し対象情報135から削除する(ステップ406)。
【0121】
CPU101は、状態情報通知プログラム113によって、強制登録の見直し結果を外部に通知し(ステップ407)、本処理を終了する。ここで、強制登録の見直し結果とは、例えば、見直し後の設計情報の登録状態である。また、強制登録の見直し結果の通知先としては、あらかじめ任意に定義された通知条件にしたがって、利用先の設計情報の開発者及びプロジェクト管理者が指定されている。
【0122】
以上が強制登録の見直しの処理手順の詳細な説明である。
【0123】
本発明の第1の実施の形態によれば、整合性が保証されていない設計情報は、強制登録された設計情報として識別することが可能である。したがって、上流工程の変更対応を待たずに、関連する下流工程の設計情報の変更が先行した場合であっても、上流工程に不適切な影響を与えないようにすることが可能となる。
【0124】
また、本発明の第1の実施の形態によれば、外部から登録を要求された設計情報の特徴又は他の設計情報との関係のみに基づいて機械的に登録処理の種類を決定するだけでなく、プロジェクトの進行とともに変化し得る外部環境(例えばソフトウェア開発者又はプロジェクト管理者のスキル、開発の規模若しくは開発スケジュールなど)とあわせて総合的に考慮した上で、より最適な登録処理の種類を決定することが可能となる。
【0125】
(第2の実施の形態)
第1の実施の形態では、参照関係インスタンス情報の参照元の設計情報の識別属性の値が不明の場合には、参照元の設計情報を推定していたが、第2の実施の形態では、登録中止とする。その代わり、参照元の識別属性のみの先行登録を可能とする。なお、第1の実施の形態と共通する内容については適宜説明を省略する。
【0126】
図14は、本発明の第2の実施の形態の設計情報の登録処理の手順を示すフローチャートである。
【0127】
図3に示した第1の実施の形態の登録処理との相違点は、参照関係インスタンス情報の参照元の設計情報の識別属性の値が不明の場合に(ステップ302の結果が「NO」)、参照元の識別情報を先行して登録することが可能な点である。
【0128】
第2の実施の形態では、第1の実施の形態と共通する図2のステップ200の処理において、「通常登録」と「先行登録」を選択して実行可能とする。先行登録とは、下流工程で参照利用される可能性のある設計情報の少なくとも識別属性のみを先行して登録することである。
【0129】
CPU101は、参照関係インスタンス情報の参照元の設計情報の識別属性の値が不明の場合に(ステップ302の結果が「NO」)、本処理が参照元の設計情報の識別情報の先行登録を選択して実行されたか否かを判定する(ステップ1401)。先行登録を選択して実行されたのではない場合には(ステップ1401の結果が「NO」)、設計情報の全属性を登録するために本処理が実行されたため、参照元の設計情報の識別情報が存在しないため、設計情報の登録が失敗した旨を通知し(ステップ311)、本処理を終了する。
【0130】
CPU101は、本処理が参照元の設計情報の識別情報の先行登録を選択して実行された場合には(ステップ1401の結果が「YES」)、下流工程で参照利用される可能性のある設計情報の少なくとも識別属性を先行して登録する(ステップ1402)。このように、上流工程の設計情報の識別情報を先行して登録することによって、整合性を保った状態で、下流工程の設計情報を登録することができる。この場合に、上流工程の設計情報をすべて入力する必要がないため、上流工程の開発者の負荷を調整しやすくなる。
【0131】
本発明の第2の実施の形態によれば、参照元の設計情報が入力された状態で下流工程(利用先)の設計情報が入力されるため、設計情報の整合性を保証することができる。この場合に、上流工程の設計情報の入力を前述したように、(1)識別属性のみの先行登録と(2)全属性の登録の二段階に分割することによって、上流工程の開発者の負荷を調整しやすくすることによって、上流工程で設計情報が入力されていないために下流工程で設計情報を入力することができないといった事態を防ぐことができる。
【図面の簡単な説明】
【0132】
【図1】本発明の第1の実施の形態のソフトウェア開発支援システムの構成を示す図である。
【図2】本発明の第1の実施の形態のソフトウェア開発支援システムの全体の処理を示すフローチャートである。
【図3】本発明の第1の実施の形態の設計情報の登録処理の手順を示すフローチャートである。
【図5】本発明の第1の実施の形態の上流工程の設計情報にあたるデータ項目辞書の一例を示す図である。
【図4】本発明の第1の実施の形態の強制登録された設計情報を見直す手順を示すフローチャートである。
【図6】本発明の第1の実施の形態の現工程の設計情報にあたるインターフェイス定義の一例を示す図である。
【図7】本発明の第1の実施の形態の参照関係スキーマ定義情報の一例を示す図である。
【図8】本発明の第1の実施の形態の参照関係インスタンス情報の一例を示す図である。
【図9】本発明の第1の実施の形態の代替識別属性定義情報の一例を示す図である。
【図10】本発明の第1の実施の形態の設計情報間の整合状態を格納する整合状態情報の一例を示す図である。
【図11】本発明の第1の実施の形態の設計情報の登録状態を格納する登録状態情報の一例を示す図である。
【図12】本発明の第1の実施の形態の強制登録見直し対象情報の一例を示す図である。
【図13】本発明の第1の実施の形態の登録時の条件と登録処理の結果との対応の一例を示す図である。
【図14】本発明の第2の実施の形態の設計情報の登録処理の手順を示すフローチャートである。
【符号の説明】
【0133】
100 ソフトウェア開発支援システム
101 CPU
102 メモリ
103 外部インターフェイス
104 入力装置
105 出力装置
106 通信装置
107 外部記憶装置
108 バス
110 設計情報登録プログラム
111 参照元推定プログラム
112 整合状態確認プログラム
113 状態情報通知プログラム
114 強制登録見直しプログラム
115 参照元変更確認プログラム
120 設計情報記憶部
121 非公開設計情報
122 公開設計情報
123 登録状態情報
130 関係情報記憶部
131 参照関係スキーマ定義情報
132 代替識別属性定義情報
133 参照関係インスタンス情報
134 整合状態情報
135 強制登録見直し対象情報

【特許請求の範囲】
【請求項1】
ソフトウェア開発支援装置において、ソフトウェアの設計情報を管理し、開発を支援するソフトウェア開発支援方法であって、
前記ソフトウェア開発支援装置は、プロセッサ、及び前記プロセッサに接続される記憶部を備え、
前記記憶部には、上流工程の設計情報と下流工程の設計情報との対応を定義する参照関係スキーマ情報と、前記設計情報間の対応関係を推定するための代替識別属性情報とが記憶され、
前記方法は、
前記設計情報が入力されると、前記参照関係スキーマ情報に基づいて、前記入力された設計情報に対応する参照元設計情報を特定し、
前記参照元設計情報を特定できない場合には、前記代替識別属性情報に基づいて、前記参照元設計情報を推定し、
前記入力された設計情報と、前記推定された参照元設計情報又は前記特定された参照元設計情報との整合性を判定し、
前記整合性の判定結果に基づいて、前記入力された設計情報を登録することを特徴とするソフトウェア開発支援方法。
【請求項2】
前記設計情報は、ソフトウェア開発における各開発工程で生成される情報であって、前記設計情報を構成する項目に対応して保持されることを特徴とする請求項1に記載のソフトウェア開発支援方法。
【請求項3】
前記代替識別属性情報には、前記設計情報の識別子と、前記設計情報の識別子に対応する上流工程の設計情報の識別子を代替可能な代替識別属性とを含み、
前記方法は、
前記入力された設計情報が上流工程の設計情報を利用せずに作成された場合には、前記代替識別属性情報に基づいて、前記代替識別属性を含む設計情報を検索し、
前記検索された設計情報を参照元設計情報と推定することを特徴とする請求項1又は請求項2に記載のソフトウェア開発支援方法。
【請求項4】
前記方法は、
前記参照元設計情報が特定された場合には、前記入力された設計情報のバージョンと前記参照元設計情報のバージョンが一致している場合に整合と判定し、
前記参照元設計情報が推定された場合には、前記入力された設計情報の値が前記参照元設計情報の値と一致している場合に整合と判定することを特徴とする請求項1から請求項3のいずれか一つに記載のソフトウェア開発支援方法。
【請求項5】
前記入力された設計情報を登録する処理は、
前記参照元設計情報と前記入力された設計情報とが整合と判定された場合には、前記入力された設計情報をそのまま登録し、
前記参照元設計情報と前記入力された設計情報とが不整合と判定され、かつ、前記参照元設計情報のバージョンが前記入力された設計情報のバージョンよりも古い場合又は前記参照元設計情報を推定できなかった場合には、前記入力された設計情報が不整合であることを示す情報とともに前記設計情報を強制的に登録し、
前記参照元設計情報と前記入力された設計情報とが不整合と判定され、かつ、前記参照元設計情報のバージョンが前記入力された設計情報のバージョンよりも新しい場合又は前記参照元設計情報が推定されていた場合には、前記入力された設計情報の登録を中止することを特徴とする請求項4に記載のソフトウェア開発支援方法。
【請求項6】
前記方法は、所定のタイミングで、前記強制的に登録された設計情報の整合性を再判定することを特徴とする請求項5に記載のソフトウェア開発支援方法。
【請求項7】
前記所定のタイミングは、
前記参照元設計情報が存在しなかった場合には、前記参照元設計情報が新たに追加されたタイミングであって、
前記参照元設計情報が存在していた場合には、前記参照元設計情報が更新されたタイミングであることを特徴とする請求項6に記載のソフトウェア開発支援方法。
【請求項8】
前記方法は、前記強制的に登録された設計情報の整合性が再判定された結果、前記参照元設計情報と整合すると判定された場合には、前記強制的に登録された設計情報が不整合であることを示す情報を削除することを特徴とする請求項6又は請求項7に記載のソフトウェア開発支援方法。
【請求項9】
前記方法は、
前記参照元設計情報と前記入力された設計情報との整合性の判定結果を提示し、
前記入力された設計情報をそのまま登録する通常登録、前記入力された設計情報が不整合であることを示す情報とともに登録する強制登録、又は前記入力された設計情報の登録を中止することのいずれかの選択を受け付けることを特徴とする請求項1から請求項3のいずれか一つに記載のソフトウェア開発支援方法。
【請求項10】
前記方法は、
前記設計情報に対応する工程の下流工程で参照される設計情報の識別属性の入力を受け付け、
前記下流工程の設計情報が登録される場合に、前記入力された識別属性に基づいて、前記参照元設計情報が特定されることを特徴とする請求項1から請求項9のいずれか一つに記載のソフトウェア開発支援方法。
【請求項11】
前記方法は、前記入力された設計情報の登録結果を通知することを特徴とする請求項1から請求項10のいずれか一つに記載のソフトウェア開発支援方法。
【請求項12】
前記方法は、前記参照元設計情報と前記入力された設計情報とが不整合である場合には、前記整合性の判定結果に基づいて、不整合が生じている要因を提示することを特徴とする請求項1から請求項11のいずれか一つに記載のソフトウェア開発支援方法。
【請求項13】
プロセッサ及び記憶部を備え、ソフトウェア開発における各開発工程で生成される設計情報を管理するソフトウェア開発支援装置であって、
前記記憶部には、上流工程の設計情報と下流工程の設計情報との対応を定義する参照関係スキーマ情報と、前記設計情報間の対応関係を推定するための代替識別属性情報とが記憶され、
前記プロセッサは、
前記設計情報が入力されると、前記参照関係スキーマ情報に基づいて、前記入力された設計情報に対応する参照元設計情報を特定し、
前記参照元設計情報を特定できない場合には、前記代替識別属性情報に基づいて、前記参照元設計情報を推定し、
前記入力された設計情報と、前記推定された参照元設計情報又は前記特定された参照元設計情報との整合性を判定し、
前記整合性の判定結果に基づいて、前記入力された設計情報を登録することを特徴とするソフトウェア開発支援装置。
【請求項14】
前記代替識別属性情報には、前記設計情報の識別子と、前記設計情報の識別子に対応する上流工程の設計情報の識別子を代替可能な代替識別属性とを含み、
前記プロセッサは、
前記入力された設計情報が上流工程の設計情報を利用せずに作成された場合には、前記代替識別属性情報に基づいて、前記代替識別属性を含む設計情報を検索し、
前記検索された設計情報を参照元設計情報と推定することを特徴とする請求項13に記載のソフトウェア開発支援装置。
【請求項15】
前記プロセッサは、
前記参照元設計情報が特定された場合には、前記入力された設計情報のバージョンと前記参照元設計情報のバージョンが一致している場合に整合と判定し、
前記参照元設計情報が推定された場合には、前記入力された設計情報の値が前記参照元設計情報の値と一致している場合に整合と判定することを特徴とする請求項13又は請求項14に記載のソフトウェア開発支援装置。
【請求項16】
前記入力された設計情報を登録する処理は、
前記参照元設計情報と前記入力された設計情報とが整合と判定された場合には、前記入力された設計情報をそのまま登録し、
前記参照元設計情報と前記入力された設計情報とが不整合と判定され、前記参照元設計情報のバージョンが前記入力された設計情報のバージョンよりも古い場合又は前記参照元設計情報を推定できなかった場合には、前記入力された設計情報が不整合であることを示す情報とともに前記設計情報を強制的に登録し、
前記参照元設計情報と前記入力された設計情報とが不整合と判定され、前記参照元設計情報のバージョンが前記入力された設計情報のバージョンよりも新しい場合又は前記参照元設計情報が推定されていた場合には、前記入力された設計情報の登録を中止することを特徴とする請求項15に記載のソフトウェア開発支援装置。
【請求項17】
前記プロセッサは、前記参照元設計情報が新たに追加又は更新された場合には、前記強制的に登録された設計情報の整合性を再判定することを特徴とする請求項16に記載のソフトウェア開発支援装置。
【請求項18】
前記プロセッサは、前記入力された設計情報の登録結果を通知することを特徴とする請求項13から請求項17のいずれか一つに記載のソフトウェア開発支援装置。
【請求項19】
ソフトウェア開発における各開発工程で生成される設計情報を管理するソフトウェア開発支援システムであって、
前記ソフトウェア開発支援システムは、前記設計情報を管理するソフトウェア開発支援装置を含み、
前記ソフトウェア開発支援装置は、
プログラムを処理することによって業務処理を実行するプロセッサと、前記プロセッサによって処理される業務処理に必要なデータ及びプログラムを記憶する記憶部とを備え、
上流工程の設計情報と下流工程の設計情報との対応を定義する参照関係スキーマ情報と、前記設計情報間の対応関係を推定するための代替識別属性情報とを管理し、
前記設計情報が入力されると、前記参照関係スキーマ情報に基づいて、前記入力された設計情報に対応する参照元設計情報を特定し、
前記参照元設計情報を特定できない場合には、前記代替識別属性情報に基づいて、前記参照元設計情報を推定し、
前記入力された設計情報と、前記推定された参照元設計情報又は前記特定された参照元設計情報との整合性を判定し、
前記整合性の判定結果に基づいて、前記入力された設計情報を登録することを特徴とするソフトウェア開発支援システム。
【請求項20】
ソフトウェア開発支援装置で実行され、ソフトウェア開発における各開発工程で生成される設計情報を管理するプログラムであって、
前記ソフトウェア開発支援装置には、上流工程の設計情報と下流工程の設計情報との対応を定義する参照関係スキーマ情報と、前記設計情報間の対応関係を推定するための代替識別属性情報とが記憶され、
前記プログラムは、
前記設計情報が入力されると、前記参照関係スキーマ情報に基づいて、前記入力された設計情報に対応する参照元設計情報を特定する手順と、
前記参照元設計情報を特定できない場合には、前記代替識別属性情報に基づいて、前記参照元設計情報を推定する手順と、
前記入力された設計情報と、前記推定された参照元設計情報又は前記特定された参照元設計情報との整合性を判定する手順と、
前記整合性の判定結果に基づいて、前記入力された設計情報を登録する手順と、を含むことを特徴とするソフトウェア開発支援プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−289129(P2009−289129A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−142541(P2008−142541)
【出願日】平成20年5月30日(2008.5.30)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】