JP2010231524A - データ分析方法及びデータ分析プログラム - Google Patents

データ分析方法及びデータ分析プログラム Download PDF

Info

Publication number
JP2010231524A
JP2010231524A JP2009078609A JP2009078609A JP2010231524A JP 2010231524 A JP2010231524 A JP 2010231524A JP 2009078609 A JP2009078609 A JP 2009078609A JP 2009078609 A JP2009078609 A JP 2009078609A JP 2010231524 A JP2010231524 A JP 2010231524A
Authority
JP
Japan
Prior art keywords
data
data mining
planning
mining
development
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.)
Withdrawn
Application number
JP2009078609A
Other languages
English (en)
Inventor
Akira Ioku
章 井奥
Eiji Kubo
英二 久保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009078609A priority Critical patent/JP2010231524A/ja
Publication of JP2010231524A publication Critical patent/JP2010231524A/ja
Withdrawn legal-status Critical Current

Links

Images

Abstract

【課題】分析ニーズに応じてデータマイニングによる分析結果の質と量を容易に最適化する。
【解決手段】データ分析方法は、計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータから、前記プロセスを評価するための相関ルール等を見出すデータマイニングの方法であって、データマイニングの前工程として、プロセスの工程定義をもとに工程間の影響関係を識別して属性選択を行うデータ変換工程(1002)、更に必要な場合には、経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類するデータ分類工程(1003)を採用する。また、データマイニング工程として、必要な場合には、第1のデータマイニング工程の(1006)後に当該第1のデータマイニング工程による結果をデータマイニングの対象とする第2のデータマイニング工程を採用する(1007)。
【選択図】図1

Description

本発明は、計画、企画又は開発のプロセスの遂行状況に関わるデータあるいは計画、企画又は開発の成果物の質や量を示すデータをもとにして、計画、企画又は開発(プロジェクト管理や開発プロセス)を評価するためにデータマイニングを行うデータ分析方法において、データマイニングの前後工程を最適化する技術に係り、例えばソフトウェア開発のプロジェクト管理に適用して有効なデータ分析方法及びデータ分析プログラムに関する。
データマイニングによる知識発見のプロセスでは、適用領域に応じて使用者(分析者)による工夫が必要になる。データマイニングの実効性は、知識発見の目的に沿った前工程と後工程の妥当性に大きく依存するからである。
非特許文献1では、データマイニングのタスクを、予測モデルの構築、特徴パターンの発見、クラスタリングの3つに分類しているが、全般的に、前工程や後工程が重要になることを指摘している。前工程では、何らかの評価基準を導入して膨大な数の属性から重要な属性に絞り込む属性選択や、元データから新しい属性を生成することが含まれる。このような作業をデータ変換と呼ぶが、この作業には適用するフィールドの専門知識が不可欠であり、有用な知識発見に最も重要なステップである(以上、非特許文献1 p14)。また、データマイニングの結果自体から知見を抽出するためには、全体の傾向の把握が難しいことも珍しくなく、適切な後工程(視覚化やルールフィルタリングの手法)が求められる(非特許文献1 p19)。
たとえば、「特徴パターン」をif-thenルールで発見する手法の適用において、この点はしばしば議論、検討がなされてきているので、ここに例示する。if-thenルールの形式の「特徴パターン」の典型例としては、「属性Aと属性Bが同一トランザクションに含まれるとき、属性Cも同時に含まれる」といった規則性を指し「A、B→C」と表記するパターンの形態である。
このような特徴パターンの発見においては、非常に多くのルールが列挙されるために、それらの全体の傾向を把握し意味のあるルールを選択することが重要になる。そこで、分析者にとって無意味なルールの生成や提示を防ぐ工夫が、前工程や後工程で試みられてきている。
なお、以下で、特許文献1や2が前提にするのは、Aprioriアルゴリズムで有名な、属性間の共起性を抽出する「相関ルール」と考えられる。一方で、特許文献3記載のラフ集合理論にもとづく「決定ルール」がある。双方は同一の概念ではないが、if-Thenルール形式で分析者に知識発見を促す効果の点での類似性に注目し、本明細書の説明では、同列に扱う。
特許文献1では、相関ルール分析において、分析者が対話的操作で重要な属性やルールを指定し、それを含むルールから優先的に表示していく。前工程の属性選択と後工程の視覚化を同時に行うことで知識発見を容易にするものと位置づけることができる。
非特許文献2では、相関ルール分析を品質分析に適用する方法において、前工程のデータ変換に関する施策を示すものである。相関ルール分析の出力全てが、品質分析に必要なものではないとして、相関ルールのなかに必ず含むべき属性を事前に指定し、それらの属性ならびにそれらの属性と相関の高い属性以外を含むルールは、無用なルールと認定し、その生成を防いでいる。
特許文献2では、複数の属性からなるレコードの集合からレコードの組み合わせを検索しルールを抽出する場合、属性の発生する時間関係を管理する装置を設けて、時間的に矛盾のあるルールは排除することで、生成するルール数を抑制している。
特許文献3では、画質調整のためのパラメータの決定に際し、重要なルールを選択的に抽出するのに優れた方法である、ラフ集合理論によるデータマイニングを用いることを特徴として、その精度と効率を上げている。
ラフ集合理論にもとづくデータマイニングは、決定表から最小限必要な属性や極小な決定ルールを効率的に抽出する手法として有用である。決定表と呼ばれるのは、条件属性集合と決定属性集合とを対応付けた表であり、ラフ集合理論にもとづくデータマイニングでは、この表から、ある分類に属する条件を適切に他の条件から識別するのに充分かつ最小の属性の組み合わせ(決定ルール)が求まる。
特許文献3が指摘するように、ラフ集合理論により求めた、ある分類への帰属が確実な条件集合である決定ルールは、ユーザーの着目パラメータ空間と最適領域として捉えることができ、決定ルールが求まると着目パラメータ空間と最適領域が同時に求まるという利点を有している。
以上のように、分析者にとって無意味なルールの生成や提示を防ぐ工夫が、前工程や後工程で試みられてきている。
特開2003−050962号公報 特開2004−110327号公報 特開2008−122551号公報
加藤 直樹, 矢田 勝俊 他, データマイニングとその応用,2008年,朝倉書店 堀聡 落田美紀他,電気製品の市場品質監視システム,人工知能学会誌 15巻5号 2000年9月
データマイニングの前工程や後工程の工夫は、if-thenルールの形式の「特徴パターン」の抽出に限った施策ではない。それは、知識発見のためのデータマイニング全般における解釈の精度・効率向上に寄与する。この点に関し、特許文献1、非特許文献2のような属性選択(変数選択)の方法は、人為的な選別作業であり、その妥当性の根拠に欠ける側面がある。また、多くの属性から選別する手間もかかり作業ミスもまねきやすい。特許文献2や特許文献3では、プロジェクトや開発のプロセスの管理への適用は考慮されていない。
本発明の目的は、分析ニーズに応じて、データマイニングによる分析結果の質と量を最適化することが容易なデータ分析方法、及びその分析方法を容易に実施可能にするデータ分析プログラムを提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、本発明に係るデータ分析方法は、計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータから、前記プロセスを評価するための相関ルール等を見出すデータマイニングの方法であって、データマイニングの前工程として、プロセスの工程定義をもとに工程間の影響関係を識別して属性選択を行うデータ変換工程、更に必要な場合には、経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類するデータ分類工程を採用する。また、データマイニング工程として、必要な場合には、第1のデータマイニング工程の後に当該第1のデータマイニング工程による結果をデータマイニングの対象とする第2のデータマイニング工程を採用する。
データ変換工程では、各工程の相互関係に注目して、工程間の順序関係だけでなく、設計とテスト(検証)の対応関係などのような工程間の影響関係をふまえて、データマイニングの対象を絞り込むことができるから、問題解決に有用な分析結果に容易にたどり着くことができるようになる。
データ変換の前にデータ分類工程を先行させれば、規模に対する経済性の相違に注目することによって、開発・生産・製造などを遂行するプロジェクトやプロセスをとりまく状況(複雑さ)を端的に表現する手がかりを得ることができるようになるから、データマイニングにおける分析の視野の拡大、精度向上、そして効率化が期待できるようになる。要するに、規模と経済性の関係に注目することで、プロジェクトの特性の前提がそろった状態で、評価できるので、評価結果には納得感を得やすく、また、意味のある類似性をもとにグループ化して、グループ間での比較分析を促進することが容易になる。
データマイニングを多重化して行うことにより、更に分析結果の質と量の最適化を促進することができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、分析ニーズに応じて、データマイニングによる分析結果の質と量を最適化することが容易になる。
図1は本発明に係るデータ分析方法を実行するためのデータ分析システムの機能部ロック図である。 図2Aは工程定義情報の構成を例示する説明図である。 図2Bは開発プロセスモデル(V字モデル)を例示する説明図である。 図3Aはマイニング対象データテーブルの構成を例示する説明図である。 図3Bは同じくマイニング対象データテーブルの別の構成例を示す説明図である。 図4はデータ分析システムによるデータ分析方法の第1の実施の形態である第1の処理フローを例示するフローチャートである。 図5はデータ変換処理4002に対応されるデータ変換の処理を詳細に例示するフローチャートである。 図6はソフトウェア開発用データ最適化手段1004による変換動作の詳細を例示するフローチャートである。 図7は説明変数群以外の属性を除外したデータセットの一例を示す説明図である。 図8は第2のデータマイニング工程を備えるデータ分析システムの動作のを例示するフローチャートである。 図9はデータ分類工程の処理を例示するフローチャートである。 図10はデータ分類工程の具体例として「規模の経済性」でサンプル分類を行う動作を例示するフローチャートである。 図11はデータ分類工程が用いるデータマイニング用分類候補情報の構成を例示する説明図である。 図12はソフトウェア開発を対象としたときに重回帰分析を行った結果を例示する説明図である。
1.実施の形態の概要
先ず、本願において開示される発明の代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕本発明の一実施の形態に係るデータ分析方法は、計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータをコンピュータ装置が入力し、入力したデータ(1010,1011,1012)に基づいて前記コンピュータ装置が計画、企画若しくは開発のプロセスを評価するためにデータマイニングを行うデータ分析方法であって、前記データマイニングの前工程として、前記入力したデータに対し、プロセスの工程定義に基づいて工程間の影響関係を識別して、データマイニングの対象とするデータの属性を選択するデータ変換工程(1002、4002、8005)を含む。
データ変換工程では、各工程の相互関係に注目して、工程間の順序関係だけでなく、設計とテスト(検証)の対応関係などのような工程間の影響関係をふまえて、データマイニングの対象を絞り込むことができるから、問題解決に有用な分析結果に容易にたどり着くことができるようになる。
〔2〕本発明の別の実施の形態に係るデータ分析方法においては、前記データマイニングの前工程として、前記入力したデータに対し、経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類するデータ分類工程(1003、8002)と、前記データ分類工程で分類されたデータに対し、プロセスの工程定義(1010)に基づいて工程間の影響関係を識別して、データマイニングの対象とするデータの属性を選択するデータ変換工程(1002、8005)と、を含む。
データ変換の前にデータ分類工程を先行させれば、規模に対する経済性の相違に注目することによって、開発・生産・製造などを遂行するプロジェクトやプロセスをとりまく状況(複雑さ)を端的に表現する手がかりを得ることができるようになるから、データマイニングにおける分析の視野の拡大、精度向上、そして効率化が期待できるようになる。要するに、規模と経済性の関係に注目することで、プロジェクトの特性の前提がそろった状態で、評価できるので、評価結果には納得感を得やすく、また、意味のある類似性をもとにグループ化して、グループ間での比較分析を促進することが容易になる。結果として、開発プロジェクトやプロセスの管理に有効な指針、例えばソフトウェア開発を監視するのに、更に有効な指針を分析者に提示可能になる。
〔3〕項1又は2のデータ分析方法において、前記データの属性はプロセス項目である。
〔4〕項3のデータ分析方法において、前記プロセスの工程定義は、プロセス項目の相関を示す開発プロセスモデルに基づいて評価項目とそれに対応するプロセス項目とを対応させたデータである。
〔5〕項4のデータ分析方法において、前記計画、企画若しくは開発のプロセスは、ソフトウェアプログラム開発のプロセスである。ソフトウェア開発では、規模と工数の関係性が、開発の複雑さなど、他の要因を示唆していることが少なくなく、規模と工数の関係性でグループ分けして別の目的変数に対して分析を行いその結果を比較することが、問題分析として、有効になることが少なくない。
〔6〕項5のデータ分析方法において、前記データ変換工程は、ソフトウェア開発のプロセスモデルから、設計工程と設計の品質を確認する検証工程との間で、工程間の影響関係を識別して属性選択を行うソフトウェア開発用データ最適化処理を含む。
〔7〕項2のデータ分析方法において、分析対象がソフトウェアプログラム開発のプロセスである場合に、前記データ分類工程は、人月工数を用いて経済性を評価するソフトウェア開発用分類最適化処理を含む。
〔8〕項1又は2のデータ分析方法において、前記データマイニングを行なうために第1のデータマイニング工程と第2のデータマイニング工程とを含む。前記第1のデータマイニング工程は特定のクラスに対してのみ多頻度である顕在パターン集合を抽出する処理を含む。前記第2のデータマイニング工程は前記第1のデータマイニング工程で抽出された顕在パターン集合に含まれるアイテムの属性のデータをデータマイニングの対象とする。データマイニングを第1と第2で多重化して行うことにより、更に分析結果の質と量の最適化を促進することができる。
〔9〕項8のデータ分析方法において、前記第1のデータマイニング工程及び第2のデータマイニング工程はアプリオリ・アルゴリズム(Apriori Algorithm)又はラフ集合理論を用いる。アプリオリ・アルゴリズム(Apriori Algorithm)とラフ集合理論は相互に補完関係を有するロジックであり、第1のデータマイニング工程と第2のデータマイニング工程との間で異なる前記ロジックを用いることによって、分析結果の質を更に最適化することができる。
〔10〕本発明の更に別の実施の形態に係るデータ分析プログラムは、コンピュータ装置が実行することにより、入力処理、分類処理、変換処理及びデータマイニング処理を制御するプログラムである。前記入力処理は、計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータを入力する処理である。前記分類処理は、前記入力したデータに対し、経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類する処理である。前記変換処理は、前記分類する処理で分類されたデータに対し、プロセスの工程定義に基づいて工程間の影響関係を識別して、データマイニングの対象とするデータの属性を選択してデータマイニングの対象データに変換する処理である。前記データマイニング処理は、前記変換する処理で得られたデータに基づいて、計画、企画若しくは開発のプロセスを評価するためのデータマイニングを行う処理である。
上記分析プログラムによれば、分析ニーズに応じて、データマイニングによる分析結果の質と量を最適化するデータ分析方法を容易に実施可能になる。
〔11〕項10のデータ分析プログラムにおいて、前記計画、企画若しくは開発のプロセスはソフトウェアプログラム開発のプロセスである。
〔12〕項11のデータ分析プログラムにおいて、前記データ分類処理は、人月工数を用いて経済性を評価するソフトウェア開発用分類最適化処理を含む。
〔13〕項10のデータ分析プログラムもおいて、前記データマイニング処理は、第1のデータマイニング処理と第2のデータマイニング処理とを含む。前記第1のデータマイニング処理は特定のクラスに対してのみ多頻度である顕在パターン集合を抽出する処理を含む。前記第2のデータマイニング処理は前記第1のデータマイニング工程で抽出された顕在パターン集合に含まれるアイテムの属性のデータをデータマイニングの対象とする。
2.実施の形態の詳細
実施の形態について更に詳述する。
図1には本発明に係るデータ分析方法を実行するためのデータ分析システムの機能部ロック図が示される。同図に示されるデータ分析システムはワークステーション若しくはパーソナルコンピュータなどのコンピュータ装置(CMPTR)が本発明に係るデータ分析プログラムを実行することによって実現される。
データ分析システムは、分析対象データ1001、データ変換手段1002、データ分類手段1003、データマイニング実行手段1005、及び分析結果表示手段1009から構成される。分析対象データ1001はハードディスク装置等の記憶装置に格納される。データ変換手段1002、データ分類手段1003及びデータマイニング実行手段1005は、例えば記憶装置に格納されたプログラムと、これを実行するための中央処理措置(CPU)、アクセラレータ、ワークRAM及びROM等からなるコンピュータコアとによって実現される。
データマイニング実行手段1005は、データマイニング工程を実行する機能を有する。データマイニングとは、ある時間関係において発生する属性間の組合せ規則(相関ルール)を発見するための手法であり、相関ルールを発見するためのアルゴリズムは、Aprioriアルゴリズム、ラフ集合論理などとして知られている。データマイニング実行手段1005は、第1のデータマイニング実行手段1006と、第2のデータマイニング実行手段1008と、第1のデータマイニング実行結果1006をもとに第2のデータマイニングを実行するための属性を選択する第2のデータマイニング用属性選択手段1007とを有する。第2のデータマイニング実行手段1008と第2のデータマイニング用属性選択手段1007はデータ分析システムにおいては必須ではないが発明の効果という点では有意性の主張に役立つ構成である。第2のデータマイニング実行手段1008と第2のデータマイニング用属性選択手段1007は、第1のデータマイニング実行手段1006に対して後工程として位置付けることができる。
データ変換手段1002は、データ変換工程を実行する機能を有し、第1のデータマイニング実行手段1006に対して前工程として位置付けることができる。データ変換手段1002では、設計工程と検証工程の対応関係をふまえて、データを目的変数と説明変数に仕分けする。例えば、データ変換手段1002は、ソフトウェア開発用データ最適化手段1004を有し、特に、ソフトウェア開発を分析対象にする場合には、ソフトウェア開発用データ最適化手段1004において開発プロセスモデルに沿った対応関係を抽出する。開発プロセスモデルの典型的な実施の形態はV字モデルだが,これに限定するものではない。要するに、ソフトウェア開発などのプロセス管理に適したデータに変換する。その詳細については後述する。
分析対象データ1001の構成要素として、工程定義情報1010及びマイニング対象データテーブル1012を含む。工程定義情報1010に関連して開発プロセスモデル図1011を含んでもよい。
第1のデータマイニング実行手段のもう一つの前工程として示されたデータ分類手段1003はデータ分析システムにおいては必須ではないが発明の効果という点では有意性の主張に役立つ構成である。詳細は後述するが、データ分類手段1003はソフトウェア開発用分類最適化手段を備えてもよい。データ分類手段1003は、データ分類工程を実行する機能を有する。具体的には、規模とコストや規模と生産性との間の相関分析や多変量解析を行い、相互の関係性を数値化する。あるいは「規模の経済性」を算出する。その結果をもとに、データサンプル群をデータマイニングへの入力単位ごとに複数の群に分ける。分類手段が行う分類工程としては、データマイニングの通例として、一つずつ逐次的に入力データを仕分けて分類する方法と、すでに複数の分類指針が存在する状況でどの分類指針をデータマイニング用の分類として採用するかを決める方法とが、想定されるが、これらの両方の方法を、本発明では、分類工程として包含する。ソフトウェア開発用分類最適化手段は、コストなどの経済性を示す指標としてソフトウェア開発の人月工数など、ソフトウェア開発にちなんだ指標を設定する。
ここで先ず、計画、企画又は開発のためのプロセスの管理に有効なデータ変換の指針を分析者に提供することを主眼とした手段として、(1)プロセスの工程定義をもとに工程間の影響関係を識別して属性選択を行う前記データ変換手段によるデータ変換工程と、(2)経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類する前記データ分類手段によるデータ分類工程とについて、その要点を説明する。
(1)データ変換工程
データ変換工程について説明する。
データ変換工程は、ソフトウェア開発におけるVモデルなど、開発プロセスの定義をもとにして、検証工程と設計工程の対応関係、及び工程間の順序関係を、簡単かつ総合的に判断して、目的変数(結果に対応する)と説明変数(原因に対応する)を抽出する(属性を目的変数と説明変数に仕分けする)ことに相当する。
V字モデルは、ソフトウェア開発や情報システム開発などの流れを表現する開発プロセスモデルであり、例えば図2Bに例示される。Vモデルにおいて、各工程が相互関係にあることを表すが、例えば、単体テスト工程であれば、業務要件を設計結果に基づいてプログラム化(コーディング)できているかどうかを確認することを示している。また、次のテスト工程においては、設計した通りに正しく動作するかどうかを確認する。例えば図2Bでは機能設計の確認を結合テストで行い、システム設計の確認を総合テストで行う。システムが出来上がった運用段階においては、客とともに、客の要求を分析し、計画、企画立案した通りにシステムが運用出来ているかどうかを確認する。例えば図2Aの受け入れテストで確認する。このようにテスト工程で、計画、企画立案過程から段階的に詳細化した設計が正しく実現されて意図したものが出来上がっているかを確認までを規定する。尚、V字モデルについては、堀田勝美、関弘充他、「ソフトウェア品質保証システムの構築と実践」p113、p114、ソフト・リサーチ・センター、2008、に記載がある。
このデータ変換工程では、例えばV字モデルに示されるような各工程の相互関係に注目して、工程間の順序関係だけでなく、設計とテスト(検証)の対応関係をふまえた、問題解決に有用な分析結果を選択的に分析者に提示しようとするものである。さらに、データ変換工程は、ラフセット(ラフ集合)理論等によるマイニングを利用して、目的変数に対する顕在パターンを優先的に抽出させるためにも有効となる。ラフ集合理論は、決定表から最小限必要な属性や極小な決定ルールを効率的に抽出する手法として有用であり、特に冗長性を排除したルールとして求めることに資するものであり、Aprioriアルゴリズムによるデータマイニングに対して補完関係を持つ。尚、本明細書では、顕在パターンという用語を、非特許文献1の記載に準拠して、次の定義を参照し使用する。顕在パターンとはあるクラスに多頻度で、その他のクラスでは多頻度ではないようなアイテム集合のことである。ここで、アイテムとは、属性と数値の組み合わせで構成される単位を意味する。
データマイニングの前工程としてデータ変換工程を採用することにより、生成されるルールの数が抑制される。抑止されるルールは問題解決に重要でないルールである可能性が高いものとされる。
(2)データ分類工程
次にデータ分類工程について説明する。
データ分類項工程とは、特性の似たプロジェクトを同一のグループとしてデータマイニングの前工程として事前に分類する処理を行なう工程である。グループ分けの妥当性次第で、知識発見の効率と精度が左右されるので、プロジェクト等のプロセス管理に有効なサンプルのグループ分けの指針を提供することが可能になる。
具体的には、本発明では、プロジェクトの問題分析、およびその原因構造をもとにした予測のために、データマイニングを用いる状況を想定し、プロジェクト等のプロセスの複雑さ、あるいは成果物の複雑さの程度を反映する指標でクラス分けを実施した上で、クラスごとにデータマイニングを適用させる。そのために、プロジェクト等のプロセスの複雑さ、あるいは成果物の複雑さの程度として、(a)生産量とコストの相関関係の相違(規模の経済/規模の不経済)、(b)規模と工数あるいは規模と開発生産性の相関関係の相違、という指標で分類する分類工程を備える。
すなわち、(a),(b)のように規模に対する経済性の相違に注目し、その類似性でサンプルをグループ分けし、グループごとにデータマイニングを行う。中でも、ソフトウェア開発を分析対象とする場合においては、開発規模に対する経済性として、人月工数や、人月生産性(たとえば、製造あるいは検証したコード行数あたりに投入した人月工数)を属性として選択し、それらと規模との関係の仕方の類似性でサンプルのグループ分け指針を決める。
規模に対する経済性の相違に注目する理由は、開発・生産・製造などを遂行するプロジェクトやプロセスをとりまく状況(複雑さ)を端的に表現する手がかりとなるからである。各種概念を参照しながら分析を行うことができるようになり、分析の視野の拡大、精度向上、そして効率化が期待できるようになる。
このような概念としては、たとえば「規模の経済性」と「アドバンテージマトリクス」が知られる。「規模の経済性」とは生産量の増加にともない利益率が高まることである。生産量の増大につれて平均費用が減少する結果、利益率が高まる傾向をいう。同じ意味で、規模に関する収穫逓増、費用逓減といわれることもある。これが、企業活動の現状把握と方向づけに重要な手がかりになる。たとえば、成熟市場では、選択と集中に基づく効率的な投資が競争戦略上重要とされている。
規模の経済性は、生産量の増加率に対する生産費用の増加率の比として、表せる。生産物が1単位増加したとき費用の増加がそれ以下ということで、その値としては1以下であれば良いということになる。上式が1より小さければ費用の近似点である標本の平均値において規模の経済が存在しており、1より大きければ費用の近似点である標本の平均値において規模の不経済が存在していることになる。「規模の経済性」については、経営用語の基礎知識(http://www.nri.co.jp/opinion/r_report/m_word/kibo.html)に記載がある。
「アドバンテージマトリクス」とは、規模に対する利益指標(たとえばROA)に対する線形性の大小や、規模に対する利益指標の弾力性の大小で、業界の競争環境をいくつかのタイプにわけて分析する概念であり、公知の分析手法である。タイプごとに業界特性が異なり、たとえば、規模が大きくなるほど利益(たとえばROA)が線形的に大きくなる業界では、競争要因が少ないとされる。「アドバンテージマトリクス」については、グロービス・マネジメント・インスティテュート著「MBAマネジメント・ブック」,ダイヤモンド社、に記載がある。
ソフトウェア開発を分析対象とする場合には、規模に対する経済性に注目する利点として、同一の見積り式で近似できる範囲にありコスト構造が類似するサンプル集合の単位で、品質などの問題分析が可能になる。ここで、見積りとは、狭義には、「プロジェクトや開発プロセスにかかる期間やコストを予測すること」(Steve McConnell,「ソフトウェア見積り」,日経BPソフトプレス,2006)である。広義には、ビジネスのターゲット(実現したい目標の記述)と、コミットメント(定義された機能を、特定の品質レベルを確保しないが期日までに納品するという約束)と、コントロールとの間との相互作用である(出所:同上)。
ソフトウェア工学では従来から、「プロジェクトの「規模」が工数とコストとスケジュールを決定する上で最も重要な要素である(Steve McConnell,「ソフトウェア見積り」,日経BPソフトプレス,2006)」など、規模が重要とされている。すなわち、ソフトウェア開発の見積もりにおいては、QCD(品質・コスト・デリバリー)のCを人月工数あるいは生産性(人月あたりの産出規模)とし、Dを日数・期間として扱い目的変数に設定し、規模を説明変数として表現することが多い。そして、規模に開発規模(プログラム量(指標例:コード行数(LOC))や実現機能数(指標例:ファンクションポイント)を、コストに人月工数を用いることが多い。見積もり式の例としては、
Y(工数)=aX(規模)+b
を挙げることができる。aとbは係数である。
上式は、指揮組織状況に応じて、複雑な関係式に変わる場合もある。たとえば、YとXが指数関数的な関係になり、規模が増すほど工数の増分が拡大していく。これは「規模の不経済」に相当し、ソフトウェア開発の現場では知られた現象である(ソフトウェア開発における「規模の不経済」は、Steve McConnell,「ソフトウェア見積り」,日経BPソフトプレス,2006 に言及がある)。
一方で、ソフトウェア開発において品質の見積もり(予測)は、工数を規模から見積るような、広く流布した因果関係式は存在しない。ソフトウェア開発固有の特徴として、プロジェクトやプロセスの量的要素(規模)とコストの関係は比較的類型化しやすく、その類型化がプロダクト特性や事業戦略にもリンクさせて考察しやすい一方で、品質の予測は、個別状況の依存性が高いことを示唆している。このような事情は、たとえば、Robert B.Grafyが、HayesとWheelwrightの考案した製品/プロセスモデルを引用し次のような説明で言及している。
HayesとWheelwrightのモデルでは、プロダクトライフサイクルとプロセスライフサイクルを規定し、ライフサイクルが進む(高い段階に位置する)ほど、規模の経済性が競合との競争要因となり、低い段階に位置するほど品質が競争要因になるとする。しかし、このモデルをソフトウェア開発のプロセスに適用した場合には、低い段階のプロダクトやプロセスがソフトウェアのより高い品質に結びつくという証拠はなく、むしろより高い段階のプロダクトやプロセスがソフトウェアのより高い品質に結びつくという反対の主張すらある。品質に関しては何も言及していない(Robert B.Grafy著,ソフトウェアプロセス改善、p318、1998、共立出版)。
このRobert B.Grafyの説明は、ソフトウェア開発において、プロジェクトの特性と品質の関係性や、品質とコストの関係性を見積ることの難しさを示唆する好適な説明である。
そこで、本発明の最適な実施の形態としては、品質の原因分析、およびその原因構造をもとにした品質の予測のためにはそれに適したデータマイニングを用いることを想定する。その精度と効率を上げるために、規模と工数との関係性にもとづくクラス分けを実施した上で、クラスごとにデータマイニングを適用する。つまり、コストの見積りの点で同質的に扱える集団を、データマイニングの投入単位として、品質の要因分析などのためのデータマイニングを実行する。
結果として、プロジェクト等の特性の前提がそろった状態で、グループ内のプロジェクト群を比較評価できるので、評価結果は納得感を得やすい。また、コスト構造の点での類似性をもとにグループ化されているので、同一グループ内における品質の問題構造に対するマイニング結果とコスト構造とを対比させたり、グループ間で対比させたりすることで、品質とコストとの関係性についての洞察も得やすくなると考えられる。
なお、前記アドバンテージマトリクスの議論での「規模」は、財務指標上の規模(売上げ高など)であることが多い。しかし、本明細書では、財務指標上の「規模」を、非財務指標上の「規模」に相当する開発規模や生産量に置き換えを許容する。ソフトウェア開発などにおいて、双方の「規模」がリンクする事例が少なくないからである。たとえば、ソフトウェアビジネスにおいては、開発規模が売上げ高に影響する場合が少なくない。そこで、ソフトウェア開発を分析対象にする場合には、開発規模(ソースコード行数など)を、事業規模に連動する指標として考える。
上記要点で説明したデータ変換工程とデータ分類工程を基に、ソフトウェア開発に対するプロセス管理のためのデータ分析方法について更に具体的な説明を続ける。
図2Aは工程定義情報1010の構成を示す。図2Bは開発プロセスモデル図1011の具体例である。
工程定義情報1010では、工程間の因果関係の表現を通じて、各工程に関係した変数の因果関係を表現する。工程名称2002と関係する評価尺度としてのメトリクス名称2001が定義されている。図2Bに例示されるソフトウェア開発のV字モデルのように図形的に開発プロセスが表現できる場合に、工程定義情報1010は座標欄2003を備えるものとする。座標欄2003には、開発プロセスモデル図1011(図2B)に記述された各工程名称のX,Y座標における座標値が記述されている。座標は開発プロセスモデル図1011(図2B)のプロット位置に対応する。開発プロセスモデル図1011の座標が工程定義情報1010の座標欄2003に記述されており、工程定義情報1010から開発プロセスモデル図1011が再現できるようになっている。
ここで図2Bのように、開発プロセスモデル図1011が要因間を矢印で結んで表現したモデルならば、因果の連鎖が矢印で表現されているので、座標欄2003に書き出された座標が因果関係の手がかりとなる。座標の抽出および表への記入は、分析者に目視で転記させてもよいし、公知の図形解析技術を用いて自動変換してもよい。以上によって、図2Aの工程定義情報には工程名称やメトリクスが図の座標に対応づけられて記録される。特に、図2Bに記載した開発プロセスモデル図1011は、ソフトウェア開発を表現するモデルとして知られるV字モデルの記述に相当する。このモデルは、水平面の高低が意味を持つが、この意味をも記述したことになる。
図3A及び図3Bにはマイニング対象データテーブル1012の構成を例示する。これはプロジェクトを行とし、収集データ項目(属性)を列として、記録した表形式の典型的な形態とするものである。すなわち、個々のプロジェクトに対応するサンプルID欄3001、個々の収集データ項目に対応する属性欄3002〜3005によって構成され、サンプルごとに対応する属性測定値や評価値が記述されている。図3A及び図3Bともに、サンプルID1件がプロジェクト1件に相当する。図3Aは、本発明の典型的な実施の形態として、規模とプロジェクトの最終的な投入コストと成果物の品質に関わるメトリクスに関し実績データを示している。図3Bは、プロジェクトごとに、プロセス途中の中間生成物の品質やプロセスのサブ工程ごとのコストの明細を示している。
図3Aにおける評価値は、ある基準値の何倍かを示す表記形態となっている。基準値はa,bである。
図3Bにおける評価値(a1,a2など)は各属性ごとに連続量を区切って離散化し記号化(レベル分けなどに相当)した状態を示すものである。
図4にはデータ分析システムによるデータ分析方法の第1の実施の形態である第1の処理フローが例示される。ここでは、第1のデータマイニングとして、ラフ集合理論の決定ルールの概念を用いて顕在パターンを抽出する形態について説明する。第1の処理フローは、第2のデータマイニング実行手段1008及び第2のデータマイニング用属性選択手段1007による処理を含まない形態である。
データ分析システムにおいて、まず、処理4001で、マイニング対象データテーブル1012を読み込む。これはプロジェクト名を行とし、収集データ項目を列として、記録されたデータテーブルである。次に、処理4002で、データ変換を行う。具体的には目的変数の指定と説明変数群の設定を行う。次に、処理4003で、データマイニングを実行する。これにより、指定した目的変数に関連するような適切な説明変数群で構成されたルールや特徴が抽出される。最後に、処理4004で、データマイニングの結果を分析者に表示する。表示は分析結果表示手段1009によって実施される。
図5にはデータ変換処理4002に対応されるデータ変換の処理フローを詳細に例示する。まず、処理50015では、目的変数を指定させる。これは分析者からの入力によるものとする。次に、処理5002で、工程定義情報1010を読み込む。次に、条件判定処理5003で、分析対象がソフトウェア開発かを調べ、この条件が成立するときは、処理5004で、ソフトウェア開発用データ最適化手段1004を呼び出して実行する。処理5005で、工程定義情報1010をもとに説明変数群を指定する。ここで抽出される説明変数群は、前もって指定された目的変数を説明する変数群である。工程定義情報1010の座標欄2003のような因果関係を手がかりに行われる。ソフトウェア開発用データ最適化手段1004による設定内容を変更して用いることも可能である。最後に、処理5006で、目的変数に対する説明変数群(説明変数セット)からもれた変数を除外したテーブルを生成する。生成したテーブルはデータマイニング実行手段に投入されるデータセットになる。
図6にはソフトウェア開発用データ最適化手段1004による変換動作の処理フローの詳細が例示される。まず、処理6001で、目的変数の座標を取得する。具体的には、目的変数が結合テスト不良密度の場合 t := 6; y := 2;を行なう。図2の実施の形態では目的変数欄2005に○印することで示されている。次に、処理6003で、目的変数以外のメトリクス(当該メトリクス)の座標 (T, Y)を取得する。座標は、工程定義情報1010の所定の欄に記述されている情報を読み出す。次に、処理6004で、説明変数認定条件を参照する。条件をPとする。一例して条件P: Y <= y かつ T<=t、とする。次に、条件判定処理6005で、条件Pが成立を調べ、この条件が成立するときは、処理6006で、当該メトリクスを説明変数として認定する。図2の実施の形態では説明変数欄2004に○印することで、適用認定されたことを参照可能にする。判定処理6005で条件が成立しないときには、処理6007で、当該メトリクスを説明変数から除外指定する。図の実施の形態では説明変数欄2004に×印することで、除外認定されたことを参照可能にする。次に、処理6008で、ファイルの終りが来るまでの間、処理6009以下の一連の処理を繰り返す。まず、処理6009で、次のメトリクスを参照する。そして、処理6010で、ステップ6002のタグBBBに戻って処理を行う。最後に、処理6011で、終了処理を行う。
この一連の操作によって、目的変数が検証工程に関するメトリクスである場合に、その設計工程に関係の強い設計工程に関するメトリクスを優先して説明変数群に効率的に設定することができる。設定の誤りを抑制することもできる。
図7には説明変数群以外の属性を除外したデータセットの一例が示される。図3のマイニング対象データテーブル1012に対して、図7は、説明変数群以外の属性を除外したデータセットである。ここでは、ラフ集合理論のマイニングに活用する形態を想定して、目的変数を決定属性として、説明変数を条件属性に設定した状態で図示してある。
このような表を入力にして、データマイニング実行手段1005によってデータマイニング工程が実行される。データマイニング工程がラフ集合理論に基づいて行われる場合には、図7の表が入力される。この理論の詳細は、例えば、文献「[Pawlak−91] Pawlak, Z."Rough Sets, Theoretical Aspects of Reasoning about Data",Kluwer Academic Publishers (1991)」に記載の通りとして、ここで説明は省く。
ラフ集合論理によるデータマイニングの結果、図7の表からは以下のような特徴パターンが抽出される。すなわち、決定属性が結合テスト不良密度でi1レベルのアイテム(決定アイテム1)、に対しては、
if <機能設計工数がc2> then <結合テスト不良密度がi1レベル> (1.000) →{3,7,9}、
if <単体テスト工数がe2> then <結合テスト不良密度がi1レベル> (1.000) →{3,7,9}、
if <コーディング工数がd2レベルかつ結合テスト件数密度がh1レベル> then <結合テスト不良密度がi1レベル> (1.000) → {3,7,9}、
となる。ここで、( )の数字は、<該条件アイテム>が成立する場合に決定アイテムnが成立する確率、を示す。また、{ }にはこのパターンに該当するサンプルをサンプルID7001の中から選んでいる。
その他に、決定アイテム1に対して、次のような<条件>のパターンが抽出される。
<g2h1> (0.666) →{3,7}
<f2g2> (0.333) →{3}
<f1h1> (0.333) →{7}
一方、決定アイテム2(結合テスト不良密度がi2レベル)としては、次のような<条件>のパターンが抽出される。
<c1> (1.000) →{1,2,4,5,6,8,10}
<e1> (1.000) →{1,2,4,5,6,8,10}
<h2> (0.857) →{1,2,4,5,6,8}
<d1> (0.714) →{4,5,6,8,10}
さらに異なる決定アイテム(決定アイテム1と決定アイテム2)を分ける(決定づける)条件属性として、
<c> <e> <d & h>
が抽出される。ラフ集合理論では、このように、クラスを決定づける重要な属性が抽出される。この属性抽出を行う処理は縮約と呼ばれる。
ラフ集合理論によるルール抽出の結果は、分析結果表示手段1009によって、分析者に向けて表示されてもよいが、後続の処理によってデータマイニングの効率化や精度向上に役立てることも可能である。すなわち、ラフ集合理論が抽出した重要な属性が、別のデータマイニングの入力データとして使用することで、これら重要な属性を中心に第2のデータマイニングに投入する属性として選択するのが、第2のデータマイニング用属性選択手段1007である。入力される重要な属性に限定されることで、第2のデータマイニングの処理効率が向上したり、あるいは、分析者にとって無駄な分析結果が抑制される、ことが期待できる。無駄な分析結果が抑制される例としては、出力されるif-Thenルールの数が抑制されることが好例である。
例えば、データマイニングとしてニューラルネットワークや遺伝的アルゴリズムによるモデル化を前後に組み込んでも本発明の趣旨からは逸脱しない。例えば、ラフ集合理論とニューラルネットワークとを組み合わせることにより最適パラメータを抽出しても良い。後工程に組み込む場合に、遺伝的アルゴリズムやニューラルネットワークが第2のデータマイニング実行手段1008に相当する。ここで、ニューラルネットワークには、狭義のニューラルネットワークや自己組織化マップなどの公知のデータマイニング手法を含める。
図8に基づいて上記第2のデータマイニング工程を備えるデータ分析システムの動作の処理フローを説明する。図8は図4のフローを具体化したものに相当するが、図4には存在しないデータ分類工程(8002)が更に追加されている。このデータ分類工程の説明は図9に示す。
図8では、まず、処理8001で、マイニング対象データテーブル1012を読み込む。次に、処理8002で、データ分類工程を実行する。次に、条件判定処理8003で、分析対象がソフトウェア開発かを調べ、この条件が成立するときは、処理8004で、ソフトウェア開発用分類最適化手段を呼び出す。処理8005で、データ変換工程を実行する。次に、条件判定処理8006で、分析対象がソフトウェア開発かを調べ、この条件が成立するときは、処理8007で、ソフトウェア開発用データ最適化手段1004を呼び出す。処理8008で、第1のデータマイニング(ラフ集合による顕在パターン抽出)を行なう。次に、処理8009で、第2のデータマイニング用属性選択(顕在パターンから属性選択)を行なう。次に、処理8010で、第2のデータマイニング(自己組織化マップによる特徴抽出および分類および予測)を行なう。最後に、処理8011で、データマイニングの結果を分析者に表示する。表示は分析結果表示手段1009によって実施される。
図9を使って、データ分類工程の動作の処理フローを詳細に説明する。このフローで参照する分類候補情報は製品グループ、プロセスのテーラリング(調整)の度合い、難易度などが典型的な実施の形態であり、各々複数のクラス(難易度ならば「難」クラスと「易」クラス)が存在する。図11に示すように、各サンプルはいずれかの分類候補のクラスに帰属させることができるものとする。また、このフローで開発規模や人月工数のデータを参照・取得する場合には、例えばマイニング対象テーブル(図3)の規模(LOC)欄3002およびコスト(人月)欄3003記載のデータを参照する。
図9では、まず、処理9001で、分類候補情報を選択する。以下は、分類候補として候補3(難易度)を選択した例である。分類候補情報は、組織状況によって判断されるべきもので一律ではない。分類指針を例示すると、製品種別による分類、開発プロセス定義の相違による分類など、プロダクトとプロセスの双方の面での分類をなしうるものとする。次に、条件判定処理9002で、分析対象がソフトウェア開発かを調べ、この条件が成立するときは、処理9003で、目的変数に人月工数あるいは人月あたりの開発生産性を指定する。また、説明変数に開発規模を指定する。この処理ステップが、ソフトウェア開発用分類最適化手段の動作の一実施の形態である。開発規模としては、コード行数あるいはファンクションポイントを用いることが典型的な実施の形態である。次に、処理9004で、目的変数にコストあるいは利益率に関わる属性を確定する。そして説明変数に規模に関わる属性を確定する。この処理は分析者による入力で行わせてもよいし、既に設定済みの内容を変更させて行ってもよい。次に、処理9005で、全クラス(難易度高と難易度低)を分析するまでの間、処理9006を繰り返す。処理9006で、クラスごとに目的変数と説明変数の相関関係を算定する。相関関係の算定としては、例えばクラス内の全サンプルの回帰分析あるいは重回帰分析を行い、相関係数あるいは重相関係数を求めることが相当する。最後に、処理9007で、クラスごとに求まった相関関係を参照し、該分類候補(難易度)が分類指針として妥当かを評価し採否を決める。分類指針として採否を判断する方法の実施の形態については後述する。ほかの分類候補(例えば製品グループ、プロセスのテーラリングの度合い)に対しても以上の処理を繰り返す。
図9の処理結果から、分類指針として分類候補情報の採否をデータ分類手段が判断する方法について説明する。特にその方法は、データ分類手段のなかでもソフトウェア開発用分類最適化手段が実施する工程とされる。
例えば、図12のように、ソフトウェア開発を対象にして、開発規模(LOC)と人月工数との相関関係が抽出できたものとする。特に、これは、開発規模(LOC)が新規開発規模(LOC)と変更部分の規模(:変更規模LOC)の和で表現されるものとして、両方を、人月工数の説明変数として、重回帰分析を行った結果であるものとする。表の「変更規模の偏回帰係数」は新規規模の偏回帰係数を1とした場合の数値である。
以下は、分類候補として候補3(難易度)を選択した例を示す。図12において、クラス1(「難易度が高い」クラス)による重相関係数とクラス分けしないサンプル全体(全プロジェクト)の重相関係数の大小を比較する。また、クラス2(「難易度が低い」クラス)による重相関係数とサンプル全体の重相関係数の大小を比較する。すなわち、該クラスiの重相関係数i > 全プロジェクトの重相関係数、を判別する。
次に、該クラスiの重相関係数i > しきい値以、についても判定する。しきい値は、1未満のなるべく大きな値が望ましく、その値以上ならば、目的変数が説明変数に対して強く影響して線形性が強いと判断する値である。
上記2つの条件を同時に満たすクラスがひとつでも存在するならば、データマイニングに入力する分類の指針として、候補3(難易度)を採用する。これは、規模と人月工数との間に線形性の強いプロジェクト群(難易度が低いクラス)だけでも、分析が確実に行えるという判断にもとづく。
重相関係数の大きな難易度が低いクラス(重相関係数0.8)では、相対的に線形性が強いといえる。そこで、その後の分析の結果、規模と品質の関係に何らかの相関が認められれば、規模と人月工数との間に線形性の強いプロジェクト群に対しては、規模を媒介にすることで、品質と工数との関係性に対する推定・改善方針がたてやすくなると考えた。同様に判断すると、分類指針:製品グループは、分類指針として採用になる。一方で分類指針:テーラリング度は、分類指針として不採用になる。
さらに、分類指針:製品グループは、変更規模の偏回帰係数を参照すると、グループAは、他のグループよりも、新規規模に比べて変更規模が全体の工数に強く影響していることがわかる。このことから、グループAのプロジェクト群では何らかの理由で、例えば、変更作業が複雑であったり、難しい状況が存在したこと、が想定しうる。よって、その後に、この分類にそってデータマイニングを実行するならば、変更が難しいグループとそうでないグループを対比して、変更の難しさの要因やその差がもたらす影響について知見を導くことが容易になる。
このように、特に、ソフトウェア開発では、規模と工数の関係性が、開発の複雑さなど、他の要因を示唆していることが少なくなく、規模と工数の関係性でグループ分けして別の目的変数に対して分析を行いその結果を比較することが、問題分析として、有効になることが少なくない。
上記図8の説明に代わる別の実施の形態として、図10に基づいて、データ分類工程の具体例として「規模の経済性」でサンプル分類を行う動作の処理フローを詳細に説明する。分類指針として分類候補情報の採否を判断する方法についてのフローも含めて説明する。このフローで開発規模や人月工数のデータを参照・取得する場合には、マイニング対象テーブル(図3)の規模(LOC)欄3002およびコスト(人月)欄3003記載のデータを参照することが実施の形態の一例である。
図10では、まず、処理10001で、分類候補情報を選択する。以下では、分類候補として候補3(難易度)を選択した場合について説明する。処理10002で、該サンプル群の規模と費用に関わる情報をマイニング対象データテーブル1012より取得する。次に、処理10003で、C=規模,y=費用とする。次に、条件判定処理10004で、分析対象がソフトウェア開発かを調べ、この条件が成立するときは、処理10005で、規模に開発規模を設定する。費用として人月工数を設定する。この処理ステップが、ソフトウェア開発用分類最適化手段の動作の一実施の形態である。開発規模としては、コード行数(LOC)やファンクションポイントを用いるのが典型的な実施の形態である。次に、処理10006で、全クラス(難易度高と難易度低)を分析するまでの間、処理10007以下の一連の処理を繰り返す。まず、処理10007で、SE(規模の経済性)=∂lnC/∂lnYを算出する。そして、条件判定処理10008で、SE(規模の経済性)がしきい値以上成立を調べ、この条件が成立するときは、処理10009以下の一連の処理を行なう。ここでしきい値は経済学でよく知られた1を規定値とするが、分析環境の実態に合わせて異なる値を設定してもよい。まず、処理10009で、当該クラスは規模の経済を行なう。判定処理10008で条件が成立しないときには、処理10010で、当該クラスは規模の不経済を行なう。次に、処理10011で、クラスごとに求まった規模の経済性の状況(規模の経済か不経済か、およびその程度)を参照する該分類候補(以上では難易度)が分類指針として妥当かを評価し採否を決める。最後に、処理10012では、例えば、同一の分類方針内で規模の経済性を示すクラスと規模の不経済を示すクラスとが、両方生成された場合に、該分類候補(難易度)を分類指針として採用する。その後のデータマイニングで得られるところの、規模の経済のグループの特徴と規模の不経済のグループの特徴を比較すれば、規模の不経済の要因や規模の経済に転化させる指針が可視化される効果が期待できると考えられる。ほかの分類候補、例えば製品グループ、プロセスのテーラリングの度合いなどに対しても以上の処理を繰り返す。
以上説明したデータ分析方法は、プロジェクト管理、特にソフトウェア開発プロジェクトの分析・評価に有効である。上記方法をコンピュータ装置に実行させるデータ分析プログラムを用いることにより上記データ分析方法を容易に行うことができる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、工程定義情報のメトリクス及び工程項目名は上記説明に限定さされず、対象する計画、企画又は開発のプロセスの内容に応じて適宜変更される。分析対象データ1001はハードディスク装置などの記憶装置から直接読み込まれることに限定されず、通信ネットワークを介してダウンロードして読み込まれてもよい。
CMPTR コンピュータ装置
1001 分析対象データ
1002 データ変換手段
1003 データ分類手段
1005 データマイニング実行手段
1006 第1のデータマイニング実行手段
1008 第2のデータマイニング実行手段
1007 第2のデータマイニング用属性選択手段
1004 ソフトウェア開発用データ最適化手段
1010 工程定義情報
1012 マイニング対象データテーブル

Claims (13)

  1. 計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータをコンピュータ装置が入力し、入力したデータに基づいて前記コンピュータ装置が計画、企画若しくは開発のプロセスを評価するためにデータマイニングを行うデータ分析方法において、
    前記データマイニングの前工程として、前記入力したデータに対し、プロセスの工程定義に基づいて工程間の影響関係を識別して、データマイニングの対象とするデータの属性を選択するデータ変換工程を含む、データ分析方法。
  2. 計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータをコンピュータ装置が入力し、入力したデータに基づいて前記コンピュータ装置が計画、企画若しくは開発のプロセスを評価するためにデータマイニングを行うデータ分析方法において、
    前記データマイニングの前工程として、前記入力したデータに対し、経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類するデータ分類工程と、前記データ分類工程で分類されたデータに対し、プロセスの工程定義に基づいて工程間の影響関係を識別して、データマイニングの対象とするデータの属性を選択するデータ変換工程と、を含むデータ分析方法。
  3. 前記データの属性はプロセス項目である、請求項1又は2記載のデータ分析方法。
  4. 前記プロセスの工程定義は、プロセス項目の相関を示す開発プロセスモデルに基づいて評価項目とそれに対応するプロセス項目とを対応させたデータである、請求項3記載のデータ分析方法。
  5. 前記計画、企画若しくは開発のプロセスは、ソフトウェアプログラム開発のプロセスである、請求項4記載のデータ分析方法。
  6. 前記データ変換工程は、ソフトウェア開発のプロセスモデルから、設計工程と設計の品質を確認する検証工程との間で、工程間の影響関係を識別して属性選択を行うソフトウェア開発用データ最適化処理を含む、請求項5記載のデータ分析方法。
  7. 分析対象がソフトウェアプログラム開発のプロセスである場合に、前記データ分類工程は、人月工数を用いて経済性を評価するソフトウェア開発用分類最適化処理を含む、請求項2記載のデータ分析方法。
  8. 前記データマイニングを行なうために第1のデータマイニング工程と第2のデータマイニング工程とを含み、
    前記第1のデータマイニング工程は特定のクラスに対してのみ多頻度である顕在パターン集合を抽出する処理を含み、
    前記第2のデータマイニング工程は前記第1のデータマイニング工程で抽出された顕在パターン集合に含まれるアイテムの属性のデータをデータマイニングの対象とする、請求項1又は2記載のデータ分析方法。
  9. 前記第1のデータマイニング工程及び第2のデータマイニング工程はアプリオリ・アルゴリズム(Apriori Algorithm)又はラフ集合理論を用いる、請求項8記載のデータ分析方法。
  10. コンピュータ装置が実行することにより、入力処理、分類処理、変換処理及びデータマイニング処理を制御するデータ分析プログラムであって、
    前記入力処理は、計画、企画若しくは開発のプロセスの遂行状況に関わるデータ又は計画、企画若しくは開発のプロセスの成果物の質若しくは量を示すデータを入力する処理であり、
    前記分類処理は、前記入力したデータに対し、経済性を示す指標と規模を示す指標との間の相関関係をもとにデータを分類する処理であり、
    前記変換処理は、前記分類する処理で分類されたデータに対し、プロセスの工程定義に基づいて工程間の影響関係を識別して、データマイニングの対象とするデータの属性を選択してデータマイニングの対象データに変換する処理であり、
    前記データマイニング処理は、前記変換する処理で得られたデータに基づいて、計画、企画若しくは開発のプロセスを評価するためのデータマイニングを行う処理である、データ分析プログラム。
  11. 前記計画、企画若しくは開発のプロセスは、ソフトウェアプログラム開発のプロセスである、請求項10記載のデータ分析プログラム。
  12. 前記データ分類処理は、人月工数を用いて経済性を評価するソフトウェア開発用分類最適化処理を含む、請求項11記載のデータ分析プログラム。
  13. 前記データマイニング処理は、第1のデータマイニング処理と第2のデータマイニング処理とを含み、
    前記第1のデータマイニング処理は特定のクラスに対してのみ多頻度である顕在パターン集合を抽出する処理を含み、
    前記第2のデータマイニング処理は前記第1のデータマイニング工程で抽出された顕在パターン集合に含まれるアイテムの属性のデータをデータマイニングの対象とする、請求項10記載のデータ分析プログラム。
JP2009078609A 2009-03-27 2009-03-27 データ分析方法及びデータ分析プログラム Withdrawn JP2010231524A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009078609A JP2010231524A (ja) 2009-03-27 2009-03-27 データ分析方法及びデータ分析プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009078609A JP2010231524A (ja) 2009-03-27 2009-03-27 データ分析方法及びデータ分析プログラム

Publications (1)

Publication Number Publication Date
JP2010231524A true JP2010231524A (ja) 2010-10-14

Family

ID=43047268

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009078609A Withdrawn JP2010231524A (ja) 2009-03-27 2009-03-27 データ分析方法及びデータ分析プログラム

Country Status (1)

Country Link
JP (1) JP2010231524A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298496A (zh) * 2013-07-19 2015-01-21 上海宝信软件股份有限公司 数据分析型软件开发框架系统
CN104866699A (zh) * 2014-02-25 2015-08-26 上海征途信息技术有限公司 一种网络游戏智能化数据分析方法
JP2016122332A (ja) * 2014-12-25 2016-07-07 株式会社東芝 プロセス評価装置およびプロセス評価プログラム
CN112487717A (zh) * 2020-11-27 2021-03-12 江苏科技大学 一种船用柴油机关键件的可制造性智能评价方法
JPWO2021171388A1 (ja) * 2020-02-26 2021-09-02
CN115713987A (zh) * 2022-11-17 2023-02-24 广州瑞博新材料技术研究有限公司 聚己内酯测试数据分析方法及系统

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298496A (zh) * 2013-07-19 2015-01-21 上海宝信软件股份有限公司 数据分析型软件开发框架系统
CN104298496B (zh) * 2013-07-19 2017-06-23 上海宝信软件股份有限公司 数据分析型软件开发框架系统
CN104866699A (zh) * 2014-02-25 2015-08-26 上海征途信息技术有限公司 一种网络游戏智能化数据分析方法
JP2016122332A (ja) * 2014-12-25 2016-07-07 株式会社東芝 プロセス評価装置およびプロセス評価プログラム
JPWO2021171388A1 (ja) * 2020-02-26 2021-09-02
CN112487717A (zh) * 2020-11-27 2021-03-12 江苏科技大学 一种船用柴油机关键件的可制造性智能评价方法
CN112487717B (zh) * 2020-11-27 2024-03-29 江苏科技大学 一种船用柴油机关键件的可制造性智能评价方法
CN115713987A (zh) * 2022-11-17 2023-02-24 广州瑞博新材料技术研究有限公司 聚己内酯测试数据分析方法及系统
CN115713987B (zh) * 2022-11-17 2023-06-13 广州瑞博新材料技术研究有限公司 聚己内酯测试数据分析方法及系统

Similar Documents

Publication Publication Date Title
Lamba et al. Modeling big data enablers for operations and supply chain management
Ruschel et al. Industrial maintenance decision-making: A systematic literature review
Schuh et al. Increasing data integrity for improving decision making in production planning and control
US20080263507A1 (en) Action-based in-process software defect prediction software defect prediction techniques based on software development activities
JP2010231524A (ja) データ分析方法及びデータ分析プログラム
Altavilla et al. A multilayer taxonomy of cost estimation techniques, looking at the whole product lifecycle
Omri et al. Data management requirements for phm implementation in smes
Thakur et al. Survey into predictive key performance indicator analysis from data mining perspective
Mahiri et al. Data-driven sustainable smart manufacturing: A conceptual framework
KR100736033B1 (ko) 비즈니스 프로세스의 자동 성장 장치 및 방법
Härting et al. Cost-benefit considerations for data analytics-an SME-oriented framework enhanced by a management perspective and the process of idea generation
CN114997462A (zh) 一种基于机器学习的电网线路工程造价预测方法
Singhal et al. State of the art of machine learning for product sustainability
JP2019032807A (ja) 要因分析システム、要因分析方法およびプログラム
Petryk Restructuring of business processes for sustainability: revealing the potential of reengineering and Kaizen
KR101609292B1 (ko) 연구 개발 프로젝트 관리 장치 및 방법
Liu et al. An intelligent system for estimating full product Life Cycle Cost at the early design stage
JP4230890B2 (ja) モデル同定装置,モデル同定プログラム及びモデル同定装置の動作方法
Tariq et al. Time efficient end-state prediction through hybrid trace decomposition using process mining
Trabelsi et al. Employing Data and Process Mining Techniques for Redundancy Detection and Analystics in Business Processes.
KR101649913B1 (ko) 연구 개발 프로젝트 관리 장치 및 방법
Mehlstäubl et al. Using machine learning for product portfolio management: a methodical approach to predict values of product attributes for multi-variant product portfolios
Altavilla et al. Interdisciplinary life cycle data analysis within a knowledge-based system for product cost estimation
KR102548849B1 (ko) 의사결정 최적화 시스템
Poli et al. Predictive Analysis of Sales Using the Apriori Algorithm: A Comprehensive Study on Sales Forecasting and Business Strategies in the Retail Industry.: Predictive Analysis of Sales Using the Apriori Algorithm

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20120605