JP6411414B2 - テンプレート改善支援装置およびプログラム - Google Patents
テンプレート改善支援装置およびプログラム Download PDFInfo
- Publication number
- JP6411414B2 JP6411414B2 JP2016145575A JP2016145575A JP6411414B2 JP 6411414 B2 JP6411414 B2 JP 6411414B2 JP 2016145575 A JP2016145575 A JP 2016145575A JP 2016145575 A JP2016145575 A JP 2016145575A JP 6411414 B2 JP6411414 B2 JP 6411414B2
- Authority
- JP
- Japan
- Prior art keywords
- document
- customization
- information
- template
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Document Processing Apparatus (AREA)
Description
本発明の実施形態は、テンプレート改善支援装置およびプログラムに関する。
ソフトウェア等の開発プロジェクトでは、設計品質を揃えるために、設計書や仕様書などのドキュメントの構造をあらかじめドキュメントテンプレートとして定義しておく手法がよく用いられる。開発プロジェクトでは、ドキュメントテンプレートを基に、設計書や仕様書が作成される。しかしながら、ドキュメントテンプレートをすべての開発プロジェクトにそのまま適用できるわけではなく、必要に応じて開発プロジェクトごとに、適宜、カスタマイゼーションが行われる。その理由は、ドメインごとにシステムの特性が異なるため、全てのドメインに対応したドキュメントテンプレートを定義するのは難しいこと、システム開発技術の日々の進歩により、既存のドキュメントテンプレートが徐々に整合しなくなることなどである。つまり、ドメインの特性や変化や開発技術の進歩などに合わせて、ドキュメントテンプレートを継続的に改善していくことが必要となる。
既存の技術では、設計書を機械的に検査することにより、設計書の品質を向上させることが行われている。しかしながら、設計書の基となるドキュメントテンプレートの改善は、人手によって行われているのが実情である。
人手による改善では、単に手間を要するだけではなく、人(開発者、管理者)の主観によってテンプレートの改善ポイントが決定されるため、適切な改善とはならない可能性があった。また、多数の開発プロジェクトの中から、プロジェクトの特性に合った改善を図ることが困難である可能性があった。
本発明が解決しようとする課題は、プロジェクト属性(ドメイン)の情報と、プロジェクトごとに行われたドキュメントテンプレートのカスタマイズの情報とに基づき、適切なドキュメントテンプレートの改善を行うことのできる、テンプレート改善支援装置およびプログラムを提供することである。
実施形態のテンプレート改善支援装置は、プロジェクト情報データベースと、ドキュメントテンプレート管理部と、設計書管理部と、設計書構造情報抽出部と、カスタマイズ情報データベースと、比較エンジン部と、分析部とを持つ。プロジェクト情報データベースは、プロジェクトについて、前記プロジェクトごと且つ属性ごとの属性値を記憶する。ドキュメントテンプレート管理部は、設計書のテンプレートであるドキュメントテンプレートを記憶し管理する。設計書管理部は、前記ドキュメントテンプレートを基に作成された設計書をプロジェクトごとに記憶し管理する。設計書構造情報抽出部は、前記設計書管理部が管理する前記設計書から設計書の構造を表す情報である設計書構造情報を抽出する。カスタマイズ情報データベースは、前記ドキュメントテンプレートの構造と前記設計書の構造との差分であるカスタマイズ情報を、前記設計書を作成したプロジェクトに関連付けて記憶する。比較エンジン部は、前記設計書構造情報抽出部が前記設計書から抽出した前記設計書構造情報と、前記ドキュメントテンプレート管理部で管理される前記ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、前記カスタマイズ情報を前記プロジェクトに関連付ける形で前記カスタマイズ情報データベースに登録する。分析部は、前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する。
以下、実施形態のテンプレート改善支援装置およびプログラムを、図面を参照して説明する。
本実施形態によるテンプレート改善支援装置は、開発プロジェクトで使用されるドキュメントテンプレートをカスタマイズした際の情報と、開発プロジェクトの属性情報とを蓄積し、両者の因果関係を分析するものである。これにより、ドキュメントテンプレートを改善し、あるいは改善を支援する。開発プロジェクトの属性値は開発プロジェクトが属するドメインを表すものであり、本実施形態によるテンプレート改善支援装置は、ドメインと、テンプレートのカスタマイズとの関係を利用する。
ここで、ドメインとは、例えば、開発の対象となる業種や業務のことである。業種とは、具体例としては、金融、製造、流通等である。また、業務とは、具体例としては、財務・経理、人事、販売、受注、調達、サプライチェーン管理、設計管理等である。なお、業種や業務以外の、様々なプロジェクト属性もまたドメインである。
なお、本実施形態のテンプレート改善支援装置は、主として、情報システムの開発プロジェクトに適用するものであるが、適用されるプロジェクトを特に限定するものではない。
なお、本実施形態のテンプレート改善支援装置は、主として、情報システムの開発プロジェクトに適用するものであるが、適用されるプロジェクトを特に限定するものではない。
図1は、本実施形態によるテンプレート改善支援装置の概略機能構成を示すブロック図である。図示するように、テンプレート改善支援装置100は、インタフェース部1と、プロジェクト設計書登録部2と、設計書構造情報抽出部3と、比較エンジン部4と、プロジェクト情報管理部5と、カスタマイズ情報表示部6と、ドキュメントテンプレートデータベース7と、プロジェクト別設計書データベース8と、カスタマイズ情報データベース9と、プロジェクト情報データベース10と、ドキュメントテンプレート管理部11と、を含んで構成される。
テンプレート改善支援装置100を構成する各部の機能は電子回路を用いて実現される。また、後述するように、コンピュータープログラムを用いて各部の機能を実現してもよい。また、各データベースや、その他の情報を記憶する機能は、例えば、磁気ハードディスク装置(HDD)や半導体メモリなどといった記憶媒体を用いて実現される。
テンプレート改善支援装置100を構成する各部の機能は電子回路を用いて実現される。また、後述するように、コンピュータープログラムを用いて各部の機能を実現してもよい。また、各データベースや、その他の情報を記憶する機能は、例えば、磁気ハードディスク装置(HDD)や半導体メモリなどといった記憶媒体を用いて実現される。
インタフェース部1は、本装置のユーザーに対するインタフェースの機能を有する。本装置のユーザーは、プロジェクトの開発者やドキュメントテンプレートの管理者らである。インタフェース部1は、これらの開発者や管理者が情報を入出力するための画面を提供する。また、必要に応じて、開発者に処理途中の情報を提示する。つまり、インタフェース部1は、情報の入出力のための画面を表示装置等に表示し、ユーザーが入力する情報を取得する。
なお、開発者とは、開発プロジェクトにおいて開発業務に従事する者である。開発者は、ドキュメントテンプレートに基づいた設計書等のドキュメントを作成する。また、管理者とは、開発プロジェクトにおける管理者、またはドキュメントテンプレート全体を管理する管理者である。開発者および管理者が、テンプレート改善支援装置100のユーザーである。開発者と管理者とは必ずしも厳密に区別される役割ではなく、開発者が管理者の役割の少なくとも一部を兼ねてもよく、またその逆でもよい。
なお、開発者とは、開発プロジェクトにおいて開発業務に従事する者である。開発者は、ドキュメントテンプレートに基づいた設計書等のドキュメントを作成する。また、管理者とは、開発プロジェクトにおける管理者、またはドキュメントテンプレート全体を管理する管理者である。開発者および管理者が、テンプレート改善支援装置100のユーザーである。開発者と管理者とは必ずしも厳密に区別される役割ではなく、開発者が管理者の役割の少なくとも一部を兼ねてもよく、またその逆でもよい。
プロジェクト設計書登録部2は、プロジェクトの開発者が入力する設計書一式を、プロジェクト別設計書データベース8に登録する。この登録の際、プロジェクト設計書登録部2は、設計書一式の識別子として、設計書一式IDを付与する。また、プロジェクト設計書登録部2は、登録する設計書一式をプロジェクトと対応付けるために、設計書一式IDとプロジェクトIDとを関連付けて、設計書一式情報に登録する。これにより、登録される設計書一式が、どのプロジェクトの設計書であるかを特定できる。また、プロジェクト設計書登録部2は、登録する設計書一式をドキュメントテンプレートと対応付けるために、設計書一式IDとドキュメントテンプレート一式IDとを関連付けて、設計書一式情報に登録する。これにより、登録される設計書一式が、どのドキュメントテンプレートに基づいて作成されたものであるかを特定できる。
なお、プロジェクト設計書登録部2は、登録した設計書一式ファイルの所在を表すパス名(所在情報)を、あわせて、設計書一式情報に登録する。
なお、プロジェクト設計書登録部2は、登録した設計書一式ファイルの所在を表すパス名(所在情報)を、あわせて、設計書一式情報に登録する。
なお、プロジェクト設計書登録部2とプロジェクト別設計書データベース8とを合わせて、「設計書管理部」と呼んでもよい。この場合、設計書管理部は、ドキュメントテンプレートを基にプロジェクトで作成された設計書を、プロジェクトごとに記憶し、管理する。
プロジェクト設計書登録部2は、上記の登録の際に、インタフェース部1を介して、ドキュメントテンプレートを使って設計された成果物である設計書一式を取得する。また、プロジェクト設計書登録部2は、登録する設計書一式に関連付けられるプロジェクトの属性情報のうち、プロジェクトIDとプロジェクト名とを取得する。また、プロジェクト設計書登録部2は、登録する設計書一式に関連付けられるドキュメントテンプレートのドキュメントテンプレート一式IDを取得する。
設計書構造情報抽出部3は、プロジェクト別設計書データベース8に登録された設計書一式を基に、1つのプロジェクトの設計書一式から、設計書および設計項目の構造情報を全て抽出する。そして、設計書構造情報抽出部3は、設計書とドキュメントテンプレートを対応付けた、設計書対応テンプレート情報を作成する。そして、設計書構造情報抽出部3は、設計書の構造情報と、設計書対応テンプレート情報とを、比較エンジン部4に渡す。つまり、設計書構造情報抽出部3は、記憶されている設計書から、設計書の構造を表す情報である設計書構造情報を抽出する。
なお、設計書の構造情報とは、設計書情報と設計項目のことである。
なお、設計書の構造情報とは、設計書情報と設計項目のことである。
比較エンジン部4は、設計書の構造情報とドキュメントテンプレートの構造情報を比較し、差分をカスタマイズ情報として取得する。また、比較エンジン部4は、取得したカスタマイズ情報を、プロジェクト情報に対応付ける。
具体的には、比較エンジン部4は、設計書構造情報抽出部3から、設計書の構造情報を入力する。また、比較エンジン部4は、設計書構造情報抽出部3から、設計書対応テンプレート情報を入力する。また、比較エンジン部4は、ドキュメントテンプレートデータベース7に登録されている、ドキュメントテンプレートの構造情報を入力する。
ここで、ドキュメントテンプレートの構造情報とは、ドキュメントテンプレート情報と、テンプレート設計項目の両方を指すものである。
そして、比較エンジン部4は、比較処理の結果として得られたカスタマイズ情報と、プロジェクトカスタマイズ情報とを、カスタマイズ情報データベース9に登録する。プロジェクトカスタマイズ情報は、プロジェクトに対応づけたカスタマイズ情報である。
つまり、比較エンジン部4は、設計書構造情報抽出部3が設計書から抽出した設計書構造情報と、ドキュメントテンプレートデータベースに管理されるドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、このカスタマイズ情報をプロジェクトに関連付ける形でカスタマイズ情報データベース9に登録する。
具体的には、比較エンジン部4は、設計書構造情報抽出部3から、設計書の構造情報を入力する。また、比較エンジン部4は、設計書構造情報抽出部3から、設計書対応テンプレート情報を入力する。また、比較エンジン部4は、ドキュメントテンプレートデータベース7に登録されている、ドキュメントテンプレートの構造情報を入力する。
ここで、ドキュメントテンプレートの構造情報とは、ドキュメントテンプレート情報と、テンプレート設計項目の両方を指すものである。
そして、比較エンジン部4は、比較処理の結果として得られたカスタマイズ情報と、プロジェクトカスタマイズ情報とを、カスタマイズ情報データベース9に登録する。プロジェクトカスタマイズ情報は、プロジェクトに対応づけたカスタマイズ情報である。
つまり、比較エンジン部4は、設計書構造情報抽出部3が設計書から抽出した設計書構造情報と、ドキュメントテンプレートデータベースに管理されるドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、このカスタマイズ情報をプロジェクトに関連付ける形でカスタマイズ情報データベース9に登録する。
プロジェクト情報管理部5は、プロジェクトの開発者がインタフェース部1を介して入力するプロジェクトの属性の情報を取得する。そして、プロジェクト情報管理部5は、取得した情報を、プロジェクトの属性値情報として、プロジェクト情報データベース10に登録する。
なお、プロジェクト情報管理部5がプロジェクト属性値を取得する前提として、属性情報を予め定義しておく。いかなる属性を用いるかを、テンプレート改善支援装置100を使用する組織が定める。
なお、プロジェクト情報管理部5がプロジェクト属性値を取得する前提として、属性情報を予め定義しておく。いかなる属性を用いるかを、テンプレート改善支援装置100を使用する組織が定める。
カスタマイズ情報表示部6は、カスタマイズ情報と、プロジェクトの属性値情報との因果関係を分析し、その分析結果を、インタフェース部1を介して提示する。なお、カスタマイズ情報表示部6は、分析のために、カスタマイズ情報データベース9に登録されているカスタマイズ情報を読み込む。また、カスタマイズ情報表示部6は、プロジェクト情報データベース10に登録されているプロジェクトの属性値情報を読み込む。
なお、提示された分析結果は、管理者によって参照される。
なお、提示された分析結果は、管理者によって参照される。
なお、カスタマイズ情報表示部6を「分析部」と呼んでもよい。この場合、分析部は、
カスタマイズ情報データベース9に登録されたカスタマイズ情報(設計構造の差分情報)に基づいて、カスタマイズ情報が関連付けられたプロジェクトの属性値と、カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する。また、分析部は、カスタマイズ情報データベースに登録されたカスタマイズ情報に基づいて、カスタマイズ情報が関連付けられたプロジェクトの属性値と、カスタマイズ情報が関連付けられたドキュメントテンプレートとの間のアソシエーション分析を行い、属性値とドキュメントテンプレートの種類との関係を表す分析結果を出力する。これらの分析処理の詳細については、後述する。
カスタマイズ情報データベース9に登録されたカスタマイズ情報(設計構造の差分情報)に基づいて、カスタマイズ情報が関連付けられたプロジェクトの属性値と、カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する。また、分析部は、カスタマイズ情報データベースに登録されたカスタマイズ情報に基づいて、カスタマイズ情報が関連付けられたプロジェクトの属性値と、カスタマイズ情報が関連付けられたドキュメントテンプレートとの間のアソシエーション分析を行い、属性値とドキュメントテンプレートの種類との関係を表す分析結果を出力する。これらの分析処理の詳細については、後述する。
ドキュメントテンプレートデータベース7は、ドキュメントテンプレート一式情報と、ドキュメントテンプレート一式関連テンプレートと、ドキュメントテンプレート情報と、テンプレートの設計項目とを蓄積するデータベースである。
プロジェクト別設計書データベース8は、プロジェクトごとの設計書一式と、設計書一式情報と、設計書情報と、設計項目とを蓄積するデータベースである。
カスタマイズ情報データベース9は、カスタマイズ情報と、プロジェクトカスタマイズ情報とを蓄積するデータベースである。
カスタマイズ情報とは、ドキュメントテンプレートに対して行われる、個々のテンプレートの変更や、個々の設計項目の変更を表す情報である。個々のカスタマイズ情報は、カスタマイズIDによってユニークに識別される。カスタマイズ情報については後で詳述するが、カスタマイズの種類としては、「テンプレート(追加)」、「テンプレート(削除)」、「設計項目(追加)」、「設計項目(削除)」、「テンプレートの名称変更」、「設計項目の名称変更」を含む。
つまり、カスタマイズ情報データベース9は、ドキュメントテンプレートの構造と設計書の構造との差分であるカスタマイズ情報を、設計書を作成したプロジェクトに関連付けて記憶するものである。
カスタマイズ情報とは、ドキュメントテンプレートに対して行われる、個々のテンプレートの変更や、個々の設計項目の変更を表す情報である。個々のカスタマイズ情報は、カスタマイズIDによってユニークに識別される。カスタマイズ情報については後で詳述するが、カスタマイズの種類としては、「テンプレート(追加)」、「テンプレート(削除)」、「設計項目(追加)」、「設計項目(削除)」、「テンプレートの名称変更」、「設計項目の名称変更」を含む。
つまり、カスタマイズ情報データベース9は、ドキュメントテンプレートの構造と設計書の構造との差分であるカスタマイズ情報を、設計書を作成したプロジェクトに関連付けて記憶するものである。
プロジェクト情報データベース10は、プロジェクト情報と、属性情報と、属性値情報をを蓄積するデータベースである。言い換えれば、プロジェクト情報データベース10は、プロジェクトについて、プロジェクトごと且つ属性ごとの属性値を記憶する。
なお、各データベースが有するテーブルの個別の詳細な構成については、後で、図面を参照しながら説明する。
ドキュメントテンプレート管理部11は、管理者が入力するドキュメントテンプレート一式を、ドキュメントテンプレートデータベース7に登録する。この登録の際、ドキュメントテンプレート管理部11は、ドキュメントテンプレート一式の識別子として、ドキュメントテンプレート一式IDを付与する。なお、ドキュメントテンプレート管理部11は、管理者から、汎用的なドキュメントテンプレート一式、あるいはドメインごとのドキュメントテンプレート一式を取得する。また、ドキュメントテンプレート管理部11は、ドキュメントテンプレート一式に関する情報として、ドキュメントテンプレート一式名と、ドメイン種別と、バージョンの情報を、あわせて取得する。
なお、ドキュメントテンプレート管理部11とドキュメントテンプレートデータベース7とを合わせて「ドキュメントテンプレート管理部」と呼んでもよい。この場合、ドキュメントテンプレート管理部は、設計書のテンプレートであるドキュメントテンプレートを記憶し、管理する。
なお、ドキュメントテンプレート管理部11とドキュメントテンプレートデータベース7とを合わせて「ドキュメントテンプレート管理部」と呼んでもよい。この場合、ドキュメントテンプレート管理部は、設計書のテンプレートであるドキュメントテンプレートを記憶し、管理する。
図2は、テンプレート改善支援装置100内における処理と情報の流れとを示す概略図である。同図を参照しながら、開発者および管理者のそれぞれがテンプレート改善支援装置100を使用する場合の流れを説明する。
開発者によるテンプレート改善支援装置100の使い方は、次の通りである。
(1)取り出し(図2の(1)):ドキュメントテンプレートデータベース7にはドキュメントテンプレート一式が登録済みである。開発者は、ドキュメントテンプレートデータベース7から必要なドキュメントテンプレート一式を取り出す。
(2)設計:開発者は、取り出したドキュメントテンプレート一式のドキュメントテンプレートをカスタマイズし、カスタマイズしたドキュメントテンプレートをベースとして、設計書を作成する。
(3)プロジェクト情報の登録(図2の(3)):開発者は、プロジェクト情報管理部5の機能を用いて、プロジェクト情報を、プロジェクト情報データベース10に登録する。
(4)設計書の登録(図2の(2)):そして、開発者は、プロジェクト設計書登録部2の機能を用いて、作成した設計書一式を、プロジェクト別設計書データベース8に登録する。なおこのとき、どのドキュメントテンプレート一式を使用して設計が行われたかがわかるように、ドキュメントテンプレート一式IDとドキュメントテンプレート一式名を、登録する。
(5)設計書構造情報の抽出(図2の(4)):設計書構造情報抽出部3は、プロジェクト別設計書データベース8に登録した設計書一式から、設計書のファイルや、設計項目の設計構造を抽出する。この設計書構造情報の抽出処理において、エラーが表示されたら、開発者はエラー箇所を修正する。なお、テンプレート改善支援装置100は、エラーを検出したときにエラー情報を表示するものである。
(6)比較(図2の(5)):比較エンジン部4は、抽出した設計書一式の設計構造と、設計書一式の元になったドキュメントテンプレートの設計構造を比較する。テンプレート改善支援装置100は、比較結果を表示する。開発者は、テンプレート改善支援装置100が表示した比較結果を確認し、必要に応じて比較結果を直す。
(7)カスタマイズ情報の登録(図2の(6)):設計構造の比較結果をカスタマイズ情報として、カスタマイズ情報データベース9に登録する。
(1)取り出し(図2の(1)):ドキュメントテンプレートデータベース7にはドキュメントテンプレート一式が登録済みである。開発者は、ドキュメントテンプレートデータベース7から必要なドキュメントテンプレート一式を取り出す。
(2)設計:開発者は、取り出したドキュメントテンプレート一式のドキュメントテンプレートをカスタマイズし、カスタマイズしたドキュメントテンプレートをベースとして、設計書を作成する。
(3)プロジェクト情報の登録(図2の(3)):開発者は、プロジェクト情報管理部5の機能を用いて、プロジェクト情報を、プロジェクト情報データベース10に登録する。
(4)設計書の登録(図2の(2)):そして、開発者は、プロジェクト設計書登録部2の機能を用いて、作成した設計書一式を、プロジェクト別設計書データベース8に登録する。なおこのとき、どのドキュメントテンプレート一式を使用して設計が行われたかがわかるように、ドキュメントテンプレート一式IDとドキュメントテンプレート一式名を、登録する。
(5)設計書構造情報の抽出(図2の(4)):設計書構造情報抽出部3は、プロジェクト別設計書データベース8に登録した設計書一式から、設計書のファイルや、設計項目の設計構造を抽出する。この設計書構造情報の抽出処理において、エラーが表示されたら、開発者はエラー箇所を修正する。なお、テンプレート改善支援装置100は、エラーを検出したときにエラー情報を表示するものである。
(6)比較(図2の(5)):比較エンジン部4は、抽出した設計書一式の設計構造と、設計書一式の元になったドキュメントテンプレートの設計構造を比較する。テンプレート改善支援装置100は、比較結果を表示する。開発者は、テンプレート改善支援装置100が表示した比較結果を確認し、必要に応じて比較結果を直す。
(7)カスタマイズ情報の登録(図2の(6)):設計構造の比較結果をカスタマイズ情報として、カスタマイズ情報データベース9に登録する。
管理者によるテンプレート改善支援装置100の使い方は、次の通りである。
(1)関連分析(図2の(7)):管理者は、カスタマイズ情報データベース9にあるカスタマイズ情報と、プロジェクト情報データベース10にあるプロジェクト情報の関連について、確認する。なお、カスタマイズ情報表示部6が、分析処理を行い、その結果を表示するものである。
(2)改訂(図2の(8)):管理者は、分析結果を確認した後、ドキュメントテンプレートへの反映が必要と判断した場合に、ドキュメントテンプレートを改訂する。具体的には、ドキュメントテンプレートデータベース7に格納されているテンプレートが更新される。
(1)関連分析(図2の(7)):管理者は、カスタマイズ情報データベース9にあるカスタマイズ情報と、プロジェクト情報データベース10にあるプロジェクト情報の関連について、確認する。なお、カスタマイズ情報表示部6が、分析処理を行い、その結果を表示するものである。
(2)改訂(図2の(8)):管理者は、分析結果を確認した後、ドキュメントテンプレートへの反映が必要と判断した場合に、ドキュメントテンプレートを改訂する。具体的には、ドキュメントテンプレートデータベース7に格納されているテンプレートが更新される。
開発者によるテンプレート改善支援装置100の使い方を、次の通りとしてもよい。
(1)情報蓄積(図2の(1)から(6)まで):複数のプロジェクトにおいて、前述の通りテンプレート改善支援装置100を使用し、プロジェクトごとに、どのテンプレートが使われたかという情報を蓄積する。
(2)因果関係分析:開発者は、プロジェクト情報データベース10にあるプロジェクト情報と、カスタマイズ情報データベース9にあるカスタマイズ情報とから、プロジェクトで使用したテンプレートの情報を抽出し、プロジェクトの属性値情報とプロジェクトで使用したテンプレートの因果関係を分析し、結果を確認する。
(3)開発者は、プロジェクト情報を入力して、そのプロジェクトの特性に適した、ドキュメントテンプレート一式を取り出す。
(4)開発者は、取り出したドキュメントテンプレート一式について、必要に応じて、カスタマイズを実施する。そして、そのドキュメントテンプレート一式をベースとして、設計書を作成する。
(1)情報蓄積(図2の(1)から(6)まで):複数のプロジェクトにおいて、前述の通りテンプレート改善支援装置100を使用し、プロジェクトごとに、どのテンプレートが使われたかという情報を蓄積する。
(2)因果関係分析:開発者は、プロジェクト情報データベース10にあるプロジェクト情報と、カスタマイズ情報データベース9にあるカスタマイズ情報とから、プロジェクトで使用したテンプレートの情報を抽出し、プロジェクトの属性値情報とプロジェクトで使用したテンプレートの因果関係を分析し、結果を確認する。
(3)開発者は、プロジェクト情報を入力して、そのプロジェクトの特性に適した、ドキュメントテンプレート一式を取り出す。
(4)開発者は、取り出したドキュメントテンプレート一式について、必要に応じて、カスタマイズを実施する。そして、そのドキュメントテンプレート一式をベースとして、設計書を作成する。
図3は、カスタマイズ情報表示部の、より詳細な機能構成を示すブロック図である。図示するように、カスタマイズ情報表示部6は、カスタマイズ情報分析部61と、分析結果表示部62とを含んで構成される。
カスタマイズ情報分析部61は、カスタマイズ情報と属性値情報との関連性を分析する。カスタマイズ情報分析部61による分析処理自体には、アソシエーション分析の技術を利用する。また、カスタマイズ情報分析部61は、プロジェクトが使ったドキュメントテンプレートと属性値情報の関連性についても、分析を行う。
そして、カスタマイズ情報分析部61は、処理の結果として、カスタマイズ情報と属性値情報の因果関係の分析結果である、カスタマイズと属性値の総当たりデータを出力する。また、カスタマイズ情報分析部61は、ドキュメントテンプレートと属性値情報の因果関係の分析結果である、ドキュメントテンプレートと属性値の総当たりデータを出力する。
そして、カスタマイズ情報分析部61は、処理の結果として、カスタマイズ情報と属性値情報の因果関係の分析結果である、カスタマイズと属性値の総当たりデータを出力する。また、カスタマイズ情報分析部61は、ドキュメントテンプレートと属性値情報の因果関係の分析結果である、ドキュメントテンプレートと属性値の総当たりデータを出力する。
分析結果表示部62は、カスタマイズ情報分析部61から、カスタマイズと属性値の総当たりデータと、ドキュメントテンプレートと属性値の総当たりデータとを取得する。そして、分析結果表示部62は、カスタマイズ情報をソートする。カスタマイズ情報は、ドメインごとのドキュメントテンプレート一式への反映、または汎用的なドキュメントテンプレート一式への繁栄を推奨する情報である。そして、分析結果表示部62は、インタフェース部1を介して、カスタマイズ情報を管理者に提示する。なお、インタフェース部1を介して管理者からの指定を受けることにより、カスタマイズ情報の表示方法を変更することができる。
次に、テンプレート改善支援装置の処理手順について、説明する。
図4は、テンプレート改善支援装置100の全体の処理の手順を示すフローチャートである。以下、このフローチャートに沿って、処理手順を説明する。
ステップS1−0において、テンプレート改善支援装置100は、本フローチャートの処理を開始する。
ステップS1−1において、テンプレート改善支援装置100は、メニュー画面において選択される操作による分岐を行う。メニュー画面は、インタフェース部1が表示する画面である。メニュー画面における選択肢は、「プロジェクトの設計書を入力」、「プロジェクト情報を入力」、「分析結果を表示」のいずれかである。開発者または管理者の操作により、選択が行われる。そして、「プロジェクトの設計書を入力」が選択された場合には、ステップS1−2に進む。「プロジェクト情報を入力」が選択された場合には、ステップS1−5に進む。また、「分析結果を表示」が選択された場合には、ステップS1−6に進む。
図4は、テンプレート改善支援装置100の全体の処理の手順を示すフローチャートである。以下、このフローチャートに沿って、処理手順を説明する。
ステップS1−0において、テンプレート改善支援装置100は、本フローチャートの処理を開始する。
ステップS1−1において、テンプレート改善支援装置100は、メニュー画面において選択される操作による分岐を行う。メニュー画面は、インタフェース部1が表示する画面である。メニュー画面における選択肢は、「プロジェクトの設計書を入力」、「プロジェクト情報を入力」、「分析結果を表示」のいずれかである。開発者または管理者の操作により、選択が行われる。そして、「プロジェクトの設計書を入力」が選択された場合には、ステップS1−2に進む。「プロジェクト情報を入力」が選択された場合には、ステップS1−5に進む。また、「分析結果を表示」が選択された場合には、ステップS1−6に進む。
ステップS1−2に進んだ場合、ステップS1−2において、プロジェクト設計書登録部2は、開発者が入力した設計書を、プロジェクト別設計書データベース8に登録する。
次に、ステップS1−3において、設計書構造情報抽出部3は、ステップS1−2でプロジェクト別設計書データベース8に登録された設計書から、設計書と設計項目の構造情報を抽出する。
次に、ステップS1−4において、比較エンジン部4は、設計書構造情報抽出部3が抽出した設計項目と、ドキュメントテンプレートデータベース7に登録してある設計項目とを比較する。そして、比較エンジン部4は、それら両者の設計項目の差分を抽出する。比較エンジン部4は、抽出した設計項目の差分を、プロジェクトのカスタマイズ情報として、カスタマイズ情報データベース9に登録する。本ステップの処理が終了すると、ステップS1−7に移る。
次に、ステップS1−3において、設計書構造情報抽出部3は、ステップS1−2でプロジェクト別設計書データベース8に登録された設計書から、設計書と設計項目の構造情報を抽出する。
次に、ステップS1−4において、比較エンジン部4は、設計書構造情報抽出部3が抽出した設計項目と、ドキュメントテンプレートデータベース7に登録してある設計項目とを比較する。そして、比較エンジン部4は、それら両者の設計項目の差分を抽出する。比較エンジン部4は、抽出した設計項目の差分を、プロジェクトのカスタマイズ情報として、カスタマイズ情報データベース9に登録する。本ステップの処理が終了すると、ステップS1−7に移る。
ステップS1−5に進んだ場合、ステップS1−5において、プロジェクト情報管理部5は、開発者が入力したプロジェクト情報をプロジェクト情報データベース10に登録する。そして、本ステップの処理が終了すると、ステップS1−7に移る。
ステップS1−6に進んだ場合、ステップS1−6において、カスタマイズ情報表示部6は、カスタマイズ情報データベース9に蓄積されたカスタマイズ情報を全て取得し、また、プロジェクト情報データベース10に蓄積された全てのプロジェクト属性を取得する。そして、カスタマイズ情報表示部6は、カスタマイズ情報とプロジェクト属性の因果関係を分析する。カスタマイズ情報表示部6は、その分析結果から、推奨するカスタマイズ情報を、インタフェース部1を介して、表示する。そして、本ステップの処理が終了すると、ステップS1−7に移る。
ステップS1−7において、テンプレート改善支援装置100は、本フローチャート全体の処理を終了する。
次に、テンプレート改善支援装置100内の各部の処理の更に詳細な手順について説明する。
図5は、ドキュメントテンプレート管理部による処理の手順を示すフローチャートである。以下、同図に沿って説明する。
ステップS11−0において、ドキュメントテンプレート管理部11は、本フローチャートの処理を開始する。
ステップS11−1において、ドキュメントテンプレート管理部11は、インタフェース部1を介して、ドキュメントテンプレート登録画面を表示する。
次に、ステップS11−2において、ドキュメントテンプレート管理部11は、インタフェース部1を介して管理者が入力した、ドキュメントテンプレート一式を取得する。
次に、ステップS11−3において、ドキュメントテンプレート管理部11は、取得したドキュメントテンプレート一式を、ドキュメントテンプレートデータベース7に登録する。ドキュメントテンプレート一式は2種類ある。その2種類とは、汎用的なドキュメントテンプレート一式と、ドメインごとのドキュメントテンプレート一式である。なお、ドキュメントテンプレート管理部11は、個々のドキュメントテンプレート一式を識別するために、識別子として、ドキュメントテンプレート一式IDを付与する。
ステップS11−4において、ドキュメントテンプレート管理部11は、本フローチャート全体の処理を終了する。
以上の手順により、ドキュメントテンプレート管理部11は、汎用的なドキュメントテンプレート一式、またはドメインごとのドキュメントテンプレート一式を、テンプレート改善支援装置100に登録する。
ステップS11−0において、ドキュメントテンプレート管理部11は、本フローチャートの処理を開始する。
ステップS11−1において、ドキュメントテンプレート管理部11は、インタフェース部1を介して、ドキュメントテンプレート登録画面を表示する。
次に、ステップS11−2において、ドキュメントテンプレート管理部11は、インタフェース部1を介して管理者が入力した、ドキュメントテンプレート一式を取得する。
次に、ステップS11−3において、ドキュメントテンプレート管理部11は、取得したドキュメントテンプレート一式を、ドキュメントテンプレートデータベース7に登録する。ドキュメントテンプレート一式は2種類ある。その2種類とは、汎用的なドキュメントテンプレート一式と、ドメインごとのドキュメントテンプレート一式である。なお、ドキュメントテンプレート管理部11は、個々のドキュメントテンプレート一式を識別するために、識別子として、ドキュメントテンプレート一式IDを付与する。
ステップS11−4において、ドキュメントテンプレート管理部11は、本フローチャート全体の処理を終了する。
以上の手順により、ドキュメントテンプレート管理部11は、汎用的なドキュメントテンプレート一式、またはドメインごとのドキュメントテンプレート一式を、テンプレート改善支援装置100に登録する。
図6は、プロジェクト設計書登録部2による処理の手順を示すフローチャートである。同図に示す処理は、図4で説明したステップS1−2の処理である。
ステップS2−0において、プロジェクト設計書登録部2は、本フローチャートの処理を開始する。
ステップS2−1において、プロジェクト設計書登録部2は、インタフェース部1を介して、設計書登録画面を表示する。その際、プロジェクト設計書登録部2は、プロジェクト情報データベース10を参照して、登録されているプロジェクトIDとプロジェクト名とを表示する。そして、プロジェクト設計書登録部2は、開発者によるプロジェクトの選択を受け付ける。
ステップS2−0において、プロジェクト設計書登録部2は、本フローチャートの処理を開始する。
ステップS2−1において、プロジェクト設計書登録部2は、インタフェース部1を介して、設計書登録画面を表示する。その際、プロジェクト設計書登録部2は、プロジェクト情報データベース10を参照して、登録されているプロジェクトIDとプロジェクト名とを表示する。そして、プロジェクト設計書登録部2は、開発者によるプロジェクトの選択を受け付ける。
次に、プロジェクト設計書登録部2は、ステップS2−2にからステップS2−2´までの間の処理を、入力される設計書ごとに繰り返す。つまり、プロジェクト設計書登録部2は、装置に入力される全ての設計書の登録が完了するまで、ステップS2−3とS2−4の処理繰り返す。これにより、プロジェクト設計書登録部2は、開発者が選択したプロジェクトの設計書一式を登録する。
ステップS2−3においては、プロジェクト設計書登録部2は、プロジェクトの設計書登録画面から入力された設計書ファイル群から、設計書を1つ取得する。
次にステップS2−4においては、プロジェクト設計書登録部2は、ステップS2−3で取得した設計書を、プロジェクトの設計書一式として、プロジェクト別設計書データベース8に登録する。なお、プロジェクト設計書登録部2は、プロジェクトごとの設計書一式を区別するために、識別子として、設計書一式IDと、プロジェクトIDと、ドキュメントテンプレートIDとを付与する。
ステップS2−2´において、上記の繰り返し処理を終了する。
ステップS2−3においては、プロジェクト設計書登録部2は、プロジェクトの設計書登録画面から入力された設計書ファイル群から、設計書を1つ取得する。
次にステップS2−4においては、プロジェクト設計書登録部2は、ステップS2−3で取得した設計書を、プロジェクトの設計書一式として、プロジェクト別設計書データベース8に登録する。なお、プロジェクト設計書登録部2は、プロジェクトごとの設計書一式を区別するために、識別子として、設計書一式IDと、プロジェクトIDと、ドキュメントテンプレートIDとを付与する。
ステップS2−2´において、上記の繰り返し処理を終了する。
次に、ステップS2−5において、プロジェクト設計書登録部2は、プロジェクトの設計書一式情報を、プロジェクト別設計書データベース8に登録する。プロジェクトの設計書一式情報とは、当該プロジェクトのプロジェクトIDと、プロジェクトが利用したドキュメントテンプレート一式のドキュメントテンプレート一式IDと、プロジェクトが登録した設計書の設計書一式IDである。
なお、プロジェクト設計書登録部2は、プロジェクトIDとドキュメントテンプレート一式IDとしては、画面から入力された値を登録する。また、プロジェクト設計書登録部2は、設計書一式IDとして、ユニークな識別情報を付与して登録する。
ステップS2−6において、プロジェクト設計書登録部2は、本フローチャート全体の処理を終了する。
以上の処理により、プロジェクト設計書登録部2は、プロジェクトで作成した設計書をテンプレート改善支援装置100に入力する。
なお、プロジェクト設計書登録部2は、プロジェクトIDとドキュメントテンプレート一式IDとしては、画面から入力された値を登録する。また、プロジェクト設計書登録部2は、設計書一式IDとして、ユニークな識別情報を付与して登録する。
ステップS2−6において、プロジェクト設計書登録部2は、本フローチャート全体の処理を終了する。
以上の処理により、プロジェクト設計書登録部2は、プロジェクトで作成した設計書をテンプレート改善支援装置100に入力する。
図7,図8,図9は、設計書構造情報抽出部3による処理の手順を示すフローチャートである。同図に示す処理は、図4で説明したステップS1−3の処理である。これらの3つの図は、コネクターによって接続される。以下、このフローチャートに沿って説明する。
まず、図7のステップS3−0において、設計書構造情報抽出部3は、本フローチャート全体の処理を開始する。
ステップS3−1において、設計書構造情報抽出部3は、プロジェクト別設計書データベース8から、登録されているプロジェクトの設計書一式情報と、設計書一式情報の設計書一式ファイルへのパスに示された場所にある設計書ファイル群を全て取得する。なお、これらの設計書一式情報は、前述の通り、プロジェクト設計書登録部2が登録したものである。
ステップS3−1において、設計書構造情報抽出部3は、プロジェクト別設計書データベース8から、登録されているプロジェクトの設計書一式情報と、設計書一式情報の設計書一式ファイルへのパスに示された場所にある設計書ファイル群を全て取得する。なお、これらの設計書一式情報は、前述の通り、プロジェクト設計書登録部2が登録したものである。
次に、設計書構造情報抽出部3は、ステップS3−2からS3−2´までの処理を、取得した設計書ごとに繰り返す。つまり、設計書構造情報抽出部3は、取得した設計書ファイル群に含まれる設計書の数だけ、設計書の構造情報の取り出しを行う。
ステップS3−3において、設計書構造情報抽出部3は、ステップS3−1
で取得した設計書ファイル群から、設計書を1つ取り出す。そして、設計書構造情報抽出部3は、取り出した設計書から、設計書名と設計項目名を全て取得する。このとき、設計書構造情報抽出部3は、設計書を一意に識別する設計書IDと、設計項目を一意に識別する設計項目IDを、それぞれ付与する。
ステップS3−2´において、上記の繰り返し処理を終了する。
ステップS3−2´の次に、図8のステップS3−4に進む。
ステップS3−3において、設計書構造情報抽出部3は、ステップS3−1
で取得した設計書ファイル群から、設計書を1つ取り出す。そして、設計書構造情報抽出部3は、取り出した設計書から、設計書名と設計項目名を全て取得する。このとき、設計書構造情報抽出部3は、設計書を一意に識別する設計書IDと、設計項目を一意に識別する設計項目IDを、それぞれ付与する。
ステップS3−2´において、上記の繰り返し処理を終了する。
ステップS3−2´の次に、図8のステップS3−4に進む。
図8に移り、ステップS3−4において、設計書構造情報抽出部3は、ステップS3−1で取得した設計書一式情報のドキュメントテンプレート一式IDを取得する。
次に、ステップS3−5において、設計書構造情報抽出部3は、ドキュメントテンプレートデータベース7のドキュメントテンプレート一式関連テンプレートから、ドキュメントテンプレート情報を取得する。即ち、設計書構造情報抽出部3は、ステップS3−4で取得したドキュメントテンプレート一式IDと一致するドキュメントテンプレート情報を全て取得する。
次に、ステップS3−5において、設計書構造情報抽出部3は、ドキュメントテンプレートデータベース7のドキュメントテンプレート一式関連テンプレートから、ドキュメントテンプレート情報を取得する。即ち、設計書構造情報抽出部3は、ステップS3−4で取得したドキュメントテンプレート一式IDと一致するドキュメントテンプレート情報を全て取得する。
次に、設計書構造情報抽出部3は、ステップS3−6からS3−6´までの処理を、設計書ID群に含まれる設計書IDごとに繰り返す。なお、設計書ID群は、ステップS3−3で取得したものである。
ステップS3−7において、設計書構造情報抽出部3は、設計書ID群から、設計書IDを1つ取得する。
次に、ステップS3−8において、設計書構造情報抽出部3は、ステップS3−7で取得した設計書IDに対応する設計項目を全て取得し、これを対象設計書とする。
ステップS3−7において、設計書構造情報抽出部3は、設計書ID群から、設計書IDを1つ取得する。
次に、ステップS3−8において、設計書構造情報抽出部3は、ステップS3−7で取得した設計書IDに対応する設計項目を全て取得し、これを対象設計書とする。
次に、設計書構造情報抽出部3は、ステップS3−9からS3−9´までの処理を、ドキュメントテンプレート情報群に含まれるドキュメントテンプレート情報ごとに繰り返す。なお、ドキュメントテンプレート情報群は、ステップS3−5で取得したものである。
ステップS3−10において、設計書構造情報抽出部3は、ドキュメントテンプレート情報群から、ドキュメントテンプレートIDを1つ取得する。
次に、ステップS3−11において、設計書構造情報抽出部3は、ステップS3−10で取り出した「ドキュメントテンプレートIDと一致するドキュメントテンプレートから、「必須」となっている設計項目を全て取得する。
次に、ステップS3−12において、設計書構造情報抽出部3は、ステップS3−11で取得した、必須の設計項目が全て対象設計書に存在するかどうかを判定する。必須の設計項目が全て対象設計書に存在する場合(ステップS3−12:YES)は、ステップS3−9からS3−9´までのループを抜けて、ステップ(S3−13に進む。必須の設計項目の全てが対象設計書に存在しない場合(ステップS3−12:NO)は、次のステップS3−9´に進み、即ち、ステップS3−9からS3−9´までの繰り返し処理に戻る。
ステップS3−10において、設計書構造情報抽出部3は、ドキュメントテンプレート情報群から、ドキュメントテンプレートIDを1つ取得する。
次に、ステップS3−11において、設計書構造情報抽出部3は、ステップS3−10で取り出した「ドキュメントテンプレートIDと一致するドキュメントテンプレートから、「必須」となっている設計項目を全て取得する。
次に、ステップS3−12において、設計書構造情報抽出部3は、ステップS3−11で取得した、必須の設計項目が全て対象設計書に存在するかどうかを判定する。必須の設計項目が全て対象設計書に存在する場合(ステップS3−12:YES)は、ステップS3−9からS3−9´までのループを抜けて、ステップ(S3−13に進む。必須の設計項目の全てが対象設計書に存在しない場合(ステップS3−12:NO)は、次のステップS3−9´に進み、即ち、ステップS3−9からS3−9´までの繰り返し処理に戻る。
ステップS3−13に進んだ場合、ステップS3−13において、設計書構造情報抽出部3は、対象設計書の設計書IDと、ドキュメントテンプレートのドキュメントテンプレートIDとを対応付けて、設計書対応テンプレート情報に登録する。
ステップS3−9からS3−9´までの繰り返し処理を全て終えた場合、ステップS3−14に進む。これは、即ち、対象設計書に対応するドキュメントテンプレートが見つからなかった場合である。そして、ステップS3−14において、設計書構造情報抽出部3は、対象設計書のドキュメントテンプレートIDを「NULL」とし、設計書対応テンプレート情報に登録する。
ステップS3−13またはS3−14のいずれかの処理を終えた場合、ステップS3−6´に進む。即ち、次の設計書IDが残っている場合には繰り返し処理に戻り、全ての設計書IDについて処理を完了した場合には、次のステップS3−15に移る。
図9に移り、設計書構造情報抽出部3は、ステップS3−15からS3−15´までの処理を、設計書ID群に含まれる設計書IDごとに繰り返す。
ステップS3−16において、設計書構造情報抽出部3は、設計書ID群から、設計書IDを1つ取得する。
次に、ステップS3−17において、設計書構造情報抽出部3は、ステップS3−16で取得した設計書IDに対応する設計項目群を取得し、これを比較元設計書とする。
ステップS3−16において、設計書構造情報抽出部3は、設計書ID群から、設計書IDを1つ取得する。
次に、ステップS3−17において、設計書構造情報抽出部3は、ステップS3−16で取得した設計書IDに対応する設計項目群を取得し、これを比較元設計書とする。
次に、設計書構造情報抽出部3は、ステップS3−18からS3−18´までの処理を、設計書情報ごとに繰り返す。
ステップS3−19において、設計書構造情報抽出部3は、比較元設計書と同じドキュメントテンプレートIDを持つ設計書IDを、設計書対応テンプレート情報」から取得する。
ステップS3−20において、設計書構造情報抽出部3は、ステップS3−19で取得した設計書IDの設計項目群を取得し、これを比較先設計書とする。
次に、ステップS3−21において、設計書構造情報抽出部3は、比較元設計書と比較先設計書の設計項目が一致するかどうかの判定を行う。設計項目が一致する場合(ステップS3−21:YES)には、次のステップS3−18´に進む。設計項目が一致しない場合(ステップS3−21:NO)には、ステップS3−22に移る。
ステップS3−19において、設計書構造情報抽出部3は、比較元設計書と同じドキュメントテンプレートIDを持つ設計書IDを、設計書対応テンプレート情報」から取得する。
ステップS3−20において、設計書構造情報抽出部3は、ステップS3−19で取得した設計書IDの設計項目群を取得し、これを比較先設計書とする。
次に、ステップS3−21において、設計書構造情報抽出部3は、比較元設計書と比較先設計書の設計項目が一致するかどうかの判定を行う。設計項目が一致する場合(ステップS3−21:YES)には、次のステップS3−18´に進む。設計項目が一致しない場合(ステップS3−21:NO)には、ステップS3−22に移る。
ステップS3−21からS3−22に進んだ場合、ステップS3−22において、設計書構造情報抽出部3は、設計項目が不一致であった比較元設計書と比較先設計書とを取得し、エラーメッセージを表示する。
そして、ステップS3−23において、テンプレート改善支援装置100は、処理を一旦中止する。なお、その後、開発者が、ステップS3−22でエラー表示した設計書の設計項目の不一致を修正することができる。そして、開発者は、再度、設計書を登録することができる。
そして、ステップS3−23において、テンプレート改善支援装置100は、処理を一旦中止する。なお、その後、開発者が、ステップS3−22でエラー表示した設計書の設計項目の不一致を修正することができる。そして、開発者は、再度、設計書を登録することができる。
ステップS3−18´は、ステップS3−18に対応する繰り返し処理の終了点である。即ち、残っている設計書情報があれば次の設計書情報について処理を繰り返す。また、残っている設計書情報がなければ、次の、ステップS3−15´に進む。
ステップS3−15´は、ステップS3−15に対応する繰り返し処理の終了点である。即ち、残っている設計書IDがあれば次の設計書IDについて処理を繰り返す。また、残っている設計書IDがなければ、次の、ステップS3−24に進む。
ステップS3−24に進んだ場合、設計書構造情報抽出部3は、本フローチャート全体の処理を終了する。
ステップS3−15´は、ステップS3−15に対応する繰り返し処理の終了点である。即ち、残っている設計書IDがあれば次の設計書IDについて処理を繰り返す。また、残っている設計書IDがなければ、次の、ステップS3−24に進む。
ステップS3−24に進んだ場合、設計書構造情報抽出部3は、本フローチャート全体の処理を終了する。
以上の手順により、設計書構造情報抽出部3は、設計書の構造情報を抽出する。また、設計書構造情報抽出部3は、同じドキュメントテンプレートから作成された設計書が複数ある場合に、それら設計書の設計構造を揃えるため、勝手なカスタマイズをしている設計書を取り除く。
図10,図11は、比較エンジン部4による処理の手順を示すフローチャートである。同図に示す処理は、図4で説明したステップS1−4の処理である。これらの2つの図は、コネクターによって接続される。以下、このフローチャートに沿って説明する。
まず、図10のステップS4−0において、比較エンジン部4は、本フローチャート全体の処理を開始する。
ステップS4−1において、比較エンジン部4は、設計書構造情報抽出部3から、設計書対応テンプレート情報を取得する。
まず、図10のステップS4−0において、比較エンジン部4は、本フローチャート全体の処理を開始する。
ステップS4−1において、比較エンジン部4は、設計書構造情報抽出部3から、設計書対応テンプレート情報を取得する。
次に、比較エンジン部4は、ステップS4−2からS4−2´までの処理を、設計書対応テンプレート情報にあるドキュメントテンプレートIDごとに繰り返す。
ステップS4−3において、比較エンジン部4は、ドキュメントテンプレートIDを1つ取得する。
次に、ステップS4−4において、比較エンジン部4は、ステップS4−3で取得したドキュメントテンプレートIDが「NULL」であるかどうかの判定を行う。ドキュメントテンプレートIDが「NULL」である場合(ステップS4−4:YES)には、そのままステップS4−5へ進む。ドキュメントテンプレートIDが「NULL」ではない場合(ステップS4−4:NO)には、次のドキュメントテンプレートIDを処理するためにステップS4−3に戻る。
ステップS4−5に進んだ場合、ステップS4−5において、比較エンジン部4は、変更種類を「テンプレート(追加)」とする。つまり、比較エンジン部4は、ドキュメントテンプレートIDが「NULL」である設計書を、新しく追加されたテンプレートとして取得する。新しくテンプレートを追加する場合、比較エンジン部4は、カスタマイズ情報の変更後ドキュメントテンプレートIDに、ユニークなIDを付与する。また、比較エンジン部4は、変更後ドキュメントテンプレート名を、追加した設計書の名称とする。
そして、ステップS4−2´は、ステップS4−2から始まる繰り返し処理の終了点である。ステップS4−2からS4−2´までの繰り返し処理が終了すると、次のステップS4−6に移る。
ステップS4−3において、比較エンジン部4は、ドキュメントテンプレートIDを1つ取得する。
次に、ステップS4−4において、比較エンジン部4は、ステップS4−3で取得したドキュメントテンプレートIDが「NULL」であるかどうかの判定を行う。ドキュメントテンプレートIDが「NULL」である場合(ステップS4−4:YES)には、そのままステップS4−5へ進む。ドキュメントテンプレートIDが「NULL」ではない場合(ステップS4−4:NO)には、次のドキュメントテンプレートIDを処理するためにステップS4−3に戻る。
ステップS4−5に進んだ場合、ステップS4−5において、比較エンジン部4は、変更種類を「テンプレート(追加)」とする。つまり、比較エンジン部4は、ドキュメントテンプレートIDが「NULL」である設計書を、新しく追加されたテンプレートとして取得する。新しくテンプレートを追加する場合、比較エンジン部4は、カスタマイズ情報の変更後ドキュメントテンプレートIDに、ユニークなIDを付与する。また、比較エンジン部4は、変更後ドキュメントテンプレート名を、追加した設計書の名称とする。
そして、ステップS4−2´は、ステップS4−2から始まる繰り返し処理の終了点である。ステップS4−2からS4−2´までの繰り返し処理が終了すると、次のステップS4−6に移る。
次に、比較エンジン部4は、ステップS4−6からS4−6´までの処理を、ドキュメントテンプレートデータにあるドキュメントテンプレートIDごとに繰り返す。
ステップS4−7において、比較エンジン部4は、ドキュメントテンプレート情報からドキュメントテンプレートIDを1つ取得する。
次に、ステップS4−8において、比較エンジン部4は、ステップS4−7で取り出したドキュメントテンプレートIDと、設計書対応テンプレート情報のドキュメントテンプレートIDが一致するかどうかの判定を行う。両者が一致する場合(ステップS4−8:YES)には、次のドキュメントテンプレートIDを取得するために、ステップS4−7に戻る。両者が一致しない場合(ステップS4−8:NO)には、次のステップS4−9に進む。
ステップS4−9に進んだ場合、ステップS4−9において、比較エンジン部4は、変更種類を「テンプレート(削除)」とする。つまり、比較エンジン部4は、そのドキュメントIDを、使われなかったドキュメントテンプレート情報のドキュメントテンプレートIDとして取得する。テンプレート削除の場合、比較エンジン部4は、カスタマイズ情報の変更前ドキュメントテンプレートIDを、削除したドキュメントテンプレートのIDに設定する。また、比較エンジン部4は、変更前ドキュメントテンプレート名を、削除したドキュメントテンプレートの名称とする。
そして、ステップS4−6´は、ステップS4−6から始まる繰り返し処理の終了点である。ステップS4−6からS4−6´までの繰り返し処理が終了すると、次のステップS4−10に移る。
ステップS4−7において、比較エンジン部4は、ドキュメントテンプレート情報からドキュメントテンプレートIDを1つ取得する。
次に、ステップS4−8において、比較エンジン部4は、ステップS4−7で取り出したドキュメントテンプレートIDと、設計書対応テンプレート情報のドキュメントテンプレートIDが一致するかどうかの判定を行う。両者が一致する場合(ステップS4−8:YES)には、次のドキュメントテンプレートIDを取得するために、ステップS4−7に戻る。両者が一致しない場合(ステップS4−8:NO)には、次のステップS4−9に進む。
ステップS4−9に進んだ場合、ステップS4−9において、比較エンジン部4は、変更種類を「テンプレート(削除)」とする。つまり、比較エンジン部4は、そのドキュメントIDを、使われなかったドキュメントテンプレート情報のドキュメントテンプレートIDとして取得する。テンプレート削除の場合、比較エンジン部4は、カスタマイズ情報の変更前ドキュメントテンプレートIDを、削除したドキュメントテンプレートのIDに設定する。また、比較エンジン部4は、変更前ドキュメントテンプレート名を、削除したドキュメントテンプレートの名称とする。
そして、ステップS4−6´は、ステップS4−6から始まる繰り返し処理の終了点である。ステップS4−6からS4−6´までの繰り返し処理が終了すると、次のステップS4−10に移る。
図11に移り、比較エンジン部4は、ステップS4−10からS4−10´までの処理を、設計書対応テンプレート情報にある設計書IDごとに繰り返す。
ステップS4−11において、比較エンジン部4は、設計書対応テンプレート情報の設計書IDを1つ取得する。
次に、ステップS4−12において、比較エンジン部4は、ドキュメントテンプレート情報から、ステップS4−11で取得した設計書IDに対応するドキュメントテンプレートIDを取得する。
ステップS4−11において、比較エンジン部4は、設計書対応テンプレート情報の設計書IDを1つ取得する。
次に、ステップS4−12において、比較エンジン部4は、ドキュメントテンプレート情報から、ステップS4−11で取得した設計書IDに対応するドキュメントテンプレートIDを取得する。
次に、比較エンジン部4は、ステップS4−13からS4−13´までの処理を、ステップS4−11で取得した設計書IDに対応する設計項目ごとに繰り返す。
ステップS4−14において、比較エンジン部4は、設計書IDに対応する設計項目を1つ取得する。
次に、ステップS4−15において、比較エンジン部4は、ステップS4−14で取得した設計項目が、ステップS4−12で取得したドキュメントテンプレートに存在するかどうかの判定を行う。そして、設計項目が存在する場合(ステップS4−15:YES)には、次の設計項目を処理するために、ステップS4−14に戻る。設計項目が存在しない場合(ステップS4−15:NO)には、そのまま次のステップS4−16に進む。
ステップS4−16に進んだ場合、ステップS4−16において、比較エンジン部4は、変更種類を「設計項目(追加)」とする。つまり、比較エンジン部4は、その設計項目を、新しく追加された設計項目として、取得する。設計項目の追加の場合には、比較エンジン部4は、カスタマイズ情報の変更後の設計項目として、追加した設計項目を取得する。
そして、ステップS4−13´は、ステップS4−13から始まる繰り返し処理の終了点である。ステップS4−13からS4−13´までの繰り返し処理が終了すると、次のステップS4−17に移る。
ステップS4−14において、比較エンジン部4は、設計書IDに対応する設計項目を1つ取得する。
次に、ステップS4−15において、比較エンジン部4は、ステップS4−14で取得した設計項目が、ステップS4−12で取得したドキュメントテンプレートに存在するかどうかの判定を行う。そして、設計項目が存在する場合(ステップS4−15:YES)には、次の設計項目を処理するために、ステップS4−14に戻る。設計項目が存在しない場合(ステップS4−15:NO)には、そのまま次のステップS4−16に進む。
ステップS4−16に進んだ場合、ステップS4−16において、比較エンジン部4は、変更種類を「設計項目(追加)」とする。つまり、比較エンジン部4は、その設計項目を、新しく追加された設計項目として、取得する。設計項目の追加の場合には、比較エンジン部4は、カスタマイズ情報の変更後の設計項目として、追加した設計項目を取得する。
そして、ステップS4−13´は、ステップS4−13から始まる繰り返し処理の終了点である。ステップS4−13からS4−13´までの繰り返し処理が終了すると、次のステップS4−17に移る。
次に、比較エンジン部4は、ステップS4−17からS4−17´までの処理を、ドキュメントテンプレートIDに対応する設計項目ごとに繰り返す。
ステップS4−18において、比較エンジン部4は、ドキュメントテンプレートIDに対応する設計項目を1つ取得する。
次に、ステップS4−19において、比較エンジン部4は、ステップS4−18で取得した設計項目が、ステップS4−11で取得した設計書に存在するかどうかの判定を行う。設計項目がその設計書に存在する場合(ステップS4−19:YES)には、次の設計項目を処理するためにステップS4−18に戻る。設計項目がその設計書に存在しない場合(ステップS4−19:NO)には、そのまま次のステップS4−20に進む。
ステップS4−20に進んだ場合、ステップS4−20において、比較エンジン部4は、変更種類を「設計項目(削除)」とする。つまり、比較エンジン部4は、その設計項目を、削除された設計項目として処理する。設計項目の削除の場合、カスタマイズ情報の変更前の設計項目を、削除した設計項目とする。
そして、ステップS4−17´は、ステップS4−17から始まる繰り返し処理の終了点である。
また、ステップS4−17´の次のステップS4−10´は、ステップS4−10から始まる繰り返し処理の終了点である。
この繰り返し処理を終了すると、次に、ステップS4−21に移る。
ステップS4−18において、比較エンジン部4は、ドキュメントテンプレートIDに対応する設計項目を1つ取得する。
次に、ステップS4−19において、比較エンジン部4は、ステップS4−18で取得した設計項目が、ステップS4−11で取得した設計書に存在するかどうかの判定を行う。設計項目がその設計書に存在する場合(ステップS4−19:YES)には、次の設計項目を処理するためにステップS4−18に戻る。設計項目がその設計書に存在しない場合(ステップS4−19:NO)には、そのまま次のステップS4−20に進む。
ステップS4−20に進んだ場合、ステップS4−20において、比較エンジン部4は、変更種類を「設計項目(削除)」とする。つまり、比較エンジン部4は、その設計項目を、削除された設計項目として処理する。設計項目の削除の場合、カスタマイズ情報の変更前の設計項目を、削除した設計項目とする。
そして、ステップS4−17´は、ステップS4−17から始まる繰り返し処理の終了点である。
また、ステップS4−17´の次のステップS4−10´は、ステップS4−10から始まる繰り返し処理の終了点である。
この繰り返し処理を終了すると、次に、ステップS4−21に移る。
ステップS4−21において、比較エンジン部4は、カスタマイズ情報に、取得したカスタマイズが存在しているか否かを判定する。ここで、取得したカスタマイズとは、ステップS4−5、S4−9、S4−16、S4−20のいずれかで取得されたカスタマイズ(変更)である。取得したカスタマイズが存在する場合(ステップS4−21:YES)には、ステップS4−23に飛ぶ。取得したカスタマイズが存在しない場合(ステップS4−21:NO)には、次のステップS4−22に進む。
ステップS4−22に進んだ場合、ステップS4−22において、比較エンジン部4は、ステップS4−5、S4−9、S4−16、S4−20で取得したカスタマイズを、カスタマイズ情報に登録する。このとき、新規に登録するカスタマイズには対しては、比較エンジン部4は、ユニークなカスタマイズIDを発番する。また、比較エンジン部4は、登録するカスタマイズ情報を、インタフェース部1を介して表示し、開発者に「カスタマイズ情報」を確認するように促す。プロジェクトで実際に行ったカスタマイズと違うカスタマイズ情報が表示されれば、開発者が修正することを可能とする。テンプレートの設計項目名を変更した場合には、変更種類が「設計項目(追加)」と「設計項目(削除)」の2つのカスタマイズ情報として判定される。この場合、開発者が、変更種類を「名称変更」に変え、変更前の設計項目と変更後の設計項目に、設計項目の名称を入力することができるようにする。
そして、ステップS4−23において、比較エンジン部4は、設計書を作成したプロジェクトのプロジェクトIDと、プロジェクトが実施したカスタマイズを一意に表すカスタマイズIDとを対応付ける。そして、比較エンジン部4は、対応付けられたプロジェクトIDとカスタマイズIDとを、カスタマイズ情報データベース9のプロジェクトカスタマイズ情報に登録する。
ステップS4−24において、比較エンジン部4は、このフローチャート全体の処理を終了する。
ステップS4−24において、比較エンジン部4は、このフローチャート全体の処理を終了する。
以上の処理により、比較エンジン部4は、設計書一式のファイルの構造情報と、ドキュメントテンプレート一式のファイルの構造情報とを比較する。その比較の結果、比較エンジン部4は、カスタマイズ情報を抽出する。
図12は、プロジェクト情報管理部5による処理の手順を示すフローチャートである。同図に示す処理は、図4で説明したステップS1−5の処理である。以下、このフローチャートに沿って説明する。
まず、ステップS5−0において、プロジェクト情報管理部5は、本フローチャート全体の処理を開始する。
ステップS5−1において、プロジェクト情報管理部5は、インタフェース部1を介して、プロジェクト属性登録画面を表示する。
次に、ステップS5−2において、プロジェクト情報管理部5は、インタフェース部1を介して、開発者が入力した属性値を取得する。属性値は、プロジェクトの属性に対応する値である。
次に、ステップS5−3において、プロジェクト情報管理部5は、ステップS5−2で取得した属性値を、プロジェクト情報データベース10の属性値情報に登録する。
ステップS5−4で、プロジェクト情報管理部5は、本フローチャート全体の処理を終了する。
以上の処理により、プロジェクト情報管理部5は、プロジェクトの属性情報を取得し、登録する。
まず、ステップS5−0において、プロジェクト情報管理部5は、本フローチャート全体の処理を開始する。
ステップS5−1において、プロジェクト情報管理部5は、インタフェース部1を介して、プロジェクト属性登録画面を表示する。
次に、ステップS5−2において、プロジェクト情報管理部5は、インタフェース部1を介して、開発者が入力した属性値を取得する。属性値は、プロジェクトの属性に対応する値である。
次に、ステップS5−3において、プロジェクト情報管理部5は、ステップS5−2で取得した属性値を、プロジェクト情報データベース10の属性値情報に登録する。
ステップS5−4で、プロジェクト情報管理部5は、本フローチャート全体の処理を終了する。
以上の処理により、プロジェクト情報管理部5は、プロジェクトの属性情報を取得し、登録する。
図13は、カスタマイズ情報表示部6による処理の手順を示すフローチャートである。同図に示す処理は、図4で説明したステップS1−6の処理である。以下、このフローチャートに沿って説明する。
まず、ステップS6−0において、カスタマイズ情報表示部6は、本フローチャート全体の処理を開始する。
ステップS6−1において、カスタマイズ情報表示部6は、カスタマイズ情報データベース9に蓄積された、全てのカスタマイズ情報を取得する。
次に、ステップS6−2において、カスタマイズ情報表示部6は、プロジェクト情報データベース10に蓄積された、全てのプロジェクトのプロジェクト情報を取得する。
次に、ステップS6−3において、カスタマイズ情報表示部6は、ステップS6−1で取得したカスタマイズ情報と、ステップS6−2で取得したプロジェクト情報の因果関係の分析を行う。なお、この分析処理の詳細については、後で、図14,図15,図16を参照しながら説明する。
次に、ステップS6−4において、カスタマイズ情報表示部6は、ステップS6−3で得られた分析結果を、表示のために整理する。なお、この整理の処理の詳細については、後で、図17を参照しながら説明する。
次に、ステップS6−5において、カスタマイズ情報表示部6は、ステップS6−4で整理した分析結果を、インタフェース部1を介して表示する。
そして、ステップS6−6において、カスタマイズ情報表示部6は、このフローチャートの全体の処理を終了する。
以上の処理により、カスタマイズ情報表示部6は、これまで入力してきた全てのプロジェクトとプロジェクトの設計書の情報から、カスタマイズ情報を分析し表示する。
まず、ステップS6−0において、カスタマイズ情報表示部6は、本フローチャート全体の処理を開始する。
ステップS6−1において、カスタマイズ情報表示部6は、カスタマイズ情報データベース9に蓄積された、全てのカスタマイズ情報を取得する。
次に、ステップS6−2において、カスタマイズ情報表示部6は、プロジェクト情報データベース10に蓄積された、全てのプロジェクトのプロジェクト情報を取得する。
次に、ステップS6−3において、カスタマイズ情報表示部6は、ステップS6−1で取得したカスタマイズ情報と、ステップS6−2で取得したプロジェクト情報の因果関係の分析を行う。なお、この分析処理の詳細については、後で、図14,図15,図16を参照しながら説明する。
次に、ステップS6−4において、カスタマイズ情報表示部6は、ステップS6−3で得られた分析結果を、表示のために整理する。なお、この整理の処理の詳細については、後で、図17を参照しながら説明する。
次に、ステップS6−5において、カスタマイズ情報表示部6は、ステップS6−4で整理した分析結果を、インタフェース部1を介して表示する。
そして、ステップS6−6において、カスタマイズ情報表示部6は、このフローチャートの全体の処理を終了する。
以上の処理により、カスタマイズ情報表示部6は、これまで入力してきた全てのプロジェクトとプロジェクトの設計書の情報から、カスタマイズ情報を分析し表示する。
図14,図15,図16は、カスタマイズ情報分析部61による処理の手順を示すフローチャートである。この処理は、図13におけるステップS6−3の処理である。これらの3つの図は、コネクターによって接続される。以下、このフローチャートに沿って説明する。
まず、図14のステップS61−0において、カスタマイズ情報分析部61は、本フローチャート全体の処理を開始する。
ステップS61−1において、カスタマイズ情報分析部61は、プロジェクト情報データベース10に蓄積されたプロジェクトの総数を取得する。
まず、図14のステップS61−0において、カスタマイズ情報分析部61は、本フローチャート全体の処理を開始する。
ステップS61−1において、カスタマイズ情報分析部61は、プロジェクト情報データベース10に蓄積されたプロジェクトの総数を取得する。
次に、カスタマイズ情報分析部61は、ステップS61−2からS61−2´までの処理を、プロジェクトの属性情報の属性IDごとに繰り返す。
ステップS61−3において、カスタマイズ情報分析部61は、プロジェクトの属性情報から、属性IDを1つ取得する。
次に、ステップS61−4において、カスタマイズ情報分析部61は、ステップS61−3で取得した属性IDに対応する属性値が同じプロジェクトIDの数をカウントする。
次に、ステップS61−5において、カスタマイズ情報分析部61は、ステップS61−4でカウントした結果の数値をプロジェクト属性数データのプロジェクト数として、属性IDおよび属性値と関連付けて取得する。つまり、カスタマイズ情報分析部61は、同じ属性値を有するプロジェクト数の統計を得る。
そして、ステップS61−2´は、ステップS61−2から始まる繰り返し処理の終了点である。全ての属性IDについての処理を終えると、次のステップS51−6に移る。
ステップS61−3において、カスタマイズ情報分析部61は、プロジェクトの属性情報から、属性IDを1つ取得する。
次に、ステップS61−4において、カスタマイズ情報分析部61は、ステップS61−3で取得した属性IDに対応する属性値が同じプロジェクトIDの数をカウントする。
次に、ステップS61−5において、カスタマイズ情報分析部61は、ステップS61−4でカウントした結果の数値をプロジェクト属性数データのプロジェクト数として、属性IDおよび属性値と関連付けて取得する。つまり、カスタマイズ情報分析部61は、同じ属性値を有するプロジェクト数の統計を得る。
そして、ステップS61−2´は、ステップS61−2から始まる繰り返し処理の終了点である。全ての属性IDについての処理を終えると、次のステップS51−6に移る。
次に、カスタマイズ情報分析部61は、ステップS61−6からS61−6´までの処理を、カスタマイズ情報データベース9に蓄積されたカスタマイズごとに繰り返す。
ステップS61−7において、カスタマイズ情報分析部61は、カスタマイズ情報データベース9から、カスタマイズiDを1つ取得する。
次に、ステップS61−8において、カスタマイズ情報分析部61は、プロジェクトカスタマイズ情報から、ステップS61−7で取得したカスタマイズIDに対応するプロジェクトIDの数をカウントする。
次に、ステップS61−9において、カスタマイズ情報分析部61は、ステップS61−8でカウントした結果の数値をカスタマイズ実施数データのプロジェクト数として、カスタマイズIDと関連付けて取得する。
そして、ステップS61−6´は、ステップS61−6から始まる繰り返し処理の終了点である。全てのカスタマイズIDについての処理を終えると、次のステップS51−10に移る。
ステップS61−7において、カスタマイズ情報分析部61は、カスタマイズ情報データベース9から、カスタマイズiDを1つ取得する。
次に、ステップS61−8において、カスタマイズ情報分析部61は、プロジェクトカスタマイズ情報から、ステップS61−7で取得したカスタマイズIDに対応するプロジェクトIDの数をカウントする。
次に、ステップS61−9において、カスタマイズ情報分析部61は、ステップS61−8でカウントした結果の数値をカスタマイズ実施数データのプロジェクト数として、カスタマイズIDと関連付けて取得する。
そして、ステップS61−6´は、ステップS61−6から始まる繰り返し処理の終了点である。全てのカスタマイズIDについての処理を終えると、次のステップS51−10に移る。
次に、カスタマイズ情報分析部61は、ステップS61−10からS61−10´までの処理を、プロジェクト情報データベース10に登録したプロジェクト情報ごとに繰り返す。
ステップS61−11において、カスタマイズ情報分析部61は、プロジェクト情報データベース10に登録されているプロジェクト情報を1つ取得する。
ステップS61−11において、カスタマイズ情報分析部61は、プロジェクト情報データベース10に登録されているプロジェクト情報を1つ取得する。
そして、カスタマイズ情報分析部61は、ステップS61−11で取得したプロジェクト情報に対応するカスタマイズIDを、プロジェクトカスタマイズ情報から全て取り出す。そして、カスタマイズ情報分析部61は、それらの取り出したカスタマイズIDの各々についてステップS61−12からS61−12´までの処理を繰り返す。
ステップS61−13において、カスタマイズ情報分析部61は、プロジェクトカスタマイズ情報から、プロジェクト情報に対応するカスタマイズIDを1つ取得する。
ステップS61−13において、カスタマイズ情報分析部61は、プロジェクトカスタマイズ情報から、プロジェクト情報に対応するカスタマイズIDを1つ取得する。
図15に移って、カスタマイズ情報分析部61は、ステップS61−14からS61−14´までの処理を、ステップS61−11で取得したプロジェクトに関する属性値ごとに繰り返す。
ステップS61−15において、カスタマイズ情報分析部61は、属性値を1つ取得する。
次に、ステップS61−16において、カスタマイズ情報分析部61は、ステップS61−13で取得したカスタマイズと、ステップS61−15で取得した属性値の組み合わせが、カスタマイズと属性値の総当たりデータに存在するかどうかの判定を行う。そのカスタマイズと属性値の組み合わせが存在する場合(ステップS61−16:YES)には、ステップS61−18へ飛ぶ。そのカスタマイズと属性値の組み合わせが存在しない場合(ステップS61−16:NO)には、次のステップS61−17へ進む。
ステップS61−17においては、カスタマイズ情報分析部61は、そのカスタマイズと属性値の組み合わせを、カスタマイズと属性値の総当たりデータに登録する。なお、この登録の際のプロジェクト数の初期値を0とする。
そして、ステップS61−18において、カスタマイズ情報分析部61は、そのカスタマイズと属性値の組み合わせに関して、プロジェクト数をインクリメントする。つまり、プロジェクト数に1をたす。
ステップS61−15において、カスタマイズ情報分析部61は、属性値を1つ取得する。
次に、ステップS61−16において、カスタマイズ情報分析部61は、ステップS61−13で取得したカスタマイズと、ステップS61−15で取得した属性値の組み合わせが、カスタマイズと属性値の総当たりデータに存在するかどうかの判定を行う。そのカスタマイズと属性値の組み合わせが存在する場合(ステップS61−16:YES)には、ステップS61−18へ飛ぶ。そのカスタマイズと属性値の組み合わせが存在しない場合(ステップS61−16:NO)には、次のステップS61−17へ進む。
ステップS61−17においては、カスタマイズ情報分析部61は、そのカスタマイズと属性値の組み合わせを、カスタマイズと属性値の総当たりデータに登録する。なお、この登録の際のプロジェクト数の初期値を0とする。
そして、ステップS61−18において、カスタマイズ情報分析部61は、そのカスタマイズと属性値の組み合わせに関して、プロジェクト数をインクリメントする。つまり、プロジェクト数に1をたす。
そして、ステップS61−14´は、ステップS61−14から始まる繰り返し処理の終了点である。
そして、ステップS61−12´は、ステップS61−12から始まる繰り返し処理の終了点である。
そして、ステップS61−10´は、ステップS61−10から始まる繰り返し処理の終了点である。
つまり、ステップS61−10からS61−10´までの処理によって、カスタマイズと属性値の組み合わせごとに、該当するプロジェクト数をカウントした統計データが得られた。
そして、ステップS61−12´は、ステップS61−12から始まる繰り返し処理の終了点である。
そして、ステップS61−10´は、ステップS61−10から始まる繰り返し処理の終了点である。
つまり、ステップS61−10からS61−10´までの処理によって、カスタマイズと属性値の組み合わせごとに、該当するプロジェクト数をカウントした統計データが得られた。
図16に移って、カスタマイズ情報分析部61は、ステップS61−19からS61−19´までの処理を、カスタマイズと属性値の総当たりデータに含まれる、カスタマイズと属性値の組み合わせごとに繰り返す。
ステップS61−20において、カスタマイズ情報分析部61は、カスタマイズと属性値の総当たりデータから、カスタマイズと属性値の組み合わせを1つ取得する。
次に、ステップS61−21において、カスタマイズ情報分析部61は、ステップS61−20で取得したカスタマイズと属性値の組み合わせの支持度を計算する。この支持度は、そのカスタマイズと属性値の組み合わせのプロジェクト数を、S61−1で取得したプロジェクトの総数で割ることによって算出される。支持度は、その値が大きいほどよくあるカスタマイズであることを示し、その値が小さいほど滅多にないカスタマイズであることを示している。
次に、ステップS61−22において、カスタマイズ情報分析部61は、そのカスタマイズの期待信頼度を計算する。この期待信頼度は、ステップS61−9で取得したカスタマイズ実施数を、S61−1で取得したプロジェクトの総数で割ることによって算出される。この期待信頼度は、後で、リフト値を計算する際に用いられる。
次に、ステップS61−23において、カスタマイズ情報分析部61は、ステップS61−20で取得したカスタマイズと属性値の組み合わせの信頼度を計算する。この信頼度は、その組み合わせのプロジェクト数を、ステップS61−5で取得したプロジェクト属性数データで割ることによって算出される。信頼度が高いほど、その属性値を有するプロジェクトがそのカスタマイズを実施している、と言うことができる。言い換えれば、信頼度が高いほど、プロジェクト属性Aの属性値がCであるプロジェクトはカスタマイズBを実施している、と言うことができる。ただし、属性値に依存せずに高い頻度でカスタマイズBが実施される可能性もあるため、次ステップにおけるリフト値の計算も行う。なお、「プロジェクト属性A」とは、プロジェクトの属性情報の1つである。また、「属性値C」は、プロジェクト属性Aの属性値がCであることを意味する。また、「カスタマイズB」は、属性値Cと組み合わせたカスタマイズ情報の1つを指す。
次に、ステップS61−24において、カスタマイズ情報分析部61は、リフト値を計算する。このリフト値は、ステップS61−23で算出した信頼度を、ステップS61−22で取得した「期待信頼度」で割ることによって算出される。このリフト値が1以上であれば、カスタマイズBは属性値Cに依存していると言うことができる。つまり、リフト値が1以上であれば、カスタマイズBと属性値Cとの因果関係が強いと言うことができる。
次に、ステップS61−25において、カスタマイズ情報分析部61は、ステップS61−21からステップS61−24までの各ステップで計算した結果を、カスタマイズと属性値の総当たりデータに登録する。
そして、ステップS61−19´は、ステップS61−19から始まる繰り返し処理の終了点である。
ここまでの処理が終了すると、カスタマイズ情報分析部61は、本フローチャート全体の処理を終了する(ステップS61−26)。
ステップS61−20において、カスタマイズ情報分析部61は、カスタマイズと属性値の総当たりデータから、カスタマイズと属性値の組み合わせを1つ取得する。
次に、ステップS61−21において、カスタマイズ情報分析部61は、ステップS61−20で取得したカスタマイズと属性値の組み合わせの支持度を計算する。この支持度は、そのカスタマイズと属性値の組み合わせのプロジェクト数を、S61−1で取得したプロジェクトの総数で割ることによって算出される。支持度は、その値が大きいほどよくあるカスタマイズであることを示し、その値が小さいほど滅多にないカスタマイズであることを示している。
次に、ステップS61−22において、カスタマイズ情報分析部61は、そのカスタマイズの期待信頼度を計算する。この期待信頼度は、ステップS61−9で取得したカスタマイズ実施数を、S61−1で取得したプロジェクトの総数で割ることによって算出される。この期待信頼度は、後で、リフト値を計算する際に用いられる。
次に、ステップS61−23において、カスタマイズ情報分析部61は、ステップS61−20で取得したカスタマイズと属性値の組み合わせの信頼度を計算する。この信頼度は、その組み合わせのプロジェクト数を、ステップS61−5で取得したプロジェクト属性数データで割ることによって算出される。信頼度が高いほど、その属性値を有するプロジェクトがそのカスタマイズを実施している、と言うことができる。言い換えれば、信頼度が高いほど、プロジェクト属性Aの属性値がCであるプロジェクトはカスタマイズBを実施している、と言うことができる。ただし、属性値に依存せずに高い頻度でカスタマイズBが実施される可能性もあるため、次ステップにおけるリフト値の計算も行う。なお、「プロジェクト属性A」とは、プロジェクトの属性情報の1つである。また、「属性値C」は、プロジェクト属性Aの属性値がCであることを意味する。また、「カスタマイズB」は、属性値Cと組み合わせたカスタマイズ情報の1つを指す。
次に、ステップS61−24において、カスタマイズ情報分析部61は、リフト値を計算する。このリフト値は、ステップS61−23で算出した信頼度を、ステップS61−22で取得した「期待信頼度」で割ることによって算出される。このリフト値が1以上であれば、カスタマイズBは属性値Cに依存していると言うことができる。つまり、リフト値が1以上であれば、カスタマイズBと属性値Cとの因果関係が強いと言うことができる。
次に、ステップS61−25において、カスタマイズ情報分析部61は、ステップS61−21からステップS61−24までの各ステップで計算した結果を、カスタマイズと属性値の総当たりデータに登録する。
そして、ステップS61−19´は、ステップS61−19から始まる繰り返し処理の終了点である。
ここまでの処理が終了すると、カスタマイズ情報分析部61は、本フローチャート全体の処理を終了する(ステップS61−26)。
また、カスタマイズ情報分析部61は、別の分析処理により、属性値とドキュメントテンプレートとの総当たりデータを得る。
この処理は、図14,図15,図16に示したフローチャートの処理における「カスタマイズ」を「ドキュメントテンプレート」に置き換えることによって実施できる。
具体的には、カスタマイズ情報分析部61は、プロジェクトカスタマイズ情報のカスタマイズIDの代わりに、設計書一式情報のドキュメントテンプレート一式IDを読み出す。これにより、カスタマイズ情報分析部61は、属性値と、ドキュメントテンプレート一式IDとの総当たりの処理を行う。その結果、カスタマイズ情報分析部61は、属性値とドキュメントテンプレートIDとの全ての組み合わせの各々について、プロジェクト数をカウントする。そして、カスタマイズ情報分析部61は、カスタマイズと属性値との総当たりデータにおいて算出したのと同様に、各組み合わせの、支持度と、信頼度と、期待信頼度と、リフト値とを算出する。これらをドキュメントテンプレートと属性値との総当たりデータとして得る。カスタマイズ情報分析部61は、得られた総当たりデータを、所定のテーブル(後述するドキュメントテンプレートと属性値の総当たりデータ(T8))に登録する。
この処理は、図14,図15,図16に示したフローチャートの処理における「カスタマイズ」を「ドキュメントテンプレート」に置き換えることによって実施できる。
具体的には、カスタマイズ情報分析部61は、プロジェクトカスタマイズ情報のカスタマイズIDの代わりに、設計書一式情報のドキュメントテンプレート一式IDを読み出す。これにより、カスタマイズ情報分析部61は、属性値と、ドキュメントテンプレート一式IDとの総当たりの処理を行う。その結果、カスタマイズ情報分析部61は、属性値とドキュメントテンプレートIDとの全ての組み合わせの各々について、プロジェクト数をカウントする。そして、カスタマイズ情報分析部61は、カスタマイズと属性値との総当たりデータにおいて算出したのと同様に、各組み合わせの、支持度と、信頼度と、期待信頼度と、リフト値とを算出する。これらをドキュメントテンプレートと属性値との総当たりデータとして得る。カスタマイズ情報分析部61は、得られた総当たりデータを、所定のテーブル(後述するドキュメントテンプレートと属性値の総当たりデータ(T8))に登録する。
図17は、分析結果表示部62による処理の手順を示すフローチャートである。この処理は、図13におけるステップS6−5の処理である。
まず、図17のステップS62−0において、分析結果表示部62は、本フローチャート全体の処理を開始する。
ステップS62−1において、分析結果表示部62は、カスタマイズ情報分析部61から、カスタマイズと属性値の総当たりデータを取得する。本ステップで分析結果表示部62が取得するデータには、前述のカスタマイズ情報分析部61による処理で計算された、支持度、信頼度、リフト値が含まれる。
次に、ステップS62−2において、分析結果表示部62は、支持度の値が高い順に、カスタマイズと属性値の総当たりデータを並べ替える。
次に、ステップS62−3において、分析結果表示部62は、ステップS62−2の並べ替え処理において支持度が同値であったカスタマイズと属性値との組み合わせを、信頼度の高い順に並べ替える。
つまり、ステップS62−2とS62−3とで、分析結果表示部62は、降順の支持度を第1キーとして、また降順の信頼度を第2キーとして、並べ替え処理(ソート処理)を行う。
まず、図17のステップS62−0において、分析結果表示部62は、本フローチャート全体の処理を開始する。
ステップS62−1において、分析結果表示部62は、カスタマイズ情報分析部61から、カスタマイズと属性値の総当たりデータを取得する。本ステップで分析結果表示部62が取得するデータには、前述のカスタマイズ情報分析部61による処理で計算された、支持度、信頼度、リフト値が含まれる。
次に、ステップS62−2において、分析結果表示部62は、支持度の値が高い順に、カスタマイズと属性値の総当たりデータを並べ替える。
次に、ステップS62−3において、分析結果表示部62は、ステップS62−2の並べ替え処理において支持度が同値であったカスタマイズと属性値との組み合わせを、信頼度の高い順に並べ替える。
つまり、ステップS62−2とS62−3とで、分析結果表示部62は、降順の支持度を第1キーとして、また降順の信頼度を第2キーとして、並べ替え処理(ソート処理)を行う。
次に、分析結果表示部62は、カスタマイズと属性値との組み合わせの各々について、ステップS62−4からS62−6までの処理を行う。
ステップS62−4において、分析結果表示部62は、上記のカスタマイズと属性値の総当たりデータについて、属性値に依存しているカスタマイズであるかどうかを判定する。分析結果表示部62はこの判定を、具体的には、当該組み合わせのリフト値に基づいて行う。リフト値が1より大きい(即ち、カスタマイズが属性値に依存している)場合(ステップS62−4:YES)には、ステップS62−5へ進む。リフト値が1以下である(即ち、カスタマイズが属性値に依存していない)場合(ステップS62−4:NO)には、ステップS62−6へ進む。
ステップS62−4において、分析結果表示部62は、上記のカスタマイズと属性値の総当たりデータについて、属性値に依存しているカスタマイズであるかどうかを判定する。分析結果表示部62はこの判定を、具体的には、当該組み合わせのリフト値に基づいて行う。リフト値が1より大きい(即ち、カスタマイズが属性値に依存している)場合(ステップS62−4:YES)には、ステップS62−5へ進む。リフト値が1以下である(即ち、カスタマイズが属性値に依存していない)場合(ステップS62−4:NO)には、ステップS62−6へ進む。
ステップS62−5に進んだ場合、ステップS62−5において、分析結果表示部62は、そのカスタマイズと属性値との組み合わせを、特定の属性値を持つプロジェクトが使うドキュメントテンプレートへの反映を推奨するカスタマイズとして表示する。これは、リフト値が1より大きく、カスタマイズが属性値に依存するものであるためである。なお、分析結果表示部62は、本ステップにおける表示の際に、インタフェース部1を介した表示を行う。本ステップの処理の後、ステップS62−7に進む。
ステップS62−6に進んだ場合、ステップS62−6において、分析結果表示部62は、そのカスタマイズと属性値との組み合わせを、ドキュメントテンプレートへの反映を推奨するカスタマイズとして表示する。これは、リフト値が1以下である組み合わせは、カスタマイズと属性値との関係が必ずしもよいとは言えないためである。なお、分析結果表示部62は、本ステップにおける表示の際に、インタフェース部1を介した表示を行う。本ステップの処理の後、ステップS62−7に進む。
そして、ステップS62−7において、分析結果表示部62は、本フローチャート全体の処理を終了する。
ステップS62−6に進んだ場合、ステップS62−6において、分析結果表示部62は、そのカスタマイズと属性値との組み合わせを、ドキュメントテンプレートへの反映を推奨するカスタマイズとして表示する。これは、リフト値が1以下である組み合わせは、カスタマイズと属性値との関係が必ずしもよいとは言えないためである。なお、分析結果表示部62は、本ステップにおける表示の際に、インタフェース部1を介した表示を行う。本ステップの処理の後、ステップS62−7に進む。
そして、ステップS62−7において、分析結果表示部62は、本フローチャート全体の処理を終了する。
上記の処理手順により、分析結果表示部62は、属性値とカスタマイズとの因果関係を分析した結果を、表示する。表示例については、後で、図44を参照しながら説明する。
また、分析結果表示部62は、属性値とドキュメントテンプレートとの分析結果を表示する。
この処理は、分析結果表示部62が、図17に示したフローチャートの処理における「カスタマイズと属性値の総当たりデータ」を、「ドキュメントテンプレートと属性値の総当たりデータ」に置き変えることにより行う。その結果、分析結果表示部62は、特定の属性値を持つプロジェクトに使用されるドキュメントテンプレート、またはドキュメントテンプレート一式を表示する。この表示例については、後で、図45を参照しながら説明する。
この処理は、分析結果表示部62が、図17に示したフローチャートの処理における「カスタマイズと属性値の総当たりデータ」を、「ドキュメントテンプレートと属性値の総当たりデータ」に置き変えることにより行う。その結果、分析結果表示部62は、特定の属性値を持つプロジェクトに使用されるドキュメントテンプレート、またはドキュメントテンプレート一式を表示する。この表示例については、後で、図45を参照しながら説明する。
次に、テンプレート改善支援装置100が用いるデータの構成について説明する。
図18,図19は、テンプレート改善支援装置100におけるデータ構成の概略を示すER図(Entity Relationship Diagram)である。これら2つの図は、コネクターによって互いに接続されている。これらの図において、普通の長方形で示すデータは、データベースに登録するデータ(テーブル)である。また、角の丸い四角形で示すデータは、処理で使用するためのデータ(テーブル)である。
図18,図19は、テンプレート改善支援装置100におけるデータ構成の概略を示すER図(Entity Relationship Diagram)である。これら2つの図は、コネクターによって互いに接続されている。これらの図において、普通の長方形で示すデータは、データベースに登録するデータ(テーブル)である。また、角の丸い四角形で示すデータは、処理で使用するためのデータ(テーブル)である。
まず図18から説明する。同図には、プロジェクト情報(符号T1)と、属性値情報(T2)と、属性情報(T3)と、プロジェクトカスタマイズ情報(T4)と、プロジェクト属性数データ(T5)と、カスタマイズ実施数データ(T6)と、カスタマイズと属性値の総当たりデータ(T7)と、ドキュメントテンプレートと属性値の総当たりデータ(T8)とを示す。
(1)プロジェクト情報(T1)は、プロジェクトの情報を表す。プロジェクト情報は、データ項目(属性)として、プロジェクトIDと、プロジェクト名とを持つ。プロジェクトIDが、プロジェクト情報の主キーである。各データ項目の意味は、次の通りである。
プロジェクトIDは、プロジェクトを一意に識別するIDである。
プロジェクト名は、プロジェクトの名称である。
プロジェクトIDは、プロジェクトを一意に識別するIDである。
プロジェクト名は、プロジェクトの名称である。
(2)属性値情報(T2)は、プロジェクトの、属性情報テーブルに対応する値を保持する。属性値情報は、データ項目として、プロジェクトIDと、属性IDと、属性値とを持つ。プロジェクトIDと属性IDとの複合が、属性値情報の主キーである。各データ項目の意味は、次の通りである。
プロジェクトIDは、プロジェクトを一意に識別するIDである。プロジェクトIDが、属性値情報とプロジェクト情報とを関連付ける。
属性IDは、属性を一意に識別するIDである。属性IDが、属性値情報と属性情報とを関連付ける。
属性値は、属性の値を表す。つまり、属性値は、プロジェクトIDと属性IDによって定まるプロジェクト属性の値である。属性値は開発者により入力される。
プロジェクトIDは、プロジェクトを一意に識別するIDである。プロジェクトIDが、属性値情報とプロジェクト情報とを関連付ける。
属性IDは、属性を一意に識別するIDである。属性IDが、属性値情報と属性情報とを関連付ける。
属性値は、属性の値を表す。つまり、属性値は、プロジェクトIDと属性IDによって定まるプロジェクト属性の値である。属性値は開発者により入力される。
(3)属性情報(T3)は、プロジェクトの属性の種類を表す。属性とはプロジェクトに関する様々な情報を示すものである。属性の種類の例として、「開発期間」、「納入計画」、「見積金額」、「開発形態」、「開発方法論」等がある。属性情報は、データ項目として、属性IDと、属性名とを持つ。属性IDが、属性情報の主キーである。各データ項目の意味は、次の通りである。
属性IDは、属性を一意に識別するIDである。属性IDが、属性情報と属性値情報とを関連付ける。
属性名は、属性の名称である。
属性IDは、属性を一意に識別するIDである。属性IDが、属性情報と属性値情報とを関連付ける。
属性名は、属性の名称である。
(4)プロジェクトカスタマイズ情報(T4)は、プロジェクトがどのカスタマイズをしたかを表す情報である。プロジェクトカスタマイズ情報は、データ項目として、プロジェクトIDと、カスタマイズIDとを持つ。プロジェクトIDとカスタマイズIDの複合が、プロジェクトカスタマイズ情報の主キーである。各データ項目の意味は、次の通りである。
プロジェクトIDは、プロジェクトを一意に識別するIDである。プロジェクトIDが、プロジェクトカスタマイズ情報とプロジェクト情報とを関連付ける。
カスタマイズIDは、カスタマイズを一意に識別するIDである。カスタマイズIDが、プロジェクトカスタマイズ情報とカスタマイズ情報とを関連付ける。
プロジェクトIDは、プロジェクトを一意に識別するIDである。プロジェクトIDが、プロジェクトカスタマイズ情報とプロジェクト情報とを関連付ける。
カスタマイズIDは、カスタマイズを一意に識別するIDである。カスタマイズIDが、プロジェクトカスタマイズ情報とカスタマイズ情報とを関連付ける。
(5)プロジェクト属性数データ(T5)は、同一の属性値を持つプロジェクトの数の情報を保持するものである。プロジェクト属性数データは、データ項目として、属性IDと、属性値と、プロジェクト数とを持つ。属性IDと、属性値の複合が、プロジェクト属性数データの主キーである。各データ項目の意味は、次の通りである。
属性IDは、属性を一意に識別するIDである。属性IDは、プロジェクト属性数データと属性情報とを関連付ける。
属性値は、属性の値を表す。具体的には、属性値は、プロジェクト情報に登録されているプロジェクトの属性値を表す。
プロジェクト数は、同じ属性IDに対して、同じ属性値を持つプロジェクトの数を表す。
なお、プロジェクト属性数データは、属性IDと属性値の複合キーにより、カスタマイズと属性値の総当たりデータと関連付けられる。また、プロジェクト属性数データは、属性IDと属性値の複合キーにより、ドキュメントテンプレートと属性値の総当たりデータと関連付けられる。
属性IDは、属性を一意に識別するIDである。属性IDは、プロジェクト属性数データと属性情報とを関連付ける。
属性値は、属性の値を表す。具体的には、属性値は、プロジェクト情報に登録されているプロジェクトの属性値を表す。
プロジェクト数は、同じ属性IDに対して、同じ属性値を持つプロジェクトの数を表す。
なお、プロジェクト属性数データは、属性IDと属性値の複合キーにより、カスタマイズと属性値の総当たりデータと関連付けられる。また、プロジェクト属性数データは、属性IDと属性値の複合キーにより、ドキュメントテンプレートと属性値の総当たりデータと関連付けられる。
(6)カスタマイズ実施数データ(T6)は、同一のカスタマイズをしたプロジェクトの数を表す情報である。カスタマイズ実施数データは、データ項目として、カスタマイズIDと、プロジェクト数とを持つ。カスタマイズIDが、カスタマイズ実施数データの主キーである。各データ項目の意味は、次の通りである。
カスタマイズIDは、カスタマイズを一意に識別するIDである。カスタマイズIDは、カスタマイズ実施数データとカスタマイズ情報とを関連付ける。
プロジェクト数は、同じカスタマイズをしたプロジェクトの数を表す。
カスタマイズIDは、カスタマイズを一意に識別するIDである。カスタマイズIDは、カスタマイズ実施数データとカスタマイズ情報とを関連付ける。
プロジェクト数は、同じカスタマイズをしたプロジェクトの数を表す。
(7)カスタマイズと属性値の総当たりデータ(T7)は、カスタマイズと属性値の依存関係に関する情報を表すものである。カスタマイズと属性値の総当たりデータは、データ項目として、属性IDと、属性値と、カスタマイズIDと、プロジェクト数と、支持度と、信頼度と、期待信頼度と、リフト値とを持つ。属性IDと、属性値と、カスタマイズIDの複合が、カスタマイズと属性値の総当たりデータの主キーである。各データ項目の意味は、次の通りである。
属性IDは、属性を一意に識別するIDである。属性IDは、カスタマイズと属性値の総当たりデータと属性情報とを関連付ける。
属性値は、属性の値を表す。ここでの属性値は、プロジェクト情報に登録したプロジェクトの属性値を表す。
カスタマイズIDは、カスタマイズを一意に識別するIDである。カスタマイズIDは、カスタマイズと属性値の総当たりデータとカスタマイズ情報とを関連付ける。
プロジェクト数は、ある属性IDに対する属性値が同じであり、かつ、同じカスタマイズをしている(同じカスタマイズIDを有する)プロジェクトの数を表す。
支持度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定の属性値を持ち、且つ特定のカスタマイズを実施したプロジェクトの割合を表す。
信頼度は、その算出方法を既に説明した通り、特定の属性値を持つプロジェクトのうち、特定のカスタマイズを実施したプロジェクトの割合を表す。
期待信頼度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定のカスタマイズをしたプロジェクトの割合を表す。
リフト値は、その算出方法を既に説明した通り、属性値とカスタマイズの依存関係を表す。リフト値が大きいほど、属性値が原因でカスタマイズが実施されていることを表し、リフト値が小さいほど、属性値に関係なくカスタマイズされていることを表す。
属性IDは、属性を一意に識別するIDである。属性IDは、カスタマイズと属性値の総当たりデータと属性情報とを関連付ける。
属性値は、属性の値を表す。ここでの属性値は、プロジェクト情報に登録したプロジェクトの属性値を表す。
カスタマイズIDは、カスタマイズを一意に識別するIDである。カスタマイズIDは、カスタマイズと属性値の総当たりデータとカスタマイズ情報とを関連付ける。
プロジェクト数は、ある属性IDに対する属性値が同じであり、かつ、同じカスタマイズをしている(同じカスタマイズIDを有する)プロジェクトの数を表す。
支持度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定の属性値を持ち、且つ特定のカスタマイズを実施したプロジェクトの割合を表す。
信頼度は、その算出方法を既に説明した通り、特定の属性値を持つプロジェクトのうち、特定のカスタマイズを実施したプロジェクトの割合を表す。
期待信頼度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定のカスタマイズをしたプロジェクトの割合を表す。
リフト値は、その算出方法を既に説明した通り、属性値とカスタマイズの依存関係を表す。リフト値が大きいほど、属性値が原因でカスタマイズが実施されていることを表し、リフト値が小さいほど、属性値に関係なくカスタマイズされていることを表す。
(8)ドキュメントテンプレートと属性値の総当たりデータ(T8)は、ドキュメントテンプレートと属性値の依存関係に関する情報を表すものである。ドキュメントテンプレートと属性値の総当たりデータは、データ項目として、属性IDと、属性値と、ドキュメントテンプレートIDと、プロジェクト数と、支持度と、信頼度と、期待信頼度と、リフト値とを持つ。属性IDと、属性値と、ドキュメントテンプレートIDとの複合が、ドキュメントテンプレートと属性値の総当たりデータの主キーである。各データ項目の意味は、次の通りである。
属性IDは、属性を一意に識別するIDである。属性IDは、ドキュメントテンプレートと属性値の総当たりデータと、属性情報とを、関連付ける。
属性値は、属性の値を表す。属性値は開発者により入力される。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、ドキュメントテンプレートと属性値の総当たりデータと、ドキュメントテンプレート情報とを関連付ける。
プロジェクト数は、ある属性IDに対する属性値が同じであり、且つ同じドキュメントテンプレートを使用しているプロジェクトの数を表す。
支持度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定の属性値を持ち、且つ特定のドキュメントテンプレートを使ったプロジェクトの割合を表す。
信頼度は、その算出方法を既に説明した通り、特定の属性値を持つプロジェクトがよく使うドキュメントテンプレートであるかどうかの度合を表す。
期待信頼度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定のドキュメントテンプレートを使ったプロジェクトの割合を表す。
リフト値は、その算出方法を既に説明した通り、属性値とドキュメントテンプレートの依存関係を表す。
属性IDは、属性を一意に識別するIDである。属性IDは、ドキュメントテンプレートと属性値の総当たりデータと、属性情報とを、関連付ける。
属性値は、属性の値を表す。属性値は開発者により入力される。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、ドキュメントテンプレートと属性値の総当たりデータと、ドキュメントテンプレート情報とを関連付ける。
プロジェクト数は、ある属性IDに対する属性値が同じであり、且つ同じドキュメントテンプレートを使用しているプロジェクトの数を表す。
支持度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定の属性値を持ち、且つ特定のドキュメントテンプレートを使ったプロジェクトの割合を表す。
信頼度は、その算出方法を既に説明した通り、特定の属性値を持つプロジェクトがよく使うドキュメントテンプレートであるかどうかの度合を表す。
期待信頼度は、その算出方法を既に説明した通り、全てのプロジェクトのうち、特定のドキュメントテンプレートを使ったプロジェクトの割合を表す。
リフト値は、その算出方法を既に説明した通り、属性値とドキュメントテンプレートの依存関係を表す。
次に図19を説明する。同図には、設計書一式情報(符号T9)と、設計書情報(T10)と、設計項目(T11)と、ドキュメントテンプレート一式情報(T12)と、ドキュメントテンプレート一式関連テンプレート(T13)と、ドキュメントテンプレート情報(T14)と、テンプレート設計項目(T15)と、設計書対応テンプレート情報(T16)と、カスタマイズ情報(T17)とを示す。
(9)設計書一式情報(T9)は、この設計書一式に関連する情報を表すものである。なお、設計書一式とは、システム開発で必要な設計書を、機能一覧表や画面一覧表のように、設計の要素ごとに作成し、全体を一つにまとめたものである。設計書一式情報は、データ項目として、設計書一式IDと、プロジェクトIDと、ドキュメントテンプレート一式IDと、設計書一式ファイルへのパスとを持つ。設計書一式IDと、プロジェクトIDと、ドキュメントテンプレート一式IDの複合が、設計書一式情報の主キーである。各データ項目の意味は、次の通りである。
設計書一式IDは、設計書一式を一意に識別するIDである。
プロジェクトIDは、設計書一式を作成したプロジェクトを一意に識別するIDである。プロジェクトIDが、設計書一式情報とプロジェクト情報とを関連付ける。
ドキュメントテンプレート一式IDは、設計書一式を作成する際に利用したドキュメントテンプレート一式を一意に識別するIDである。ドキュメントテンプレート一式IDが
設計書一式情報とドキュメントテンプレート一式情報とを関連付ける。
設計書一式ファイルへのパスは、設計書一式の実体であるファイル群が存在する場所までのパス情報を表す。
設計書一式IDは、設計書一式を一意に識別するIDである。
プロジェクトIDは、設計書一式を作成したプロジェクトを一意に識別するIDである。プロジェクトIDが、設計書一式情報とプロジェクト情報とを関連付ける。
ドキュメントテンプレート一式IDは、設計書一式を作成する際に利用したドキュメントテンプレート一式を一意に識別するIDである。ドキュメントテンプレート一式IDが
設計書一式情報とドキュメントテンプレート一式情報とを関連付ける。
設計書一式ファイルへのパスは、設計書一式の実体であるファイル群が存在する場所までのパス情報を表す。
(10)設計書情報(T10)は、設計書一式にある設計書の情報を表すものである。つまり、1件の設計書一式は、複数の設計書を含んで成るものである。設計書情報は、データ項目として、設計書IDと、設計書名と、設計書一式IDとを持つ。設計書IDが、設計書情報の主キーである。各データ項目の意味は、次の通りである。
設計書IDは、設計書を一意に識別するIDである。
設計書名は、設計書の名称である。
設計書一式IDは、設計書一式を一意に識別するIDである。設計書一式IDが、設計書情報と設計書一式情報とを関連付ける。
設計書IDは、設計書を一意に識別するIDである。
設計書名は、設計書の名称である。
設計書一式IDは、設計書一式を一意に識別するIDである。設計書一式IDが、設計書情報と設計書一式情報とを関連付ける。
(11)設計項目(T11)は、設計書の設計項目を表すものである。設計項目は、データ項目として、設計項目IDと、設計項目名と、設計書IDとを持つ。設計項目IDが、設計項目の主キーである。各データ項目の意味は、次の通りである。
設計項目IDは、設計書の設計項目を一意に識別するIDである。
設計項目名は、設計項目の名称である。
設計書IDは、設計書を一意に識別するIDである。ここにおける設計書IDは、その設計項目を有する設計書のIDを表す。設計書IDが、設計項目と設計書情報とを関連付ける。
設計項目IDは、設計書の設計項目を一意に識別するIDである。
設計項目名は、設計項目の名称である。
設計書IDは、設計書を一意に識別するIDである。ここにおける設計書IDは、その設計項目を有する設計書のIDを表す。設計書IDが、設計項目と設計書情報とを関連付ける。
(12)ドキュメントテンプレート一式情報(T12)は、ドキュメントテンプレート一式に関連する情報を表すものである。ドキュメントテンプレート一式とは、システム開発で使うドキュメントテンプレートを、機能一覧表や画面一覧表のように、設計の要素ごとに作成し、全体として一つにまとめたものである。ドキュメントテンプレート一式情報は、データ項目として、ドキュメントテンプレート一式IDと、ドキュメントテンプレート一式名と、ドメイン種別と、バージョンとを持つ。ドキュメントテンプレート一式IDが、ドキュメントテンプレート一式情報の主キーである。各データ項目の意味は、次の通りである。
ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式を一意に識別するIDである。ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式情報と設計書一式情報とを関連付ける。また、ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式情報とドキュメントテンプレート一式関連テンプレートとを関連付ける。
ドキュメントテンプレート一式名は、ドキュメントテンプレート一式の名称である。
ドメイン種別は、ドキュメントテンプレート一式の適用範囲を示す。ドメインに依存しない汎用的な設計項目のみで定義しているドキュメントテンプレート一式の場合には、ドメイン種別は「標準」である。特定のドメインに依存したドキュメントテンプレート一式の場合には、ドメイン種別として、そのドメインの名称等を保持する。
バージョンは、ドキュメントテンプレート一式のバージョンを表す。バージョンは、同じものに対して、内容が改訂された版の番号等の情報である。このバージョンは、ドキュメントテンプレート一式名の改定内容を一意に識別する。
ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式を一意に識別するIDである。ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式情報と設計書一式情報とを関連付ける。また、ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式情報とドキュメントテンプレート一式関連テンプレートとを関連付ける。
ドキュメントテンプレート一式名は、ドキュメントテンプレート一式の名称である。
ドメイン種別は、ドキュメントテンプレート一式の適用範囲を示す。ドメインに依存しない汎用的な設計項目のみで定義しているドキュメントテンプレート一式の場合には、ドメイン種別は「標準」である。特定のドメインに依存したドキュメントテンプレート一式の場合には、ドメイン種別として、そのドメインの名称等を保持する。
バージョンは、ドキュメントテンプレート一式のバージョンを表す。バージョンは、同じものに対して、内容が改訂された版の番号等の情報である。このバージョンは、ドキュメントテンプレート一式名の改定内容を一意に識別する。
(13)ドキュメントテンプレート一式関連テンプレート(T13)は、ドキュメントテンプレート一式に含まれるドキュメントテンプレートを表すものである。ドキュメントテンプレート一式関連テンプレートは、データ項目として、ドキュメントテンプレート一式IDと、ドキュメントテンプレートIDとを持つ。ドキュメントテンプレート一式IDと、ドキュメントテンプレートIDの複合が、ドキュメントテンプレート一式関連テンプレートの主キーである。各データ項目の意味は、次の通りである。
ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式を一意に識別するIDである。キュメントテンプレート一式IDは、ドキュメントテンプレート一式関連テンプレートとドキュメントテンプレート一式情報とを関連付ける。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、ドキュメントテンプレート一式関連テンプレートとドキュメントテンプレート情報とを関連付ける。
ドキュメントテンプレート一式IDは、ドキュメントテンプレート一式を一意に識別するIDである。キュメントテンプレート一式IDは、ドキュメントテンプレート一式関連テンプレートとドキュメントテンプレート一式情報とを関連付ける。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、ドキュメントテンプレート一式関連テンプレートとドキュメントテンプレート情報とを関連付ける。
(14)ドキュメントテンプレート情報(T14)は、ドキュメントテンプレートの情報を表すものである。ドキュメントテンプレート情報は、データ項目として、ドキュメントテンプレートIDと、ドキュメントテンプレート名と、バージョンとを持つ。ドキュメントテンプレートIDが、ドキュメントテンプレート情報の主キーである。各データ項目の意味は、次の通りである。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、ドキュメントテンプレート情報とドキュメントテンプレート一式関連テンプレートとを関連付ける。1件のドキュメントテンプレート一式が、複数のドキュメントテンプレートに対応し得る。また、ドキュメントテンプレートIDは、ドキュメントテンプレート情報と設計書対応テンプレート情報とを関連付ける。また、ドキュメントテンプレートIDは、ドキュメントテンプレート情報とテンプレート設計項目とを関連付ける。
ドキュメントテンプレート名は、ドキュメントテンプレートの名称である。
バージョンは、ドキュメントテンプレートのバージョンを表す。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、ドキュメントテンプレート情報とドキュメントテンプレート一式関連テンプレートとを関連付ける。1件のドキュメントテンプレート一式が、複数のドキュメントテンプレートに対応し得る。また、ドキュメントテンプレートIDは、ドキュメントテンプレート情報と設計書対応テンプレート情報とを関連付ける。また、ドキュメントテンプレートIDは、ドキュメントテンプレート情報とテンプレート設計項目とを関連付ける。
ドキュメントテンプレート名は、ドキュメントテンプレートの名称である。
バージョンは、ドキュメントテンプレートのバージョンを表す。
(15)テンプレート設計項目(T15)は、ドキュメントテンプレートの設計項目を表すものである。テンプレート設計項目は、データ項目として、テンプレート設計項目IDと、テンプレート設計項目名と、必須と、ドキュメントテンプレートIDとを持つ。テンプレート設計項目IDが、テンプレート設計項目の主キーである。各データ項目の意味は、次の通りである。
テンプレート設計項目IDは、テンプレートの設計項目を一意に識別するIDである。
テンプレート設計項目名は、ドキュメントテンプレートの設計項目の名称である。
必須は、ドキュメントテンプレートに必ずなければいけない必須の設計項目であるか否かを示す情報である。必須である設計項目をカスタマイズすることはできない。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、テンプレート設計項目とドキュメントテンプレート情報とを関連付ける。
テンプレート設計項目IDは、テンプレートの設計項目を一意に識別するIDである。
テンプレート設計項目名は、ドキュメントテンプレートの設計項目の名称である。
必須は、ドキュメントテンプレートに必ずなければいけない必須の設計項目であるか否かを示す情報である。必須である設計項目をカスタマイズすることはできない。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するIDである。ドキュメントテンプレートIDは、テンプレート設計項目とドキュメントテンプレート情報とを関連付ける。
(16)設計書対応テンプレート情報(T16)は、設計書とテンプレートの対応関係を表すものである。設計書対応テンプレート情報は、データ項目として、設計書IDと、ドキュメントテンプレートIDとを持つ。設計書IDと、ドキュメントテンプレートIDの複合が、設計書対応テンプレート情報の主キーである。各データ項目の意味は、次の通りである。
設計書IDは、設計書を一意に識別するID。設計書IDは、設計書対応テンプレート情報と設計書情報とを関連付ける。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するID。ドキュメントテンプレートIDは、設計書対応テンプレート情報とドキュメントテンプレート情報とを関連付ける。
設計書IDは、設計書を一意に識別するID。設計書IDは、設計書対応テンプレート情報と設計書情報とを関連付ける。
ドキュメントテンプレートIDは、ドキュメントテンプレートを一意に識別するID。ドキュメントテンプレートIDは、設計書対応テンプレート情報とドキュメントテンプレート情報とを関連付ける。
(17)カスタマイズ情報(T17)は、ドキュメントテンプレートのカスタマイズの情報を表すものである。カスタマイズ情報は、データ項目として、カスタマイズIDと、変更前ドキュメントテンプレートIDと、変更前ドキュメントテンプレート名と、変更後ドキュメントテンプレートIDと、変更後ドキュメントテンプレート名と、変更前の設計項目と、変更後の設計項目と、変更種類とを持つ。カスタマイズIDが、カスタマイズ情報の主キーである。各データ項目の意味は、次の通りである。
カスタマイズIDは、カスタマイズを一意に識別するIDである。プロジェクトのカスタマイズが、別のプロジェクトで登録したカスタマイズと同じである場合、同じカスタマイズのカスタマイズIDは統一する。つまり、異なる複数のプロジェクトが同一のカスタマイズを有する場合、それらのカスタマイズは単一のカスタマイズIDによって識別されるようにする。
変更前ドキュメントテンプレートIDは、変更前のドキュメントテンプレートIDを一意に識別するIDである。当該カスタマイズにより、ドキュメントテンプレートが削除され、または名称変更された場合に、その変更が行われる前のドキュメントテンプレートIDを表す。変更前ドキュメントテンプレートIDは、ドキュメントテンプレート情報のドキュメントテンプレートIDに、関連付く。
変更前ドキュメントテンプレート名は、変更前のドキュメントテンプレートの名称である。当該カスタマイズにより、ドキュメントテンプレートが削除され、または名称変更された場合に、変更される前のドキュメントテンプレートの名称を表す。
変更後ドキュメントテンプレートIDは、変更後のドキュメントテンプレートIDを一意に識別するIDである。当該カスタマイズにより、テンプレートの名称変更や設計項目の名称変更が行われた場合に、その変更後のドキュメントテンプレートIDを表す。ドキュメントテンプレートの名称変更や設計項目の名称変更ではなく、当該カスタマイズによってドキュメントテンプレートを新しく追加した場合には、新たなIDが付与される。変更後ドキュメントテンプレートIDは、ドキュメントテンプレート情報のドキュメントテンプレートIDに、関連付く。
変更後ドキュメントテンプレート名は、変更後のドキュメントテンプレートの名称である。当該カスタマイズにより、ドキュメントテンプレートが追加され、または名称変更された場合に、カスタマイズされた後のドキュメントテンプレートの名称を表す。
変更前の設計項目は、当該カスタマイズにより、設計項目が削除または名称変更された場合に、カスタマイズされる前の設計項目を表す。
変更後の設計項目は、当該カスタマイズにより、設計項目が追加または名称変更された場合に、カスタマイズされた後の設計項目を表す。
変更種類は、当該カスタマイズがどのような種類の変更であるかを表す。変更種類は、「テンプレート(追加)」、「テンプレート(削除)」、「設計項目(追加)」、「設計項目(削除)」、「テンプレートの名称変更」、「設計項目の名称変更」といった値をとり得る。
カスタマイズIDは、カスタマイズを一意に識別するIDである。プロジェクトのカスタマイズが、別のプロジェクトで登録したカスタマイズと同じである場合、同じカスタマイズのカスタマイズIDは統一する。つまり、異なる複数のプロジェクトが同一のカスタマイズを有する場合、それらのカスタマイズは単一のカスタマイズIDによって識別されるようにする。
変更前ドキュメントテンプレートIDは、変更前のドキュメントテンプレートIDを一意に識別するIDである。当該カスタマイズにより、ドキュメントテンプレートが削除され、または名称変更された場合に、その変更が行われる前のドキュメントテンプレートIDを表す。変更前ドキュメントテンプレートIDは、ドキュメントテンプレート情報のドキュメントテンプレートIDに、関連付く。
変更前ドキュメントテンプレート名は、変更前のドキュメントテンプレートの名称である。当該カスタマイズにより、ドキュメントテンプレートが削除され、または名称変更された場合に、変更される前のドキュメントテンプレートの名称を表す。
変更後ドキュメントテンプレートIDは、変更後のドキュメントテンプレートIDを一意に識別するIDである。当該カスタマイズにより、テンプレートの名称変更や設計項目の名称変更が行われた場合に、その変更後のドキュメントテンプレートIDを表す。ドキュメントテンプレートの名称変更や設計項目の名称変更ではなく、当該カスタマイズによってドキュメントテンプレートを新しく追加した場合には、新たなIDが付与される。変更後ドキュメントテンプレートIDは、ドキュメントテンプレート情報のドキュメントテンプレートIDに、関連付く。
変更後ドキュメントテンプレート名は、変更後のドキュメントテンプレートの名称である。当該カスタマイズにより、ドキュメントテンプレートが追加され、または名称変更された場合に、カスタマイズされた後のドキュメントテンプレートの名称を表す。
変更前の設計項目は、当該カスタマイズにより、設計項目が削除または名称変更された場合に、カスタマイズされる前の設計項目を表す。
変更後の設計項目は、当該カスタマイズにより、設計項目が追加または名称変更された場合に、カスタマイズされた後の設計項目を表す。
変更種類は、当該カスタマイズがどのような種類の変更であるかを表す。変更種類は、「テンプレート(追加)」、「テンプレート(削除)」、「設計項目(追加)」、「設計項目(削除)」、「テンプレートの名称変更」、「設計項目の名称変更」といった値をとり得る。
図18と図19とは、次の通りに接続されて、全体として1つのER図を成している。即ち、プロジェクト情報(T1)と設計書一式情報(T9)とが相互に関連付いており、これら両者を連結するキーは、プロジェクトIDである。また、プロジェクトカスタマイズ情報(T4)とカスタマイズ情報(T17)とが関連付いており、これら両者を連結するキーは、カスタマイズIDである。
また、上述した各データ(テーブル)と、図1に示した各データベースとの関係は、次の通りである。
ドキュメントテンプレートデータベース7は、ドキュメントテンプレート一式情報(T12)と、ドキュメントテンプレート一式関連テンプレート(T13)と、ドキュメントテンプレート情報(T14)と、テンプレート設計項目(T15)とを有している。
プロジェクト別設計書データベース8は、設計書一式情報(T9)と、設計書ファイル一式とを有している。なお、設計書ファイル一式は、図18,図19のER図には含まれていない。設計書ファイル一式の所在情報は、設計書一式情報内の、設計書一式へのパスに格納されている。
カスタマイズ情報データベース9は、カスタマイズ情報(T17)と、プロジェクトカスタマイズ情報(T4)とを有している。
プロジェクト情報データベース10は、プロジェクト情報(T1)と、属性値情報(T2)と、属性情報(T3)とを有している。
また、プロジェクト属性数データ(T5)と、カスタマイズ実施数データ(T6)と、カスタマイズと属性値の総当たりデータ(T7)と、ドキュメントテンプレートと属性値の総当たりデータ(T8)と、設計書情報(T10)と、設計項目(T11)と、設計書対応テンプレート情報(T16)とは、データベースに登録されるデータではなく、処理時にメモリ上等に置かれるデータである。
ドキュメントテンプレートデータベース7は、ドキュメントテンプレート一式情報(T12)と、ドキュメントテンプレート一式関連テンプレート(T13)と、ドキュメントテンプレート情報(T14)と、テンプレート設計項目(T15)とを有している。
プロジェクト別設計書データベース8は、設計書一式情報(T9)と、設計書ファイル一式とを有している。なお、設計書ファイル一式は、図18,図19のER図には含まれていない。設計書ファイル一式の所在情報は、設計書一式情報内の、設計書一式へのパスに格納されている。
カスタマイズ情報データベース9は、カスタマイズ情報(T17)と、プロジェクトカスタマイズ情報(T4)とを有している。
プロジェクト情報データベース10は、プロジェクト情報(T1)と、属性値情報(T2)と、属性情報(T3)とを有している。
また、プロジェクト属性数データ(T5)と、カスタマイズ実施数データ(T6)と、カスタマイズと属性値の総当たりデータ(T7)と、ドキュメントテンプレートと属性値の総当たりデータ(T8)と、設計書情報(T10)と、設計項目(T11)と、設計書対応テンプレート情報(T16)とは、データベースに登録されるデータではなく、処理時にメモリ上等に置かれるデータである。
次に、ドキュメントテンプレートデータベース7に登録されている各テーブルのデータ例について説明する。
図20は、ドキュメントテンプレート一式情報(T12)のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレート一式IDである。図示するデータ例は、ドキュメントテンプレート一式IDとして、T001,T002,T003を少なくとも含む。これらに対応するドメイン種別は、それぞれ、標準,製造,金融である。つまり、ドキュメントテンプレート一式IDがT001であるドキュメントテンプレート一式は、ドメインに依存しない標準のテンプレートである。そして、ドキュメントテンプレート一式IDがT002およびT003であるドキュメントテンプレート一式は、ドメインに依存するテンプレートであり、それぞれのドメイン種別は、製造および金融である。また、バージョンは、各ドキュメントテンプレート一式の改訂状態(バージョン番号)を表す。本例では、大規模な改訂は整数部で表し、小規模な改訂は小数部の数字で表している。ただし、バージョン番号の付け方は任意であり、各組織で適宜決めてよい。
図20は、ドキュメントテンプレート一式情報(T12)のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレート一式IDである。図示するデータ例は、ドキュメントテンプレート一式IDとして、T001,T002,T003を少なくとも含む。これらに対応するドメイン種別は、それぞれ、標準,製造,金融である。つまり、ドキュメントテンプレート一式IDがT001であるドキュメントテンプレート一式は、ドメインに依存しない標準のテンプレートである。そして、ドキュメントテンプレート一式IDがT002およびT003であるドキュメントテンプレート一式は、ドメインに依存するテンプレートであり、それぞれのドメイン種別は、製造および金融である。また、バージョンは、各ドキュメントテンプレート一式の改訂状態(バージョン番号)を表す。本例では、大規模な改訂は整数部で表し、小規模な改訂は小数部の数字で表している。ただし、バージョン番号の付け方は任意であり、各組織で適宜決めてよい。
図21は、ドキュメントテンプレート情報(T14)のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレートIDである。図示するデータ例は、ドキュメントテンプレートIDとして、TR001,TR002を少なくとも含む。これらそれぞれに対応するドキュメントテンプレート例は、機能一覧表と、画面一覧表である。
なお、ドキュメントテンプレートのバージョンを管理するようにドキュメントテンプレート情報を拡張してもよい。この拡張を行う場合、バージョンというデータ項目を新たに設ける。そして、ドキュメントテンプレートIDとバージョンの複合を主キーとする。そして、1つのドキュメントテンプレートIDに対して、複数のバージョンのドキュメントテンプレートを管理できるようにする。
図22は、ドキュメントテンプレート一式関連テンプレート(T13)のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、ドキュメントテンプレート一式IDとドキュメントテンプレートIDの複合キーである。図示するデータ例は、ドキュメントテンプレート一式IDとして、少なくともT001を含んでいる。また、このデータ例は、このT001に関連して、ドキュメントテンプレートIDとして少なくともTR001,TR002,TR003を含んでいる。つまり、このデータは、ドキュメントテンプレート一式(IDがT001、名称が「標準テンプレート一式)は、TR001「機能一覧表」、TR002「画面一覧表」、TR003「帳票一覧表」というドキュメントテンプレートを含むことを表している。
図23は、テンプレート設計項目(T15)のデータ例を示す概略図である。前述の通り、本テーブルの主キーは、テンプレート設計項目IDである。
図示するデータ例は、ドキュメントテンプレート(IDがTR001、名称が「機能一覧表」)が、設計項目として、「機能ID」、「機能名」、「説明」を含むことを表している。そして、これらそれぞれのテンプレート設計項目IDは、TRI0101,TRI0102,TRI0103である。また、データ項目「必須」によると、これらの設計項目のうち、機能IDと機能名が必須であり、説明は非必須である。
また、このデータ例は、別のドキュメントテンプレート(IDがTR002、名称が「画面一覧表」)が、設計項目として、「画面ID」、「画面名」、「画面種別」を含むことを表している。そして、これらそれぞれのテンプレート設計項目IDは、TRI0201,TRI0202,TRI0203である。また、データ項目「必須」によると、これらの設計項目のうち、画面IDと画面名が必須であり、画面種別は非必須である。
図示するデータ例は、ドキュメントテンプレート(IDがTR001、名称が「機能一覧表」)が、設計項目として、「機能ID」、「機能名」、「説明」を含むことを表している。そして、これらそれぞれのテンプレート設計項目IDは、TRI0101,TRI0102,TRI0103である。また、データ項目「必須」によると、これらの設計項目のうち、機能IDと機能名が必須であり、説明は非必須である。
また、このデータ例は、別のドキュメントテンプレート(IDがTR002、名称が「画面一覧表」)が、設計項目として、「画面ID」、「画面名」、「画面種別」を含むことを表している。そして、これらそれぞれのテンプレート設計項目IDは、TRI0201,TRI0202,TRI0203である。また、データ項目「必須」によると、これらの設計項目のうち、画面IDと画面名が必須であり、画面種別は非必須である。
ここで、欄「必須」に「○」印のついた設計項目は、そのドキュメントテンプレートに必ずなくてはならない設計項目である。つまり、ドキュメントテンプレート「機能一覧表」(IDは、TR001)には設計項目「機能ID」(IDは、TRI0101)と「機能名」(IDは、TRI0102)が必須である。つまり、これら2つの設計項目について、削除したり名称変更したりすることができないという制約を有する。また、同様に、ドキュメントテンプレート「画面一覧表」(IDは、TR002)には設計項目「画面ID」(IDは、TRI0201)と「画面名」(IDは、TRI0202)が必須である。
仮に必須の設計項目が変更された場合には、設計書構造情報抽出部3が、設計書の元になったドキュメントテンプレートを判定する(ステップS3−12)際に、ドキュメントテンプレート「機能一覧表」として判定されなくなる。
仮に必須の設計項目が変更された場合には、設計書構造情報抽出部3が、設計書の元になったドキュメントテンプレートを判定する(ステップS3−12)際に、ドキュメントテンプレート「機能一覧表」として判定されなくなる。
次に、ドキュメントテンプレートをカスタマイズして設計書を作成した場合に、設計書を登録する処理の例を説明する。
図24は、テンプレート改善支援装置100のメニュー画面を示す概略図である。この画面で開発者が「プロジェクト設計書登録」を選択すると、プロジェクト設計書登録部2が、プロジェクト設計書登録画面を表示する(ステップS2−1の処理)。
図24は、テンプレート改善支援装置100のメニュー画面を示す概略図である。この画面で開発者が「プロジェクト設計書登録」を選択すると、プロジェクト設計書登録部2が、プロジェクト設計書登録画面を表示する(ステップS2−1の処理)。
図25は、「プロジェクト設計書登録」が選択されたときに表示されるプロジェクト設計書登録画面を示す概略図である。なお、この画面に関する処理を、プロジェクト設計書登録部2が行う。
同図の、「プロジェクト選択」の箇所において、プロジェクトIDとプロジェクト名が表示されている。プロジェクトIDとしては、プロジェクト情報データベース10に登録されている全プロジェクトのプロジェクトIDが表示され、選択可能となっている。開発者が特定のプロジェクトIDを選択すると、そのプロジェクトIDに対応するプロジェクト名が表示される。このプロジェクト名もまた、プロジェクト情報データベース10から読み出されるものである。
また、同図の、「設計書登録」の箇所で、プロジェクトの設計書が格納されたフォルダーまでのパスを入力することができるようになっている。
また、同図の、「ドキュメントテンプレート一式情報登録」の箇所で、開発者が、使用したドキュメントテンプレート一式IDを選択することができるようになっている。あるドキュメントテンプレート一式IDが選択されると、そのIDに対応するドキュメントテンプレート一式名が表示される。本例では、ドキュメントテンプレート一式「金融向けテンプレート」(IDは、T003)が選択された状態を示している。なお、ドキュメントテンプレート一式IDおよびドキュメントテンプレート一式名の情報は、ドキュメントテンプレートデータベース7から読み出される。また、同図の「登録」というボタンを押下すると、「設計書登録」の箇所で指定したフォルダーおよびその下位のフォルダーに格納されている設計書が、プロジェクト別設計書データベース8に登録される。
同図の、「プロジェクト選択」の箇所において、プロジェクトIDとプロジェクト名が表示されている。プロジェクトIDとしては、プロジェクト情報データベース10に登録されている全プロジェクトのプロジェクトIDが表示され、選択可能となっている。開発者が特定のプロジェクトIDを選択すると、そのプロジェクトIDに対応するプロジェクト名が表示される。このプロジェクト名もまた、プロジェクト情報データベース10から読み出されるものである。
また、同図の、「設計書登録」の箇所で、プロジェクトの設計書が格納されたフォルダーまでのパスを入力することができるようになっている。
また、同図の、「ドキュメントテンプレート一式情報登録」の箇所で、開発者が、使用したドキュメントテンプレート一式IDを選択することができるようになっている。あるドキュメントテンプレート一式IDが選択されると、そのIDに対応するドキュメントテンプレート一式名が表示される。本例では、ドキュメントテンプレート一式「金融向けテンプレート」(IDは、T003)が選択された状態を示している。なお、ドキュメントテンプレート一式IDおよびドキュメントテンプレート一式名の情報は、ドキュメントテンプレートデータベース7から読み出される。また、同図の「登録」というボタンを押下すると、「設計書登録」の箇所で指定したフォルダーおよびその下位のフォルダーに格納されている設計書が、プロジェクト別設計書データベース8に登録される。
なお、上の例は、銀行向けシステム開発プロジェクトに関する設計書登録の例である。したがって、ここでは、「金融向けテンプレート」という名称を持つ、金融ドメインのドキュメントテンプレート一式が使用されている。そして、このようなドキュメントテンプレート一式をカスタマイズして、設計が行われる。
図26は、設計書一式情報(T9)のデータ例を示す概略図である。図示するデータ例は、プロジェクト設計書登録画面(図25)からの登録されたデータの例である。図示するデータ例は、設計書一式IDとして、少なくともS001,S002,S003を含んでいる。設計書一式IDは、開発者がプロジェクトの設計書を登録する際に付与される、ユニークなIDである。設計書一式IDがS001である行は、「A銀行向けシステム開発」プロジェクトで作成した設計書一式に対応するものである。
設計書一式ID「S001」に対応するプロジェクトIDは「P001]である。このプロジェクトID「P001]は、プロジェクト設計書登録画面(図25)からの登録時に、「プロジェクト選択」の箇所で選択されたプロジェクトIDである。
また、設計書一式ID「S001」に対応するドキュメントテンプレート一式IDは「T003]である。このドキュメントテンプレート一式IDは、同じくプロジェクト設計書登録画面(図25)からの登録時に、「ドキュメントテンプレート一式情報登録」の箇所で選択されたドキュメントテンプレート一式IDである。
また、設計書一式ファイルまでのパスの欄に格納されている「\\設計書一式\\A銀行向けシステム開発\01」は、同じくプロジェクト設計書登録画面(図25)からの登録時に「設計書登録」の箇所で指定されたパス情報である。なお、この欄に格納されているパスは、プロジェクト情報データベース10内における所在情報である。ただし、プロジェクト情報データベース10外の場所(例えば、ファイルサーバー装置内の場所等)を保持するようにしてもよい。
設計書一式ID「S001」に対応するプロジェクトIDは「P001]である。このプロジェクトID「P001]は、プロジェクト設計書登録画面(図25)からの登録時に、「プロジェクト選択」の箇所で選択されたプロジェクトIDである。
また、設計書一式ID「S001」に対応するドキュメントテンプレート一式IDは「T003]である。このドキュメントテンプレート一式IDは、同じくプロジェクト設計書登録画面(図25)からの登録時に、「ドキュメントテンプレート一式情報登録」の箇所で選択されたドキュメントテンプレート一式IDである。
また、設計書一式ファイルまでのパスの欄に格納されている「\\設計書一式\\A銀行向けシステム開発\01」は、同じくプロジェクト設計書登録画面(図25)からの登録時に「設計書登録」の箇所で指定されたパス情報である。なお、この欄に格納されているパスは、プロジェクト情報データベース10内における所在情報である。ただし、プロジェクト情報データベース10外の場所(例えば、ファイルサーバー装置内の場所等)を保持するようにしてもよい。
なお、設計書一式情報は、設計書一式IDがS002やS003である行についても、同様に、設計書一式に関する情報を保持している。
図27は、設計書情報(T10)のデータ例を示す概略図である。図示するデータ例は、「A銀行向けシステム開発」プロジェクトに関連する設計書を登録した例である。前述の通り、本テーブルの主キーは、設計書IDである。図示するデータ例は、設計書IDとして、DR001,DR002,DR003,DR004,DR005を少なくとも含んでいる。そして、これらの設計書IDに対応する設計書名は、それぞれ、「機能一覧表」、「画面一覧表」、「機能定義書(帳票作成)」、「機能定義書(画面表示)」、「機能定義書(データ集計)」である。
なお、設計書構造情報抽出部3は、指定されたパス情報に基づいて設計書ファイルを読み込んだ際に、ユニークな設計書IDを付与する。また、設計書構造情報抽出部3は、予め定められたルール等に基づいて、設計書ファイルを読み込んだ際に、設計書名を抽出して、設計書情報の設計書名の欄に登録する。
なお、設計書構造情報抽出部3は、指定されたパス情報に基づいて設計書ファイルを読み込んだ際に、ユニークな設計書IDを付与する。また、設計書構造情報抽出部3は、予め定められたルール等に基づいて、設計書ファイルを読み込んだ際に、設計書名を抽出して、設計書情報の設計書名の欄に登録する。
上に挙げた設計書のうち、「機能定義書(帳票作成)」(IDは、DR003)、「機能定義書(画面表示)」(IDは、DR004)、「機能定義書(データ集計)」(IDは、DR005)は、同一のドキュメントテンプレートを基に作成されている。比較エンジン部4における処理を実施する前に、同じドキュメントテンプレートから作成したこれら3つの設計書の間で、設計構造が統一しているかどうかを確認する。他の設計書と異なる設計構造を持つ設計書については、設計書そのものを同図の設計書情報から取り除くか、開発者が修正をして再度、プロジェクト設計書登録画面から登録するようにする。
図28は、設計項目(T11)のデータ例を示す概略図である。図示するデータ例は、図27に示した設計書のうち、設計書「機能一覧表」(IDは、DR001)と設計書「画面一覧表」(IDは、DR002)に関する設計項目の情報を含む。図示するように、設計書「機能一覧表」(IDは、DR001)は、「機能ID」(設計項目IDは、DRI0101)、「機能名」(設計項目IDは、DRI0102)、「機能説明」(設計項目IDは、DRI0103)の3つを有する。また、設計書「画面一覧表」(IDは、DR002)は、「画面ID」(設計項目IDは、DRI0201)、「画面名」(設計項目IDは、DRI0202)、「画面種別」(設計項目IDは、DRI0203)の3つを有する。
設計書構造情報抽出部3は、指定されたパス情報に基づいて設計書ファイルを読み込んだ際に、設計書から設計項目を抽出し、ユニークな設計項目IDを付与する。なお、設計書構造情報抽出部3は、設計書のファイル内から、定義されている設計項目名を全て抜き出して登録する。また、設計書構造情報抽出部3は、設計書に付与した設計書IDを用いて、設計項目IDと設計書IDとを、このテーブル内で関連付ける。設計書IDは、設計項目と設計書情報(図27)とを連結するキーである。
設計書構造情報抽出部3は、「A銀行向けシステム開発」プロジェクトの設計書の設計構造を抜き出すとともに、設計書の構造情報と一致するドキュメントテンプレートを抽出する。そして、設計書構造情報抽出部3は、設計書と、その設計書の基となったドキュメントテンプレートとの対応付けを行う。
同じドキュメントテンプレートから作成した複数の設計書が異なる構造を有すると、比較エンジン部4が、ドキュメントテンプレートの設計構造と、設計書の設計構造との比較を正しく行えない。そのため、テンプレート改善支援装置100は、同一のドキュメントテンプレートから作成した複数の設計書について、同一の設計構造を持つものとして取り扱う。もし、設計書の間で設計構造が違う場合は、設計書構造情報抽出部3はエラーメッセージを出力(表示)する(ステップS3−22)。
図29は、設計書構造情報抽出部3が表示するエラーメッセージの画面の例を示す概略図である。図示する例では、このエラーメッセージは、設計構造が一致しなかった2つの設計書の、設計書ID(具体的には、DR003とDR004)と設計書名とを表示している。これらの設計書「機能定義書(帳票作成)」(DR003)と「機能定義書(画面表示)」(DR004)とは、同じドキュメントテンプレートに基づいて作成されている。しかし、片方の設計書の構造が、他方の設計書の構造と異なっているため、設計書構造情報抽出部3は、エラーとして扱っている。
次に、プロジェクトの属性値を保持するテーブルについて説明する。
図30は、プロジェクト情報(T1)のデータ例を示す概略図である。図示するデータ例は、プロジェクト情報管理部5が表示する(ステップS5−1)プロジェクト属性登録画面から登録されるものである。前述の通り、本テーブルの主キーは、プロジェクトIDである。このデータは、プロジェクトIDとして、P001,P002,P003を少なくとも有している。そして、これらのプロジェクトIDに対応するプロジェクト名は、それぞれ、「A銀行向けシステム開発」、「B社向け給与システム開発」、「C病院向け勤務管理システム開発」である。プロジェクト情報管理部5は、プロジェクトを登録する際に、ユニークなプロジェクトIDを付与する。また、プロジェクト情報管理部5は、開発者が画面から入力したプロジェクトの名称を、プロジェクト名として登録する。
図30は、プロジェクト情報(T1)のデータ例を示す概略図である。図示するデータ例は、プロジェクト情報管理部5が表示する(ステップS5−1)プロジェクト属性登録画面から登録されるものである。前述の通り、本テーブルの主キーは、プロジェクトIDである。このデータは、プロジェクトIDとして、P001,P002,P003を少なくとも有している。そして、これらのプロジェクトIDに対応するプロジェクト名は、それぞれ、「A銀行向けシステム開発」、「B社向け給与システム開発」、「C病院向け勤務管理システム開発」である。プロジェクト情報管理部5は、プロジェクトを登録する際に、ユニークなプロジェクトIDを付与する。また、プロジェクト情報管理部5は、開発者が画面から入力したプロジェクトの名称を、プロジェクト名として登録する。
図31は、プロジェクトの属性情報(T3)のデータ例を示す概略図である。図示するデータ例は、プロジェクトの属性の種類として、プロジェクト名(属性IDは、AT001)と、開始日(属性IDは、AT002)と、納入計画(属性IDは、AT003)と、見積り金額(属性IDは、AT004)と、開発形態(属性IDは、AT005)とを少なくとも含んでいる。開発形態とは、例えば、新規の開発であるか、あるいは機能変更のための改造開発であるかといった区別を表す情報である。開発形態に応じて、設計書の構造も変わる。なお、これらの属性の種類について、テンプレート改善支援装置100を使用する組織が予め決めておくようにする。そして、決められた属性をテンプレート改善支援装置100に登録する際に、テンプレート改善支援装置100は属性ごとにユニークな属性IDを付与する。また、テンプレート改善支援装置100は、登録された属性名を本テーブルに登録する。
プロジェクトの開発者は、プロジェクト属性登録画面に表示されるこれらの属性の各々について、プロジェクトの情報(属性値)を登録することができる。
プロジェクトの開発者は、プロジェクト属性登録画面に表示されるこれらの属性の各々について、プロジェクトの情報(属性値)を登録することができる。
図32は、プロジェクトの属性値情報(T2)のデータ例を示す概略図である。図示するデータ例は、プロジェクトごと、且つ属性ごとに登録された属性値を含んでいる。プロジェクトIDは、プロジェクト情報(図30)に登録されている属性IDに関連付けられる。属性IDは、属性情報(図31)に登録されている属性IDに関連付けられる。そして、それぞれの属性値は、そのプロジェクトのその属性に関して、開発者が入力した値である。
同図の例では、プロジェクトIDがP001であるプロジェクトに関して、プロジェクト名(属性IDは、AT001)は、「A銀行向けシステム開発」である。また、開始日(属性IDは、AT002)は、「2015年9月1日」である。また、開発形態(属性IDは、AT005)は、「改造」である。
同様に、プロジェクトIDがP002であるプロジェクトに関して、プロジェクト名(属性IDは、AT001)は、「B社向け給与システム開発」である。
同図の例では、プロジェクトIDがP001であるプロジェクトに関して、プロジェクト名(属性IDは、AT001)は、「A銀行向けシステム開発」である。また、開始日(属性IDは、AT002)は、「2015年9月1日」である。また、開発形態(属性IDは、AT005)は、「改造」である。
同様に、プロジェクトIDがP002であるプロジェクトに関して、プロジェクト名(属性IDは、AT001)は、「B社向け給与システム開発」である。
次に、比較エンジン部4の動作例について説明する。
比較エンジン部4は、プロジェクト別設計書データベース8に登録した、特定プロジェクトの設計書の設計構造と、ドキュメントテンプレートデータベース7に登録されている、ドキュメントテンプレートの設計構造とを比較する。ここでは、「A銀行向けシステム開発」プロジェクトの設計書の例について説明する。なお、比較対象とするドキュメントテンプレートは、そのプロジェクトにおいて設計書を作成するために持ちられたテンプレートである。比較エンジン部4は、比較の結果得られる差分(変更分)をカスタマイズ情報として、カスタマイズ情報データベース9に登録する。
比較エンジン部4は、プロジェクト別設計書データベース8に登録した、特定プロジェクトの設計書の設計構造と、ドキュメントテンプレートデータベース7に登録されている、ドキュメントテンプレートの設計構造とを比較する。ここでは、「A銀行向けシステム開発」プロジェクトの設計書の例について説明する。なお、比較対象とするドキュメントテンプレートは、そのプロジェクトにおいて設計書を作成するために持ちられたテンプレートである。比較エンジン部4は、比較の結果得られる差分(変更分)をカスタマイズ情報として、カスタマイズ情報データベース9に登録する。
図33は、カスタマイズ情報(T17)のデータ例を示す概略図である。図示するデータ例の1行が、1件のカスタマイズに対応している。1件のカスタマイズは、追加、削除、名称変更のいずれかである。
カスタマイズIDは、比較エンジン部4が、カスタマイズ情報を抽出した際に付与するユニークなIDである。このデータ例は、カスタマイズIDとして、K0001,K0002,K0003,K0004を少なくとも含んでいる。
カスタマイズIDは、比較エンジン部4が、カスタマイズ情報を抽出した際に付与するユニークなIDである。このデータ例は、カスタマイズIDとして、K0001,K0002,K0003,K0004を少なくとも含んでいる。
カスタマイズIDがK0001であるカスタマイズの変更種類は、「設計項目(追加)」である。
設計項目の追加の場合、変更後設計項目の欄が、追加された設計項目の情報を保持する。また、変更後設計項目IDの欄は、追加された設計項目のIDを保持する。変更後設計項目IDとして、比較エンジン部4は、ユニークなIDを採番して付与する。また、設計項目の追加の場合、設計項目が追加されたドキュメントテンプレートの情報を、変更前ドキュメントテンプレートIDおよび変更前ドキュメントテンプレート名の欄が保持する。当該カスタマイズにおいて、変更後設計項目IDは、TRI0207である。また、変更後設計項目(即ち、追加された設計項目)は、「関連機能名」である。また、変更前ドキュメントテンプレートIDは、TR002である。また、変更前ドキュメントテンプレート名は、「画面一覧表」である。その他の項目は、空欄(例えばNULL等の値)である。
設計項目の追加の場合、変更後設計項目の欄が、追加された設計項目の情報を保持する。また、変更後設計項目IDの欄は、追加された設計項目のIDを保持する。変更後設計項目IDとして、比較エンジン部4は、ユニークなIDを採番して付与する。また、設計項目の追加の場合、設計項目が追加されたドキュメントテンプレートの情報を、変更前ドキュメントテンプレートIDおよび変更前ドキュメントテンプレート名の欄が保持する。当該カスタマイズにおいて、変更後設計項目IDは、TRI0207である。また、変更後設計項目(即ち、追加された設計項目)は、「関連機能名」である。また、変更前ドキュメントテンプレートIDは、TR002である。また、変更前ドキュメントテンプレート名は、「画面一覧表」である。その他の項目は、空欄(例えばNULL等の値)である。
カスタマイズIDがK0002であるカスタマイズの変更種類は、「設計項目(削除)」である。
設計項目の削除の場合、変更前設計項目の欄が、削除された設計項目の情報を保持する。また、変更前設計項目IDの欄は、削除された設計項目のIDを保持する。また、設計項目の削除の場合、設計項目が削除されたドキュメントテンプレートの情報を、変更前ドキュメントテンプレートID、変更前ドキュメントテンプレート名、変更後ドキュメントテンプレートID、変更後ドキュメントテンプレート名の欄が保持する。当該カスタマイズにおいて、変更前設計項目IDは、TBI0503である。また、変更前設計項目(即ち、削除された設計項目)は、「初期値」である。また、変更前ドキュメントテンプレートIDおよび変更後ドキュメントテンプレートIDは、共にTB005である。また、変更前ドキュメントテンプレート名および変更後ドキュメントテンプレート名は、ともに「データ項目仕様書」である。その他の項目は、空欄(例えばNULL等の値)である。
設計項目の削除の場合、変更前設計項目の欄が、削除された設計項目の情報を保持する。また、変更前設計項目IDの欄は、削除された設計項目のIDを保持する。また、設計項目の削除の場合、設計項目が削除されたドキュメントテンプレートの情報を、変更前ドキュメントテンプレートID、変更前ドキュメントテンプレート名、変更後ドキュメントテンプレートID、変更後ドキュメントテンプレート名の欄が保持する。当該カスタマイズにおいて、変更前設計項目IDは、TBI0503である。また、変更前設計項目(即ち、削除された設計項目)は、「初期値」である。また、変更前ドキュメントテンプレートIDおよび変更後ドキュメントテンプレートIDは、共にTB005である。また、変更前ドキュメントテンプレート名および変更後ドキュメントテンプレート名は、ともに「データ項目仕様書」である。その他の項目は、空欄(例えばNULL等の値)である。
カスタマイズIDがK0003であるカスタマイズの変更種類は、「テンプレート(追加)」である。
テンプレートの追加の場合、変更後ドキュメントテンプレート名の欄が、追加されたドキュメントテンプレートの名称を保持する。また、変更後ドキュメントテンプレートIDの欄は、追加されたドキュメントテンプレートのIDを保持する。変更後ドキュメントテンプレートIDとして、比較エンジン部4は、ユニークなIDを採番して付与する。当該カスタマイズにおいて、変更後ドキュメントテンプレートIDは、TB101である。また、変更後ドキュメントテンプレート名は、「新業務・現業務対応表」である。その他の項目は、空欄(例えばNULL等の値)である。
テンプレートの追加の場合、変更後ドキュメントテンプレート名の欄が、追加されたドキュメントテンプレートの名称を保持する。また、変更後ドキュメントテンプレートIDの欄は、追加されたドキュメントテンプレートのIDを保持する。変更後ドキュメントテンプレートIDとして、比較エンジン部4は、ユニークなIDを採番して付与する。当該カスタマイズにおいて、変更後ドキュメントテンプレートIDは、TB101である。また、変更後ドキュメントテンプレート名は、「新業務・現業務対応表」である。その他の項目は、空欄(例えばNULL等の値)である。
カスタマイズIDがK0004であるカスタマイズの変更種類は、「テンプレート(削除)」である。
テンプレートの削除の場合、変更前ドキュメントテンプレート名の欄が、削除されたドキュメントテンプレートの名称を保持する。また、変更前ドキュメントテンプレートIDの欄は、削除されたドキュメントテンプレートのIDを保持する。当該カスタマイズにおいて、変更前ドキュメントテンプレートIDは、TR029である。また、変更前ドキュメントテンプレート名は、「帳票レイアウト」である。その他の項目は、空欄(例えばNULL等の値)である。
テンプレートの削除の場合、変更前ドキュメントテンプレート名の欄が、削除されたドキュメントテンプレートの名称を保持する。また、変更前ドキュメントテンプレートIDの欄は、削除されたドキュメントテンプレートのIDを保持する。当該カスタマイズにおいて、変更前ドキュメントテンプレートIDは、TR029である。また、変更前ドキュメントテンプレート名は、「帳票レイアウト」である。その他の項目は、空欄(例えばNULL等の値)である。
ここで、開発者による、カスタマイズ情報の修正について説明する。
図34は、比較エンジン部4が表示するカスタマイズ分析途中経過画面を示す概略図である。比較エンジン部は既に説明したステップS4−22で、このカスタマイズ分析途中経過画面を表示する。このカスタマイズ分析途中経過画面は、カスタマイズ情報データベース9に登録される前のカスタマイズ情報を含んでいる。カスタマイズ情報の主キーは、カスタマイズIDである。なお、開発者がこの画面から新規のカスタマイズ情報を追加した場合には、比較エンジン部4は、そのカスタマイズにユニークなカスタマイズIDを発番し、付与する。
図示する例では、カスタマイズIDとして、K0005およびK0006を含む。カスタマイズIDがK0005であるカスタマイズに関して、変更種類は「設計項目(削除)」であり、変更前設計項目は「説明」である。カスタマイズIDがK0006であるカスタマイズに関して、変更種類は「設計項目(追加)」であり、変更後設計項目は「機能説明」である。この、K0005およびK0006のカスタマイズは、比較エンジン部4によって自動的に抽出されたものである。開発者は、この画面を見て、カスタマイズ情報を修正することができる。
図34は、比較エンジン部4が表示するカスタマイズ分析途中経過画面を示す概略図である。比較エンジン部は既に説明したステップS4−22で、このカスタマイズ分析途中経過画面を表示する。このカスタマイズ分析途中経過画面は、カスタマイズ情報データベース9に登録される前のカスタマイズ情報を含んでいる。カスタマイズ情報の主キーは、カスタマイズIDである。なお、開発者がこの画面から新規のカスタマイズ情報を追加した場合には、比較エンジン部4は、そのカスタマイズにユニークなカスタマイズIDを発番し、付与する。
図示する例では、カスタマイズIDとして、K0005およびK0006を含む。カスタマイズIDがK0005であるカスタマイズに関して、変更種類は「設計項目(削除)」であり、変更前設計項目は「説明」である。カスタマイズIDがK0006であるカスタマイズに関して、変更種類は「設計項目(追加)」であり、変更後設計項目は「機能説明」である。この、K0005およびK0006のカスタマイズは、比較エンジン部4によって自動的に抽出されたものである。開発者は、この画面を見て、カスタマイズ情報を修正することができる。
図35は、開発者が修正する前のカスタマイズ情報を示す概略図である。図示する修正前のカスタマイズ情報は、カスタマイズIDとして、K0005およびK0006を含んでいる。これらは、図34のカスタマイズ分析途中経過画面に含まれていたカスタマイズ情報と同様のものである。なお、カスタマイズIDがK0005およびK0006であるカスタマイズに関して、変更前ドキュメントテンプレートIDはTR001であり、変更前ドキュメントテンプレート名は「機能一覧表」である。つまり、K0005およびK0006は、ともに、ドキュメントテンプレート「機能一覧表」に関する、設計項目のカスタマイズに関するものである。
図36は、開発者が修正した後のカスタマイズ情報を示す概略図である。このカスタマイズ情報は、カスタマイズIDとしてK0007を有している。開発者が、K0005およびK0006を修正した結果が、K0007である。
実際の開発プロジェクトにおいて、開発者は、ドキュメントテンプレート「機能一覧表」の設計項目「説明」を設計項目「機能説明」に変更した。この場合、比較エンジン部4は、図35に示したように、この変更を、設計項目の削除(K0005)および設計項目の追加(K0006)であるとして、つまり別々のカスタマイズとして抽出した。しかし実際には、設計項目の名称変更であるため、開発者は2行にわたるカスタマイズ(K0005およびK0006)を1行にまとめるとともに、そのカスタマイズの変更種類を「名称変更」に修正する。図36が、修正後のカスタマイズ情報である。修正後のカスタマイズ情報においては、カスタマイズIDとしてK0005とK0006が欠番となり、新規の行(「名称変更」の行)のカスタマイズIDとしてK0007が付与されている。
実際の開発プロジェクトにおいて、開発者は、ドキュメントテンプレート「機能一覧表」の設計項目「説明」を設計項目「機能説明」に変更した。この場合、比較エンジン部4は、図35に示したように、この変更を、設計項目の削除(K0005)および設計項目の追加(K0006)であるとして、つまり別々のカスタマイズとして抽出した。しかし実際には、設計項目の名称変更であるため、開発者は2行にわたるカスタマイズ(K0005およびK0006)を1行にまとめるとともに、そのカスタマイズの変更種類を「名称変更」に修正する。図36が、修正後のカスタマイズ情報である。修正後のカスタマイズ情報においては、カスタマイズIDとしてK0005とK0006が欠番となり、新規の行(「名称変更」の行)のカスタマイズIDとしてK0007が付与されている。
なお、上では、開発者による操作に基づいて、設計項目の削除および追加のというカスタマイズのペアを、設計項目の変更というカスタマイズに修正する例を説明した。
代わりに、比較エンジン部4が、削除された設計項目と追加された設計項目とを紐付けて、設計項目の名称変更を自動的に抽出するようにしてもよい。そのためには、例えば、カスタマイズが設計書を変更する際に、その編集過程における変更履歴を残しておくようにする。そして、比較エンジン部4は、この変更履歴に基づいて、設計項目の名称変更を抽出する。
代わりに、比較エンジン部4が、削除された設計項目と追加された設計項目とを紐付けて、設計項目の名称変更を自動的に抽出するようにしてもよい。そのためには、例えば、カスタマイズが設計書を変更する際に、その編集過程における変更履歴を残しておくようにする。そして、比較エンジン部4は、この変更履歴に基づいて、設計項目の名称変更を抽出する。
次に、プロジェクトとカスタマイズとの関係の管理について説明する。
図37は、プロジェクトカスタマイズ情報(T4)のデータ例を示す概略図である。比較エンジン部4は、抽出したカスタマイズ情報をカスタマイズ情報データベース9に登録する際に、どのカスタマイズがどのプロジェクトにおいて実施されたものであるかを表す情報を、このプロジェクトカスタマイズ情報として記録する。図示するデータ例は、プロジェクトIDとして、P001,P002,P003を少なくとも含んでいる。
そして、このデータにおいて、プロジェクトID「P001」は、カスタマイズID「K0001」および「K0002」に対応付けられている。つまり、プロジェクトIDがP001であるプロジェクトは、カスタマイズIDがK0001およびK0002であるカスタマイズを実施したことを表している。
同様に、プロジェクトID「P002」は、カスタマイズID「K0003」および「K0004」に対応付けられている。
同様に、プロジェクトID「P003」は、カスタマイズID「K0002」に対応付けられている。
図37は、プロジェクトカスタマイズ情報(T4)のデータ例を示す概略図である。比較エンジン部4は、抽出したカスタマイズ情報をカスタマイズ情報データベース9に登録する際に、どのカスタマイズがどのプロジェクトにおいて実施されたものであるかを表す情報を、このプロジェクトカスタマイズ情報として記録する。図示するデータ例は、プロジェクトIDとして、P001,P002,P003を少なくとも含んでいる。
そして、このデータにおいて、プロジェクトID「P001」は、カスタマイズID「K0001」および「K0002」に対応付けられている。つまり、プロジェクトIDがP001であるプロジェクトは、カスタマイズIDがK0001およびK0002であるカスタマイズを実施したことを表している。
同様に、プロジェクトID「P002」は、カスタマイズID「K0003」および「K0004」に対応付けられている。
同様に、プロジェクトID「P003」は、カスタマイズID「K0002」に対応付けられている。
上記の通り、プロジェクトカスタマイズ情報の例において、カスタマイズID「K0002」は、プロジェクトID「P001」と「P003」の両方に対応付けられている。つまり、同一のカスタマイズを複数のプロジェクトに関して検出した場合、比較エンジン部4は、それらのカスタマイズに同一のカスタマイズIDを用いる。つまり、比較エンジン部4が既存のカスタマイズを別のプロジェクトで検出した場合、比較エンジン部4は既存のカスタマイズIDをそのカスタマイズに関して用いる。
次に、分析結果の表示について説明する。図24に示したメニュー画面で「分析結果表示」が選択されると、カスタマイズ情報表示部6は、テンプレート改善支援装置100内のデータベースに登録されているデータを用いて、分析処理を行う。このときカスタマイズ情報表示部6が行う分析処理は、カスタマイズと属性値の分析と、ドキュメントテンプレートと属性値の分析である。
カスタマイズ情報表示部6は、分析のための事前処理として、プロジェクト属性値の数の集計(図38)と、各カスタマイズを実施したプロジェクトの数の集計(図39)を行う。そして、カスタマイズ情報表示部6は、これらの集計データを用いて分析した結果を、カスタマイズと属性値の総当たりデータ(図42)、およびドキュメントテンプレートと属性値の総当たりデータ(図43)とする。
カスタマイズ情報表示部6は、分析のための事前処理として、プロジェクト属性値の数の集計(図38)と、各カスタマイズを実施したプロジェクトの数の集計(図39)を行う。そして、カスタマイズ情報表示部6は、これらの集計データを用いて分析した結果を、カスタマイズと属性値の総当たりデータ(図42)、およびドキュメントテンプレートと属性値の総当たりデータ(図43)とする。
図38は、プロジェクト属性数データ(T5)のデータ例を示す概略図である。このデータ例は、カスタマイズ情報表示部6がプロジェクトの属性値の数を集計した結果である。つまり、このデータは、特定の属性IDに対して特定の属性値を持つプロジェクトの数を集計した結果を表している。
プロジェクト属性数データにおける属性IDは、プロジェクト情報データベース10に登録した属性情報(図31)における属性IDと関連付けられている。
また、属性値は、プロジェクト情報データベース10に登録した属性値情報(図32)における属性値と関連付けられている。
また、プロジェクト数は、特定の属性IDで、特定の属性値に該当するプロジェクトの数を表している。
特定の属性IDに対する属性値の種類が複数ある場合には、カスタマイズ情報表示部6は、各々の属性値についてプロジェクト数を集計する。
図示するデータ例は、属性IDとしてAT005を含んでいる。このAT005に対応する属性値は、「改造」あるいは「新規」である。そして、これらそれぞれに対応するプロジェクト数は、48および12である。
このプロジェクト属性数データは、カスタマイズ情報分析部61による処理で使用される。
プロジェクト属性数データにおける属性IDは、プロジェクト情報データベース10に登録した属性情報(図31)における属性IDと関連付けられている。
また、属性値は、プロジェクト情報データベース10に登録した属性値情報(図32)における属性値と関連付けられている。
また、プロジェクト数は、特定の属性IDで、特定の属性値に該当するプロジェクトの数を表している。
特定の属性IDに対する属性値の種類が複数ある場合には、カスタマイズ情報表示部6は、各々の属性値についてプロジェクト数を集計する。
図示するデータ例は、属性IDとしてAT005を含んでいる。このAT005に対応する属性値は、「改造」あるいは「新規」である。そして、これらそれぞれに対応するプロジェクト数は、48および12である。
このプロジェクト属性数データは、カスタマイズ情報分析部61による処理で使用される。
なお、上では、属性値が完全に一致するプロジェクト数を集計する例を説明した。しかし、属性値の取り得る値の種類が非常に多い場合には、属性値が完全に一致するプロジェクトの数は少ない。そこで、属性の種類によっては、属性値の範囲や、属性値の所定の集合(グループ)ごとに、プロジェクト数を集計するようにしてもよい。例えば、見積り金額などといった属性に関しては、金額の範囲ごとに、プロジェクト数を集計するようにする。また、(プロジェクトの)開始日などといった属性に関しては、日付の範囲(月や、四半期や、年や、その他の期間等)ごとにプロジェクト数を集計するようにする。この場合、属性の種類ごとに、どういった属性値でプロジェクト数を集計するかを、予め定義しておけるようにする。
図39は、カスタマイズ実施数データ(T6)のデータ例を示す概略図である。このデータ例は、プロジェクト情報データベース10に登録されている全プロジェクトのうち、特定のカスタマイズをしたプロジェクトの数の集計結果を有している。カスタマイズ実施数データは、カスタマイズ情報分析部61の処理で利用される。
カスタマイズIDは、カスタマイズ情報データベース9に登録している、カスタマイズ情報のカスタマイズIDを表す。
プロジェクト数」は、各カスタマイズを実施したプロジェクトの集計数を表す。
図示するデータ例は、カスタマイズIDとして、K0001,K0002,K0003を少なくとも含んでいる。そして、これらに対応するプロジェクト数は、それぞれ、30個、65個、17個である。
カスタマイズIDは、カスタマイズ情報データベース9に登録している、カスタマイズ情報のカスタマイズIDを表す。
プロジェクト数」は、各カスタマイズを実施したプロジェクトの集計数を表す。
図示するデータ例は、カスタマイズIDとして、K0001,K0002,K0003を少なくとも含んでいる。そして、これらに対応するプロジェクト数は、それぞれ、30個、65個、17個である。
次に、カスタマイズと属性値との関係についての分析処理の例を説明する。
カスタマイズと属性値の総当たりデータ(T7)は、特定の属性値を持つプロジェクトによく実施されているカスタマイズは何かを分析するために作成するデータである。
テンプレート改善支援装置100は、分析の手段として、支持度、信頼度、期待信頼度、リフト値といった数値を算出する。
カスタマイズと属性値の総当たりデータ(T7)は、特定の属性値を持つプロジェクトによく実施されているカスタマイズは何かを分析するために作成するデータである。
テンプレート改善支援装置100は、分析の手段として、支持度、信頼度、期待信頼度、リフト値といった数値を算出する。
支持度は、全てのプロジェクトのうち、特定の属性値を持ち、かつ、特定のカスタマイズをしているプロジェクトの割合を示す。支持度が大きいほど、全プロジェクトの中で、特定の属性値を持つプロジェクトが、特定のカスタマイズを実施している割合が高いと言える。カスタマイズ情報分析部61は、支持度を、下の計算式によって算出する。
(支持度)=(属性値Aを有し、且つカスタマイズBを実施したプロジェクト数)/(プロジェクト情報データベース10に登録した全プロジェクト数)
(支持度)=(属性値Aを有し、且つカスタマイズBを実施したプロジェクト数)/(プロジェクト情報データベース10に登録した全プロジェクト数)
信頼度は、特定の属性値を持つプロジェクトのうち、特定のカスタマイズを実施したプロジェクトの割合を示す。信頼度が高いほど、「その特定の属性値を持つプロジェクトが、その特定のカスタマイズを実施する割合が高い」と言える。カスタマイズ情報分析部61は、信頼度を、下の計算式によって算出する。
(信頼度)=(属性値Aを有し、且つカスタマイズBを実施したプロジェクト数)/(属性値Aを持つプロジェクト数)
なお、上記計算式の分母である「属性値Aを持つプロジェクト数」には、図38で示したプロジェクト属性数データの値を使用する。
(信頼度)=(属性値Aを有し、且つカスタマイズBを実施したプロジェクト数)/(属性値Aを持つプロジェクト数)
なお、上記計算式の分母である「属性値Aを持つプロジェクト数」には、図38で示したプロジェクト属性数データの値を使用する。
期待信頼度は、全てのプロジェクトのうち、特定のカスタマイズをしているプロジェクトの割合を示す。期待信頼度が高いほど、よく実施されているカスタマイズであり、期待信頼度が小さければ稀なカスタマイズであると言える。カスタマイズ情報分析部61は、期待信頼度を、下の計算式によって算出する。
(期待信頼度)=(カスタマイズBを実施したプロジェクト数)/(プロジェクト情報データベース10に登録した全プロジェクト数)
なお、上記計算式の分子である「カスタマイズBを実施したプロジェクト数」には、図39で示したカスタマイズ実施数のデータを利用する。
(期待信頼度)=(カスタマイズBを実施したプロジェクト数)/(プロジェクト情報データベース10に登録した全プロジェクト数)
なお、上記計算式の分子である「カスタマイズBを実施したプロジェクト数」には、図39で示したカスタマイズ実施数のデータを利用する。
リフト値は、属性値とカスタマイズの依存関係を表す値である。リフト値が1より大きい場合、リフト値が大きいほど、属性値とカスタマイズの依存が強い。逆に、リフト値が1より小さいければ、依存が弱いことを示す。リスト値が1より小さいということは、信頼度が期待信頼度よりも小さいことを意味する。即ち、リスト値が1より小さい場合、プロジェクトの属性値がAかどうかに関わりなく、カスタマイズBが実施されている度合いが強いと言える。
(リフト値)=(信頼度)/(期待信頼度)
(リフト値)=(信頼度)/(期待信頼度)
図40および図41の各々は、支持度と、信頼度と、期待信頼度と、リフト値との関係を示すベン図(Venn diagram)である。これらの図のそれぞれにおいて、一番外側の四角形は、全プロジェクトの集合を表す。そして、この集合の要素数が、全プロジェクト数である。また、左側の円は、属性値がAであるプロジェクトの集合を表す。そして、この集合の要素数が、属性値がAであるプロジェクト数である。また、右側の円ないしは楕円は、カスタマイズBを実施したプロジェクトの集合を表す。そして、この集合の要素数が、カスタマイズBを実施したプロジェクト数である。2つの円(ないしは楕円)の重なっている部分(共通部分)は、属性値がAであり且つカスタマイズBを実施したプロジェクトの集合を表す。そして、この集合の要素数が、属性値Aを有し且つカスタマイズBであるプロジェクト数を表している。
図示するベン図において各集合の占める面積が集合の要素数にほぼ比例すると仮定した場合、図40に示す場合では、リフト値が1より大きい。つまり、信頼度が期待信頼度よりも大きい。一方で、図41に示す場合では、リフト値が1より小さい。つまり、信頼度が期待信頼度よりも小さい。
つまり、リフト値は、属性値Aを有し且つカスタマイズBを実施したプロジェクト数の属性値Aを持つプロジェクト数の中での割合が、カスタマイズB実施したプロジェクト数の全プロジェクト数の中での割合、よりもどれくらい多いかを表す指標である。
つまり、リフト値は、属性値Aを有し且つカスタマイズBを実施したプロジェクト数の属性値Aを持つプロジェクト数の中での割合が、カスタマイズB実施したプロジェクト数の全プロジェクト数の中での割合、よりもどれくらい多いかを表す指標である。
図40に示すような場合で、属性値Aを有し且つカスタマイズBを実施したプロジェクト数の属性値Aを持つプロジェクト数の中での割合が、カスタマイズB実施したプロジェクト数の全プロジェクト数の中での割合よりも大きければ、リフト値は1より大きくなる。これは、属性値AとカスタマイズBとが関連して起こる度合いが高いことを表している。
逆に、図41に示すような場合で、属性値Aを有し且つカスタマイズBを実施したプロジェクト数の属性値Aを持つプロジェクト数の中での割合が、カスタマイズB実施したプロジェクト数の全プロジェクト数の中での割合よりも小さければ、リフト値は1より小さくなる。これは、プロジェクトが属性値Aを有するか否かに関わらず、カスタマイズBが起こる度合いが高いことを表している。
逆に、図41に示すような場合で、属性値Aを有し且つカスタマイズBを実施したプロジェクト数の属性値Aを持つプロジェクト数の中での割合が、カスタマイズB実施したプロジェクト数の全プロジェクト数の中での割合よりも小さければ、リフト値は1より小さくなる。これは、プロジェクトが属性値Aを有するか否かに関わらず、カスタマイズBが起こる度合いが高いことを表している。
図42は、カスタマイズと属性値の総当たりデータ(T7)の例を示す概略図である。図示するデータは、カスタマイズ情報分析部61が、カスタマイズと属性値の因果関係を分析した結果の例である。この例では、属性IDがAT005である属性は、開発形態である(図31を参照)。そして、このデータは、属性「開発形態」の属性値が「改造」である行と、「新規」である行とを含んでいる。
図42の第1行目のデータは、次の通りである。この属性値が「改造」であり、且つカスタマイズIDがK0001である場合、プロジェクト数は20個である。そして、この属性値とカスタマイズIDとの組み合わせに関して、支持度は0.2であり、信頼度は0.8であり、期待信頼度は0.3であり、リフト値は2.7である。
また、図42の第2行目のデータは、次の通りである。この属性値が「新規」であり、且つカスタマイズIDがK0003である場合、プロジェクト数は10個である。そして、この属性値とカスタマイズIDとの組み合わせに関して、支持度は0.1であり、信頼度は0.4であり、期待信頼度は0.5であり、リフト値は0.8である。
図42の第1行目のデータは、次の通りである。この属性値が「改造」であり、且つカスタマイズIDがK0001である場合、プロジェクト数は20個である。そして、この属性値とカスタマイズIDとの組み合わせに関して、支持度は0.2であり、信頼度は0.8であり、期待信頼度は0.3であり、リフト値は2.7である。
また、図42の第2行目のデータは、次の通りである。この属性値が「新規」であり、且つカスタマイズIDがK0003である場合、プロジェクト数は10個である。そして、この属性値とカスタマイズIDとの組み合わせに関して、支持度は0.1であり、信頼度は0.4であり、期待信頼度は0.5であり、リフト値は0.8である。
また、図42の第3行目のデータに関して、属性IDがAT004である属性は、「見積り金額」である(図31を参照)。そして、この行のデータは、属性「見積り金額」の属性値が「3000万以上5000万以下」である場合と、カスタマイズIDがK0004であるカスタマイズを実施した場合との統計的関係の情報を保持している。具体的には、プロジェクト数が3個であり、支持度が0.03であり、信頼度が0.3であり、期待信頼度が0.05であり、リフト値が6.0である。
なおここで、属性「見積り金額」に関しては、前述の通り、属性値の範囲ごとにプロジェクト数を集計している。
図43は、ドキュメントテンプレートと属性値の総当たりデータ(T8)の例を示す概略図である。図示するデータは、カスタマイズ情報分析部61が、ドキュメントテンプレートと属性値の因果関係を分析した結果の例である。このデータは、属性値によって定まるドメインごとに、どういうドキュメントテンプレートが使われているかという傾向を、統計的に表す。
図43の第1行目のデータにおいて、属性IDがAT005(属性は、「開発形態」)であり、属性値が「改造」である。また、ドキュメントテンプレートIDは「TR001」である。このような属性値とドキュメントテンプレートIDの組み合わせに該当するプロジェクト数は、25個である。そして、支持度は0.25であり、信頼度1.0はであり、期待信頼度は0.55であり、リフト値は1.8である。
図43の第2行目のデータにおいて、属性IDがAT005(属性は、「開発形態」)であり、属性値が「新規」である。また、ドキュメントテンプレートIDは「TR001」である。このような属性値とドキュメントテンプレートIDの組み合わせに該当するプロジェクト数は、45個である。そして、支持度は0.45であり、信頼度0.9はであり、期待信頼度は0.55であり、リフト値は1.6である。
図43の第3行目のデータにおいて、属性IDがAT004(属性は、「見積り金額」)であり、属性値が「3000万以上5000万以下」である。また、ドキュメントテンプレートIDは「TR001」である。このような属性値とドキュメントテンプレートIDの組み合わせに該当するプロジェクト数は、5個である。そして、支持度は0.05であり、信頼度0.5はであり、期待信頼度は0.55であり、リフト値は0.9である。
図43の第2行目のデータにおいて、属性IDがAT005(属性は、「開発形態」)であり、属性値が「新規」である。また、ドキュメントテンプレートIDは「TR001」である。このような属性値とドキュメントテンプレートIDの組み合わせに該当するプロジェクト数は、45個である。そして、支持度は0.45であり、信頼度0.9はであり、期待信頼度は0.55であり、リフト値は1.6である。
図43の第3行目のデータにおいて、属性IDがAT004(属性は、「見積り金額」)であり、属性値が「3000万以上5000万以下」である。また、ドキュメントテンプレートIDは「TR001」である。このような属性値とドキュメントテンプレートIDの組み合わせに該当するプロジェクト数は、5個である。そして、支持度は0.05であり、信頼度0.5はであり、期待信頼度は0.55であり、リフト値は0.9である。
図44は、分析結果の表示画面を示す概略図である。図24のメニュー画面で「分析結果表示」が選択された場合、カスタマイズ情報表示部6は、ステップS6−5の処理においてこの分析結果の画面を表示する。図示するように、分析結果の表示画面は、「属性指定」ボックスを有している。また、分析結果の表示画面は、3つのボタンを有している。それらのボタンとは、「カスタマイズと属性値の分析結果」と、「ドキュメントテンプレートと属性値の分析結果」と、「ドキュメントテンプレート表示」である。管理者(または開発者。以下においても同様。)はこれらのいずれかのボタンを押下することができる。そして、いずれかのボタンが押下されると、テンプレート改善支援装置100は、管理者が望む情報を表示する。
「カスタマイズと属性値の分析結果」のボタンが押下された場合、カスタマイズ情報分析部61は、分析処理によって得たカスタマイズと属性値の総当たりデータを基に、カスタマイズと属性値の分析結果を全て表示出力する。なお、管理者が画面内の「属性指定」のボックスに、属性の種類と、それに対応する属性値を入力した場合、カスタマイズ情報表示部6は、その属性値に一致するカスタマイズ情報を表示する。このとき、カスタマイズ情報表示部6は、ドキュメントテンプレートへの反映を推奨する順番で、カスタマイズ情報を表示する。例えば、管理者が画面内の「属性指定」ボックスに「開発形態=改造」と入力し、「カスタマイズと属性値の分析結果」ボタンを押下した場合、カスタマイズ情報表示部6は、開発形態の属性値が「改造」であるプロジェクトでよく実施されているカスタマイズ情報を並べて表示する。
また、このとき、「属性指定」ボックスに、論理演算子を用いた条件を入力できるようにしてもよい。具体的には「<属性名>=<属性値>」の形式を有する条件を、AND(論理積)演算子やOR(論理和)演算子で連結することで、複数の条件の組み合わせを指定できる。また、ある条件に、NOT(否定)演算子を付けることもできる。
また、このとき、「属性指定」ボックスに、論理演算子を用いた条件を入力できるようにしてもよい。具体的には「<属性名>=<属性値>」の形式を有する条件を、AND(論理積)演算子やOR(論理和)演算子で連結することで、複数の条件の組み合わせを指定できる。また、ある条件に、NOT(否定)演算子を付けることもできる。
なお、画面内の「クリア」ボタンが押下されると、カスタマイズ情報表示部6は、条件設定を解除する。
カスタマイズ情報表示部6は、分析結果を、図示する画面内の「カスタマイズと属性値の分析結果」と記載された場所に表示する。このデータ例は、属性値「改造」とカスタマイズID「K0001」の組み合わせと、属性値「新規」とカスタマイズID「K0003」の組み合わせと、属性値「3000万以上5000万以下」とカスタマイズID「K0004」の組み合わせとを含んでいる。また分析結果の表示画面は、分析結果のデータの各行に対応して、右側に、チェックボックスを有している。このチェックボックスにチェックマークを入れることは、そのカスタマイズをドキュメントテンプレートに反映する処理を行うことを意味する。管理者がチェックボックスにチェックして、画面の右下部にある「反映」ボタンを押下すると、カスタマイズ情報表示部6は、チェックされたカスタマイズを反映したドキュメントテンプレートを表示する。
管理者が最終的にドキュメントテンプレートへの反映を確認すると、カスタマイズ情報表示部6は、ドキュメントテンプレートデータベース7内のドキュメントテンプレートにカスタマイズを反映する形で、データを更新する。
管理者が最終的にドキュメントテンプレートへの反映を確認すると、カスタマイズ情報表示部6は、ドキュメントテンプレートデータベース7内のドキュメントテンプレートにカスタマイズを反映する形で、データを更新する。
図45は、分析結果の表示画面を示す概略図である。この図は、分析結果表示画面において、「ドキュメントテンプレート表示」のボタンが押下されたときの画面の状況を示している。「ドキュメントテンプレート表示」のボタンが押下された場合、カスタマイズ情報分析部61は、分析処理によって得たドキュメントテンプレートと属性値の総当たりデータを基に、テンプレートと属性値の分析結果を表示出力する。この場合も、図44で説明した場合と同様に、管理者が画面内の「属性指定」のボックスに属性値に関する条件を入力することができる。また、この場合も、論理演算子を「属性指定」のボックス内に入力することができる。条件が入力された状態で管理者が「ドキュメントテンプレート表示」ボタンを押下した場合、カスタマイズ情報表示部6は、指定された属性値の条件に合う分析結果データのみを表示する。
カスタマイズ情報表示部6は、分析結果を、図示する画面内の「ドキュメントテンプレート一覧」と記載された場所に表示する。この分析結果のデータ例は、属性値「改造」とドキュメントテンプレートID「TR001」(機能一覧表)の組み合わせと、属性値「改造」とドキュメントテンプレートID「TR002」(画面一覧表)の組み合わせとを含んでいる。また、分析結果のデータの各行に対応して、右側に、チェックボックスを有している。このチェックボックスにチェックマークを入れることは、該当するテンプレートを表示させることを意味する。管理者がチェックボックスにチェックして、画面の右下部にある「取得」ボタンを押下すると、カスタマイズ情報表示部6は、チェックされたドキュメントテンプレートを表示する。
これにより、管理者は、プロジェクトの属性値に対応して、どのようなテンプレートが使われる傾向が高いかを把握することができる。
これにより、管理者は、プロジェクトの属性値に対応して、どのようなテンプレートが使われる傾向が高いかを把握することができる。
本実施形態によれば、設計書の構造情報とドキュメントテンプレートの構造情報の差分を抽出する手間が省くことができる。また、プロジェクトごとのカスタマイズ情報と属性値情報を蓄積し、カスタマイズ情報と属性値情報の関連を分析することで、ドメインごとドキュメントテンプレート、または汎用的なドキュメントテンプレートへの反映を推奨するカスタマイズ情報を表示することができる。これにより、効率的にドキュメントテンプレートの改訂を行なえるようになる。さらに、プロジェクトの特性に合ったドキュメントテンプレートを取り出すことができる。
また本実施形態によれば、支持度や信頼度等に基づいて、優先度を付けて、カスタマイズ情報を表示することができる。
また本実施形態によれば、支持度や信頼度等に基づいて、優先度を付けて、カスタマイズ情報を表示することができる。
上記実施形態では、カスタマイズ情報表示部6は、図44に示した画面で、管理者(ないしは開発者)がチェックマークを付けたカスタマイズのみを、ドキュメントテンプレートに反映させることとした。変形例として、代わりに、カスタマイズ情報表示部6は、算出された支持度や信頼度やリフト値等に基づいて、所定の条件を満たすカスタマイズを自動的に選択し、ドキュメントテンプレートに反映させるようにしてもよい。一例として、支持度が所定の閾値より高く、信頼度が所定の閾値より高く、且つリフト値が所定の閾値より高いカスタマイズを自動的に選択し、ドキュメントテンプレートに反映させる。
以上説明した少なくともひとつの実施形態によれば、プロジェクト数の統計を用いて、プロジェクトの属性値とカスタマイズとの間のアソシエーション分析を行うカスタマイズ情報表示部6を持つことにより、適切なドキュメントテンプレートの改善を支援することができる。
なお、上述した実施形態におけるテンプレート改善支援装置の機能の少なくとも一部を、コンピューターで実現するようにしても良い。この場合、その機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
1…インタフェース部、2…プロジェクト設計書登録部、3…設計書構造情報抽出部、4…比較エンジン部、5…プロジェクト情報管理部、6…カスタマイズ情報表示部、7…ドキュメントテンプレートデータベース、8…プロジェクト別設計書データベース、9…カスタマイズ情報データベース、10…プロジェクト情報データベース、11…ドキュメントテンプレート管理部、61…カスタマイズ情報分析部、62…分析結果表示部、100…テンプレート改善支援装置
Claims (8)
- プロジェクトについて、前記プロジェクトごと且つ属性ごとの属性値を記憶するプロジェクト情報データベースと、
設計書のテンプレートであるドキュメントテンプレートを記憶し管理するドキュメントテンプレート管理部と、
前記ドキュメントテンプレートを基に作成された設計書をプロジェクトごとに記憶し管理する設計書管理部と、
前記設計書管理部が管理する前記設計書から設計書の構造を表す情報である設計書構造情報を抽出する設計書構造情報抽出部と、
前記ドキュメントテンプレートの構造と前記設計書の構造との差分であるカスタマイズ情報を、前記設計書を作成したプロジェクトに関連付けて記憶するカスタマイズ情報データベースと、
前記設計書構造情報抽出部が前記設計書から抽出した前記設計書構造情報と、前記ドキュメントテンプレート管理部で管理される前記ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、前記カスタマイズ情報を前記プロジェクトに関連付ける形で前記カスタマイズ情報データベースに登録する比較エンジン部と、
前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する分析部と、
を備えるテンプレート改善支援装置。 - 前記分析部は、前記アソシエーション分析の処理として、特定の属性値を有し且つ特定のカスタマイズに関連付けられたプロジェクトの数を全プロジェクトの数で除して得られる支持度を、算出し、前記支持度に基づいて前記属性値と前記カスタマイズとの組み合わせを並べ替え処理した結果を、前記分析結果として出力する、
請求項1に記載のテンプレート改善支援装置。 - 前記分析部は、前記アソシエーション分析の処理として、さらに、特定の属性値を有し且つ特定のカスタマイズに関連付けられたプロジェクトの数を当該特定の属性値を有するプロジェクトの数で除して得られる信頼度を、算出し、前記支持度が同一である
前記属性値と前記カスタマイズとの組み合わせについては、前記信頼度で並べ替え処理した結果を、前記分析結果として出力する、
請求項2に記載のテンプレート改善支援装置。 - 前記分析部は、前記アソシエーション分析の処理として、さらに、特定のカスタマイズに関連付けられたプロジェクトの数を全プロジェクトの数で除して得られる期待信頼度を算出するとともに、特定の属性値と特定のカスタマイズに関して算出した前記信頼度を前記期待信頼度で除して得られるリフト値を算出し、前記リフト値を前記分析結果の一部として出力する、
請求項3に記載のテンプレート改善支援装置。 - 前記分析部は、前記アソシエーション分析の結果に基づいて、カスタマイズを前記ドキュメントテンプレート管理部で記憶される前記ドキュメントテンプレートに反映させる、
請求項1から4までのいずれか一項に記載のテンプレート改善支援装置。 - 前記分析部は、前記分析結果を出力後にユーザーから指示されたカスタマイズを、前記ドキュメントテンプレート管理部で記憶される前記ドキュメントテンプレートに反映させる、
請求項1から5までのいずれか一項に記載のテンプレート改善支援装置。 - 前記ドキュメントテンプレート管理部は、前記ドキュメントテンプレートを複数種類記憶し管理するものであり、
前記分析部は、前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報が関連付けられた前記ドキュメントテンプレートとの間のアソシエーション分析を行い、前記属性値と前記ドキュメントテンプレートの種類との関係を表す分析結果を出力する、
請求項1から6までのいずれか一項に記載のテンプレート改善支援装置。 - コンピューターを、
プロジェクトについて、前記プロジェクトごと且つ属性ごとの属性値を記憶するプロジェクト情報データベースと、
設計書のテンプレートであるドキュメントテンプレートを記憶し管理するドキュメントテンプレート管理部と、
前記ドキュメントテンプレートを基に作成された設計書をプロジェクトごとに記憶し管理する設計書管理部と、
前記設計書管理部が管理する前記設計書から設計書の構造を表す情報である設計書構造情報を抽出する設計書構造情報抽出部と、
前記ドキュメントテンプレートの構造と前記設計書の構造との差分であるカスタマイズ情報を、前記設計書を作成したプロジェクトに関連付けて記憶するカスタマイズ情報データベースと、
前記設計書構造情報抽出部が前記設計書から抽出した前記設計書構造情報と、前記ドキュメントテンプレート管理部で管理される前記ドキュメントテンプレートの構造とを比較し、差分をカスタマイズ情報として抽出し、前記カスタマイズ情報を前記プロジェクトに関連付ける形で前記カスタマイズ情報データベースに登録する比較エンジン部と、
前記カスタマイズ情報データベースに登録された前記カスタマイズ情報に基づいて、前記カスタマイズ情報が関連付けられた前記プロジェクトの前記属性値と、前記カスタマイズ情報との間のアソシエーション分析を行い、分析結果を出力する分析部と、
を備えるテンプレート改善支援装置として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016145575A JP6411414B2 (ja) | 2016-07-25 | 2016-07-25 | テンプレート改善支援装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016145575A JP6411414B2 (ja) | 2016-07-25 | 2016-07-25 | テンプレート改善支援装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018018151A JP2018018151A (ja) | 2018-02-01 |
JP6411414B2 true JP6411414B2 (ja) | 2018-10-24 |
Family
ID=61075949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016145575A Active JP6411414B2 (ja) | 2016-07-25 | 2016-07-25 | テンプレート改善支援装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6411414B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005293403A (ja) * | 2004-04-02 | 2005-10-20 | Hitachi Ltd | 設計業務支援装置 |
JP4929048B2 (ja) * | 2007-05-21 | 2012-05-09 | 株式会社日立製作所 | コンテンツ配信サービスシステム |
JP2015201103A (ja) * | 2014-04-09 | 2015-11-12 | 富士通株式会社 | 業務記述の管理プログラム、業務記述の管理方法、及び業務記述の管理装置 |
-
2016
- 2016-07-25 JP JP2016145575A patent/JP6411414B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018018151A (ja) | 2018-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240078096A1 (en) | Systems and methods for code clustering analysis and transformation | |
US11188319B2 (en) | Systems and methods for entry point-based code analysis and transformation | |
US11003645B1 (en) | Column lineage for resource dependency system and graphical user interface | |
US20230244476A1 (en) | Systems and methods for code analysis heat map interfaces | |
Van Der Aalst et al. | Inheritance of workflows: an approach to tackling problems related to change | |
KR102397495B1 (ko) | 노 코드 애플리케이션 개발 및 운영 시스템과 그 서비스 방법 | |
JP2020500369A (ja) | データ要素間の関係を決定するためのシステム及び方法 | |
JP5482667B2 (ja) | ポリシー管理装置、ポリシー管理システム、それに用いる方法およびプログラム | |
WO2020258492A1 (zh) | 信息处理方法、装置、存储介质及终端设备 | |
CN109684332A (zh) | 一种数据宽表生成方法、装置及系统 | |
JP5424798B2 (ja) | メタデータ設定方法及びメタデータ設定システム、並びにプログラム | |
US11120200B1 (en) | Capturing unstructured information in application pages | |
Calvanese et al. | Extracting event data from document-driven enterprise systems | |
JP2010015458A (ja) | プログラム修正支援システム、プログラム修正支援方法、およびプログラム修正支援プログラム | |
Fan et al. | Data quality problems beyond consistency and deduplication | |
Barton | Talend open studio cookbook | |
JP6411414B2 (ja) | テンプレート改善支援装置およびプログラム | |
Molina et al. | Specifying conceptual interface patterns in an object-oriented method with automatic code generation | |
JP2017072957A (ja) | ファイル編集方法、ファイル編集装置及びファイル編集プログラム | |
JP6336922B2 (ja) | 業務バリエーションに基づく業務影響箇所抽出方法および業務影響箇所抽出装置 | |
US20210397745A1 (en) | Data providing server device and data providing method | |
JP2015103007A (ja) | 運用レポート管理システムおよび運用レポート管理プログラム | |
US20220398669A1 (en) | Workflow management system for customer communication solutions | |
KR102430880B1 (ko) | 도면 데이터 베이스 제공 방법 | |
JP2018163619A (ja) | スケジュール帳票出力方法、及び帳票出力プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180817 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180828 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180926 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6411414 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |