(57)【要約】【課題】プロジェクト属性と、プロジェクトごとに行われたドキュメントテンプレートのカスタマイズの情報とに基づき、ドキュメントテンプレートの改善を行えるようにする。【解決手段】テンプレート改善支援装置は、プロジェクト情報データベースと、ドキュメントテンプレート管理部と、設計書管理部と、設計書構造情報抽出部と、カスタマイズ情報データベースと、比較エンジン部と、分析部とを持つ。プロジェクト情報データベースは、プロジェクトの属性値を記憶する。ドキュメントテンプレート管理部は、ドキュメントテンプレートを管理する。設計書管理部は、設計書を記憶し管理する。設計書構造情報抽出部は、設計書から設計書構造情報を抽出する。比較エンジン部は、設計書構造情報と、ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出する。分析部は、属性値とカスタマイズ情報との間のアソシエーション分析を行う。【選択図】図１
2018018151.tif 000002
【特許請求の範囲】
【請求項１】
プロジェクトについて、前記プロジェクトごと且つ属性ごとの属性値を記憶するプロジェクト情報データベースと、
設計書のテンプレートであるドキュメントテンプレートを記憶し管理するドキュメントテンプレート管理部と、
前記ドキュメントテンプレートを基に作成された設計書をプロジェクトごとに記憶し管理する設計書管理部と、
前記設計書管理部が管理する前記設計書から設計書の構造を表す情報である設計書構造情報を抽出する設計書構造情報抽出部と、
前記ドキュメントテンプレートの構造と前記設計書の構造との差分であるカスタマイズ情報を、前記設計書を作成したプロジェクトに関連付けて記憶するカスタマイズ情報データベースと、
前記設計書構造情報抽出部が前記設計書から抽出した前記設計書構造情報と、前記ドキュメントテンプレート管理部で管理される前記ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、前記カスタマイズ情報を前記プロジェクトに関連付ける形で前記カスタマイズ情報データベースに登録する比較エンジン部と、
前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する分析部と、
を備えるテンプレート改善支援装置。
【請求項２】
前記分析部は、前記アソシエーション分析の処理として、特定の属性値を有し且つ特定のカスタマイズに関連付けられたプロジェクトの数を全プロジェクトの数で除して得られる支持度を、算出し、前記支持度に基づいて前記属性値と前記カスタマイズとの組み合わせを並べ替え処理した結果を、前記分析結果として出力する、
請求項１に記載のテンプレート改善支援装置。
【請求項３】
前記分析部は、前記アソシエーション分析の処理として、さらに、特定の属性値を有し且つ特定のカスタマイズに関連付けられたプロジェクトの数を当該特定の属性値を有するプロジェクトの数で除して得られる信頼度を、算出し、前記支持度が同一である
前記属性値と前記カスタマイズとの組み合わせについては、前記信頼度で並べ替え処理した結果を、前記分析結果として出力する、
請求項２に記載のテンプレート改善支援装置。
【請求項４】
前記分析部は、前記アソシエーション分析の処理として、さらに、特定のカスタマイズに関連付けられたプロジェクトの数を全プロジェクトの数で除して得られる期待信頼度を算出するとともに、特定の属性値と特定のカスタマイズに関して算出した前記信頼度を前記期待信頼度で除して得られるリフト値を算出し、前記リフト値を前記分析結果の一部として出力する、
請求項３に記載のテンプレート改善支援装置。
【請求項５】
前記分析部は、前記アソシエーション分析の結果に基づいて、カスタマイズを前記ドキュメントテンプレート管理部で記憶される前記ドキュメントテンプレートに反映させる、
請求項１から４までのいずれか一項に記載のテンプレート改善支援装置。
【請求項６】
前記分析部は、前記分析結果を出力後にユーザーから指示されたカスタマイズを、前記ドキュメントテンプレート管理部で記憶される前記ドキュメントテンプレートに反映させる、
請求項１から５までのいずれか一項に記載のテンプレート改善支援装置。
【請求項７】
前記ドキュメントテンプレート管理部は、前記ドキュメントテンプレートを複数種類記憶し管理するものであり、
前記分析部は、前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報が関連付けられた前記ドキュメントテンプレートとの間のアソシエーション分析を行い、前記属性値と前記ドキュメントテンプレートの種類との関係を表す分析結果を出力する、
請求項１から６までのいずれか一項に記載のテンプレート改善支援装置。
【請求項８】
コンピューターを、
プロジェクトについて、前記プロジェクトごと且つ属性ごとの属性値を記憶するプロジェクト情報データベースと、
設計書のテンプレートであるドキュメントテンプレートを記憶し管理するドキュメントテンプレート管理部と、
前記ドキュメントテンプレートを基に作成された設計書をプロジェクトごとに記憶し管理する設計書管理部と、
前記設計書管理部が管理する前記設計書から設計書の構造を表す情報である設計書構造情報を抽出する設計書構造情報抽出部と、
前記ドキュメントテンプレートの構造と前記設計書の構造との差分であるカスタマイズ情報を、前記設計書を作成したプロジェクトに関連付けて記憶するカスタマイズ情報データベースと、
前記設計書構造情報抽出部が前記設計書から抽出した前記設計書構造情報と、前記ドキュメントテンプレート管理部で管理される前記ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、前記カスタマイズ情報を前記プロジェクトに関連付ける形で前記カスタマイズ情報データベースに登録する比較エンジン部と、
前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する分析部と、
を備えるテンプレート改善支援装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、テンプレート改善支援装置およびプログラムに関する。
【背景技術】
【０００２】
ソフトウェア等の開発プロジェクトでは、設計品質を揃えるために、設計書や仕様書などのドキュメントの構造をあらかじめドキュメントテンプレートとして定義しておく手法がよく用いられる。開発プロジェクトでは、ドキュメントテンプレートを基に、設計書や仕様書が作成される。しかしながら、ドキュメントテンプレートをすべての開発プロジェクトにそのまま適用できるわけではなく、必要に応じて開発プロジェクトごとに、適宜、カスタマイゼーションが行われる。その理由は、ドメインごとにシステムの特性が異なるため、全てのドメインに対応したドキュメントテンプレートを定義するのは難しいこと、システム開発技術の日々の進歩により、既存のドキュメントテンプレートが徐々に整合しなくなることなどである。つまり、ドメインの特性や変化や開発技術の進歩などに合わせて、ドキュメントテンプレートを継続的に改善していくことが必要となる。
【０００３】
既存の技術では、設計書を機械的に検査することにより、設計書の品質を向上させることが行われている。しかしながら、設計書の基となるドキュメントテンプレートの改善は、人手によって行われているのが実情である。
【０００４】
人手による改善では、単に手間を要するだけではなく、人（開発者、管理者）の主観によってテンプレートの改善ポイントが決定されるため、適切な改善とはならない可能性があった。また、多数の開発プロジェクトの中から、プロジェクトの特性に合った改善を図ることが困難である可能性があった。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２１１８６５号公報
【特許文献２】特開平５−３２４２９５号公報
【特許文献３】特表２００２−５３７６０４号公報
【特許文献４】特開２００６−００４２９８号公報
【特許文献５】国際公開第２００４／０８１８２２号
【特許文献６】特開２００８−１２３１１１号公報
【特許文献７】特開２００９−０６４３３９号公報
【特許文献８】特開２００９−０７０２５３号公報
【特許文献９】特開２０１０−０９２３８７号公報
【特許文献１０】特開２０１０−１５２７８０号公報
【特許文献１１】特開２０１３−１５６８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、プロジェクト属性（ドメイン）の情報と、プロジェクトごとに行われたドキュメントテンプレートのカスタマイズの情報とに基づき、適切なドキュメントテンプレートの改善を行うことのできる、テンプレート改善支援装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態のテンプレート改善支援装置は、プロジェクト情報データベースと、ドキュメントテンプレート管理部と、設計書管理部と、設計書構造情報抽出部と、カスタマイズ情報データベースと、比較エンジン部と、分析部とを持つ。プロジェクト情報データベースは、プロジェクトについて、前記プロジェクトごと且つ属性ごとの属性値を記憶する。ドキュメントテンプレート管理部は、設計書のテンプレートであるドキュメントテンプレートを記憶し管理する。設計書管理部は、前記ドキュメントテンプレートを基に作成された設計書をプロジェクトごとに記憶し管理する。設計書構造情報抽出部は、前記設計書管理部が管理する前記設計書から設計書の構造を表す情報である設計書構造情報を抽出する。カスタマイズ情報データベースは、前記ドキュメントテンプレートの構造と前記設計書の構造との差分であるカスタマイズ情報を、前記設計書を作成したプロジェクトに関連付けて記憶する。比較エンジン部は、前記設計書構造情報抽出部が前記設計書から抽出した前記設計書構造情報と、前記ドキュメントテンプレート管理部で管理される前記ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、前記カスタマイズ情報を前記プロジェクトに関連付ける形で前記カスタマイズ情報データベースに登録する。分析部は、前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態のテンプレート改善支援装置の概略機能構成を示すブロック図。
【図２】第１の実施形態のテンプレート改善支援装置内における処理と情報の流れとを示す概略図。
【図３】第１の実施形態のカスタマイズ情報表示部のさらに詳細な機能構成を示すブロック図。
【図４】第１の実施形態のテンプレート改善支援装置の全体の処理の手順を示すフローチャート。
【図５】第１の実施形態のドキュメントテンプレート管理部による処理の手順を示すフローチャート。
【図６】第１の実施形態のプロジェクト設計書登録部による処理の手順を示すフローチャート。
【図７】第１の実施形態の設計書構造情報抽出部による処理の手順を示すフローチャート（１／３）。
【図８】第１の実施形態の設計書構造情報抽出部による処理の手順を示すフローチャート（２／３）。
【図９】第１の実施形態の設計書構造情報抽出部による処理の手順を示すフローチャート（３／３）。
【図１０】第１の実施形態の比較エンジン部による処理の手順を示すフローチャート（１／２）。
【図１１】第１の実施形態の比較エンジン部による処理の手順を示すフローチャート（２／２）。
【図１２】第１の実施形態のプロジェクト情報管理部による処理の手順を示すフローチャート。
【図１３】第１の実施形態のカスタマイズ情報表示部による処理の手順を示すフローチャート。
【図１４】第１の実施形態のカスタマイズ情報分析部による処理の手順を示すフローチャート（１／３）。
【図１５】第１の実施形態のカスタマイズ情報分析部による処理の手順を示すフローチャート（２／３）。
【図１６】第１の実施形態のカスタマイズ情報分析部による処理の手順を示すフローチャート（３／３）。
【図１７】第１の実施形態の分析結果表示部による処理の手順を示すフローチャート。
【図１８】第１の実施形態のテンプレート改善支援装置におけるデータ構成の概略を示すＥＲ図（１／２）。
【図１９】第１の実施形態のテンプレート改善支援装置におけるデータ構成の概略を示すＥＲ図（２／２）。
【図２０】第１の実施形態のドキュメントテンプレート一式情報（Ｔ１２）のデータ例を示す概略図。
【図２１】第１の実施形態のドキュメントテンプレート情報（Ｔ１４）のデータ例を示す概略図。
【図２２】第１の実施形態のドキュメントテンプレート一式関連テンプレート（Ｔ１３）のデータ例を示す概略図。
【図２３】第１の実施形態のテンプレート設計項目（Ｔ１５）のデータ例を示す概略図。
【図２４】第１の実施形態のテンプレート改善支援装置のメニュー画面を示す概略図。
【図２５】第１の実施形態のテンプレート改善支援装置におけるプロジェクト設計書登録画面を示す概略図。
【図２６】第１の実施形態の設計書一式情報（Ｔ９）のデータ例を示す概略図。
【図２７】第１の実施形態の設計書情報（Ｔ１０）のデータ例を示す概略図。
【図２８】第１の実施形態の設計項目（Ｔ１１）のデータ例を示す概略図。
【図２９】第１の実施形態の設計書構造情報抽出部が表示するエラーメッセージの画面の例を示す概略図。
【図３０】第１の実施形態のプロジェクト情報（Ｔ１）のデータ例を示す概略図。
【図３１】第１の実施形態のプロジェクトの属性情報（Ｔ３）のデータ例を示す概略図。
【図３２】第１の実施形態のプロジェクトの属性値情報（Ｔ２）のデータ例を示す概略図。
【図３３】第１の実施形態のカスタマイズ情報（Ｔ１７）のデータ例を示す概略図。
【図３４】第１の実施形態の比較エンジン部が表示するカスタマイズ分析途中経過画面を示す概略図。
【図３５】第１の実施形態のカスタマイズ情報（修正前）を示す概略図。
【図３６】第１の実施形態のカスタマイズ情報（修正後）を示す概略図。
【図３７】第１の実施形態のプロジェクトカスタマイズ情報（Ｔ４）のデータ例を示す概略図。
【図３８】第１の実施形態のプロジェクト属性数データ（Ｔ５）のデータ例を示す概略図。
【図３９】第１の実施形態のカスタマイズ実施数データ（Ｔ６）のデータ例を示す概略図。
【図４０】第１の実施形態の分析結果における、支持度と、信頼度と、期待信頼度と、リフト値との関係を示すベン図。
【図４１】第１の実施形態の分析結果における、支持度と、信頼度と、期待信頼度と、リフト値との関係を示すベン図。
【図４２】第１の実施形態のカスタマイズと属性値の総当たりデータ（Ｔ７）の例を示す概略図。
【図４３】第１の実施形態のドキュメントテンプレートと属性値の総当たりデータ（Ｔ８）の例を示す概略図。
【図４４】第１の実施形態の分析結果の表示画面（カスタマイズと属性値の分析結果）を示す概略図。
【図４５】第１の実施形態の分析結果の表示画面（ドキュメントテンプレート表示）を示す概略図。
【発明を実施するための形態】
【０００９】
以下、実施形態のテンプレート改善支援装置およびプログラムを、図面を参照して説明する。
【００１０】
本実施形態によるテンプレート改善支援装置は、開発プロジェクトで使用されるドキュメントテンプレートをカスタマイズした際の情報と、開発プロジェクトの属性情報とを蓄積し、両者の因果関係を分析するものである。これにより、ドキュメントテンプレートを改善し、あるいは改善を支援する。開発プロジェクトの属性値は開発プロジェクトが属するドメインを表すものであり、本実施形態によるテンプレート改善支援装置は、ドメインと、テンプレートのカスタマイズとの関係を利用する。
【００１１】
ここで、ドメインとは、例えば、開発の対象となる業種や業務のことである。業種とは、具体例としては、金融、製造、流通等である。また、業務とは、具体例としては、財務・経理、人事、販売、受注、調達、サプライチェーン管理、設計管理等である。なお、業種や業務以外の、様々なプロジェクト属性もまたドメインである。
なお、本実施形態のテンプレート改善支援装置は、主として、情報システムの開発プロジェクトに適用するものであるが、適用されるプロジェクトを特に限定するものではない。
【００１２】
図１は、本実施形態によるテンプレート改善支援装置の概略機能構成を示すブロック図である。図示するように、テンプレート改善支援装置１００は、インタフェース部１と、プロジェクト設計書登録部２と、設計書構造情報抽出部３と、比較エンジン部４と、プロジェクト情報管理部５と、カスタマイズ情報表示部６と、ドキュメントテンプレートデータベース７と、プロジェクト別設計書データベース８と、カスタマイズ情報データベース９と、プロジェクト情報データベース１０と、ドキュメントテンプレート管理部１１と、を含んで構成される。
テンプレート改善支援装置１００を構成する各部の機能は電子回路を用いて実現される。また、後述するように、コンピュータープログラムを用いて各部の機能を実現してもよい。また、各データベースや、その他の情報を記憶する機能は、例えば、磁気ハードディスク装置（ＨＤＤ）や半導体メモリなどといった記憶媒体を用いて実現される。
【００１３】
インタフェース部１は、本装置のユーザーに対するインタフェースの機能を有する。本装置のユーザーは、プロジェクトの開発者やドキュメントテンプレートの管理者らである。インタフェース部１は、これらの開発者や管理者が情報を入出力するための画面を提供する。また、必要に応じて、開発者に処理途中の情報を提示する。つまり、インタフェース部１は、情報の入出力のための画面を表示装置等に表示し、ユーザーが入力する情報を取得する。
なお、開発者とは、開発プロジェクトにおいて開発業務に従事する者である。開発者は、ドキュメントテンプレートに基づいた設計書等のドキュメントを作成する。また、管理者とは、開発プロジェクトにおける管理者、またはドキュメントテンプレート全体を管理する管理者である。開発者および管理者が、テンプレート改善支援装置１００のユーザーである。開発者と管理者とは必ずしも厳密に区別される役割ではなく、開発者が管理者の役割の少なくとも一部を兼ねてもよく、またその逆でもよい。
【００１４】
プロジェクト設計書登録部２は、プロジェクトの開発者が入力する設計書一式を、プロジェクト別設計書データベース８に登録する。この登録の際、プロジェクト設計書登録部２は、設計書一式の識別子として、設計書一式ＩＤを付与する。また、プロジェクト設計書登録部２は、登録する設計書一式をプロジェクトと対応付けるために、設計書一式ＩＤとプロジェクトＩＤとを関連付けて、設計書一式情報に登録する。これにより、登録される設計書一式が、どのプロジェクトの設計書であるかを特定できる。また、プロジェクト設計書登録部２は、登録する設計書一式をドキュメントテンプレートと対応付けるために、設計書一式ＩＤとドキュメントテンプレート一式ＩＤとを関連付けて、設計書一式情報に登録する。これにより、登録される設計書一式が、どのドキュメントテンプレートに基づいて作成されたものであるかを特定できる。
なお、プロジェクト設計書登録部２は、登録した設計書一式ファイルの所在を表すパス名（所在情報）を、あわせて、設計書一式情報に登録する。
【００１５】
なお、プロジェクト設計書登録部２とプロジェクト別設計書データベース８とを合わせて、「設計書管理部」と呼んでもよい。この場合、設計書管理部は、ドキュメントテンプレートを基にプロジェクトで作成された設計書を、プロジェクトごとに記憶し、管理する。
【００１６】
プロジェクト設計書登録部２は、上記の登録の際に、インタフェース部１を介して、ドキュメントテンプレートを使って設計された成果物である設計書一式を取得する。また、プロジェクト設計書登録部２は、登録する設計書一式に関連付けられるプロジェクトの属性情報のうち、プロジェクトＩＤとプロジェクト名とを取得する。また、プロジェクト設計書登録部２は、登録する設計書一式に関連付けられるドキュメントテンプレートのドキュメントテンプレート一式ＩＤを取得する。
【００１７】
設計書構造情報抽出部３は、プロジェクト別設計書データベース８に登録された設計書一式を基に、１つのプロジェクトの設計書一式から、設計書および設計項目の構造情報を全て抽出する。そして、設計書構造情報抽出部３は、設計書とドキュメントテンプレートを対応付けた、設計書対応テンプレート情報を作成する。そして、設計書構造情報抽出部３は、設計書の構造情報と、設計書対応テンプレート情報とを、比較エンジン部４に渡す。つまり、設計書構造情報抽出部３は、記憶されている設計書から、設計書の構造を表す情報である設計書構造情報を抽出する。
なお、設計書の構造情報とは、設計書情報と設計項目のことである。
【００１８】
比較エンジン部４は、設計書の構造情報とドキュメントテンプレートの構造情報を比較し、差分をカスタマイズ情報として取得する。また、比較エンジン部４は、取得したカスタマイズ情報を、プロジェクト情報に対応付ける。
具体的には、比較エンジン部４は、設計書構造情報抽出部３から、設計書の構造情報を入力する。また、比較エンジン部４は、設計書構造情報抽出部３から、設計書対応テンプレート情報を入力する。また、比較エンジン部４は、ドキュメントテンプレートデータベース７に登録されている、ドキュメントテンプレートの構造情報を入力する。
ここで、ドキュメントテンプレートの構造情報とは、ドキュメントテンプレート情報と、テンプレート設計項目の両方を指すものである。
そして、比較エンジン部４は、比較処理の結果として得られたカスタマイズ情報と、プロジェクトカスタマイズ情報とを、カスタマイズ情報データベース９に登録する。プロジェクトカスタマイズ情報は、プロジェクトに対応づけたカスタマイズ情報である。
つまり、比較エンジン部４は、設計書構造情報抽出部３が設計書から抽出した設計書構造情報と、ドキュメントテンプレートデータベースに管理されるドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、このカスタマイズ情報をプロジェクトに関連付ける形でカスタマイズ情報データベース９に登録する。
【００１９】
プロジェクト情報管理部５は、プロジェクトの開発者がインタフェース部１を介して入力するプロジェクトの属性の情報を取得する。そして、プロジェクト情報管理部５は、取得した情報を、プロジェクトの属性値情報として、プロジェクト情報データベース１０に登録する。
なお、プロジェクト情報管理部５がプロジェクト属性値を取得する前提として、属性情報を予め定義しておく。いかなる属性を用いるかを、テンプレート改善支援装置１００を使用する組織が定める。
【００２０】
カスタマイズ情報表示部６は、カスタマイズ情報と、プロジェクトの属性値情報との因果関係を分析し、その分析結果を、インタフェース部１を介して提示する。なお、カスタマイズ情報表示部６は、分析のために、カスタマイズ情報データベース９に登録されているカスタマイズ情報を読み込む。また、カスタマイズ情報表示部６は、プロジェクト情報データベース１０に登録されているプロジェクトの属性値情報を読み込む。
なお、提示された分析結果は、管理者によって参照される。
【００２１】
なお、カスタマイズ情報表示部６を「分析部」と呼んでもよい。この場合、分析部は、
カスタマイズ情報データベース９に登録されたカスタマイズ情報（設計構造の差分情報）に基づいて、カスタマイズ情報が関連付けられたプロジェクトの属性値と、カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する。また、分析部は、カスタマイズ情報データベースに登録されたカスタマイズ情報に基づいて、カスタマイズ情報が関連付けられたプロジェクトの属性値と、カスタマイズ情報が関連付けられたドキュメントテンプレートとの間のアソシエーション分析を行い、属性値とドキュメントテンプレートの種類との関係を表す分析結果を出力する。これらの分析処理の詳細については、後述する。
【００２２】
ドキュメントテンプレートデータベース７は、ドキュメントテンプレート一式情報と、ドキュメントテンプレート一式関連テンプレートと、ドキュメントテンプレート情報と、テンプレートの設計項目とを蓄積するデータベースである。
【００２３】
プロジェクト別設計書データベース８は、プロジェクトごとの設計書一式と、設計書一式情報と、設計書情報と、設計項目とを蓄積するデータベースである。
【００２４】
カスタマイズ情報データベース９は、カスタマイズ情報と、プロジェクトカスタマイズ情報とを蓄積するデータベースである。
カスタマイズ情報とは、ドキュメントテンプレートに対して行われる、個々のテンプレートの変更や、個々の設計項目の変更を表す情報である。個々のカスタマイズ情報は、カスタマイズＩＤによってユニークに識別される。カスタマイズ情報については後で詳述するが、カスタマイズの種類としては、「テンプレート（追加）」、「テンプレート（削除）」、「設計項目（追加）」、「設計項目（削除）」、「テンプレートの名称変更」、「設計項目の名称変更」を含む。
つまり、カスタマイズ情報データベース９は、ドキュメントテンプレートの構造と設計書の構造との差分であるカスタマイズ情報を、設計書を作成したプロジェクトに関連付けて記憶するものである。
【００２５】
プロジェクト情報データベース１０は、プロジェクト情報と、属性情報と、属性値情報をを蓄積するデータベースである。言い換えれば、プロジェクト情報データベース１０は、プロジェクトについて、プロジェクトごと且つ属性ごとの属性値を記憶する。
【００２６】
なお、各データベースが有するテーブルの個別の詳細な構成については、後で、図面を参照しながら説明する。
【００２７】
ドキュメントテンプレート管理部１１は、管理者が入力するドキュメントテンプレート一式を、ドキュメントテンプレートデータベース７に登録する。この登録の際、ドキュメントテンプレート管理部１１は、ドキュメントテンプレート一式の識別子として、ドキュメントテンプレート一式ＩＤを付与する。なお、ドキュメントテンプレート管理部１１は、管理者から、汎用的なドキュメントテンプレート一式、あるいはドメインごとのドキュメントテンプレート一式を取得する。また、ドキュメントテンプレート管理部１１は、ドキュメントテンプレート一式に関する情報として、ドキュメントテンプレート一式名と、ドメイン種別と、バージョンの情報を、あわせて取得する。
なお、ドキュメントテンプレート管理部１１とドキュメントテンプレートデータベース７とを合わせて「ドキュメントテンプレート管理部」と呼んでもよい。この場合、ドキュメントテンプレート管理部は、設計書のテンプレートであるドキュメントテンプレートを記憶し、管理する。
【００２８】
図２は、テンプレート改善支援装置１００内における処理と情報の流れとを示す概略図である。同図を参照しながら、開発者および管理者のそれぞれがテンプレート改善支援装置１００を使用する場合の流れを説明する。
【００２９】
開発者によるテンプレート改善支援装置１００の使い方は、次の通りである。
（１）取り出し（図２の（１））：ドキュメントテンプレートデータベース７にはドキュメントテンプレート一式が登録済みである。開発者は、ドキュメントテンプレートデータベース７から必要なドキュメントテンプレート一式を取り出す。
（２）設計：開発者は、取り出したドキュメントテンプレート一式のドキュメントテンプレートをカスタマイズし、カスタマイズしたドキュメントテンプレートをベースとして、設計書を作成する。
（３）プロジェクト情報の登録（図２の（３））：開発者は、プロジェクト情報管理部５の機能を用いて、プロジェクト情報を、プロジェクト情報データベース１０に登録する。
（４）設計書の登録（図２の（２））：そして、開発者は、プロジェクト設計書登録部２の機能を用いて、作成した設計書一式を、プロジェクト別設計書データベース８に登録する。なおこのとき、どのドキュメントテンプレート一式を使用して設計が行われたかがわかるように、ドキュメントテンプレート一式ＩＤとドキュメントテンプレート一式名を、登録する。
（５）設計書構造情報の抽出（図２の（４））：設計書構造情報抽出部３は、プロジェクト別設計書データベース８に登録した設計書一式から、設計書のファイルや、設計項目の設計構造を抽出する。この設計書構造情報の抽出処理において、エラーが表示されたら、開発者はエラー箇所を修正する。なお、テンプレート改善支援装置１００は、エラーを検出したときにエラー情報を表示するものである。
（６）比較（図２の（５））：比較エンジン部４は、抽出した設計書一式の設計構造と、設計書一式の元になったドキュメントテンプレートの設計構造を比較する。テンプレート改善支援装置１００は、比較結果を表示する。開発者は、テンプレート改善支援装置１００が表示した比較結果を確認し、必要に応じて比較結果を直す。
（７）カスタマイズ情報の登録（図２の（６））：設計構造の比較結果をカスタマイズ情報として、カスタマイズ情報データベース９に登録する。
【００３０】
管理者によるテンプレート改善支援装置１００の使い方は、次の通りである。
（１）関連分析（図２の（７））：管理者は、カスタマイズ情報データベース９にあるカスタマイズ情報と、プロジェクト情報データベース１０にあるプロジェクト情報の関連について、確認する。なお、カスタマイズ情報表示部６が、分析処理を行い、その結果を表示するものである。
（２）改訂（図２の（８））：管理者は、分析結果を確認した後、ドキュメントテンプレートへの反映が必要と判断した場合に、ドキュメントテンプレートを改訂する。具体的には、ドキュメントテンプレートデータベース７に格納されているテンプレートが更新される。
【００３１】
開発者によるテンプレート改善支援装置１００の使い方を、次の通りとしてもよい。
（１）情報蓄積（図２の（１）から（６）まで）：複数のプロジェクトにおいて、前述の通りテンプレート改善支援装置１００を使用し、プロジェクトごとに、どのテンプレートが使われたかという情報を蓄積する。
（２）因果関係分析：開発者は、プロジェクト情報データベース１０にあるプロジェクト情報と、カスタマイズ情報データベース９にあるカスタマイズ情報とから、プロジェクトで使用したテンプレートの情報を抽出し、プロジェクトの属性値情報とプロジェクトで使用したテンプレートの因果関係を分析し、結果を確認する。
（３）開発者は、プロジェクト情報を入力して、そのプロジェクトの特性に適した、ドキュメントテンプレート一式を取り出す。
（４）開発者は、取り出したドキュメントテンプレート一式について、必要に応じて、カスタマイズを実施する。そして、そのドキュメントテンプレート一式をベースとして、設計書を作成する。
【００３２】
図３は、カスタマイズ情報表示部の、より詳細な機能構成を示すブロック図である。図示するように、カスタマイズ情報表示部６は、カスタマイズ情報分析部６１と、分析結果表示部６２とを含んで構成される。
【００３３】
カスタマイズ情報分析部６１は、カスタマイズ情報と属性値情報との関連性を分析する。カスタマイズ情報分析部６１による分析処理自体には、アソシエーション分析の技術を利用する。また、カスタマイズ情報分析部６１は、プロジェクトが使ったドキュメントテンプレートと属性値情報の関連性についても、分析を行う。
そして、カスタマイズ情報分析部６１は、処理の結果として、カスタマイズ情報と属性値情報の因果関係の分析結果である、カスタマイズと属性値の総当たりデータを出力する。また、カスタマイズ情報分析部６１は、ドキュメントテンプレートと属性値情報の因果関係の分析結果である、ドキュメントテンプレートと属性値の総当たりデータを出力する。
【００３４】
分析結果表示部６２は、カスタマイズ情報分析部６１から、カスタマイズと属性値の総当たりデータと、ドキュメントテンプレートと属性値の総当たりデータとを取得する。そして、分析結果表示部６２は、カスタマイズ情報をソートする。カスタマイズ情報は、ドメインごとのドキュメントテンプレート一式への反映、または汎用的なドキュメントテンプレート一式への繁栄を推奨する情報である。そして、分析結果表示部６２は、インタフェース部１を介して、カスタマイズ情報を管理者に提示する。なお、インタフェース部１を介して管理者からの指定を受けることにより、カスタマイズ情報の表示方法を変更することができる。
【００３５】
次に、テンプレート改善支援装置の処理手順について、説明する。
図４は、テンプレート改善支援装置１００の全体の処理の手順を示すフローチャートである。以下、このフローチャートに沿って、処理手順を説明する。
ステップＳ１−０において、テンプレート改善支援装置１００は、本フローチャートの処理を開始する。
ステップＳ１−１において、テンプレート改善支援装置１００は、メニュー画面において選択される操作による分岐を行う。メニュー画面は、インタフェース部１が表示する画面である。メニュー画面における選択肢は、「プロジェクトの設計書を入力」、「プロジェクト情報を入力」、「分析結果を表示」のいずれかである。開発者または管理者の操作により、選択が行われる。そして、「プロジェクトの設計書を入力」が選択された場合には、ステップＳ１−２に進む。「プロジェクト情報を入力」が選択された場合には、ステップＳ１−５に進む。また、「分析結果を表示」が選択された場合には、ステップＳ１−６に進む。
【００３６】
ステップＳ１−２に進んだ場合、ステップＳ１−２において、プロジェクト設計書登録部２は、開発者が入力した設計書を、プロジェクト別設計書データベース８に登録する。
次に、ステップＳ１−３において、設計書構造情報抽出部３は、ステップＳ１−２でプロジェクト別設計書データベース８に登録された設計書から、設計書と設計項目の構造情報を抽出する。
次に、ステップＳ１−４において、比較エンジン部４は、設計書構造情報抽出部３が抽出した設計項目と、ドキュメントテンプレートデータベース７に登録してある設計項目とを比較する。そして、比較エンジン部４は、それら両者の設計項目の差分を抽出する。比較エンジン部４は、抽出した設計項目の差分を、プロジェクトのカスタマイズ情報として、カスタマイズ情報データベース９に登録する。本ステップの処理が終了すると、ステップＳ１−７に移る。
【００３７】
ステップＳ１−５に進んだ場合、ステップＳ１−５において、プロジェクト情報管理部５は、開発者が入力したプロジェクト情報をプロジェクト情報データベース１０に登録する。そして、本ステップの処理が終了すると、ステップＳ１−７に移る。
【００３８】
ステップＳ１−６に進んだ場合、ステップＳ１−６において、カスタマイズ情報表示部６は、カスタマイズ情報データベース９に蓄積されたカスタマイズ情報を全て取得し、また、プロジェクト情報データベース１０に蓄積された全てのプロジェクト属性を取得する。そして、カスタマイズ情報表示部６は、カスタマイズ情報とプロジェクト属性の因果関係を分析する。カスタマイズ情報表示部６は、その分析結果から、推奨するカスタマイズ情報を、インタフェース部１を介して、表示する。そして、本ステップの処理が終了すると、ステップＳ１−７に移る。
【００３９】
ステップＳ１−７において、テンプレート改善支援装置１００は、本フローチャート全体の処理を終了する。
【００４０】
次に、テンプレート改善支援装置１００内の各部の処理の更に詳細な手順について説明する。
【００４１】
図５は、ドキュメントテンプレート管理部による処理の手順を示すフローチャートである。以下、同図に沿って説明する。
ステップＳ１１−０において、ドキュメントテンプレート管理部１１は、本フローチャートの処理を開始する。
ステップＳ１１−１において、ドキュメントテンプレート管理部１１は、インタフェース部１を介して、ドキュメントテンプレート登録画面を表示する。
次に、ステップＳ１１−２において、ドキュメントテンプレート管理部１１は、インタフェース部１を介して管理者が入力した、ドキュメントテンプレート一式を取得する。
次に、ステップＳ１１−３において、ドキュメントテンプレート管理部１１は、取得したドキュメントテンプレート一式を、ドキュメントテンプレートデータベース７に登録する。ドキュメントテンプレート一式は２種類ある。その２種類とは、汎用的なドキュメントテンプレート一式と、ドメインごとのドキュメントテンプレート一式である。なお、ドキュメントテンプレート管理部１１は、個々のドキュメントテンプレート一式を識別するために、識別子として、ドキュメントテンプレート一式ＩＤを付与する。
ステップＳ１１−４において、ドキュメントテンプレート管理部１１は、本フローチャート全体の処理を終了する。
以上の手順により、ドキュメントテンプレート管理部１１は、汎用的なドキュメントテンプレート一式、またはドメインごとのドキュメントテンプレート一式を、テンプレート改善支援装置１００に登録する。
【００４２】
図６は、プロジェクト設計書登録部２による処理の手順を示すフローチャートである。同図に示す処理は、図４で説明したステップＳ１−２の処理である。
ステップＳ２−０において、プロジェクト設計書登録部２は、本フローチャートの処理を開始する。
ステップＳ２−１において、プロジェクト設計書登録部２は、インタフェース部１を介して、設計書登録画面を表示する。その際、プロジェクト設計書登録部２は、プロジェクト情報データベース１０を参照して、登録されているプロジェクトＩＤとプロジェクト名とを表示する。そして、プロジェクト設計書登録部２は、開発者によるプロジェクトの選択を受け付ける。
【００４３】
次に、プロジェクト設計書登録部２は、ステップＳ２−２にからステップＳ２−２´までの間の処理を、入力される設計書ごとに繰り返す。つまり、プロジェクト設計書登録部２は、装置に入力される全ての設計書の登録が完了するまで、ステップＳ２−３とＳ２−４の処理繰り返す。これにより、プロジェクト設計書登録部２は、開発者が選択したプロジェクトの設計書一式を登録する。
ステップＳ２−３においては、プロジェクト設計書登録部２は、プロジェクトの設計書登録画面から入力された設計書ファイル群から、設計書を１つ取得する。
次にステップＳ２−４においては、プロジェクト設計書登録部２は、ステップＳ２−３で取得した設計書を、プロジェクトの設計書一式として、プロジェクト別設計書データベース８に登録する。なお、プロジェクト設計書登録部２は、プロジェクトごとの設計書一式を区別するために、識別子として、設計書一式ＩＤと、プロジェクトＩＤと、ドキュメントテンプレートＩＤとを付与する。
ステップＳ２−２´において、上記の繰り返し処理を終了する。
【００４４】
次に、ステップＳ２−５において、プロジェクト設計書登録部２は、プロジェクトの設計書一式情報を、プロジェクト別設計書データベース８に登録する。プロジェクトの設計書一式情報とは、当該プロジェクトのプロジェクトＩＤと、プロジェクトが利用したドキュメントテンプレート一式のドキュメントテンプレート一式ＩＤと、プロジェクトが登録した設計書の設計書一式ＩＤである。
なお、プロジェクト設計書登録部２は、プロジェクトＩＤとドキュメントテンプレート一式ＩＤとしては、画面から入力された値を登録する。また、プロジェクト設計書登録部２は、設計書一式ＩＤとして、ユニークな識別情報を付与して登録する。
ステップＳ２−６において、プロジェクト設計書登録部２は、本フローチャート全体の処理を終了する。
以上の処理により、プロジェクト設計書登録部２は、プロジェクトで作成した設計書をテンプレート改善支援装置１００に入力する。
【００４５】
図７，図８，図９は、設計書構造情報抽出部３による処理の手順を示すフローチャートである。同図に示す処理は、図４で説明したステップＳ１−３の処理である。これらの３つの図は、コネクターによって接続される。以下、このフローチャートに沿って説明する。
【００４６】
まず、図７のステップＳ３−０において、設計書構造情報抽出部３は、本フローチャート全体の処理を開始する。
ステップＳ３−１において、設計書構造情報抽出部３は、プロジェクト別設計書データベース８から、登録されているプロジェクトの設計書一式情報と、設計書一式情報の設計書一式ファイルへのパスに示された場所にある設計書ファイル群を全て取得する。なお、これらの設計書一式情報は、前述の通り、プロジェクト設計書登録部２が登録したものである。
【００４７】
次に、設計書構造情報抽出部３は、ステップＳ３−２からＳ３−２´までの処理を、取得した設計書ごとに繰り返す。つまり、設計書構造情報抽出部３は、取得した設計書ファイル群に含まれる設計書の数だけ、設計書の構造情報の取り出しを行う。
ステップＳ３−３において、設計書構造情報抽出部３は、ステップＳ３−１
で取得した設計書ファイル群から、設計書を１つ取り出す。そして、設計書構造情報抽出部３は、取り出した設計書から、設計書名と設計項目名を全て取得する。このとき、設計書構造情報抽出部３は、設計書を一意に識別する設計書ＩＤと、設計項目を一意に識別する設計項目ＩＤを、それぞれ付与する。
ステップＳ３−２´において、上記の繰り返し処理を終了する。
ステップＳ３−２´の次に、図８のステップＳ３−４に進む。
【００４８】
図８に移り、ステップＳ３−４において、設計書構造情報抽出部３は、ステップＳ３−１で取得した設計書一式情報のドキュメントテンプレート一式ＩＤを取得する。
次に、ステップＳ３−５において、設計書構造情報抽出部３は、ドキュメントテンプレートデータベース７のドキュメントテンプレート一式関連テンプレートから、ドキュメントテンプレート情報を取得する。即ち、設計書構造情報抽出部３は、ステップＳ３−４で取得したドキュメントテンプレート一式ＩＤと一致するドキュメントテンプレート情報を全て取得する。
【００４９】
次に、設計書構造情報抽出部３は、ステップＳ３−６からＳ３−６´までの処理を、設計書ＩＤ群に含まれる設計書ＩＤごとに繰り返す。なお、設計書ＩＤ群は、ステップＳ３−３で取得したものである。
ステップＳ３−７において、設計書構造情報抽出部３は、設計書ＩＤ群から、設計書ＩＤを１つ取得する。
次に、ステップＳ３−８において、設計書構造情報抽出部３は、ステップＳ３−７で取得した設計書ＩＤに対応する設計項目を全て取得し、これを対象設計書とする。
【００５０】
次に、設計書構造情報抽出部３は、ステップＳ３−９からＳ３−９´までの処理を、ドキュメントテンプレート情報群に含まれるドキュメントテンプレート情報ごとに繰り返す。なお、ドキュメントテンプレート情報群は、ステップＳ３−５で取得したものである。
ステップＳ３−１０において、設計書構造情報抽出部３は、ドキュメントテンプレート情報群から、ドキュメントテンプレートＩＤを１つ取得する。
次に、ステップＳ３−１１において、設計書構造情報抽出部３は、ステップＳ３−１０で取り出した「ドキュメントテンプレートＩＤと一致するドキュメントテンプレートから、「必須」となっている設計項目を全て取得する。
次に、ステップＳ３−１２において、設計書構造情報抽出部３は、ステップＳ３−１１で取得した、必須の設計項目が全て対象設計書に存在するかどうかを判定する。必須の設計項目が全て対象設計書に存在する場合（ステップＳ３−１２：ＹＥＳ）は、ステップＳ３−９からＳ３−９´までのループを抜けて、ステップ（Ｓ３−１３に進む。必須の設計項目の全てが対象設計書に存在しない場合（ステップＳ３−１２：ＮＯ）は、次のステップＳ３−９´に進み、即ち、ステップＳ３−９からＳ３−９´までの繰り返し処理に戻る。
【００５１】
ステップＳ３−１３に進んだ場合、ステップＳ３−１３において、設計書構造情報抽出部３は、対象設計書の設計書ＩＤと、ドキュメントテンプレートのドキュメントテンプレートＩＤとを対応付けて、設計書対応テンプレート情報に登録する。
【００５２】
ステップＳ３−９からＳ３−９´までの繰り返し処理を全て終えた場合、ステップＳ３−１４に進む。これは、即ち、対象設計書に対応するドキュメントテンプレートが見つからなかった場合である。そして、ステップＳ３−１４において、設計書構造情報抽出部３は、対象設計書のドキュメントテンプレートＩＤを「ＮＵＬＬ」とし、設計書対応テンプレート情報に登録する。
【００５３】
ステップＳ３−１３またはＳ３−１４のいずれかの処理を終えた場合、ステップＳ３−６´に進む。即ち、次の設計書ＩＤが残っている場合には繰り返し処理に戻り、全ての設計書ＩＤについて処理を完了した場合には、次のステップＳ３−１５に移る。
【００５４】
図９に移り、設計書構造情報抽出部３は、ステップＳ３−１５からＳ３−１５´までの処理を、設計書ＩＤ群に含まれる設計書ＩＤごとに繰り返す。
ステップＳ３−１６において、設計書構造情報抽出部３は、設計書ＩＤ群から、設計書ＩＤを１つ取得する。
次に、ステップＳ３−１７において、設計書構造情報抽出部３は、ステップＳ３−１６で取得した設計書ＩＤに対応する設計項目群を取得し、これを比較元設計書とする。
【００５５】
次に、設計書構造情報抽出部３は、ステップＳ３−１８からＳ３−１８´までの処理を、設計書情報ごとに繰り返す。
ステップＳ３−１９において、設計書構造情報抽出部３は、比較元設計書と同じドキュメントテンプレートＩＤを持つ設計書ＩＤを、設計書対応テンプレート情報」から取得する。
ステップＳ３−２０において、設計書構造情報抽出部３は、ステップＳ３−１９で取得した設計書ＩＤの設計項目群を取得し、これを比較先設計書とする。
次に、ステップＳ３−２１において、設計書構造情報抽出部３は、比較元設計書と比較先設計書の設計項目が一致するかどうかの判定を行う。設計項目が一致する場合（ステップＳ３−２１：ＹＥＳ）には、次のステップＳ３−１８´に進む。設計項目が一致しない場合（ステップＳ３−２１：ＮＯ）には、ステップＳ３−２２に移る。
【００５６】
ステップＳ３−２１からＳ３−２２に進んだ場合、ステップＳ３−２２において、設計書構造情報抽出部３は、設計項目が不一致であった比較元設計書と比較先設計書とを取得し、エラーメッセージを表示する。
そして、ステップＳ３−２３において、テンプレート改善支援装置１００は、処理を一旦中止する。なお、その後、開発者が、ステップＳ３−２２でエラー表示した設計書の設計項目の不一致を修正することができる。そして、開発者は、再度、設計書を登録することができる。
【００５７】
ステップＳ３−１８´は、ステップＳ３−１８に対応する繰り返し処理の終了点である。即ち、残っている設計書情報があれば次の設計書情報について処理を繰り返す。また、残っている設計書情報がなければ、次の、ステップＳ３−１５´に進む。
ステップＳ３−１５´は、ステップＳ３−１５に対応する繰り返し処理の終了点である。即ち、残っている設計書ＩＤがあれば次の設計書ＩＤについて処理を繰り返す。また、残っている設計書ＩＤがなければ、次の、ステップＳ３−２４に進む。
ステップＳ３−２４に進んだ場合、設計書構造情報抽出部３は、本フローチャート全体の処理を終了する。
【００５８】
以上の手順により、設計書構造情報抽出部３は、設計書の構造情報を抽出する。また、設計書構造情報抽出部３は、同じドキュメントテンプレートから作成された設計書が複数ある場合に、それら設計書の設計構造を揃えるため、勝手なカスタマイズをしている設計書を取り除く。
【００５９】
図１０，図１１は、比較エンジン部４による処理の手順を示すフローチャートである。同図に示す処理は、図４で説明したステップＳ１−４の処理である。これらの２つの図は、コネクターによって接続される。以下、このフローチャートに沿って説明する。
まず、図１０のステップＳ４−０において、比較エンジン部４は、本フローチャート全体の処理を開始する。
ステップＳ４−１において、比較エンジン部４は、設計書構造情報抽出部３から、設計書対応テンプレート情報を取得する。
【００６０】
次に、比較エンジン部４は、ステップＳ４−２からＳ４−２´までの処理を、設計書対応テンプレート情報にあるドキュメントテンプレートＩＤごとに繰り返す。
ステップＳ４−３において、比較エンジン部４は、ドキュメントテンプレートＩＤを１つ取得する。
次に、ステップＳ４−４において、比較エンジン部４は、ステップＳ４−３で取得したドキュメントテンプレートＩＤが「ＮＵＬＬ」であるかどうかの判定を行う。ドキュメントテンプレートＩＤが「ＮＵＬＬ」である場合（ステップＳ４−４：ＹＥＳ）には、そのままステップＳ４−５へ進む。ドキュメントテンプレートＩＤが「ＮＵＬＬ」ではない場合（ステップＳ４−４：ＮＯ）には、次のドキュメントテンプレートＩＤを処理するためにステップＳ４−３に戻る。
ステップＳ４−５に進んだ場合、ステップＳ４−５において、比較エンジン部４は、変更種類を「テンプレート（追加）」とする。つまり、比較エンジン部４は、ドキュメントテンプレートＩＤが「ＮＵＬＬ」である設計書を、新しく追加されたテンプレートとして取得する。新しくテンプレートを追加する場合、比較エンジン部４は、カスタマイズ情報の変更後ドキュメントテンプレートＩＤに、ユニークなＩＤを付与する。また、比較エンジン部４は、変更後ドキュメントテンプレート名を、追加した設計書の名称とする。
そして、ステップＳ４−２´は、ステップＳ４−２から始まる繰り返し処理の終了点である。ステップＳ４−２からＳ４−２´までの繰り返し処理が終了すると、次のステップＳ４−６に移る。
【００６１】
次に、比較エンジン部４は、ステップＳ４−６からＳ４−６´までの処理を、ドキュメントテンプレートデータにあるドキュメントテンプレートＩＤごとに繰り返す。
ステップＳ４−７において、比較エンジン部４は、ドキュメントテンプレート情報からドキュメントテンプレートＩＤを１つ取得する。
次に、ステップＳ４−８において、比較エンジン部４は、ステップＳ４−７で取り出したドキュメントテンプレートＩＤと、設計書対応テンプレート情報のドキュメントテンプレートＩＤが一致するかどうかの判定を行う。両者が一致する場合（ステップＳ４−８：ＹＥＳ）には、次のドキュメントテンプレートＩＤを取得するために、ステップＳ４−７に戻る。両者が一致しない場合（ステップＳ４−８：ＮＯ）には、次のステップＳ４−９に進む。
ステップＳ４−９に進んだ場合、ステップＳ４−９において、比較エンジン部４は、変更種類を「テンプレート（削除）」とする。つまり、比較エンジン部４は、そのドキュメントＩＤを、使われなかったドキュメントテンプレート情報のドキュメントテンプレートＩＤとして取得する。テンプレート削除の場合、比較エンジン部４は、カスタマイズ情報の変更前ドキュメントテンプレートＩＤを、削除したドキュメントテンプレートのＩＤに設定する。また、比較エンジン部４は、変更前ドキュメントテンプレート名を、削除したドキュメントテンプレートの名称とする。
そして、ステップＳ４−６´は、ステップＳ４−６から始まる繰り返し処理の終了点である。ステップＳ４−６からＳ４−６´までの繰り返し処理が終了すると、次のステップＳ４−１０に移る。
【００６２】
図１１に移り、比較エンジン部４は、ステップＳ４−１０からＳ４−１０´までの処理を、設計書対応テンプレート情報にある設計書ＩＤごとに繰り返す。
ステップＳ４−１１において、比較エンジン部４は、設計書対応テンプレート情報の設計書ＩＤを１つ取得する。
次に、ステップＳ４−１２において、比較エンジン部４は、ドキュメントテンプレート情報から、ステップＳ４−１１で取得した設計書ＩＤに対応するドキュメントテンプレートＩＤを取得する。
【００６３】
次に、比較エンジン部４は、ステップＳ４−１３からＳ４−１３´までの処理を、ステップＳ４−１１で取得した設計書ＩＤに対応する設計項目ごとに繰り返す。
ステップＳ４−１４において、比較エンジン部４は、設計書ＩＤに対応する設計項目を１つ取得する。
次に、ステップＳ４−１５において、比較エンジン部４は、ステップＳ４−１４で取得した設計項目が、ステップＳ４−１２で取得したドキュメントテンプレートに存在するかどうかの判定を行う。そして、設計項目が存在する場合（ステップＳ４−１５：ＹＥＳ）には、次の設計項目を処理するために、ステップＳ４−１４に戻る。設計項目が存在しない場合（ステップＳ４−１５：ＮＯ）には、そのまま次のステップＳ４−１６に進む。
ステップＳ４−１６に進んだ場合、ステップＳ４−１６において、比較エンジン部４は、変更種類を「設計項目（追加）」とする。つまり、比較エンジン部４は、その設計項目を、新しく追加された設計項目として、取得する。設計項目の追加の場合には、比較エンジン部４は、カスタマイズ情報の変更後の設計項目として、追加した設計項目を取得する。
そして、ステップＳ４−１３´は、ステップＳ４−１３から始まる繰り返し処理の終了点である。ステップＳ４−１３からＳ４−１３´までの繰り返し処理が終了すると、次のステップＳ４−１７に移る。
【００６４】
次に、比較エンジン部４は、ステップＳ４−１７からＳ４−１７´までの処理を、ドキュメントテンプレートＩＤに対応する設計項目ごとに繰り返す。
ステップＳ４−１８において、比較エンジン部４は、ドキュメントテンプレートＩＤに対応する設計項目を１つ取得する。
次に、ステップＳ４−１９において、比較エンジン部４は、ステップＳ４−１８で取得した設計項目が、ステップＳ４−１１で取得した設計書に存在するかどうかの判定を行う。設計項目がその設計書に存在する場合（ステップＳ４−１９：ＹＥＳ）には、次の設計項目を処理するためにステップＳ４−１８に戻る。設計項目がその設計書に存在しない場合（ステップＳ４−１９：ＮＯ）には、そのまま次のステップＳ４−２０に進む。
ステップＳ４−２０に進んだ場合、ステップＳ４−２０において、比較エンジン部４は、変更種類を「設計項目（削除）」とする。つまり、比較エンジン部４は、その設計項目を、削除された設計項目として処理する。設計項目の削除の場合、カスタマイズ情報の変更前の設計項目を、削除した設計項目とする。
そして、ステップＳ４−１７´は、ステップＳ４−１７から始まる繰り返し処理の終了点である。
また、ステップＳ４−１７´の次のステップＳ４−１０´は、ステップＳ４−１０から始まる繰り返し処理の終了点である。
この繰り返し処理を終了すると、次に、ステップＳ４−２１に移る。
【００６５】
ステップＳ４−２１において、比較エンジン部４は、カスタマイズ情報に、取得したカスタマイズが存在しているか否かを判定する。ここで、取得したカスタマイズとは、ステップＳ４−５、Ｓ４−９、Ｓ４−１６、Ｓ４−２０のいずれかで取得されたカスタマイズ（変更）である。取得したカスタマイズが存在する場合（ステップＳ４−２１：ＹＥＳ）には、ステップＳ４−２３に飛ぶ。取得したカスタマイズが存在しない場合（ステップＳ４−２１：ＮＯ）には、次のステップＳ４−２２に進む。
【００６６】
ステップＳ４−２２に進んだ場合、ステップＳ４−２２において、比較エンジン部４は、ステップＳ４−５、Ｓ４−９、Ｓ４−１６、Ｓ４−２０で取得したカスタマイズを、カスタマイズ情報に登録する。このとき、新規に登録するカスタマイズには対しては、比較エンジン部４は、ユニークなカスタマイズＩＤを発番する。また、比較エンジン部４は、登録するカスタマイズ情報を、インタフェース部１を介して表示し、開発者に「カスタマイズ情報」を確認するように促す。プロジェクトで実際に行ったカスタマイズと違うカスタマイズ情報が表示されれば、開発者が修正することを可能とする。テンプレートの設計項目名を変更した場合には、変更種類が「設計項目（追加）」と「設計項目（削除）」の２つのカスタマイズ情報として判定される。この場合、開発者が、変更種類を「名称変更」に変え、変更前の設計項目と変更後の設計項目に、設計項目の名称を入力することができるようにする。
【００６７】
そして、ステップＳ４−２３において、比較エンジン部４は、設計書を作成したプロジェクトのプロジェクトＩＤと、プロジェクトが実施したカスタマイズを一意に表すカスタマイズＩＤとを対応付ける。そして、比較エンジン部４は、対応付けられたプロジェクトＩＤとカスタマイズＩＤとを、カスタマイズ情報データベース９のプロジェクトカスタマイズ情報に登録する。
ステップＳ４−２４において、比較エンジン部４は、このフローチャート全体の処理を終了する。
【００６８】
以上の処理により、比較エンジン部４は、設計書一式のファイルの構造情報と、ドキュメントテンプレート一式のファイルの構造情報とを比較する。その比較の結果、比較エンジン部４は、カスタマイズ情報を抽出する。
【００６９】
図１２は、プロジェクト情報管理部５による処理の手順を示すフローチャートである。同図に示す処理は、図４で説明したステップＳ１−５の処理である。以下、このフローチャートに沿って説明する。
まず、ステップＳ５−０において、プロジェクト情報管理部５は、本フローチャート全体の処理を開始する。
ステップＳ５−１において、プロジェクト情報管理部５は、インタフェース部１を介して、プロジェクト属性登録画面を表示する。
次に、ステップＳ５−２において、プロジェクト情報管理部５は、インタフェース部１を介して、開発者が入力した属性値を取得する。属性値は、プロジェクトの属性に対応する値である。
次に、ステップＳ５−３において、プロジェクト情報管理部５は、ステップＳ５−２で取得した属性値を、プロジェクト情報データベース１０の属性値情報に登録する。
ステップＳ５−４で、プロジェクト情報管理部５は、本フローチャート全体の処理を終了する。
以上の処理により、プロジェクト情報管理部５は、プロジェクトの属性情報を取得し、登録する。
【００７０】
図１３は、カスタマイズ情報表示部６による処理の手順を示すフローチャートである。同図に示す処理は、図４で説明したステップＳ１−６の処理である。以下、このフローチャートに沿って説明する。
まず、ステップＳ６−０において、カスタマイズ情報表示部６は、本フローチャート全体の処理を開始する。
ステップＳ６−１において、カスタマイズ情報表示部６は、カスタマイズ情報データベース９に蓄積された、全てのカスタマイズ情報を取得する。
次に、ステップＳ６−２において、カスタマイズ情報表示部６は、プロジェクト情報データベース１０に蓄積された、全てのプロジェクトのプロジェクト情報を取得する。
次に、ステップＳ６−３において、カスタマイズ情報表示部６は、ステップＳ６−１で取得したカスタマイズ情報と、ステップＳ６−２で取得したプロジェクト情報の因果関係の分析を行う。なお、この分析処理の詳細については、後で、図１４，図１５，図１６を参照しながら説明する。
次に、ステップＳ６−４において、カスタマイズ情報表示部６は、ステップＳ６−３で得られた分析結果を、表示のために整理する。なお、この整理の処理の詳細については、後で、図１７を参照しながら説明する。
次に、ステップＳ６−５において、カスタマイズ情報表示部６は、ステップＳ６−４で整理した分析結果を、インタフェース部１を介して表示する。
そして、ステップＳ６−６において、カスタマイズ情報表示部６は、このフローチャートの全体の処理を終了する。
以上の処理により、カスタマイズ情報表示部６は、これまで入力してきた全てのプロジェクトとプロジェクトの設計書の情報から、カスタマイズ情報を分析し表示する。
【００７１】
図１４，図１５，図１６は、カスタマイズ情報分析部６１による処理の手順を示すフローチャートである。この処理は、図１３におけるステップＳ６−３の処理である。これらの３つの図は、コネクターによって接続される。以下、このフローチャートに沿って説明する。
まず、図１４のステップＳ６１−０において、カスタマイズ情報分析部６１は、本フローチャート全体の処理を開始する。
ステップＳ６１−１において、カスタマイズ情報分析部６１は、プロジェクト情報データベース１０に蓄積されたプロジェクトの総数を取得する。
【００７２】
次に、カスタマイズ情報分析部６１は、ステップＳ６１−２からＳ６１−２´までの処理を、プロジェクトの属性情報の属性ＩＤごとに繰り返す。
ステップＳ６１−３において、カスタマイズ情報分析部６１は、プロジェクトの属性情報から、属性ＩＤを１つ取得する。
次に、ステップＳ６１−４において、カスタマイズ情報分析部６１は、ステップＳ６１−３で取得した属性ＩＤに対応する属性値が同じプロジェクトＩＤの数をカウントする。
次に、ステップＳ６１−５において、カスタマイズ情報分析部６１は、ステップＳ６１−４でカウントした結果の数値をプロジェクト属性数データのプロジェクト数として、属性ＩＤおよび属性値と関連付けて取得する。つまり、カスタマイズ情報分析部６１は、同じ属性値を有するプロジェクト数の統計を得る。
そして、ステップＳ６１−２´は、ステップＳ６１−２から始まる繰り返し処理の終了点である。全ての属性ＩＤについての処理を終えると、次のステップＳ５１−６に移る。
【００７３】
次に、カスタマイズ情報分析部６１は、ステップＳ６１−６からＳ６１−６´までの処理を、カスタマイズ情報データベース９に蓄積されたカスタマイズごとに繰り返す。
ステップＳ６１−７において、カスタマイズ情報分析部６１は、カスタマイズ情報データベース９から、カスタマイズｉＤを１つ取得する。
次に、ステップＳ６１−８において、カスタマイズ情報分析部６１は、プロジェクトカスタマイズ情報から、ステップＳ６１−７で取得したカスタマイズＩＤに対応するプロジェクトＩＤの数をカウントする。
次に、ステップＳ６１−９において、カスタマイズ情報分析部６１は、ステップＳ６１−８でカウントした結果の数値をカスタマイズ実施数データのプロジェクト数として、カスタマイズＩＤと関連付けて取得する。
そして、ステップＳ６１−６´は、ステップＳ６１−６から始まる繰り返し処理の終了点である。全てのカスタマイズＩＤについての処理を終えると、次のステップＳ５１−１０に移る。
【００７４】
次に、カスタマイズ情報分析部６１は、ステップＳ６１−１０からＳ６１−１０´までの処理を、プロジェクト情報データベース１０に登録したプロジェクト情報ごとに繰り返す。
ステップＳ６１−１１において、カスタマイズ情報分析部６１は、プロジェクト情報データベース１０に登録されているプロジェクト情報を１つ取得する。
【００７５】
そして、カスタマイズ情報分析部６１は、ステップＳ６１−１１で取得したプロジェクト情報に対応するカスタマイズＩＤを、プロジェクトカスタマイズ情報から全て取り出す。そして、カスタマイズ情報分析部６１は、それらの取り出したカスタマイズＩＤの各々についてステップＳ６１−１２からＳ６１−１２´までの処理を繰り返す。
ステップＳ６１−１３において、カスタマイズ情報分析部６１は、プロジェクトカスタマイズ情報から、プロジェクト情報に対応するカスタマイズＩＤを１つ取得する。
【００７６】
図１５に移って、カスタマイズ情報分析部６１は、ステップＳ６１−１４からＳ６１−１４´までの処理を、ステップＳ６１−１１で取得したプロジェクトに関する属性値ごとに繰り返す。
ステップＳ６１−１５において、カスタマイズ情報分析部６１は、属性値を１つ取得する。
次に、ステップＳ６１−１６において、カスタマイズ情報分析部６１は、ステップＳ６１−１３で取得したカスタマイズと、ステップＳ６１−１５で取得した属性値の組み合わせが、カスタマイズと属性値の総当たりデータに存在するかどうかの判定を行う。そのカスタマイズと属性値の組み合わせが存在する場合（ステップＳ６１−１６：ＹＥＳ）には、ステップＳ６１−１８へ飛ぶ。そのカスタマイズと属性値の組み合わせが存在しない場合（ステップＳ６１−１６：ＮＯ）には、次のステップＳ６１−１７へ進む。
ステップＳ６１−１７においては、カスタマイズ情報分析部６１は、そのカスタマイズと属性値の組み合わせを、カスタマイズと属性値の総当たりデータに登録する。なお、この登録の際のプロジェクト数の初期値を０とする。
そして、ステップＳ６１−１８において、カスタマイズ情報分析部６１は、そのカスタマイズと属性値の組み合わせに関して、プロジェクト数をインクリメントする。つまり、プロジェクト数に１をたす。
【００７７】
そして、ステップＳ６１−１４´は、ステップＳ６１−１４から始まる繰り返し処理の終了点である。
そして、ステップＳ６１−１２´は、ステップＳ６１−１２から始まる繰り返し処理の終了点である。
そして、ステップＳ６１−１０´は、ステップＳ６１−１０から始まる繰り返し処理の終了点である。
つまり、ステップＳ６１−１０からＳ６１−１０´までの処理によって、カスタマイズと属性値の組み合わせごとに、該当するプロジェクト数をカウントした統計データが得られた。
【００７８】
図１６に移って、カスタマイズ情報分析部６１は、ステップＳ６１−１９からＳ６１−１９´までの処理を、カスタマイズと属性値の総当たりデータに含まれる、カスタマイズと属性値の組み合わせごとに繰り返す。
ステップＳ６１−２０において、カスタマイズ情報分析部６１は、カスタマイズと属性値の総当たりデータから、カスタマイズと属性値の組み合わせを1つ取得する。
次に、ステップＳ６１−２１において、カスタマイズ情報分析部６１は、ステップＳ６１−２０で取得したカスタマイズと属性値の組み合わせの支持度を計算する。この支持度は、そのカスタマイズと属性値の組み合わせのプロジェクト数を、Ｓ６１−１で取得したプロジェクトの総数で割ることによって算出される。支持度は、その値が大きいほどよくあるカスタマイズであることを示し、その値が小さいほど滅多にないカスタマイズであることを示している。
次に、ステップＳ６１−２２において、カスタマイズ情報分析部６１は、そのカスタマイズの期待信頼度を計算する。この期待信頼度は、ステップＳ６１−９で取得したカスタマイズ実施数を、Ｓ６１−１で取得したプロジェクトの総数で割ることによって算出される。この期待信頼度は、後で、リフト値を計算する際に用いられる。
次に、ステップＳ６１−２３において、カスタマイズ情報分析部６１は、ステップＳ６１−２０で取得したカスタマイズと属性値の組み合わせの信頼度を計算する。この信頼度は、その組み合わせのプロジェクト数を、ステップＳ６１−５で取得したプロジェクト属性数データで割ることによって算出される。信頼度が高いほど、その属性値を有するプロジェクトがそのカスタマイズを実施している、と言うことができる。言い換えれば、信頼度が高いほど、プロジェクト属性Ａの属性値がＣであるプロジェクトはカスタマイズＢを実施している、と言うことができる。ただし、属性値に依存せずに高い頻度でカスタマイズＢが実施される可能性もあるため、次ステップにおけるリフト値の計算も行う。なお、「プロジェクト属性Ａ」とは、プロジェクトの属性情報の１つである。また、「属性値Ｃ」は、プロジェクト属性Ａの属性値がＣであることを意味する。また、「カスタマイズＢ」は、属性値Ｃと組み合わせたカスタマイズ情報の１つを指す。
次に、ステップＳ６１−２４において、カスタマイズ情報分析部６１は、リフト値を計算する。このリフト値は、ステップＳ６１−２３で算出した信頼度を、ステップＳ６１−２２で取得した「期待信頼度」で割ることによって算出される。このリフト値が１以上であれば、カスタマイズＢは属性値Ｃに依存していると言うことができる。つまり、リフト値が１以上であれば、カスタマイズＢと属性値Ｃとの因果関係が強いと言うことができる。
次に、ステップＳ６１−２５において、カスタマイズ情報分析部６１は、ステップＳ６１−２１からステップＳ６１−２４までの各ステップで計算した結果を、カスタマイズと属性値の総当たりデータに登録する。
そして、ステップＳ６１−１９´は、ステップＳ６１−１９から始まる繰り返し処理の終了点である。
ここまでの処理が終了すると、カスタマイズ情報分析部６１は、本フローチャート全体の処理を終了する（ステップＳ６１−２６）。
【００７９】
また、カスタマイズ情報分析部６１は、別の分析処理により、属性値とドキュメントテンプレートとの総当たりデータを得る。
この処理は、図１４，図１５，図１６に示したフローチャートの処理における「カスタマイズ」を「ドキュメントテンプレート」に置き換えることによって実施できる。
具体的には、カスタマイズ情報分析部６１は、プロジェクトカスタマイズ情報のカスタマイズＩＤの代わりに、設計書一式情報のドキュメントテンプレート一式ＩＤを読み出す。これにより、カスタマイズ情報分析部６１は、属性値と、ドキュメントテンプレート一式ＩＤとの総当たりの処理を行う。その結果、カスタマイズ情報分析部６１は、属性値とドキュメントテンプレートＩＤとの全ての組み合わせの各々について、プロジェクト数をカウントする。そして、カスタマイズ情報分析部６１は、カスタマイズと属性値との総当たりデータにおいて算出したのと同様に、各組み合わせの、支持度と、信頼度と、期待信頼度と、リフト値とを算出する。これらをドキュメントテンプレートと属性値との総当たりデータとして得る。カスタマイズ情報分析部６１は、得られた総当たりデータを、所定のテーブル（後述するドキュメントテンプレートと属性値の総当たりデータ（Ｔ８））に登録する。
【００８０】
図１７は、分析結果表示部６２による処理の手順を示すフローチャートである。この処理は、図１３におけるステップＳ６−５の処理である。
まず、図１７のステップＳ６２−０において、分析結果表示部６２は、本フローチャート全体の処理を開始する。
ステップＳ６２−１において、分析結果表示部６２は、カスタマイズ情報分析部６１から、カスタマイズと属性値の総当たりデータを取得する。本ステップで分析結果表示部６２が取得するデータには、前述のカスタマイズ情報分析部６１による処理で計算された、支持度、信頼度、リフト値が含まれる。
次に、ステップＳ６２−２において、分析結果表示部６２は、支持度の値が高い順に、カスタマイズと属性値の総当たりデータを並べ替える。
次に、ステップＳ６２−３において、分析結果表示部６２は、ステップＳ６２−２の並べ替え処理において支持度が同値であったカスタマイズと属性値との組み合わせを、信頼度の高い順に並べ替える。
つまり、ステップＳ６２−２とＳ６２−３とで、分析結果表示部６２は、降順の支持度を第１キーとして、また降順の信頼度を第２キーとして、並べ替え処理（ソート処理）を行う。
【００８１】
次に、分析結果表示部６２は、カスタマイズと属性値との組み合わせの各々について、ステップＳ６２−４からＳ６２−６までの処理を行う。
ステップＳ６２−４において、分析結果表示部６２は、上記のカスタマイズと属性値の総当たりデータについて、属性値に依存しているカスタマイズであるかどうかを判定する。分析結果表示部６２はこの判定を、具体的には、当該組み合わせのリフト値に基づいて行う。リフト値が１より大きい（即ち、カスタマイズが属性値に依存している）場合（ステップＳ６２−４：ＹＥＳ）には、ステップＳ６２−５へ進む。リフト値が１以下である（即ち、カスタマイズが属性値に依存していない）場合（ステップＳ６２−４：ＮＯ）には、ステップＳ６２−６へ進む。
【００８２】
ステップＳ６２−５に進んだ場合、ステップＳ６２−５において、分析結果表示部６２は、そのカスタマイズと属性値との組み合わせを、特定の属性値を持つプロジェクトが使うドキュメントテンプレートへの反映を推奨するカスタマイズとして表示する。これは、リフト値が１より大きく、カスタマイズが属性値に依存するものであるためである。なお、分析結果表示部６２は、本ステップにおける表示の際に、インタフェース部１を介した表示を行う。本ステップの処理の後、ステップＳ６２−７に進む。
ステップＳ６２−６に進んだ場合、ステップＳ６２−６において、分析結果表示部６２は、そのカスタマイズと属性値との組み合わせを、ドキュメントテンプレートへの反映を推奨するカスタマイズとして表示する。これは、リフト値が１以下である組み合わせは、カスタマイズと属性値との関係が必ずしもよいとは言えないためである。なお、分析結果表示部６２は、本ステップにおける表示の際に、インタフェース部１を介した表示を行う。本ステップの処理の後、ステップＳ６２−７に進む。
そして、ステップＳ６２−７において、分析結果表示部６２は、本フローチャート全体の処理を終了する。
【００８３】
上記の処理手順により、分析結果表示部６２は、属性値とカスタマイズとの因果関係を分析した結果を、表示する。表示例については、後で、図４４を参照しながら説明する。
【００８４】
また、分析結果表示部６２は、属性値とドキュメントテンプレートとの分析結果を表示する。
この処理は、分析結果表示部６２が、図１７に示したフローチャートの処理における「カスタマイズと属性値の総当たりデータ」を、「ドキュメントテンプレートと属性値の総当たりデータ」に置き変えることにより行う。その結果、分析結果表示部６２は、特定の属性値を持つプロジェクトに使用されるドキュメントテンプレート、またはドキュメントテンプレート一式を表示する。この表示例については、後で、図４５を参照しながら説明する。
【００８５】
次に、テンプレート改善支援装置１００が用いるデータの構成について説明する。
図１８，図１９は、テンプレート改善支援装置１００におけるデータ構成の概略を示すＥＲ図（Entity Relationship Diagram）である。これら２つの図は、コネクターによって互いに接続されている。これらの図において、普通の長方形で示すデータは、データベースに登録するデータ（テーブル）である。また、角の丸い四角形で示すデータは、処理で使用するためのデータ（テーブル）である。
【００８６】
まず図１８から説明する。同図には、プロジェクト情報（符号Ｔ１）と、属性値情報（Ｔ２）と、属性情報（Ｔ３）と、プロジェクトカスタマイズ情報（Ｔ４）と、プロジェクト属性数データ（Ｔ５）と、カスタマイズ実施数データ（Ｔ６）と、カスタマイズと属性値の総当たりデータ（Ｔ７）と、ドキュメントテンプレートと属性値の総当たりデータ（Ｔ８）とを示す。
【００８７】
（１）プロジェクト情報（Ｔ１）は、プロジェクトの情報を表す。プロジェクト情報は、データ項目（属性）として、プロジェクトＩＤと、プロジェクト名とを持つ。プロジェクトＩＤが、プロジェクト情報の主キーである。各データ項目の意味は、次の通りである。
プロジェクトＩＤは、プロジェクトを一意に識別するＩＤである。
プロジェクト名は、プロジェクトの名称である。
【００８８】
（２）属性値情報（Ｔ２）は、プロジェクトの、属性情報テーブルに対応する値を保持する。属性値情報は、データ項目として、プロジェクトＩＤと、属性ＩＤと、属性値とを持つ。プロジェクトＩＤと属性ＩＤとの複合が、属性値情報の主キーである。各データ項目の意味は、次の通りである。
プロジェクトＩＤは、プロジェクトを一意に識別するＩＤである。プロジェクトＩＤが、属性値情報とプロジェクト情報とを関連付ける。
属性ＩＤは、属性を一意に識別するＩＤである。属性ＩＤが、属性値情報と属性情報とを関連付ける。
属性値は、属性の値を表す。つまり、属性値は、プロジェクトＩＤと属性ＩＤによって定まるプロジェクト属性の値である。属性値は開発者により入力される。
【００８９】
（３）属性情報（Ｔ３）は、プロジェクトの属性の種類を表す。属性とはプロジェクトに関する様々な情報を示すものである。属性の種類の例として、「開発期間」、「納入計画」、「見積金額」、「開発形態」、「開発方法論」等がある。属性情報は、データ項目として、属性ＩＤと、属性名とを持つ。属性ＩＤが、属性情報の主キーである。各データ項目の意味は、次の通りである。
属性ＩＤは、属性を一意に識別するＩＤである。属性ＩＤが、属性情報と属性値情報とを関連付ける。
属性名は、属性の名称である。
【００９０】
（４）プロジェクトカスタマイズ情報（Ｔ４）は、プロジェクトがどのカスタマイズをしたかを表す情報である。プロジェクトカスタマイズ情報は、データ項目として、プロジェクトＩＤと、カスタマイズＩＤとを持つ。プロジェクトＩＤとカスタマイズＩＤの複合が、プロジェクトカスタマイズ情報の主キーである。各データ項目の意味は、次の通りである。
プロジェクトＩＤは、プロジェクトを一意に識別するＩＤである。プロジェクトＩＤが、プロジェクトカスタマイズ情報とプロジェクト情報とを関連付ける。
カスタマイズＩＤは、カスタマイズを一意に識別するＩＤである。カスタマイズＩＤが、プロジェクトカスタマイズ情報とカスタマイズ情報とを関連付ける。
【００９１】
（５）プロジェクト属性数データ（Ｔ５）は、同一の属性値を持つプロジェクトの数の情報を保持するものである。プロジェクト属性数データは、データ項目として、属性ＩＤと、属性値と、プロジェクト数とを持つ。属性ＩＤと、属性値の複合が、プロジェクト属性数データの主キーである。各データ項目の意味は、次の通りである。
属性ＩＤは、属性を一意に識別するＩＤである。属性ＩＤは、プロジェクト属性数データと属性情報とを関連付ける。
属性値は、属性の値を表す。具体的には、属性値は、プロジェクト情報に登録されているプロジェクトの属性値を表す。
プロジェクト数は、同じ属性ＩＤに対して、同じ属性値を持つプロジェクトの数を表す。
なお、プロジェクト属性数データは、属性ＩＤと属性値の複合キーにより、カスタマイズと属性値の総当たりデータと関連付けられる。また、プロジェクト属性数データは、属性ＩＤと属性値の複合キーにより、ドキュメントテンプレートと属性値の総当たりデータと関連付けられる。
【００９２】
（６）カスタマイズ実施数データ（Ｔ６）は、同一のカスタマイズをしたプロジェクトの数を表す情報である。カスタマイズ実施数データは、データ項目として、カスタマイズＩＤと、プロジェクト数とを持つ。カスタマイズＩＤが、カスタマイズ実施数データの主キーである。各データ項目の意味は、次の通りである。
カスタマイズＩＤは、カスタマイズを一意に識別するＩＤである。カスタマイズＩＤは、カスタマイズ実施数データとカスタマイズ情報とを関連付ける。
プロジェクト数は、同じカスタマイズをしたプロジェクトの数を表す。
【００９３】
（７）カスタマイズと属性値の総当たりデータ（Ｔ７）は、カスタマイズと属性値の依存関係に関する情報を表すものである。カスタマイズと属性値の総当たりデータは、データ項目として、属性ＩＤと、属性値と、カスタマイズＩＤと、プロジェクト数と、支持度と、信頼度と、期待信頼度と、リフト値とを持つ。属性ＩＤと、属性値と、カスタマイズＩＤの複合が、カスタマイズと属性値の総当たりデータの主キーである。各データ項目の意味は、次の通りである。
属性ＩＤは、属性を一意に識別するＩＤである。属性ＩＤは、カスタマイズと属性値の総当たりデータと属性情報とを関連付ける。
属性値は、属性の値を表す。ここでの属性値は、プロジェクト情報に登録したプロジェクトの属性値を表す。
カスタマイズＩＤは、カスタマイズを一意に識別するＩＤである。カスタマイズＩＤは、カスタマイズと属性値の総当たりデータとカスタマイズ情報とを関連付ける。
プロジェクト数は、ある属性ＩＤに対する属性値が同じであり、かつ、同じカスタマイズをしている（同じカスタマイズＩＤを有する）プロジェクトの数を表す。
支持度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定の属性値を持ち、且つ特定のカスタマイズを実施したプロジェクトの割合を表す。
信頼度は、その算出方法を既に説明した通り、特定の属性値を持つプロジェクトのうち、特定のカスタマイズを実施したプロジェクトの割合を表す。
期待信頼度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定のカスタマイズをしたプロジェクトの割合を表す。
リフト値は、その算出方法を既に説明した通り、属性値とカスタマイズの依存関係を表す。リフト値が大きいほど、属性値が原因でカスタマイズが実施されていることを表し、リフト値が小さいほど、属性値に関係なくカスタマイズされていることを表す。
【００９４】
（８）ドキュメントテンプレートと属性値の総当たりデータ（Ｔ８）は、ドキュメントテンプレートと属性値の依存関係に関する情報を表すものである。ドキュメントテンプレートと属性値の総当たりデータは、データ項目として、属性ＩＤと、属性値と、ドキュメントテンプレートＩＤと、プロジェクト数と、支持度と、信頼度と、期待信頼度と、リフト値とを持つ。属性ＩＤと、属性値と、ドキュメントテンプレートＩＤとの複合が、ドキュメントテンプレートと属性値の総当たりデータの主キーである。各データ項目の意味は、次の通りである。
属性ＩＤは、属性を一意に識別するＩＤである。属性ＩＤは、ドキュメントテンプレートと属性値の総当たりデータと、属性情報とを、関連付ける。
属性値は、属性の値を表す。属性値は開発者により入力される。
ドキュメントテンプレートＩＤは、ドキュメントテンプレートを一意に識別するＩＤである。ドキュメントテンプレートＩＤは、ドキュメントテンプレートと属性値の総当たりデータと、ドキュメントテンプレート情報とを関連付ける。
プロジェクト数は、ある属性ＩＤに対する属性値が同じであり、且つ同じドキュメントテンプレートを使用しているプロジェクトの数を表す。
支持度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定の属性値を持ち、且つ特定のドキュメントテンプレートを使ったプロジェクトの割合を表す。
信頼度は、その算出方法を既に説明した通り、特定の属性値を持つプロジェクトがよく使うドキュメントテンプレートであるかどうかの度合を表す。
期待信頼度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定のドキュメントテンプレートを使ったプロジェクトの割合を表す。
リフト値は、その算出方法を既に説明した通り、属性値とドキュメントテンプレートの依存関係を表す。
【００９５】
次に図１９を説明する。同図には、設計書一式情報（符号Ｔ９）と、設計書情報（Ｔ１０）と、設計項目（Ｔ１１）と、ドキュメントテンプレート一式情報（Ｔ１２）と、ドキュメントテンプレート一式関連テンプレート（Ｔ１３）と、ドキュメントテンプレート情報（Ｔ１４）と、テンプレート設計項目（Ｔ１５）と、設計書対応テンプレート情報（Ｔ１６）と、カスタマイズ情報（Ｔ１７）とを示す。
【００９６】
（９）設計書一式情報（Ｔ９）は、この設計書一式に関連する情報を表すものである。なお、設計書一式とは、システム開発で必要な設計書を、機能一覧表や画面一覧表のように、設計の要素ごとに作成し、全体を一つにまとめたものである。設計書一式情報は、データ項目として、設計書一式ＩＤと、プロジェクトＩＤと、ドキュメントテンプレート一式ＩＤと、設計書一式ファイルへのパスとを持つ。設計書一式ＩＤと、プロジェクトＩＤと、ドキュメントテンプレート一式ＩＤの複合が、設計書一式情報の主キーである。各データ項目の意味は、次の通りである。
設計書一式ＩＤは、設計書一式を一意に識別するＩＤである。
プロジェクトＩＤは、設計書一式を作成したプロジェクトを一意に識別するＩＤである。プロジェクトＩＤが、設計書一式情報とプロジェクト情報とを関連付ける。
ドキュメントテンプレート一式ＩＤは、設計書一式を作成する際に利用したドキュメントテンプレート一式を一意に識別するＩＤである。ドキュメントテンプレート一式ＩＤが
設計書一式情報とドキュメントテンプレート一式情報とを関連付ける。
設計書一式ファイルへのパスは、設計書一式の実体であるファイル群が存在する場所までのパス情報を表す。
【００９７】
（１０）設計書情報（Ｔ１０）は、設計書一式にある設計書の情報を表すものである。つまり、１件の設計書一式は、複数の設計書を含んで成るものである。設計書情報は、データ項目として、設計書ＩＤと、設計書名と、設計書一式ＩＤとを持つ。設計書ＩＤが、設計書情報の主キーである。各データ項目の意味は、次の通りである。
設計書ＩＤは、設計書を一意に識別するＩＤである。
設計書名は、設計書の名称である。
設計書一式ＩＤは、設計書一式を一意に識別するＩＤである。設計書一式ＩＤが、設計書情報と設計書一式情報とを関連付ける。
【００９８】
（１１）設計項目（Ｔ１１）は、設計書の設計項目を表すものである。設計項目は、データ項目として、設計項目ＩＤと、設計項目名と、設計書ＩＤとを持つ。設計項目ＩＤが、設計項目の主キーである。各データ項目の意味は、次の通りである。
設計項目ＩＤは、設計書の設計項目を一意に識別するＩＤである。
設計項目名は、設計項目の名称である。
設計書ＩＤは、設計書を一意に識別するＩＤである。ここにおける設計書ＩＤは、その設計項目を有する設計書のＩＤを表す。設計書ＩＤが、設計項目と設計書情報とを関連付ける。
【００９９】
（１２）ドキュメントテンプレート一式情報（Ｔ１２）は、ドキュメントテンプレート一式に関連する情報を表すものである。ドキュメントテンプレート一式とは、システム開発で使うドキュメントテンプレートを、機能一覧表や画面一覧表のように、設計の要素ごとに作成し、全体として一つにまとめたものである。ドキュメントテンプレート一式情報は、データ項目として、ドキュメントテンプレート一式ＩＤと、ドキュメントテンプレート一式名と、ドメイン種別と、バージョンとを持つ。ドキュメントテンプレート一式ＩＤが、ドキュメントテンプレート一式情報の主キーである。各データ項目の意味は、次の通りである。
ドキュメントテンプレート一式ＩＤは、ドキュメントテンプレート一式を一意に識別するＩＤである。ドキュメントテンプレート一式ＩＤは、ドキュメントテンプレート一式情報と設計書一式情報とを関連付ける。また、ドキュメントテンプレート一式ＩＤは、ドキュメントテンプレート一式情報とドキュメントテンプレート一式関連テンプレートとを関連付ける。
ドキュメントテンプレート一式名は、ドキュメントテンプレート一式の名称である。
ドメイン種別は、ドキュメントテンプレート一式の適用範囲を示す。ドメインに依存しない汎用的な設計項目のみで定義しているドキュメントテンプレート一式の場合には、ドメイン種別は「標準」である。特定のドメインに依存したドキュメントテンプレート一式の場合には、ドメイン種別として、そのドメインの名称等を保持する。
バージョンは、ドキュメントテンプレート一式のバージョンを表す。バージョンは、同じものに対して、内容が改訂された版の番号等の情報である。このバージョンは、ドキュメントテンプレート一式名の改定内容を一意に識別する。
【０１００】
（１３）ドキュメントテンプレート一式関連テンプレート（Ｔ１３）は、ドキュメントテンプレート一式に含まれるドキュメントテンプレートを表すものである。ドキュメントテンプレート一式関連テンプレートは、データ項目として、ドキュメントテンプレート一式ＩＤと、ドキュメントテンプレートＩＤとを持つ。ドキュメントテンプレート一式ＩＤと、ドキュメントテンプレートＩＤの複合が、ドキュメントテンプレート一式関連テンプレートの主キーである。各データ項目の意味は、次の通りである。
ドキュメントテンプレート一式ＩＤは、ドキュメントテンプレート一式を一意に識別するＩＤである。キュメントテンプレート一式ＩＤは、ドキュメントテンプレート一式関連テンプレートとドキュメントテンプレート一式情報とを関連付ける。
ドキュメントテンプレートＩＤは、ドキュメントテンプレートを一意に識別するＩＤである。ドキュメントテンプレートＩＤは、ドキュメントテンプレート一式関連テンプレートとドキュメントテンプレート情報とを関連付ける。
【０１０１】
（１４）ドキュメントテンプレート情報（Ｔ１４）は、ドキュメントテンプレートの情報を表すものである。ドキュメントテンプレート情報は、データ項目として、ドキュメントテンプレートＩＤと、ドキュメントテンプレート名と、バージョンとを持つ。ドキュメントテンプレートＩＤが、ドキュメントテンプレート情報の主キーである。各データ項目の意味は、次の通りである。
ドキュメントテンプレートＩＤは、ドキュメントテンプレートを一意に識別するＩＤである。ドキュメントテンプレートＩＤは、ドキュメントテンプレート情報とドキュメントテンプレート一式関連テンプレートとを関連付ける。１件のドキュメントテンプレート一式が、複数のドキュメントテンプレートに対応し得る。また、ドキュメントテンプレートＩＤは、ドキュメントテンプレート情報と設計書対応テンプレート情報とを関連付ける。また、ドキュメントテンプレートＩＤは、ドキュメントテンプレート情報とテンプレート設計項目とを関連付ける。
ドキュメントテンプレート名は、ドキュメントテンプレートの名称である。
バージョンは、ドキュメントテンプレートのバージョンを表す。
【０１０２】
（１５）テンプレート設計項目（Ｔ１５）は、ドキュメントテンプレートの設計項目を表すものである。テンプレート設計項目は、データ項目として、テンプレート設計項目ＩＤと、テンプレート設計項目名と、必須と、ドキュメントテンプレートＩＤとを持つ。テンプレート設計項目ＩＤが、テンプレート設計項目の主キーである。各データ項目の意味は、次の通りである。
テンプレート設計項目ＩＤは、テンプレートの設計項目を一意に識別するＩＤである。
テンプレート設計項目名は、ドキュメントテンプレートの設計項目の名称である。
必須は、ドキュメントテンプレートに必ずなければいけない必須の設計項目であるか否かを示す情報である。必須である設計項目をカスタマイズすることはできない。
ドキュメントテンプレートＩＤは、ドキュメントテンプレートを一意に識別するＩＤである。ドキュメントテンプレートＩＤは、テンプレート設計項目とドキュメントテンプレート情報とを関連付ける。
【０１０３】
（１６）設計書対応テンプレート情報（Ｔ１６）は、設計書とテンプレートの対応関係を表すものである。設計書対応テンプレート情報は、データ項目として、設計書ＩＤと、ドキュメントテンプレートＩＤとを持つ。設計書ＩＤと、ドキュメントテンプレートＩＤの複合が、設計書対応テンプレート情報の主キーである。各データ項目の意味は、次の通りである。
設計書ＩＤは、設計書を一意に識別するＩＤ。設計書ＩＤは、設計書対応テンプレート情報と設計書情報とを関連付ける。
ドキュメントテンプレートＩＤは、ドキュメントテンプレートを一意に識別するＩＤ。ドキュメントテンプレートＩＤは、設計書対応テンプレート情報とドキュメントテンプレート情報とを関連付ける。
【０１０４】
（１７）カスタマイズ情報（Ｔ１７）は、ドキュメントテンプレートのカスタマイズの情報を表すものである。カスタマイズ情報は、データ項目として、カスタマイズＩＤと、変更前ドキュメントテンプレートＩＤと、変更前ドキュメントテンプレート名と、変更後ドキュメントテンプレートＩＤと、変更後ドキュメントテンプレート名と、変更前の設計項目と、変更後の設計項目と、変更種類とを持つ。カスタマイズＩＤが、カスタマイズ情報の主キーである。各データ項目の意味は、次の通りである。
カスタマイズＩＤは、カスタマイズを一意に識別するＩＤである。プロジェクトのカスタマイズが、別のプロジェクトで登録したカスタマイズと同じである場合、同じカスタマイズのカスタマイズＩＤは統一する。つまり、異なる複数のプロジェクトが同一のカスタマイズを有する場合、それらのカスタマイズは単一のカスタマイズＩＤによって識別されるようにする。
変更前ドキュメントテンプレートＩＤは、変更前のドキュメントテンプレートＩＤを一意に識別するＩＤである。当該カスタマイズにより、ドキュメントテンプレートが削除され、または名称変更された場合に、その変更が行われる前のドキュメントテンプレートＩＤを表す。変更前ドキュメントテンプレートＩＤは、ドキュメントテンプレート情報のドキュメントテンプレートＩＤに、関連付く。
変更前ドキュメントテンプレート名は、変更前のドキュメントテンプレートの名称である。当該カスタマイズにより、ドキュメントテンプレートが削除され、または名称変更された場合に、変更される前のドキュメントテンプレートの名称を表す。
変更後ドキュメントテンプレートＩＤは、変更後のドキュメントテンプレートＩＤを一意に識別するＩＤである。当該カスタマイズにより、テンプレートの名称変更や設計項目の名称変更が行われた場合に、その変更後のドキュメントテンプレートＩＤを表す。ドキュメントテンプレートの名称変更や設計項目の名称変更ではなく、当該カスタマイズによってドキュメントテンプレートを新しく追加した場合には、新たなＩＤが付与される。変更後ドキュメントテンプレートＩＤは、ドキュメントテンプレート情報のドキュメントテンプレートＩＤに、関連付く。
変更後ドキュメントテンプレート名は、変更後のドキュメントテンプレートの名称である。当該カスタマイズにより、ドキュメントテンプレートが追加され、または名称変更された場合に、カスタマイズされた後のドキュメントテンプレートの名称を表す。
変更前の設計項目は、当該カスタマイズにより、設計項目が削除または名称変更された場合に、カスタマイズされる前の設計項目を表す。
変更後の設計項目は、当該カスタマイズにより、設計項目が追加または名称変更された場合に、カスタマイズされた後の設計項目を表す。
変更種類は、当該カスタマイズがどのような種類の変更であるかを表す。変更種類は、「テンプレート（追加）」、「テンプレート（削除）」、「設計項目（追加）」、「設計項目（削除）」、「テンプレートの名称変更」、「設計項目の名称変更」といった値をとり得る。
【０１０５】
図１８と図１９とは、次の通りに接続されて、全体として１つのＥＲ図を成している。即ち、プロジェクト情報（Ｔ１）と設計書一式情報（Ｔ９）とが相互に関連付いており、これら両者を連結するキーは、プロジェクトＩＤである。また、プロジェクトカスタマイズ情報（Ｔ４）とカスタマイズ情報（Ｔ１７）とが関連付いており、これら両者を連結するキーは、カスタマイズＩＤである。
【０１０６】
また、上述した各データ（テーブル）と、図１に示した各データベースとの関係は、次の通りである。
ドキュメントテンプレートデータベース７は、ドキュメントテンプレート一式情報（Ｔ１２）と、ドキュメントテンプレート一式関連テンプレート（Ｔ１３）と、ドキュメントテンプレート情報（Ｔ１４）と、テンプレート設計項目（Ｔ１５）とを有している。
プロジェクト別設計書データベース８は、設計書一式情報（Ｔ９）と、設計書ファイル一式とを有している。なお、設計書ファイル一式は、図１８，図１９のＥＲ図には含まれていない。設計書ファイル一式の所在情報は、設計書一式情報内の、設計書一式へのパスに格納されている。
カスタマイズ情報データベース９は、カスタマイズ情報（Ｔ１７）と、プロジェクトカスタマイズ情報（Ｔ４）とを有している。
プロジェクト情報データベース１０は、プロジェクト情報（Ｔ１）と、属性値情報（Ｔ２）と、属性情報（Ｔ３）とを有している。
また、プロジェクト属性数データ（Ｔ５）と、カスタマイズ実施数データ（Ｔ６）と、カスタマイズと属性値の総当たりデータ（Ｔ７）と、ドキュメントテンプレートと属性値の総当たりデータ（Ｔ８）と、設計書情報（Ｔ１０）と、設計項目（Ｔ１１）と、設計書対応テンプレート情報（Ｔ１６）とは、データベースに登録されるデータではなく、処理時にメモリ上等に置かれるデータである。
【０１０７】
次に、ドキュメントテンプレートデータベース７に登録されている各テーブルのデータ例について説明する。
図２０は、ドキュメントテンプレート一式情報（Ｔ１２）のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレート一式ＩＤである。図示するデータ例は、ドキュメントテンプレート一式ＩＤとして、Ｔ００１，Ｔ００２，Ｔ００３を少なくとも含む。これらに対応するドメイン種別は、それぞれ、標準，製造，金融である。つまり、ドキュメントテンプレート一式ＩＤがＴ００１であるドキュメントテンプレート一式は、ドメインに依存しない標準のテンプレートである。そして、ドキュメントテンプレート一式ＩＤがＴ００２およびＴ００３であるドキュメントテンプレート一式は、ドメインに依存するテンプレートであり、それぞれのドメイン種別は、製造および金融である。また、バージョンは、各ドキュメントテンプレート一式の改訂状態（バージョン番号）を表す。本例では、大規模な改訂は整数部で表し、小規模な改訂は小数部の数字で表している。ただし、バージョン番号の付け方は任意であり、各組織で適宜決めてよい。
【０１０８】
図２１は、ドキュメントテンプレート情報（Ｔ１４）のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレートＩＤである。図示するデータ例は、ドキュメントテンプレートＩＤとして、ＴＲ００１，ＴＲ００２を少なくとも含む。これらそれぞれに対応するドキュメントテンプレート例は、機能一覧表と、画面一覧表である。
【０１０９】
なお、ドキュメントテンプレートのバージョンを管理するようにドキュメントテンプレート情報を拡張してもよい。この拡張を行う場合、バージョンというデータ項目を新たに設ける。そして、ドキュメントテンプレートＩＤとバージョンの複合を主キーとする。そして、１つのドキュメントテンプレートＩＤに対して、複数のバージョンのドキュメントテンプレートを管理できるようにする。
【０１１０】
図２２は、ドキュメントテンプレート一式関連テンプレート（Ｔ１３）のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレート一式ＩＤとドキュメントテンプレートＩＤの複合キーである。図示するデータ例は、ドキュメントテンプレート一式ＩＤとして、少なくともＴ００１を含んでいる。また、このデータ例は、このＴ００１に関連して、ドキュメントテンプレートＩＤとして少なくともＴＲ００１，ＴＲ００２，ＴＲ００３を含んでいる。つまり、このデータは、ドキュメントテンプレート一式（ＩＤがＴ００１、名称が「標準テンプレート一式）は、ＴＲ００１「機能一覧表」、ＴＲ００２「画面一覧表」、ＴＲ００３「帳票一覧表」というドキュメントテンプレートを含むことを表している。
【０１１１】
図２３は、テンプレート設計項目（Ｔ１５）のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、テンプレート設計項目ＩＤである。
図示するデータ例は、ドキュメントテンプレート（ＩＤがＴＲ００１、名称が「機能一覧表」）が、設計項目として、「機能ＩＤ」、「機能名」、「説明」を含むことを表している。そして、これらそれぞれのテンプレート設計項目ＩＤは、ＴＲＩ０１０１，ＴＲＩ０１０２，ＴＲＩ０１０３である。また、データ項目「必須」によると、これらの設計項目のうち、機能ＩＤと機能名が必須であり、説明は非必須である。
また、このデータ例は、別のドキュメントテンプレート（ＩＤがＴＲ００２、名称が「画面一覧表」）が、設計項目として、「画面ＩＤ」、「画面名」、「画面種別」を含むことを表している。そして、これらそれぞれのテンプレート設計項目ＩＤは、ＴＲＩ０２０１，ＴＲＩ０２０２，ＴＲＩ０２０３である。また、データ項目「必須」によると、これらの設計項目のうち、画面ＩＤと画面名が必須であり、画面種別は非必須である。
【０１１２】
ここで、欄「必須」に「○」印のついた設計項目は、そのドキュメントテンプレートに必ずなくてはならない設計項目である。つまり、ドキュメントテンプレート「機能一覧表」（ＩＤは、ＴＲ００１）には設計項目「機能ＩＤ」（ＩＤは、ＴＲＩ０１０１）と「機能名」（ＩＤは、ＴＲＩ０１０２）が必須である。つまり、これら２つの設計項目について、削除したり名称変更したりすることができないという制約を有する。また、同様に、ドキュメントテンプレート「画面一覧表」（ＩＤは、ＴＲ００２）には設計項目「画面ＩＤ」（ＩＤは、ＴＲＩ０２０１）と「画面名」（ＩＤは、ＴＲＩ０２０２）が必須である。
仮に必須の設計項目が変更された場合には、設計書構造情報抽出部３が、設計書の元になったドキュメントテンプレートを判定する（ステップＳ３−１２）際に、ドキュメントテンプレート「機能一覧表」として判定されなくなる。
【０１１３】
次に、ドキュメントテンプレートをカスタマイズして設計書を作成した場合に、設計書を登録する処理の例を説明する。
図２４は、テンプレート改善支援装置１００のメニュー画面を示す概略図である。この画面で開発者が「プロジェクト設計書登録」を選択すると、プロジェクト設計書登録部２が、プロジェクト設計書登録画面を表示する（ステップＳ２−１の処理）。
【０１１４】
図２５は、「プロジェクト設計書登録」が選択されたときに表示されるプロジェクト設計書登録画面を示す概略図である。なお、この画面に関する処理を、プロジェクト設計書登録部２が行う。
同図の、「プロジェクト選択」の箇所において、プロジェクトＩＤとプロジェクト名が表示されている。プロジェクトＩＤとしては、プロジェクト情報データベース１０に登録されている全プロジェクトのプロジェクトＩＤが表示され、選択可能となっている。開発者が特定のプロジェクトＩＤを選択すると、そのプロジェクトＩＤに対応するプロジェクト名が表示される。このプロジェクト名もまた、プロジェクト情報データベース１０から読み出されるものである。
また、同図の、「設計書登録」の箇所で、プロジェクトの設計書が格納されたフォルダーまでのパスを入力することができるようになっている。
また、同図の、「ドキュメントテンプレート一式情報登録」の箇所で、開発者が、使用したドキュメントテンプレート一式ＩＤを選択することができるようになっている。あるドキュメントテンプレート一式ＩＤが選択されると、そのＩＤに対応するドキュメントテンプレート一式名が表示される。本例では、ドキュメントテンプレート一式「金融向けテンプレート」（ＩＤは、Ｔ００３）が選択された状態を示している。なお、ドキュメントテンプレート一式ＩＤおよびドキュメントテンプレート一式名の情報は、ドキュメントテンプレートデータベース７から読み出される。また、同図の「登録」というボタンを押下すると、「設計書登録」の箇所で指定したフォルダーおよびその下位のフォルダーに格納されている設計書が、プロジェクト別設計書データベース８に登録される。
【０１１５】
なお、上の例は、銀行向けシステム開発プロジェクトに関する設計書登録の例である。したがって、ここでは、「金融向けテンプレート」という名称を持つ、金融ドメインのドキュメントテンプレート一式が使用されている。そして、このようなドキュメントテンプレート一式をカスタマイズして、設計が行われる。
【０１１６】
図２６は、設計書一式情報（Ｔ９）のデータ例を示す概略図である。図示するデータ例は、プロジェクト設計書登録画面（図２５）からの登録されたデータの例である。図示するデータ例は、設計書一式ＩＤとして、少なくともＳ００１，Ｓ００２，Ｓ００３を含んでいる。設計書一式ＩＤは、開発者がプロジェクトの設計書を登録する際に付与される、ユニークなＩＤである。設計書一式ＩＤがＳ００１である行は、「Ａ銀行向けシステム開発」プロジェクトで作成した設計書一式に対応するものである。
設計書一式ＩＤ「Ｓ００１」に対応するプロジェクトＩＤは「Ｐ００１］である。このプロジェクトＩＤ「Ｐ００１］は、プロジェクト設計書登録画面（図２５）からの登録時に、「プロジェクト選択」の箇所で選択されたプロジェクトＩＤである。
また、設計書一式ＩＤ「Ｓ００１」に対応するドキュメントテンプレート一式ＩＤは「Ｔ００３］である。このドキュメントテンプレート一式ＩＤは、同じくプロジェクト設計書登録画面（図２５）からの登録時に、「ドキュメントテンプレート一式情報登録」の箇所で選択されたドキュメントテンプレート一式ＩＤである。
また、設計書一式ファイルまでのパスの欄に格納されている「\\設計書一式\\A銀行向けシステム開発\01」は、同じくプロジェクト設計書登録画面（図２５）からの登録時に「設計書登録」の箇所で指定されたパス情報である。なお、この欄に格納されているパスは、プロジェクト情報データベース１０内における所在情報である。ただし、プロジェクト情報データベース１０外の場所（例えば、ファイルサーバー装置内の場所等）を保持するようにしてもよい。
【０１１７】
なお、設計書一式情報は、設計書一式ＩＤがＳ００２やＳ００３である行についても、同様に、設計書一式に関する情報を保持している。
【０１１８】
図２７は、設計書情報（Ｔ１０）のデータ例を示す概略図である。図示するデータ例は、「Ａ銀行向けシステム開発」プロジェクトに関連する設計書を登録した例である。前述の通り、本テーブルの主キーは、設計書ＩＤである。図示するデータ例は、設計書ＩＤとして、ＤＲ００１，ＤＲ００２，ＤＲ００３，ＤＲ００４，ＤＲ００５を少なくとも含んでいる。そして、これらの設計書ＩＤに対応する設計書名は、それぞれ、「機能一覧表」、「画面一覧表」、「機能定義書（帳票作成）」、「機能定義書（画面表示）」、「機能定義書（データ集計）」である。
なお、設計書構造情報抽出部３は、指定されたパス情報に基づいて設計書ファイルを読み込んだ際に、ユニークな設計書ＩＤを付与する。また、設計書構造情報抽出部３は、予め定められたルール等に基づいて、設計書ファイルを読み込んだ際に、設計書名を抽出して、設計書情報の設計書名の欄に登録する。
【０１１９】
上に挙げた設計書のうち、「機能定義書（帳票作成）」（ＩＤは、ＤＲ００３）、「機能定義書（画面表示）」（ＩＤは、ＤＲ００４）、「機能定義書（データ集計）」（ＩＤは、ＤＲ００５）は、同一のドキュメントテンプレートを基に作成されている。比較エンジン部４における処理を実施する前に、同じドキュメントテンプレートから作成したこれら３つの設計書の間で、設計構造が統一しているかどうかを確認する。他の設計書と異なる設計構造を持つ設計書については、設計書そのものを同図の設計書情報から取り除くか、開発者が修正をして再度、プロジェクト設計書登録画面から登録するようにする。
【０１２０】
図２８は、設計項目（Ｔ１１）のデータ例を示す概略図である。図示するデータ例は、図２７に示した設計書のうち、設計書「機能一覧表」（ＩＤは、ＤＲ００１）と設計書「画面一覧表」（ＩＤは、ＤＲ００２）に関する設計項目の情報を含む。図示するように、設計書「機能一覧表」（ＩＤは、ＤＲ００１）は、「機能ＩＤ」（設計項目ＩＤは、ＤＲＩ０１０１）、「機能名」（設計項目ＩＤは、ＤＲＩ０１０２）、「機能説明」（設計項目ＩＤは、ＤＲＩ０１０３）の３つを有する。また、設計書「画面一覧表」（ＩＤは、ＤＲ００２）は、「画面ＩＤ」（設計項目ＩＤは、ＤＲＩ０２０１）、「画面名」（設計項目ＩＤは、ＤＲＩ０２０２）、「画面種別」（設計項目ＩＤは、ＤＲＩ０２０３）の３つを有する。
【０１２１】
設計書構造情報抽出部３は、指定されたパス情報に基づいて設計書ファイルを読み込んだ際に、設計書から設計項目を抽出し、ユニークな設計項目ＩＤを付与する。なお、設計書構造情報抽出部３は、設計書のファイル内から、定義されている設計項目名を全て抜き出して登録する。また、設計書構造情報抽出部３は、設計書に付与した設計書ＩＤを用いて、設計項目ＩＤと設計書ＩＤとを、このテーブル内で関連付ける。設計書ＩＤは、設計項目と設計書情報（図２７）とを連結するキーである。
【０１２２】
設計書構造情報抽出部３は、「Ａ銀行向けシステム開発」プロジェクトの設計書の設計構造を抜き出すとともに、設計書の構造情報と一致するドキュメントテンプレートを抽出する。そして、設計書構造情報抽出部３は、設計書と、その設計書の基となったドキュメントテンプレートとの対応付けを行う。
【０１２３】
同じドキュメントテンプレートから作成した複数の設計書が異なる構造を有すると、比較エンジン部４が、ドキュメントテンプレートの設計構造と、設計書の設計構造との比較を正しく行えない。そのため、テンプレート改善支援装置１００は、同一のドキュメントテンプレートから作成した複数の設計書について、同一の設計構造を持つものとして取り扱う。もし、設計書の間で設計構造が違う場合は、設計書構造情報抽出部３はエラーメッセージを出力（表示）する（ステップＳ３−２２）。
【０１２４】
図２９は、設計書構造情報抽出部３が表示するエラーメッセージの画面の例を示す概略図である。図示する例では、このエラーメッセージは、設計構造が一致しなかった２つの設計書の、設計書ＩＤ（具体的には、ＤＲ００３とＤＲ００４）と設計書名とを表示している。これらの設計書「機能定義書（帳票作成）」（ＤＲ００３）と「機能定義書（画面表示）」（ＤＲ００４）とは、同じドキュメントテンプレートに基づいて作成されている。しかし、片方の設計書の構造が、他方の設計書の構造と異なっているため、設計書構造情報抽出部３は、エラーとして扱っている。
【０１２５】
次に、プロジェクトの属性値を保持するテーブルについて説明する。
図３０は、プロジェクト情報（Ｔ１）のデータ例を示す概略図である。図示するデータ例は、プロジェクト情報管理部５が表示する（ステップＳ５−１）プロジェクト属性登録画面から登録されるものである。前述の通り、本テーブルの主キーは、プロジェクトＩＤである。このデータは、プロジェクトＩＤとして、Ｐ００１，Ｐ００２，Ｐ００３を少なくとも有している。そして、これらのプロジェクトＩＤに対応するプロジェクト名は、それぞれ、「Ａ銀行向けシステム開発」、「Ｂ社向け給与システム開発」、「Ｃ病院向け勤務管理システム開発」である。プロジェクト情報管理部５は、プロジェクトを登録する際に、ユニークなプロジェクトＩＤを付与する。また、プロジェクト情報管理部５は、開発者が画面から入力したプロジェクトの名称を、プロジェクト名として登録する。
【０１２６】
図３１は、プロジェクトの属性情報（Ｔ３）のデータ例を示す概略図である。図示するデータ例は、プロジェクトの属性の種類として、プロジェクト名（属性ＩＤは、ＡＴ００１）と、開始日（属性ＩＤは、ＡＴ００２）と、納入計画（属性ＩＤは、ＡＴ００３）と、見積り金額（属性ＩＤは、ＡＴ００４）と、開発形態（属性ＩＤは、ＡＴ００５）とを少なくとも含んでいる。開発形態とは、例えば、新規の開発であるか、あるいは機能変更のための改造開発であるかといった区別を表す情報である。開発形態に応じて、設計書の構造も変わる。なお、これらの属性の種類について、テンプレート改善支援装置１００を使用する組織が予め決めておくようにする。そして、決められた属性をテンプレート改善支援装置１００に登録する際に、テンプレート改善支援装置１００は属性ごとにユニークな属性ＩＤを付与する。また、テンプレート改善支援装置１００は、登録された属性名を本テーブルに登録する。
プロジェクトの開発者は、プロジェクト属性登録画面に表示されるこれらの属性の各々について、プロジェクトの情報（属性値）を登録することができる。
【０１２７】
図３２は、プロジェクトの属性値情報（Ｔ２）のデータ例を示す概略図である。図示するデータ例は、プロジェクトごと、且つ属性ごとに登録された属性値を含んでいる。プロジェクトＩＤは、プロジェクト情報（図３０）に登録されている属性ＩＤに関連付けられる。属性ＩＤは、属性情報（図３１）に登録されている属性ＩＤに関連付けられる。そして、それぞれの属性値は、そのプロジェクトのその属性に関して、開発者が入力した値である。
同図の例では、プロジェクトＩＤがＰ００１であるプロジェクトに関して、プロジェクト名（属性ＩＤは、ＡＴ００１）は、「Ａ銀行向けシステム開発」である。また、開始日（属性ＩＤは、ＡＴ００２）は、「２０１５年９月１日」である。また、開発形態（属性ＩＤは、ＡＴ００５）は、「改造」である。
同様に、プロジェクトＩＤがＰ００２であるプロジェクトに関して、プロジェクト名（属性ＩＤは、ＡＴ００１）は、「Ｂ社向け給与システム開発」である。
【０１２８】
次に、比較エンジン部４の動作例について説明する。
比較エンジン部４は、プロジェクト別設計書データベース８に登録した、特定プロジェクトの設計書の設計構造と、ドキュメントテンプレートデータベース７に登録されている、ドキュメントテンプレートの設計構造とを比較する。ここでは、「Ａ銀行向けシステム開発」プロジェクトの設計書の例について説明する。なお、比較対象とするドキュメントテンプレートは、そのプロジェクトにおいて設計書を作成するために持ちられたテンプレートである。比較エンジン部４は、比較の結果得られる差分（変更分）をカスタマイズ情報として、カスタマイズ情報データベース９に登録する。
【０１２９】
図３３は、カスタマイズ情報（Ｔ１７）のデータ例を示す概略図である。図示するデータ例の１行が、１件のカスタマイズに対応している。１件のカスタマイズは、追加、削除、名称変更のいずれかである。
カスタマイズＩＤは、比較エンジン部４が、カスタマイズ情報を抽出した際に付与するユニークなＩＤである。このデータ例は、カスタマイズＩＤとして、Ｋ０００１，Ｋ０００２，Ｋ０００３，Ｋ０００４を少なくとも含んでいる。
【０１３０】
カスタマイズＩＤがＫ０００１であるカスタマイズの変更種類は、「設計項目（追加）」である。
設計項目の追加の場合、変更後設計項目の欄が、追加された設計項目の情報を保持する。また、変更後設計項目ＩＤの欄は、追加された設計項目のＩＤを保持する。変更後設計項目ＩＤとして、比較エンジン部４は、ユニークなＩＤを採番して付与する。また、設計項目の追加の場合、設計項目が追加されたドキュメントテンプレートの情報を、変更前ドキュメントテンプレートＩＤおよび変更前ドキュメントテンプレート名の欄が保持する。当該カスタマイズにおいて、変更後設計項目ＩＤは、ＴＲＩ０２０７である。また、変更後設計項目（即ち、追加された設計項目）は、「関連機能名」である。また、変更前ドキュメントテンプレートＩＤは、ＴＲ００２である。また、変更前ドキュメントテンプレート名は、「画面一覧表」である。その他の項目は、空欄（例えばＮＵＬＬ等の値）である。
【０１３１】
カスタマイズＩＤがＫ０００２であるカスタマイズの変更種類は、「設計項目（削除）」である。
設計項目の削除の場合、変更前設計項目の欄が、削除された設計項目の情報を保持する。また、変更前設計項目ＩＤの欄は、削除された設計項目のＩＤを保持する。また、設計項目の削除の場合、設計項目が削除されたドキュメントテンプレートの情報を、変更前ドキュメントテンプレートＩＤ、変更前ドキュメントテンプレート名、変更後ドキュメントテンプレートＩＤ、変更後ドキュメントテンプレート名の欄が保持する。当該カスタマイズにおいて、変更前設計項目ＩＤは、ＴＢＩ０５０３である。また、変更前設計項目（即ち、削除された設計項目）は、「初期値」である。また、変更前ドキュメントテンプレートＩＤおよび変更後ドキュメントテンプレートＩＤは、共にＴＢ００５である。また、変更前ドキュメントテンプレート名および変更後ドキュメントテンプレート名は、ともに「データ項目仕様書」である。その他の項目は、空欄（例えばＮＵＬＬ等の値）である。
【０１３２】
カスタマイズＩＤがＫ０００３であるカスタマイズの変更種類は、「テンプレート（追加）」である。
テンプレートの追加の場合、変更後ドキュメントテンプレート名の欄が、追加されたドキュメントテンプレートの名称を保持する。また、変更後ドキュメントテンプレートＩＤの欄は、追加されたドキュメントテンプレートのＩＤを保持する。変更後ドキュメントテンプレートＩＤとして、比較エンジン部４は、ユニークなＩＤを採番して付与する。当該カスタマイズにおいて、変更後ドキュメントテンプレートＩＤは、ＴＢ１０１である。また、変更後ドキュメントテンプレート名は、「新業務・現業務対応表」である。その他の項目は、空欄（例えばＮＵＬＬ等の値）である。
【０１３３】
カスタマイズＩＤがＫ０００４であるカスタマイズの変更種類は、「テンプレート（削除）」である。
テンプレートの削除の場合、変更前ドキュメントテンプレート名の欄が、削除されたドキュメントテンプレートの名称を保持する。また、変更前ドキュメントテンプレートＩＤの欄は、削除されたドキュメントテンプレートのＩＤを保持する。当該カスタマイズにおいて、変更前ドキュメントテンプレートＩＤは、ＴＲ０２９である。また、変更前ドキュメントテンプレート名は、「帳票レイアウト」である。その他の項目は、空欄（例えばＮＵＬＬ等の値）である。
【０１３４】
ここで、開発者による、カスタマイズ情報の修正について説明する。
図３４は、比較エンジン部４が表示するカスタマイズ分析途中経過画面を示す概略図である。比較エンジン部は既に説明したステップＳ４−２２で、このカスタマイズ分析途中経過画面を表示する。このカスタマイズ分析途中経過画面は、カスタマイズ情報データベース９に登録される前のカスタマイズ情報を含んでいる。カスタマイズ情報の主キーは、カスタマイズＩＤである。なお、開発者がこの画面から新規のカスタマイズ情報を追加した場合には、比較エンジン部４は、そのカスタマイズにユニークなカスタマイズＩＤを発番し、付与する。
図示する例では、カスタマイズＩＤとして、Ｋ０００５およびＫ０００６を含む。カスタマイズＩＤがＫ０００５であるカスタマイズに関して、変更種類は「設計項目（削除）」であり、変更前設計項目は「説明」である。カスタマイズＩＤがＫ０００６であるカスタマイズに関して、変更種類は「設計項目（追加）」であり、変更後設計項目は「機能説明」である。この、Ｋ０００５およびＫ０００６のカスタマイズは、比較エンジン部４によって自動的に抽出されたものである。開発者は、この画面を見て、カスタマイズ情報を修正することができる。
【０１３５】
図３５は、開発者が修正する前のカスタマイズ情報を示す概略図である。図示する修正前のカスタマイズ情報は、カスタマイズＩＤとして、Ｋ０００５およびＫ０００６を含んでいる。これらは、図３４のカスタマイズ分析途中経過画面に含まれていたカスタマイズ情報と同様のものである。なお、カスタマイズＩＤがＫ０００５およびＫ０００６であるカスタマイズに関して、変更前ドキュメントテンプレートＩＤはＴＲ００１であり、変更前ドキュメントテンプレート名は「機能一覧表」である。つまり、Ｋ０００５およびＫ０００６は、ともに、ドキュメントテンプレート「機能一覧表」に関する、設計項目のカスタマイズに関するものである。
【０１３６】
図３６は、開発者が修正した後のカスタマイズ情報を示す概略図である。このカスタマイズ情報は、カスタマイズＩＤとしてＫ０００７を有している。開発者が、Ｋ０００５およびＫ０００６を修正した結果が、Ｋ０００７である。
実際の開発プロジェクトにおいて、開発者は、ドキュメントテンプレート「機能一覧表」の設計項目「説明」を設計項目「機能説明」に変更した。この場合、比較エンジン部４は、図３５に示したように、この変更を、設計項目の削除（Ｋ０００５）および設計項目の追加（Ｋ０００６）であるとして、つまり別々のカスタマイズとして抽出した。しかし実際には、設計項目の名称変更であるため、開発者は２行にわたるカスタマイズ（Ｋ０００５およびＫ０００６）を１行にまとめるとともに、そのカスタマイズの変更種類を「名称変更」に修正する。図３６が、修正後のカスタマイズ情報である。修正後のカスタマイズ情報においては、カスタマイズＩＤとしてＫ０００５とＫ０００６が欠番となり、新規の行（「名称変更」の行）のカスタマイズＩＤとしてＫ０００７が付与されている。
【０１３７】
なお、上では、開発者による操作に基づいて、設計項目の削除および追加のというカスタマイズのペアを、設計項目の変更というカスタマイズに修正する例を説明した。
代わりに、比較エンジン部４が、削除された設計項目と追加された設計項目とを紐付けて、設計項目の名称変更を自動的に抽出するようにしてもよい。そのためには、例えば、カスタマイズが設計書を変更する際に、その編集過程における変更履歴を残しておくようにする。そして、比較エンジン部４は、この変更履歴に基づいて、設計項目の名称変更を抽出する。
【０１３８】
次に、プロジェクトとカスタマイズとの関係の管理について説明する。
図３７は、プロジェクトカスタマイズ情報（Ｔ４）のデータ例を示す概略図である。比較エンジン部４は、抽出したカスタマイズ情報をカスタマイズ情報データベース９に登録する際に、どのカスタマイズがどのプロジェクトにおいて実施されたものであるかを表す情報を、このプロジェクトカスタマイズ情報として記録する。図示するデータ例は、プロジェクトＩＤとして、Ｐ００１，Ｐ００２，Ｐ００３を少なくとも含んでいる。
そして、このデータにおいて、プロジェクトＩＤ「Ｐ００１」は、カスタマイズＩＤ「Ｋ０００１」および「Ｋ０００２」に対応付けられている。つまり、プロジェクトＩＤがＰ００１であるプロジェクトは、カスタマイズＩＤがＫ０００１およびＫ０００２であるカスタマイズを実施したことを表している。
同様に、プロジェクトＩＤ「Ｐ００２」は、カスタマイズＩＤ「Ｋ０００３」および「Ｋ０００４」に対応付けられている。
同様に、プロジェクトＩＤ「Ｐ００３」は、カスタマイズＩＤ「Ｋ０００２」に対応付けられている。
【０１３９】
上記の通り、プロジェクトカスタマイズ情報の例において、カスタマイズＩＤ「Ｋ０００２」は、プロジェクトＩＤ「Ｐ００１」と「Ｐ００３」の両方に対応付けられている。つまり、同一のカスタマイズを複数のプロジェクトに関して検出した場合、比較エンジン部４は、それらのカスタマイズに同一のカスタマイズＩＤを用いる。つまり、比較エンジン部４が既存のカスタマイズを別のプロジェクトで検出した場合、比較エンジン部４は既存のカスタマイズＩＤをそのカスタマイズに関して用いる。
【０１４０】
次に、分析結果の表示について説明する。図２４に示したメニュー画面で「分析結果表示」が選択されると、カスタマイズ情報表示部６は、テンプレート改善支援装置１００内のデータベースに登録されているデータを用いて、分析処理を行う。このときカスタマイズ情報表示部６が行う分析処理は、カスタマイズと属性値の分析と、ドキュメントテンプレートと属性値の分析である。
カスタマイズ情報表示部６は、分析のための事前処理として、プロジェクト属性値の数の集計（図３８）と、各カスタマイズを実施したプロジェクトの数の集計（図３９）を行う。そして、カスタマイズ情報表示部６は、これらの集計データを用いて分析した結果を、カスタマイズと属性値の総当たりデータ（図４２）、およびドキュメントテンプレートと属性値の総当たりデータ（図４３）とする。
【０１４１】
図３８は、プロジェクト属性数データ（Ｔ５）のデータ例を示す概略図である。このデータ例は、カスタマイズ情報表示部６がプロジェクトの属性値の数を集計した結果である。つまり、このデータは、特定の属性ＩＤに対して特定の属性値を持つプロジェクトの数を集計した結果を表している。
プロジェクト属性数データにおける属性ＩＤは、プロジェクト情報データベース１０に登録した属性情報（図３１）における属性ＩＤと関連付けられている。
また、属性値は、プロジェクト情報データベース１０に登録した属性値情報（図３２）における属性値と関連付けられている。
また、プロジェクト数は、特定の属性ＩＤで、特定の属性値に該当するプロジェクトの数を表している。
特定の属性ＩＤに対する属性値の種類が複数ある場合には、カスタマイズ情報表示部６は、各々の属性値についてプロジェクト数を集計する。
図示するデータ例は、属性ＩＤとしてＡＴ００５を含んでいる。このＡＴ００５に対応する属性値は、「改造」あるいは「新規」である。そして、これらそれぞれに対応するプロジェクト数は、４８および１２である。
このプロジェクト属性数データは、カスタマイズ情報分析部６１による処理で使用される。
【０１４２】
なお、上では、属性値が完全に一致するプロジェクト数を集計する例を説明した。しかし、属性値の取り得る値の種類が非常に多い場合には、属性値が完全に一致するプロジェクトの数は少ない。そこで、属性の種類によっては、属性値の範囲や、属性値の所定の集合（グループ）ごとに、プロジェクト数を集計するようにしてもよい。例えば、見積り金額などといった属性に関しては、金額の範囲ごとに、プロジェクト数を集計するようにする。また、（プロジェクトの）開始日などといった属性に関しては、日付の範囲（月や、四半期や、年や、その他の期間等）ごとにプロジェクト数を集計するようにする。この場合、属性の種類ごとに、どういった属性値でプロジェクト数を集計するかを、予め定義しておけるようにする。
【０１４３】
図３９は、カスタマイズ実施数データ（Ｔ６）のデータ例を示す概略図である。このデータ例は、プロジェクト情報データベース１０に登録されている全プロジェクトのうち、特定のカスタマイズをしたプロジェクトの数の集計結果を有している。カスタマイズ実施数データは、カスタマイズ情報分析部６１の処理で利用される。
カスタマイズＩＤは、カスタマイズ情報データベース９に登録している、カスタマイズ情報のカスタマイズＩＤを表す。
プロジェクト数」は、各カスタマイズを実施したプロジェクトの集計数を表す。
図示するデータ例は、カスタマイズＩＤとして、Ｋ０００１，Ｋ０００２，Ｋ０００３を少なくとも含んでいる。そして、これらに対応するプロジェクト数は、それぞれ、３０個、６５個、１７個である。
【０１４４】
次に、カスタマイズと属性値との関係についての分析処理の例を説明する。
カスタマイズと属性値の総当たりデータ（Ｔ７）は、特定の属性値を持つプロジェクトによく実施されているカスタマイズは何かを分析するために作成するデータである。
テンプレート改善支援装置１００は、分析の手段として、支持度、信頼度、期待信頼度、リフト値といった数値を算出する。
【０１４５】
支持度は、全てのプロジェクトのうち、特定の属性値を持ち、かつ、特定のカスタマイズをしているプロジェクトの割合を示す。支持度が大きいほど、全プロジェクトの中で、特定の属性値を持つプロジェクトが、特定のカスタマイズを実施している割合が高いと言える。カスタマイズ情報分析部６１は、支持度を、下の計算式によって算出する。
（支持度）=（属性値Ａを有し、且つカスタマイズＢを実施したプロジェクト数）／（プロジェクト情報データベース１０に登録した全プロジェクト数）
【０１４６】
信頼度は、特定の属性値を持つプロジェクトのうち、特定のカスタマイズを実施したプロジェクトの割合を示す。信頼度が高いほど、「その特定の属性値を持つプロジェクトが、その特定のカスタマイズを実施する割合が高い」と言える。カスタマイズ情報分析部６１は、信頼度を、下の計算式によって算出する。
（信頼度）＝（属性値Ａを有し、且つカスタマイズＢを実施したプロジェクト数）／（属性値Ａを持つプロジェクト数）
なお、上記計算式の分母である「属性値Ａを持つプロジェクト数」には、図３８で示したプロジェクト属性数データの値を使用する。
【０１４７】
期待信頼度は、全てのプロジェクトのうち、特定のカスタマイズをしているプロジェクトの割合を示す。期待信頼度が高いほど、よく実施されているカスタマイズであり、期待信頼度が小さければ稀なカスタマイズであると言える。カスタマイズ情報分析部６１は、期待信頼度を、下の計算式によって算出する。
（期待信頼度）＝（カスタマイズＢを実施したプロジェクト数）／（プロジェクト情報データベース１０に登録した全プロジェクト数）
なお、上記計算式の分子である「カスタマイズＢを実施したプロジェクト数」には、図３９で示したカスタマイズ実施数のデータを利用する。
【０１４８】
リフト値は、属性値とカスタマイズの依存関係を表す値である。リフト値が１より大きい場合、リフト値が大きいほど、属性値とカスタマイズの依存が強い。逆に、リフト値が１より小さいければ、依存が弱いことを示す。リスト値が１より小さいということは、信頼度が期待信頼度よりも小さいことを意味する。即ち、リスト値が１より小さい場合、プロジェクトの属性値がＡかどうかに関わりなく、カスタマイズＢが実施されている度合いが強いと言える。
（リフト値）＝（信頼度）／（期待信頼度）
【０１４９】
図４０および図４１の各々は、支持度と、信頼度と、期待信頼度と、リフト値との関係を示すベン図（Venn diagram）である。これらの図のそれぞれにおいて、一番外側の四角形は、全プロジェクトの集合を表す。そして、この集合の要素数が、全プロジェクト数である。また、左側の円は、属性値がＡであるプロジェクトの集合を表す。そして、この集合の要素数が、属性値がＡであるプロジェクト数である。また、右側の円ないしは楕円は、カスタマイズＢを実施したプロジェクトの集合を表す。そして、この集合の要素数が、カスタマイズＢを実施したプロジェクト数である。２つの円（ないしは楕円）の重なっている部分（共通部分）は、属性値がＡであり且つカスタマイズＢを実施したプロジェクトの集合を表す。そして、この集合の要素数が、属性値Ａを有し且つカスタマイズＢであるプロジェクト数を表している。
【０１５０】
図示するベン図において各集合の占める面積が集合の要素数にほぼ比例すると仮定した場合、図４０に示す場合では、リフト値が１より大きい。つまり、信頼度が期待信頼度よりも大きい。一方で、図４１に示す場合では、リフト値が１より小さい。つまり、信頼度が期待信頼度よりも小さい。
つまり、リフト値は、属性値Ａを有し且つカスタマイズＢを実施したプロジェクト数の属性値Ａを持つプロジェクト数の中での割合が、カスタマイズＢ実施したプロジェクト数の全プロジェクト数の中での割合、よりもどれくらい多いかを表す指標である。
【０１５１】
図４０に示すような場合で、属性値Ａを有し且つカスタマイズＢを実施したプロジェクト数の属性値Ａを持つプロジェクト数の中での割合が、カスタマイズＢ実施したプロジェクト数の全プロジェクト数の中での割合よりも大きければ、リフト値は１より大きくなる。これは、属性値ＡとカスタマイズＢとが関連して起こる度合いが高いことを表している。
逆に、図４１に示すような場合で、属性値Ａを有し且つカスタマイズＢを実施したプロジェクト数の属性値Ａを持つプロジェクト数の中での割合が、カスタマイズＢ実施したプロジェクト数の全プロジェクト数の中での割合よりも小さければ、リフト値は１より小さくなる。これは、プロジェクトが属性値Ａを有するか否かに関わらず、カスタマイズＢが起こる度合いが高いことを表している。
【０１５２】
図４２は、カスタマイズと属性値の総当たりデータ（Ｔ７）の例を示す概略図である。図示するデータは、カスタマイズ情報分析部６１が、カスタマイズと属性値の因果関係を分析した結果の例である。この例では、属性ＩＤがＡＴ００５である属性は、開発形態である（図３１を参照）。そして、このデータは、属性「開発形態」の属性値が「改造」である行と、「新規」である行とを含んでいる。
図４２の第１行目のデータは、次の通りである。この属性値が「改造」であり、且つカスタマイズＩＤがＫ０００１である場合、プロジェクト数は２０個である。そして、この属性値とカスタマイズＩＤとの組み合わせに関して、支持度は０．２であり、信頼度は０．８であり、期待信頼度は０．３であり、リフト値は２．７である。
また、図４２の第２行目のデータは、次の通りである。この属性値が「新規」であり、且つカスタマイズＩＤがＫ０００３である場合、プロジェクト数は１０個である。そして、この属性値とカスタマイズＩＤとの組み合わせに関して、支持度は０．１であり、信頼度は０．４であり、期待信頼度は０．５であり、リフト値は０．８である。
【０１５３】
また、図４２の第３行目のデータに関して、属性ＩＤがＡＴ００４である属性は、「見積り金額」である（図３１を参照）。そして、この行のデータは、属性「見積り金額」の属性値が「３０００万以上５０００万以下」である場合と、カスタマイズＩＤがＫ０００４であるカスタマイズを実施した場合との統計的関係の情報を保持している。具体的には、プロジェクト数が３個であり、支持度が０．０３であり、信頼度が０．３であり、期待信頼度が０．０５であり、リフト値が６．０である。
【０１５４】
なおここで、属性「見積り金額」に関しては、前述の通り、属性値の範囲ごとにプロジェクト数を集計している。
【０１５５】
図４３は、ドキュメントテンプレートと属性値の総当たりデータ（Ｔ８）の例を示す概略図である。図示するデータは、カスタマイズ情報分析部６１が、ドキュメントテンプレートと属性値の因果関係を分析した結果の例である。このデータは、属性値によって定まるドメインごとに、どういうドキュメントテンプレートが使われているかという傾向を、統計的に表す。
【０１５６】
図４３の第１行目のデータにおいて、属性ＩＤがＡＴ００５（属性は、「開発形態」）であり、属性値が「改造」である。また、ドキュメントテンプレートＩＤは「ＴＲ００１」である。このような属性値とドキュメントテンプレートＩＤの組み合わせに該当するプロジェクト数は、２５個である。そして、支持度は０．２５であり、信頼度１．０はであり、期待信頼度は０．５５であり、リフト値は１．８である。
図４３の第２行目のデータにおいて、属性ＩＤがＡＴ００５（属性は、「開発形態」）であり、属性値が「新規」である。また、ドキュメントテンプレートＩＤは「ＴＲ００１」である。このような属性値とドキュメントテンプレートＩＤの組み合わせに該当するプロジェクト数は、４５個である。そして、支持度は０．４５であり、信頼度０．９はであり、期待信頼度は０．５５であり、リフト値は１．６である。
図４３の第３行目のデータにおいて、属性ＩＤがＡＴ００４（属性は、「見積り金額」）であり、属性値が「３０００万以上５０００万以下」である。また、ドキュメントテンプレートＩＤは「ＴＲ００１」である。このような属性値とドキュメントテンプレートＩＤの組み合わせに該当するプロジェクト数は、５個である。そして、支持度は０．０５であり、信頼度０．５はであり、期待信頼度は０．５５であり、リフト値は０．９である。
【０１５７】
図４４は、分析結果の表示画面を示す概略図である。図２４のメニュー画面で「分析結果表示」が選択された場合、カスタマイズ情報表示部６は、ステップＳ６−５の処理においてこの分析結果の画面を表示する。図示するように、分析結果の表示画面は、「属性指定」ボックスを有している。また、分析結果の表示画面は、３つのボタンを有している。それらのボタンとは、「カスタマイズと属性値の分析結果」と、「ドキュメントテンプレートと属性値の分析結果」と、「ドキュメントテンプレート表示」である。管理者（または開発者。以下においても同様。）はこれらのいずれかのボタンを押下することができる。そして、いずれかのボタンが押下されると、テンプレート改善支援装置１００は、管理者が望む情報を表示する。
【０１５８】
「カスタマイズと属性値の分析結果」のボタンが押下された場合、カスタマイズ情報分析部６１は、分析処理によって得たカスタマイズと属性値の総当たりデータを基に、カスタマイズと属性値の分析結果を全て表示出力する。なお、管理者が画面内の「属性指定」のボックスに、属性の種類と、それに対応する属性値を入力した場合、カスタマイズ情報表示部６は、その属性値に一致するカスタマイズ情報を表示する。このとき、カスタマイズ情報表示部６は、ドキュメントテンプレートへの反映を推奨する順番で、カスタマイズ情報を表示する。例えば、管理者が画面内の「属性指定」ボックスに「開発形態＝改造」と入力し、「カスタマイズと属性値の分析結果」ボタンを押下した場合、カスタマイズ情報表示部６は、開発形態の属性値が「改造」であるプロジェクトでよく実施されているカスタマイズ情報を並べて表示する。
また、このとき、「属性指定」ボックスに、論理演算子を用いた条件を入力できるようにしてもよい。具体的には「＜属性名＞＝＜属性値＞」の形式を有する条件を、ＡＮＤ（論理積）演算子やＯＲ（論理和）演算子で連結することで、複数の条件の組み合わせを指定できる。また、ある条件に、ＮＯＴ（否定）演算子を付けることもできる。
【０１５９】
なお、画面内の「クリア」ボタンが押下されると、カスタマイズ情報表示部６は、条件設定を解除する。
【０１６０】
カスタマイズ情報表示部６は、分析結果を、図示する画面内の「カスタマイズと属性値の分析結果」と記載された場所に表示する。このデータ例は、属性値「改造」とカスタマイズＩＤ「Ｋ０００１」の組み合わせと、属性値「新規」とカスタマイズＩＤ「Ｋ０００３」の組み合わせと、属性値「３０００万以上５０００万以下」とカスタマイズＩＤ「Ｋ０００４」の組み合わせとを含んでいる。また分析結果の表示画面は、分析結果のデータの各行に対応して、右側に、チェックボックスを有している。このチェックボックスにチェックマークを入れることは、そのカスタマイズをドキュメントテンプレートに反映する処理を行うことを意味する。管理者がチェックボックスにチェックして、画面の右下部にある「反映」ボタンを押下すると、カスタマイズ情報表示部６は、チェックされたカスタマイズを反映したドキュメントテンプレートを表示する。
管理者が最終的にドキュメントテンプレートへの反映を確認すると、カスタマイズ情報表示部６は、ドキュメントテンプレートデータベース７内のドキュメントテンプレートにカスタマイズを反映する形で、データを更新する。
【０１６１】
図４５は、分析結果の表示画面を示す概略図である。この図は、分析結果表示画面において、「ドキュメントテンプレート表示」のボタンが押下されたときの画面の状況を示している。「ドキュメントテンプレート表示」のボタンが押下された場合、カスタマイズ情報分析部６１は、分析処理によって得たドキュメントテンプレートと属性値の総当たりデータを基に、テンプレートと属性値の分析結果を表示出力する。この場合も、図４４で説明した場合と同様に、管理者が画面内の「属性指定」のボックスに属性値に関する条件を入力することができる。また、この場合も、論理演算子を「属性指定」のボックス内に入力することができる。条件が入力された状態で管理者が「ドキュメントテンプレート表示」ボタンを押下した場合、カスタマイズ情報表示部６は、指定された属性値の条件に合う分析結果データのみを表示する。
【０１６２】
カスタマイズ情報表示部６は、分析結果を、図示する画面内の「ドキュメントテンプレート一覧」と記載された場所に表示する。この分析結果のデータ例は、属性値「改造」とドキュメントテンプレートＩＤ「ＴＲ００１」（機能一覧表）の組み合わせと、属性値「改造」とドキュメントテンプレートＩＤ「ＴＲ００２」（画面一覧表）の組み合わせとを含んでいる。また、分析結果のデータの各行に対応して、右側に、チェックボックスを有している。このチェックボックスにチェックマークを入れることは、該当するテンプレートを表示させることを意味する。管理者がチェックボックスにチェックして、画面の右下部にある「取得」ボタンを押下すると、カスタマイズ情報表示部６は、チェックされたドキュメントテンプレートを表示する。
これにより、管理者は、プロジェクトの属性値に対応して、どのようなテンプレートが使われる傾向が高いかを把握することができる。
【０１６３】
本実施形態によれば、設計書の構造情報とドキュメントテンプレートの構造情報の差分を抽出する手間が省くことができる。また、プロジェクトごとのカスタマイズ情報と属性値情報を蓄積し、カスタマイズ情報と属性値情報の関連を分析することで、ドメインごとドキュメントテンプレート、または汎用的なドキュメントテンプレートへの反映を推奨するカスタマイズ情報を表示することができる。これにより、効率的にドキュメントテンプレートの改訂を行なえるようになる。さらに、プロジェクトの特性に合ったドキュメントテンプレートを取り出すことができる。
また本実施形態によれば、支持度や信頼度等に基づいて、優先度を付けて、カスタマイズ情報を表示することができる。
【０１６４】
上記実施形態では、カスタマイズ情報表示部６は、図４４に示した画面で、管理者（ないしは開発者）がチェックマークを付けたカスタマイズのみを、ドキュメントテンプレートに反映させることとした。変形例として、代わりに、カスタマイズ情報表示部６は、算出された支持度や信頼度やリフト値等に基づいて、所定の条件を満たすカスタマイズを自動的に選択し、ドキュメントテンプレートに反映させるようにしてもよい。一例として、支持度が所定の閾値より高く、信頼度が所定の閾値より高く、且つリフト値が所定の閾値より高いカスタマイズを自動的に選択し、ドキュメントテンプレートに反映させる。
【０１６５】
以上説明した少なくともひとつの実施形態によれば、プロジェクト数の統計を用いて、プロジェクトの属性値とカスタマイズとの間のアソシエーション分析を行うカスタマイズ情報表示部６を持つことにより、適切なドキュメントテンプレートの改善を支援することができる。
【０１６６】
なお、上述した実施形態におけるテンプレート改善支援装置の機能の少なくとも一部を、コンピューターで実現するようにしても良い。この場合、その機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【０１６７】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１６８】
１…インタフェース部、２…プロジェクト設計書登録部、３…設計書構造情報抽出部、４…比較エンジン部、５…プロジェクト情報管理部、６…カスタマイズ情報表示部、７…ドキュメントテンプレートデータベース、８…プロジェクト別設計書データベース、９…カスタマイズ情報データベース、１０…プロジェクト情報データベース、１１…ドキュメントテンプレート管理部、６１…カスタマイズ情報分析部、６２…分析結果表示部、１００…テンプレート改善支援装置
【図１】
2018018151.tif 000003
【図２】
2018018151.tif 000004
【図３】
2018018151.tif 000005
【図４】
2018018151.tif 000006
【図５】
2018018151.tif 000007
【図６】
2018018151.tif 000008
【図７】
2018018151.tif 000009
【図８】
2018018151.tif 000010
【図９】
2018018151.tif 000011
【図１０】
2018018151.tif 000012
【図１１】
2018018151.tif 000013
【図１２】
2018018151.tif 000014
【図１３】
2018018151.tif 000015
【図１４】
2018018151.tif 000016
【図１５】
2018018151.tif 000017
【図１６】
2018018151.tif 000018
【図１７】
2018018151.tif 000019
【図１８】
2018018151.tif 000020
【図１９】
2018018151.tif 000021
【図２０】
2018018151.tif 000022
【図２１】
2018018151.tif 000023
【図２２】
2018018151.tif 000024
【図２３】
2018018151.tif 000025
【図２４】
2018018151.tif 000026
【図２５】
2018018151.tif 000027
【図２６】
2018018151.tif 000028
【図２７】
2018018151.tif 000029
【図２８】
2018018151.tif 000030
【図２９】
2018018151.tif 000031
【図３０】
2018018151.tif 000032
【図３１】
2018018151.tif 000033
【図３２】
2018018151.tif 000034
【図３３】
2018018151.tif 000035
【図３４】
2018018151.tif 000036
【図３５】
2018018151.tif 000037
【図３６】
2018018151.tif 000038
【図３７】
2018018151.tif 000039
【図３８】
2018018151.tif 000040
【図３９】
2018018151.tif 000041
【図４０】
2018018151.tif 000042
【図４１】
2018018151.tif 000043
【図４２】
2018018151.tif 000044
【図４３】
2018018151.tif 000045
【図４４】
2018018151.tif 000046
【図４５】
2018018151.tif 000047