(57)【要約】【課題】ソフトウェア開発における設計作業において、設計成果物全体の状況を把握し、分割された部分領域ごとに評価結果を確認できる仕組みを提供することを目的とする。【解決手段】ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書から前記コードを抽出し、記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成し、関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成し、関係グループごとに当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出し、ネットワーク図に評価結果を表示する。【選択図】図３
2017091187.tif 000002
【特許請求の範囲】
【請求項１】
ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書を記憶する設計文書記憶装置を含む情報処理システムであって、
前記設計文書から前記コードを抽出し、前記記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成する関係先一覧作成手段と、
前記関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成する関係グループ作成手段と、
前記関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する評価手段、
を有することを特徴とすることを特徴とする情報処理システム。
【請求項２】
前記記述項目を節点として表し、主従関係のある記述項目間をそれぞれ対応する節点間を結ぶ線として表すネットワーク図を表示するネットワーク図表示手段と、
前記評価手段による前記関係グループごとの前記評価値の算出結果に応じて、前記ネットワーク図の当該関係グループに対応する表示領域の表示方法を変える評価表示手段、
を有することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記評価値に対する閾値を記憶する閾値記憶手段
を有し、
前記評価表示手段は、前記評価値と前記閾値とを比較した結果に応じて、前記関係グループに対応する表示領域を強調して表示する
ことを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記評価手段は、前記関係グループに含まれる要件に対応する記述項目の数を、全ての要件に対応する記述項目の数で除した要件集中度を算出する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理システム。
【請求項５】
ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書を記憶する設計文書記憶装置を含む情報処理システムの制御方法であって、
関係先一覧作成手段が、前記設計文書から前記コードを抽出し、前記記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成する関係先一覧作成ステップと、
関係グループ作成手段が、前記関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成する関係グループ作成ステップと、
評価手段が、前記関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する評価ステップ、
を有することを特徴とすることを特徴とする情報処理システムの制御方法。
【請求項６】
ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書を記憶する設計文書記憶装置を含む情報処理システムにて実行可能なプログラムであって、
前記情報処理システムを、
前記設計文書から前記コードを抽出し、前記記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成する関係先一覧作成手段と、
前記関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成する関係グループ作成手段と、
前記関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する評価手段、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発の設計作業の成果物の評価方法に関する。
【背景技術】
【０００２】
ソフトウェア開発における設計作業とは、要求仕様を満たすために仕様等を詳細化し、具体的な機能仕様まで決めていく作業である。設計作業は通常、多段階の設計工程で実施され、各段階の設計工程で決定した仕様等が、どのように連携し合っているかを把握することは、設計作業や開発作業、保守作業を進める上でも重要である。
【０００３】
そのために、仕様等に当たる設計文書の各記述項目に、設計文書間および設計文書内の各記述項目との間の従属関係を示すタグを挿入し、そのタグを抽出することにより、各記述項目間の従属関係を、表形式や各記述項目を線で結んだ図等で表示して把握することが実施されている。しかし、上記の方法では単純に各記述項目間のつながりを示すだけなので、多段階の設計作業で決定される仕様等の間の関連性を把握することが難しい。
【０００４】
特許文献１には、ソフトウェア開発の上下流工程にかかわる複数の成果物から、キーとなる少なくとも１つの成果物を指定し、前記ソフトウェア開発の上下流工程にかかわる複数の成果物間の対応づけ情報をもとに、指定された成果物と上下流工程の他の複数の成果物間の依存関係の複雑さを評価する方法が提示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−９５１５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、指定された成果物（仕様等）から見た上下流工程の依存関係の複雑さを把握することはできるが、設計成果物全体の状況を把握することはできない。
【０００７】
ソフトウェアにおいて、設計全体の中の一部の設計内容が原因となってシステム障害等の問題を引き起こすケースが多々あり、そのようなリスクとなる部分を早期に見つけることが重要である。そのために、設計支援ツール等では設計全体の中でリスクとなる恐れがある部分や改善が必要な部分を特定し提示することが求められている。
【０００８】
そこで本発明では、ソフトウェア開発における設計作業において、設計成果物全体の状況を把握し、独立した部分領域ごとに評価結果を確認できる仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理システムは、ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書を記憶する設計文書記憶装置を含む情報処理システムであって、前記設計文書から前記コードを抽出し、前記記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成する関係先一覧作成手段と、前記関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成する関係グループ作成手段と、前記関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する評価手段、を有することを特徴とする。
【００１０】
本発明の制御方法は、ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書を記憶する設計文書記憶装置を含む情報処理システムの制御方法であって、関係先一覧作成手段が、前記設計文書から前記コードを抽出し、前記記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成する関係先一覧作成ステップと、関係グループ作成手段が、前記関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成する関係グループ作成ステップと、評価手段が、前記関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する評価ステップ、
を有することを特徴とする。
【００１１】
本発明のプログラムは、ソフトウェア開発の複数の設計工程における複数の設計文書の記述項目間の主従関係を示すコードが挿入された設計文書を記憶する設計文書記憶装置を含む情報処理システムにて実行可能なプログラムであって、前記情報処理システムを、前記設計文書から前記コードを抽出し、前記記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として作成する関係先一覧作成手段と、前記関係先一覧に基づいて、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループを作成する関係グループ作成手段と、前記関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する評価手段、として機能させることを特徴とする。
【発明の効果】
【００１２】
本発明によると、ソフトウェア開発における設計作業において、設計成果物全体の状況を把握し、独立した部分領域ごとに評価結果を確認できるようになる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態における、情報処理システムの構成の一例を示す図である。
【図２】本発明の実施形態における、情報処理システムのハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、情報処理システムの機能構成の一例を示す図である。
【図４】本発明の実施形態における、情報処理システムの全体処理の一例を示すフローチャートである。
【図５】本発明の実施形態における、情報処理システムのＴノードリスト登録処理の一例を示すフローチャートである。
【図６】本発明の実施形態における、情報処理システムのＴノードネットワークリスト登録処理の一例を示すフローチャートである。
【図７】本発明の実施形態における、情報処理システムの各Ｔノードネットワークの評価値算出処理の一例を示すフローチャートである。
【図８】本発明の実施形態における、情報処理システムのネットワーク図表示処理の一例を示すフローチャートである。
【図９】本発明の実施形態における、（ａ）設計文書例、（ｂ）Ｔノードの概念、（ｃ）タグおよびＴノードＩＤの命名方法例を説明する図である。
【図１０】本発明の実施形態における、情報処理システムの使用データの一例を示すデータ構成図である。
【図１１】本発明の実施形態における、情報処理システムの表示画面の一例を示す画面イメージである。
【発明を実施するための形態】
【００１４】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１５】
図１は、本発明の実施形態における情報処理システム１００の構成の一例を示すシステム構成図である。
【００１６】
図１において１０２は、クライアントＰＣである。クライアントＰＣ１０２は、ユーザからの表示要求を受け付け、サーバ１０３から必要な文書を取得し、解析、評価を実行後、結果を表示する。
【００１７】
１０３は、サーバである。サーバ１０３は、文書を保管し、クライアントＰＣ１０２から要求があれば文書をクライアントＰＣ１０２に送信する。
【００１８】
本実施例では、文書の保管管理以外は、全てクライアントＰＣ１０２にて実施する形態としているが、サーバ１０３で全ての処理を実施しクライアントＰＣは結果を表示するだけの形態としてもよい。また本実施例では、サーバ１０３が文書を保管し、クライアントＰＣ１０２がサーバ１０３から文書を取得する形態としているが、クライアントＰＣ１０２に文書を格納して、クライアントＰＣ１０２のみで実施する形態としてもよいし、文書を外部のデータベースに格納してインターネット等を経由してアクセスする形態としてもよい。
【００１９】
１０１は、クライアントＰＣ１０２とサーバ１０３を接続しているＬＡＮである。
【００２０】
次に、図２を用いて、図１のクライアントＰＣ１０２、サーバ１０３に適用可能な情報処理装置のハードウェア構成について説明する。
【００２１】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２２】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２３】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２４】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２５】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００２６】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００２７】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２８】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２９】
本発明を実現するための後述する各種プログラムは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用い各種情報テーブル等も外部メモリ２１１に格納されており、これらについての詳細は後述する。
【００３０】
続いて、図３を用いて、本発明の情報処理システムにおける機能構成の一例について説明する。
【００３１】
図３は情報処理システム１００の機能構成の一例であり、情報処理システム１００は、クライアントＰＣ１０２、サーバ１０３を含む。
【００３２】
クライアントＰＣ１０２は、文書取得部３１１、解析部３１２、評価部３１３、表示部３１４を含む。
【００３３】
文書取得部３１１は、サーバ１０３の文書管理部３２１に保管されている設計文書を取得する機能部である。取得した設計文書は外部メモリ２１１に一時的に保管する。
【００３４】
解析部３１２は、取得した設計文書に挿入されたタグを抽出し、設計工程の成果物である仕様等の関連性を解析する。
【００３５】
評価部３１３は、解析部３１２による解析結果をもとに、設計内容を評価する。
【００３６】
表示部３１４は、解析部３１２による解析結果および評価部３１３による評価結果をもとに設計内容の評価結果を表示する。
サーバ１０３は、文書管理部３２１を含む。
【００３７】
文書管理部３２１は、設計文書を文書データベースに保管し、クライアントＰＣ１０２からの要求に対して、対象の設計文書をクライアントＰＣ１０２に送信する。
【００３８】
まず、図９（ａ）を参照して、設計文書に挿入されたタグの一例について説明する。
【００３９】
図９（ａ）では、設計文書の例として、要件定義書９１０、基本設計書９２０、詳細設計書９３０を示す。各設計書は段階的な設計作業によって作成される。つまり、要件定義を実施した結果、要件定義書９１０が作成され、要件定義書９１０の内容を受けて基本設計を実施した結果、基本設計書９２０が作成され、続いて、基本設計書９２０の内容を受けて詳細設計を実施した結果、詳細設計書９３０が作成される。
【００４０】
各設計書には、設計書内の記述項目に対して、当該記述項目を表すタグ９０１と、当該記述項目の要求元を表すタグ９０２が挿入されている。要求元とは、当該記述項目を決定する元となった上位の仕様等を表す記述項目のことである。例えば、要件定義による要件を元に基本設計にて基本仕様を決定した場合、該基本仕様から見て該要件が要求元となる。
【００４１】
ただし、最上流の設計工程である要件定義では、要求元を表すタグが挿入されておらず、それより上位の仕様等が存在しないことを意味する。
【００４２】
また、要求元から逆に当該記述項目を指す場合、参照先と呼ぶ。
【００４３】
本実施例では、タグ９０１を設計文書に挿入する際に、図９（ｃ）に示すプロセスＩＤをタグの先頭から付与することにより、タグ９０１だけでどの設計工程の記述項目かを判別できるようにしている。
【００４４】
次に、図９（ｂ）を参照して、トレーサビリティノードの概念について説明する。
【００４５】
トレーサビリティノード（以下、Ｔノードと略す）は、設計文書の記述項目に対応するデータオブジェクトであり、本実施例では、当該記述項目に挿入されたタグ９０１を識別ＩＤとして持つ。前述の通り、タグ９０１の先頭にプロセスＩＤが含まれるため、識別ＩＤの先頭の文字列により設計工程を判別できるようにしている。
【００４６】
また、要求元、参照先の記述項目に対応するＴノードをそれぞれ、要求元Ｔノード、参照先Ｔノードと呼ぶ。１つのＴノードに対して、複数の要求元Ｔノード、複数の参照先Ｔノードを持つ場合がある。
【００４７】
続いて、本発明の実施形態における情報処理システム１００の処理の一例について、図４〜図８を用いて説明する。
【００４８】
図４は、情報処理システム１００の全体処理の一例を示すフローチャートである。
【００４９】
ステップＳ４０１では、設計文書をもとにＴノードリストを作成する。本処理の詳細は図５で後述する。
【００５０】
ステップＳ４０２では、ステップＳ４０１にて作成されたＴノードリストをもとにＴノードネットワークリストを作成する。本処理の詳細は図６で後述する。
【００５１】
ステップＳ４０３では、ステップＳ４０２にて作成されたＴノードネットワークリストをもとに、各Ｔノードネットワークの評価値を計算し、Ｔノードネットワークリストを更新する。本処理の詳細は図７で後述する。
【００５２】
ステップＳ４０４では、ステップＳ４０１で作成されたＴノードリストをもとにネットワーク図を表示し、さらにステップ４０３で算出された評価値をもとに表示条件を満たすＴノードネットワークを強調表示する。本処理の詳細は図７で後述する。
【００５３】
以上で、情報処理システム１００の全体処理を終了する。
【００５４】
図５は、情報処理システム１００のステップＳ４０１のＴノードリスト登録処理の一例を示すフローチャートである。
【００５５】
本処理は、全てのＴノードの一覧を登録し、各Ｔノードの要求元Ｔノードおよび参照先Ｔノードのリストを作成し登録するために実施する。
【００５６】
すなわち、設計文書からコード（タグ）を抽出し、設計文書の記述項目ごとに主従関係のある記述項目の一覧を関係先一覧として登録する処理である。
【００５７】
ステップＳ５０１では、クライアントＰＣ１０２は、サーバ１０３の文書データベースから関連する全ての設計文書を取得する。
【００５８】
ステップＳ５０２では、クライアントＰＣ１０２は、取得した設計文書に挿入されたタグを抽出する。
【００５９】
ステップＳ５０３では、クライアントＰＣ１０２は、抽出したタグに基づいて、図１０（ａ）に示すトレーサビリティマトリクスを登録する。
【００６０】
トレーサビリティマトリクスは、Ｔノードとその要求元Ｔノードとの組み合わせを登録するもので、１つのＴノードに対して複数の要求元Ｔノードが存在する場合は、複数のレコードが登録される。
【００６１】
ステップＳ５０４では、クライアントＰＣ１０２は、生成されたトレーサビリティマトリクスを元に図１０（ｂ）に示すＴノードリストを登録する。
【００６２】
Ｔノードリストは、各Ｔノードに対する情報テーブルであり、各Ｔノードに対して、当該Ｔノードの要求元Ｔノードのリストと、当該Ｔノードを要求元とする参照先Ｔノードのリストを登録したものである。
以上で、Ｔノードリスト登録処理を終了する。
【００６３】
図６は、情報処理システム１００のステップＳ４０２のＴノードネットワークリスト登録処理の一例を示すフローチャートである。
【００６４】
本処理は、独立したＴノードの集合であるＴノードネットワークを抽出し、図１０（ｃ）に示すＴノードネットワークリストに登録するために実施する。ここで「独立した」とは、当該Ｔノードネットワークに含まれるＴノードが、他のＴノードネットワークに含まれるＴノードの要求元にも参照先にもなっていないことを意味する。つまり、Ｔノードネットワークとは他のＴノードネットワークから影響を受けないＴノードの集合体である。
【００６５】
すなわち、Ｔノードネットワークは、直接あるいは他の記述項目との主従関係を経由して主従関係のある記述項目を集めた関係グループであり、本処理は、関係グループを作成し一覧として登録する処理である。
【００６６】
Ｔノードネットワークリストは、図１０（ｃ）に一例を示すように、各Ｔノードネットワークに対する情報テーブルであり、各Ｔノードネットワークに対して、メンバとなるＴノードのリストと、指標ごとの評価値、後述のネットワーク図表示の際に使用される描画情報を登録したものである。
【００６７】
ステップＳ６０１では、クライアントＰＣ１０２は、ＴノードリストをもとにＴノードごとに、ステップＳ６０９まで繰り返す。
【００６８】
ステップＳ６０２では、クライアントＰＣ１０２は、現在選択されているＴノードが、すでにＴノードネットワークに登録済みかを判断する。登録済みであれば、ステップＳ６０１にて次のＴノードを選択し、未登録であれば、ステップＳ６０３に進む。
【００６９】
ステップＳ６０３では、クライアントＰＣ１０２は、現在までにＴノードネットワークリストに登録されたＴノードネットワークごとにステップＳ６０７まで繰り返す。
【００７０】
ステップＳ６０４では、クライアントＰＣ１０２は、現在選択されているＴノードを起点として、要求元Ｔノードと参照先Ｔノードを再帰的に探索する。つまり、要求元Ｔノードおよび参照先Ｔノードにおいて現在選択されているＴノードネットワーク（現Ｔノードネットワーク）のメンバであるいずれかのＴノードに到達しなければ、さらにその先の要求元Ｔノードおよび参照先Ｔノードを順次探索し、現ＴノードネットワークのメンバであるいずれかのＴノードに到達すれば終了する。この処理は、現在選択されているＴノードが、現ＴノードネットワークのメンバであるＴノードに直接または他ノードを経由して接続されるかどうかを調べるために実施する。
【００７１】
ステップＳ６０５では、クライアントＰＣ１０２は、ステップＳ６０４において、現在選択されているＴノードを起点に、現在選択されているＴノードネットワークのメンバに到達したかを判断する。到達したならば、ステップＳ６０６に進み、到達しなければ、ステップＳ６０７に進む。
【００７２】
ステップＳ６０６では、クライアントＰＣ１０２は、現在選択されているＴノードと、ステップＳ６０４にて再帰的に探索した場合、途中の探索経路となったＴノードとを、現在選択されているＴノードネットワークのメンバとして登録する。
【００７３】
ステップＳ６０７では、クライアントＰＣ１０２は、現在までにＴノードネットワークリストに登録されたＴノードネットワーク全てについて処理していなければステップＳ６０３に戻って繰り返す。
【００７４】
ステップＳ６０８では、クライアントＰＣ１０２は、現在選択されているＴノードは、現在までにＴノードネットワークリストに登録されたＴノードネットワークのメンバとはなり得ないので、Ｔノードネットワークを新規登録して、当該Ｔノードをメンバとして登録する。
【００７５】
ステップＳ６０９では、クライアントＰＣ１０２は、全てのＴノードについて処理していなければステップＳ６０１に戻って繰り返す。
【００７６】
以上で、Ｔノードネットワークリスト登録処理を終了する。
【００７７】
図７は、情報処理システム１００のステップＳ４０４のＴノードネットワークの評価値算出処理の一例を示すフローチャートである。
【００７８】
本処理は、ステップＳ４０３にて作成されたＴノードネットワークリストに含まれる各Ｔノードネットワークに対する設計状況を表す評価指標の値を算出し、Ｔノードネットワークリストに登録する。
【００７９】
すなわち、関係グループごとに、当該関係グループに含まれる記述項目の属性情報に基づいて設計状況を表す評価値を算出する処理である。
【００８０】
ここでは、全要件に対して、どれくらいの要件が各Ｔノードネットワークに含まれるかを示す評価指標「要件集中度」を定義し、「要件集中度」の算出方法を一例として説明する。
【００８１】
通常、多数の要件が影響しあう設計状況は好ましくないとされ、本発明で言えば、互いにＴノード間に依存関係があるＴノードネットワーク内に多数の要件が含まれるかどうか、つまり、Ｔノードネットワークに対する「要件集中度」の大小によって設計状況を確認することができる。
「要件集中度」は下記のように算出される。
【００８２】
要件集中度＝Ｔノードネットワークに含まれる要件の数÷全体の要件の数
【００８３】
以下、「要件集中度」の算出処理について説明する。
【００８４】
ステップＳ７０１では、クライアントＰＣ１０２は、Ｔノードネットワークリスト内の全要件数を取得する。ここでは、Ｔノードネットワークリストに登録されたＴノードネットワークのメンバのリストから、要件が作成された要件定義を表す”ＲＱ”で始まるメンバの数を集計してもよいし、ＴノードリストからＩＤが”ＲＱ”で始まるＴノードの数を集計してもよい。
【００８５】
ステップＳ７０２では、クライアントＰＣ１０２は、Ｔノードネットワークリストに登録されたＴノードネットワークに対して、ステップＳ７０６までを繰り返す。
【００８６】
ステップＳ７０３では、クライアントＰＣ１０２は、Ｔノードネットワーク内の要件数を取得する。ここでは、Ｔノードネットワークリストにおいて、Ｔノードネットワークのメンバのリストから、要件定義を表す”ＲＱ”で始まるメンバの数を計数する。
【００８７】
ステップＳ７０４では、クライアントＰＣ１０２は、ステップＳ７０３で取得したＴノードネットワーク内の要件数を、ステップＳ７０１で取得した全要件数で割ることにより、Ｔノードネットワークの要件集中度を算出する。
【００８８】
ステップＳ７０５では、クライアントＰＣ１０２は、Ｔノードネットワークリストにおいて当該Ｔノードネットワークの「指標１」に、ステップＳ７０４で算出した要件集中度の値を登録する。
【００８９】
ステップＳ７０６では、クライアントＰＣ１０２は、全てのＴノードネットワークについて処理していなければステップＳ７０２に戻って繰り返す。
【００９０】
以上で、Ｔノードネットワークの評価値算出処理を終了する。
【００９１】
図８は、情報処理システム１００のステップＳ４０５のネットワーク図表示処理の一例を示すフローチャートである。
【００９２】
本処理は、ステップＳ４０２にて登録されたＴノードリストをもとにネットワーク図を表示し、さらに、ステップＳ４０４にて算出された評価値をもとに、表示条件に該当するＴノードネットワークを強調表示する。ここでは評価指標として「要件集中度」を一例として説明する。
【００９３】
ステップＳ８０１では、クライアントＰＣ１０２は、要件集中度の閾値を、図１０（ｄ）に示す閾値テーブルから取得する。閾値テーブルは、不図示の設定画面により事前に登録されている。閾値テーブルは、ＴノードネットワークリストにおいてＴノードネットワークに対して複数の評価指標を持つ場合（指標１、指標２、…）に対応した構成となっている。本例では、閾値テーブルの「内容」が”要件集中度”であるレコードの「閾値」から”０．５”、つまり、要件集中度の閾値として０．５を取得する。
【００９４】
ステップＳ８０２では、クライアントＰＣ１０２は、Ｔノードネットワークリストに登録されたＴノードネットワークに対して、ステップＳ８０５までを繰り返す。
【００９５】
ステップＳ８０３では、クライアントＰＣ１０２は、現在選択されているＴノードネットワークの要件集中度（Ｔノードネットワークリストの「指標１」）が、ステップＳ８０１で取得した要件集中度の閾値以上であるかを判断する。閾値以上である場合、ステップＳ８０４に進み、そうではない場合は、ステップＳ８０５に進む。
【００９６】
ステップＳ８０４では、クライアントＰＣ１０２は、Ｔノードネットワークリストにおいて、当該Ｔノードネットワークの「描画情報」に”強調”を設定する。なお、「描画情報」の初期値には”標準”が設定されている。
【００９７】
ステップＳ８０５では、クライアントＰＣ１０２は、全てのＴノードネットワークについて処理していなければステップＳ８０２に戻って繰り返す。
【００９８】
ステップＳ８０６では、クライアントＰＣ１０２は、ステップＳ４０１で登録されたＴノードリストをもとに、図１１（ａ）に示すようなネットワーク図を作成し表示する。なお、ネットワーク図を作成、表示するために、表示ソフト等の既知の技術を利用する。
【００９９】
すなわち、記述項目を節点として表し、主従関係のある記述項目間をそれぞれ対応する節点間を結ぶ線として表すネットワーク図を表示する処理である。
【０１００】
ここで、図１１（ａ）を参照してネットワーク図について説明する。本実施例でのネットワーク図とは、各Ｔノードをネットワークのノード（節点）として表し、Ｔノード間の依存関係、つまり、一方のＴノードがもう一方のＴノードの要求元または参照先になっていることを、ノード間を結ぶエッジ（枝）で表した図である。
【０１０１】
表示されるノードの形状や色を変えることにより、設計工程の違いを表している。本実施例では、形状が”○”は要件定義の要件、形状が”□”は基本設計の基本仕様、形状が”△”は詳細設計の詳細仕様を表している。
【０１０２】
ネットワーク図上で、１つのＴノードネットワークは、他のＴノードネットワークから分離された（エッジで接続されていない）Ｔノードの集まりとして確認することができる。
図８の説明に戻る。
【０１０３】
ステップＳ８０７では、クライアントＰＣ１０２は、ステップＳ８０６で表示されたネットワーク図上で、Ｔノードネットワークリストの「描画情報」が”強調”と設定されているＴノードネットワークに対して強調表示する。
【０１０４】
ここで、図９（ｂ）に強調表示の一例を示す。本例では、Ｔノードネットワーク３の要件集中度が０．５で閾値の０．５以上となっており、強調表示の対象となる。本表示例では、強調表示の対象となるＴノードネットワーク３に対し、メンバであるＴノードを表すノード、および、Ｔノード間の依存関係を表すエッジを標準よりも太い線で表示している。なお、強調表示の方法としては、強調表示の対象となるＴノードネットワークを表示した領域の背景の色を変えたり、表示領域を囲む枠線を表示する方法など、ユーザが強調部分を認識できる方法であればよい。また強調表示対象に限らず、評価値に応じて、Ｔノードネットワークの表示領域に含まれるノードやエッジの線の太さを段階的に変えたり、背景色を変えたりして、ユーザが認識できるようにしてもよい。
【０１０５】
すなわち、関係グループごとの評価値の算出結果に応じて、ネットワーク図の当該関係グループに対応する表示領域の表示方法を変える処理である。
【０１０６】
これにより、ユーザは要件集中度等の評価指標の値に応じて、着目すべき部分領域を把握することができるようになる。
以上で、ネットワーク図表示処理を終了する。
【０１０７】
以上、本発明について情報処理システム１００を例に挙げて説明したが、装置、方法、プログラム、もしくは記録媒体の形態とすることもできる。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用してもよい。
【０１０８】
また、本発明におけるプログラムは、図４〜図９の処理をコンピュータに実行させるプログラムである。なお、本発明におけるプログラムは、図４〜図９の各処理ごとのプログラムであってもよい。
【０１０９】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【０１１０】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【０１１１】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【０１１２】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１３】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１１４】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１１５】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１１６】
１０１    ＬＡＮ
１０２    クライアントＰＣ
１０３    サーバ
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    システムバス
２０５    入力コントローラ
２０６    ビデオコントローラ
２０７    メモリコントローラ
２０８    通信Ｉ／Ｆコントローラ
２０９    入力装置
２１０    ディスプレイ装置
２１１    外部メモリ
【図１】
2017091187.tif 000003
【図２】
2017091187.tif 000004
【図３】
2017091187.tif 000005
【図４】
2017091187.tif 000006
【図５】
2017091187.tif 000007
【図６】
2017091187.tif 000008
【図７】
2017091187.tif 000009
【図８】
2017091187.tif 000010
【図９】
2017091187.tif 000011
【図１０】
2017091187.tif 000012
【図１１】
2017091187.tif 000013