(57)【特許請求の範囲】
【請求項１】
ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析装置であって、
前記開発工程に関するメトリクス情報を受信し、前記メトリクス情報に基づいて前記属人化レベルを出力する属人化レベル予測モデルを、前記メトリクス情報に適用して、前記属人化レベルを判定する制御部と、
を備える分析装置。
【請求項２】
前記制御部は、メトリクス情報に関するサンプル情報と、前記サンプル情報に付与された属人化レベルとに基づいて、前記属人化レベル予測モデルを生成する学習部を更に備える、請求項１に記載の分析装置。
【請求項３】
前記学習部は、メトリクス情報に関するサンプル情報と、前記サンプル情報に付与された属人化レベルとを用いて多変量解析を行うことによって、前記属人化レベル予測モデルを生成する、請求項２に記載の分析装置。
【請求項４】
前記学習部は、メトリクス情報に関するサンプル情報と、前記サンプル情報に付与された属人化レベルとを用いた機械学習によって、前記属人化レベル予測モデルを生成する、請求項２に記載の分析装置。
【請求項５】
前記制御部は、ユーザが前記メトリクス情報に付与した属人化レベルを更に取得し、
前記学習部は、前記メトリクス情報と、前記メトリクス情報に付与された属人化レベルとに基づいて、前記属人化レベル予測モデルを更新する、請求項２〜４のいずれかに記載の分析装置。
【請求項６】
前記制御部によって判定された前記属人化レベルを表示する表示部を更に備えた請求項１〜５のいずれかに記載の分析装置。
【請求項７】
前記属人化レベル予測モデルを記憶する記憶部を更に備える請求項１〜６のいずれかに記載の分析装置。
【請求項８】
ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析システムであって、
メトリクス情報に関するサンプル情報と、前記サンプル情報に付与された属人化レベルとに基づいて、属人化レベル予測モデルを生成する学習装置と、
前記学習装置にネットワークを介して接続され、前記学習装置から受信した前記属人化レベル予測モデルを記憶するサーバと、
前記サーバにネットワークを介して接続され、前記属人化レベル予測モデルを前記サーバから受信する制御装置とを備え、
前記制御装置は、前記開発工程に関するメトリクス情報を受信し、前記属人化レベル予測モデルを、前記開発工程に関するメトリクス情報に適用して、前記属人化レベルを判定する、分析システム。
【請求項９】
ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析方法であって、
制御部が、前記開発工程に関するメトリクス情報を受信するステップと、
前記制御部が、前記メトリクス情報に基づいて前記属人化レベルを出力する属人化レベル予測モデルを、前記メトリクス情報に適用して、前記属人化レベルを判定するステップと、
を含む分析方法。
【請求項１０】
請求項９に記載の分析方法を制御部に実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析装置、分析方法およびプログラムに関する。
【背景技術】
【０００２】
ソースコードやソースコードメトリクスを分析して、他者が作成したソースコードの修正必要箇所、保守性および再利用性等を利用者に提示する分析技術が知られている。これにより、特定の担当者以外の者でも、ソースコードの修正や管理を行うことができる。【０００３】
例えば、特許文献１は、ソースコードメトリクスおよびプログラム開発プロジェクト情報を多変量解析することにより、修正が必要となるソースコードの優先順位を利用者に提示する分析装置を開示している。【０００４】
特許文献２は、ソースコードメトリクス情報を用いて、ソースコードの共通化の標準的かつ具体的な技法を開発者に提示し、かつ、開発者が実施した共通化の結果を評価することで、最善の実施結果を開発者に通知できるソースコード管理システムを開示している。【０００５】
特許文献３は、モジュール単位のメトリクスを分析することで、保守性や再利用性の低下につながるクラスを抽出するオブジェクト指向プログラム品質評価装置を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−２０４０９０号公報
【特許文献２】特開２００９−０８６８１４号公報
【特許文献３】特開平１１−３３８６９１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ソフトウェア開発では、特定の者に技術、進捗管理、工期管理等が依存する属人化状態が発生することがある。属人化状態が発生すると、その特定の者が急遽不在になった場合に、例えば他の者が仕様、技術、工期等を理解しておらず、開発が立ち行かなくなるおそれがある。したがって、属人化状態の発生は、機会損失に繋がり得る。【０００８】
従来技術は、他者が作成したソースコードの修正必要箇所、保守性および再利用性等を利用者に提示することにより、コーディング工程についての属人化状態を解決し得る。しかしながら、前述のように、ソフトウェア開発における属人化は、コーディング工程だけでなく、仕様設計工程、外部設計工程、内部設計工程等、様々な工程において発生する。【０００９】
本発明は、上記課題を解決するためになされたものであり、ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析装置、分析方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様は、ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析装置を提供する。この分析装置は、開発工程に関するメトリクス情報を受信し、メトリクス情報に基づいて属人化レベルを出力する属人化レベル予測モデルを、メトリクス情報に適用して、属人化レベルを判定する制御部と、を備える。【００１１】
本発明の他の態様は、ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析システムを提供する。この分析システムは、メトリクス情報に関するサンプル情報と、サンプル情報に付与された属人化レベルとに基づいて、属人化レベル予測モデルを生成する学習装置と、学習装置にネットワークを介して接続され、学習装置から受信した属人化レベル予測モデルを記憶するサーバと、サーバとにネットワークを介して接続され、属人化レベル予測モデルをサーバから受信する制御装置とを備える。制御装置は、開発工程に関するメトリクス情報を受信し、属人化レベル予測モデルを、開発工程に関するメトリクス情報に適用して、属人化レベルを判定する。【００１２】
本発明の他の態様は、ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析する分析方法を提供する。この分析方法は、制御部が、開発工程に関するメトリクス情報を受信するステップと、制御部が、メトリクス情報に基づいて属人化レベルを出力する属人化レベル予測モデルを、メトリクス情報に適用して、属人化レベルを判定するステップと、を含む。【００１３】
本発明の更に他の態様は、上記の分析方法を制御部に実行させるためのプログラムを提供する。
【発明の効果】
【００１４】
本発明により、ソフトウェアの開発工程に関するメトリクス情報に基づいて、開発工程の属人化レベルを判定することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係る分析装置の構成を示すブロック図である。
【図２】本発明の実施の形態１に係る分析装置におけるデータの流れを示す図である。
【図３】本発明の実施の形態１に係る分析装置による属人化レベルの分析の流れを示すフローチャートである。
【図４】メトリクス情報データベースの一例を示す図である。
【図５】属人化レベル予測モデルの一例を示す図である。
【図６】本発明の実施の形態２に係る分析装置の構成を示すブロック図である。
【図７】本発明の実施の形態２に係る分析装置におけるデータの流れを示す図である。
【図８】本発明の実施の形態２に係る分析装置による属人化レベルの分析の流れを示すフローチャートである。
【図９】本発明の実施の形態２に係る分析装置による属人化レベルの分析の流れを示すフローチャートである。
【図１０】サンプルデータベースの一例を示す図である。
【図１１】本発明の実施の形態３に係る分析装置におけるデータの流れを示す図である。
【図１２】本発明の実施の形態３に係る分析装置による属人化レベルの分析の流れを示すフローチャートである。
【図１３】属人化レベルの再定義の要否をユーザに確認するための表示の例を示す図である。
【図１４】ユーザが再定義された属人化レベルを入力するためのダイアログボックスの例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態に係る分析装置について、図面を参照して説明する。各実施の形態において、同一の構成には同一の符号を付して、重複説明を省略する。
【００１７】
実施の形態１．
［構成］
図１は、本発明の実施の形態１に係る分析装置１００の構成を示すブロック図である。分析装置１００は、制御部１と、補助記憶部２と、主記憶部３と、入力部４と、表示部５と、通信インタフェース（Ｉ／Ｆ）６とを備える。
【００１８】
制御部１は、種々の演算と、分析装置１００の動作全体の制御とを行う処理装置である。制御部１は、プログラムを実行することにより所定の機能を実現するＣＰＵのような汎用プロセッサを含む。制御部１は、後述のメトリクス情報を解析するための演算を行うメトリクス解析部１１を含む。
【００１９】
補助記憶部２は、種々の情報を記録する媒体である。補助記憶部２は、具体的には、ＲＯＭ、フラッシュメモリ、ＳＳＤ等の半導体メモリ装置、ハードディスク等のディスク装置、その他の記憶デバイス単独でまたはそれらを適宜組み合わせて実現される。補助記憶部２には、後述のメトリクス情報データベース（ＤＢ）２１、属人化レベル予測モデル２２、オペレーティングシステム（ＯＳ）および制御部１が実行する制御プログラム等が格納される。
【００２０】
主記憶部３は、種々の情報を一時的に記録する媒体である。主記憶部３は、補助記憶部２に記憶されている制御プログラムをロードし、制御部１がロードされたプログラムを順次読み込んで実行する。また、主記憶部３は、補助記憶部２に記憶されているＯＳの少なくとも一部をロードし、制御部１がロードされたＯＳを実行して制御機能を実現する。主記憶部３は、例えばＳＲＡＭ、ＤＲＡＭなどの揮発性メモリで構成される。
【００２１】
入力部４は、ユーザから受け付けた入力指示や操作の内容を電気信号に変換して制御部１に伝達する入力用インタフェースである。入力部４は、マウス、キーボード、タッチパネル、ボタン、音声入力のためのマイク等を含む。
【００２２】
表示部５は、種々の情報を表示する表示装置である。表示部５は、例えば、液晶ディスプレイ、有機ＥＬディスプレイ、プロジェクタ等により構成される。また、分析装置１００は、表示部５の他に、スピーカ、プリンタ等の出力装置を備えてもよい。
【００２３】
通信Ｉ／Ｆ６は、ネットワークを介して、分析装置１００と外部機器との通信接続を可能とするためのインタフェース回路またはモジュールである。通信Ｉ／Ｆ６は、ＩＥＥＥ８０２．３、ＩＥＥＥ８０２．１１またはＷｉ−Ｆｉ、ＬＴＥ、３Ｇ、４Ｇ、５Ｇ等の規格に従って通信を行う。
【００２４】
［動作］
図２は、分析装置１００におけるデータの流れを示す図である。図３は、分析装置１００による属人化レベルの分析の流れを示すフローチャートである。図２および図３を参照して、分析装置１００の動作について説明する。
【００２５】
分析装置１００には、入力部４を介して、メトリクス情報７が入力される（Ｓ１０１）。もっとも、これは例示であり、メトリクス情報７を制御部１に利用可能にする手段は、入力部４を介してメトリクス情報７を入力することに限定されない。例えば、メトリクス情報７は、一端サーバ等の外部記憶装置に格納され、分析装置１００は、通信Ｉ／Ｆ６を介してメトリクス情報７をダウンロードしてもよい。
【００２６】
ここで、メトリクスとは、ソフトウェア開発における要求分析、仕様設計、外部設計、内部設計、コーディング、単体試験、組合せ試験、総合試験、およびシステム試験等のうちの少なくとも１つの開発工程の品質、生産性、信頼性等を評価するための基準を指す。
【００２７】
メトリクス情報７は、例えば、開発工程について説明するための文書のページ数、文書密度、文書中の図表の割合、レビュー工数、レビュー密度、レビュアー人数、欠陥指摘件数、ソースコードの複雑度、欠陥数、工程の難易度等を示す情報である。あるいは、例えば試験設計工程では、メトリクス情報７は、試験者数、試験密度、不具合検出率等を示す情報である。
【００２８】
さらに、メトリクス情報７は、担当者毎のレビュー密度、担当者毎のレビュー発言時間、担当者毎の不具合検出率、または、これらの値の最大値および最小値等を含んでもよい。
【００２９】
制御部１は、入力部４を介して受信したメトリクス情報７を分類してデータベース化し、メトリクス情報データベース２１に格納する（Ｓ１０２）。図４は、メトリクス情報データベース２１の一例を示す図である。開発工程がＭ段階に分解できる場合、メトリクス情報７は、メトリクス群（ｘ１，ｘ２，ｘ３，・・・，ｘｋ，・・・，ｘＭ）の形式に整理できる。ｘｋは、ｋ段階目の開発工程（開発工程ｋ）におけるメトリクス群を表すベクトルである。開発工程にＬ個のメトリクスが含まれる場合、ｘｋ＝（ｘｋ１，ｘｋ２，ｘｋ３，・・・，ｘｋＬ）と表すことができる。したがって、メトリクス情報データベース２１は、図４に示すような表として表され、行列形式で表現することができる。
【００３０】
次に、図２および図３に示すように、メトリクス解析部１１は、メトリクス情報データベース２１と属人化レベル予測モデル２２とを読み込み、メトリクス情報データベース２１に格納されたメトリクス情報７を、属人化レベル予測モデル２２の説明変数ｘに当てはめることによって、開発工程毎の属人化レベルを算出する（Ｓ１０３）。
【００３１】
図５は、属人化レベル予測モデル２２の一例を示す図である。属人化レベル予測モデル２２は、メトリクス情報７から属人化レベルを求めるための統計モデルである。図４では、属人化レベル予測モデル２２は、Ｍ個の各開発工程にそれぞれ対応するＭ個の重回帰式で構成されている。重回帰式において、属人化レベルを表す目的変数ｙ＝（ｙ１，ｙ２，ｙ３，・・・，ｙｋ，・・・，ｙＭ）は、メトリクス情報７を表す説明変数ｘ＝（ｘ１，ｘ２，ｘ３，・・・，ｘｋ，・・・，ｘＭ）と、偏回帰係数α、βとで表される。例えば、属人化レベル予測モデル２２に含まれる開発工程ｋの目的変数ｙｋは、図５に示すように、次の重回帰式（１）で表される。
【００３２】
ｙｋ＝αｋ＋βｋ１ｘｋ１＋βｋ２ｘｋ２＋βｋ３ｘｋ３＋・・・＋βｋＬｘｋＬ（１）
【００３３】
偏回帰係数α、βは、メトリクス情報のサンプルデータや、過去の開発工程におけるメトリクス情報に基づいて、例えば重回帰分析を行うことによって決定される。なお、各開発工程におけるメトリクスの種類および数は同一でなくてもよい。開発工程ｋにおいて取得しているメトリクスの数がＬ個より少ないＧ個である場合、例えば、式（１）において、偏回帰係数βｋ１〜βｋＬのうち、（Ｌ−Ｇ）個の偏回帰係数は０と考えることができる。
【００３４】
属人化レベル予測モデル２２は、図１に示す分析装置１００の入力部４を介して、外部から補助記憶部２に格納されてもよい。また、例えば、属人化レベル予測モデル２２は、通信Ｉ／Ｆ６を介してサーバ等の外部記憶装置からダウンロードされ、補助記憶部２に格納されてもよい。
【００３５】
制御部１は、算出された開発工程毎の属人化レベルを、表示部５に表示する（Ｓ１０４）。これにより、ユーザは、開発工程毎の属人化レベルを認識することができる。表示部５に表示される属人化レベルは、開発工程毎の属人化の度合いを、例えば１〜１０の数値で表すものである。
【００３６】
表示部５には、すべての開発工程の属人化レベルが表示されてもよい。また、表示部５には、すべての開発工程の属人化レベルを、属人化レベルが高い順に並べて表示してもよい。これにより、ユーザは、表示部５を一目見るだけで、属人化の進んだ開発工程を認識することができる。
【００３７】
あるいは、算出された開発工程毎の属人化レベルは、サーバ等の外部記憶装置にアップロードされてもよい。そして、例えば特定の開発工程の管理者が使用するＰＣに、その開発工程の属人化レベルがダウンロードされ、これにより、管理者は、自己の管理する開発工程の属人化レベルを確認することができる。
【００３８】
表示部５は、説明変数ｘおよび偏回帰係数α、βの値を表示してもよい。これにより、ユーザは、特定のメトリクスが特定の開発工程に及ぼす影響の程度を認識することができる。例えば、式（１）で表される開発工程ｋの偏回帰係数（βｋ１，βｋ２，βｋ３，・・・，βｋＬ）のうちβｋ３が最大である場合、ｘｋ３で表されるメトリクスが属人化に大きな影響を与えていることがわかる。
【００３９】
［効果等］
以上のように、分析装置１００は、ソフトウェアの開発工程の属人化の度合いを示す属人化レベルを分析するものである。分析装置１００の制御部１は、入力部４を介して、ソフトウェアの開発工程に関するメトリクス情報７を受信する。制御部１は、メトリクス情報７に基づいて属人化レベルを出力する属人化レベル予測モデル２２を、メトリクス情報７に適用して、開発工程の属人化レベルを判定する。
【００４０】
分析装置１００により、ソフトウェアの開発工程の属人化レベルを得ることができる。これにより、属人化の度合いを定量化することができる。また、属人化レベルが高い開発工程をリストアップする等、ソフトウェアの開発工程の属人化状態を把握するためのデータ処理に分析装置１００による分析結果を利用することができる。
【００４１】
分析装置１００は、制御部１によって判定された属人化レベルを表示する表示部５を更に備えてもよい。これにより、ソフトウェアの開発工程の属人化レベルを可視化することができる。属人化レベルの可視化により、開発工程の管理者が属人化状態の緩和や解消に適切に着手することができる。したがって、例えばソフトウェア開発に関与した特定の者が急遽不在になった場合に開発が立ち行かなくなるというリスクを最小限に抑えることができる。
【００４２】
実施の形態２．
図６は、本発明の実施の形態２に係る分析装置２００の構成を示すブロック図である。実施の形態１と比較すると、分析装置２００の制御部１は、属人化レベル予測モデル２２を生成する学習部１２を更に備える。
【００４３】
図７は、分析装置２００におけるデータの流れを示す図である。図８および図９は、分析装置２００による属人化レベルの分析の流れを示すフローチャートである。図７〜９を参照して、分析装置２００の動作について説明する。
【００４４】
分析装置２００には、入力部４を介して、メトリクス情報７が入力される（Ｓ２０１）。制御部１は、入力部４を介して受信したメトリクス情報７を分類してデータベース化し、メトリクス情報データベース２１に格納する（Ｓ２０２）。ステップＳ２０１およびＳ２０２は、実施の形態１のステップＳ１０１およびＳ１０２と同様である。
【００４５】
実施の形態２では、制御部１の学習部１２が、属人化レベル予測モデル２２を生成する（Ｓ２０３）。なお、ステップＳ２０３は、ステップＳ２０２の後に実行される必要はなく、例えばステップＳ２０１の前に実行されてもよい。
【００４６】
図９は、属人化レベル予測モデル２２を生成するステップＳ２０３の詳細を示すフローチャートである。以下、図９を参照して属人化レベル予測モデル２２を生成するステップＳ２０３について説明する。
【００４７】
まず、学習部１２は、入力部４を介して、サンプルデータベース８からメトリクス情報のサンプルおよび属人化レベルのサンプルを取得する（Ｓ２１１）。図１０は、サンプルデータベース８の一例を示す図である。サンプルデータベース８には、開発プロジェクトＡ、Ｂ、Ｃ等の過去の開発におけるメトリクス群と、ユーザが付与した属人化レベルとが関連付けられて格納されている。例えば、開発プロジェクトＡの開発工程ｋにおけるメトリクス群ｘＡｋ＝（ｘＡｋ１，ｘＡｋ２，ｘＡｋ３，・・・，ｘＡｋＬ）と、開発工程ｋに対してユーザが付与した属人化レベルｙＡｋとが対となってサンプルデータベース８に格納されている。
【００４８】
サンプルデータベース８に格納されるメトリクス群は、過去の開発において取得されたものに限定されない。例えば、サンプルデータベース８に格納されるメトリクス群は、理論や経験則等に基づいてユーザによって作成されてもよい。
【００４９】
次に、学習部１２は、開発工程毎に、取得された属人化レベルを目的変数とし、メトリクス群を説明変数として、最小二乗法によって偏回帰係数を算出する（Ｓ２１２）。算出された偏回帰係数は、属人化レベル予測モデル２２として補助記憶部２に格納される（Ｓ２１３）。
【００５０】
このように、実施の形態２では、属人化レベル予測モデル２２は、実施の形態１のように予め補助記憶部２に格納されるのではなく、制御部１の学習部１２によって生成される。
【００５１】
図８に戻り、制御部１のメトリクス解析部１１は、ステップＳ２０３の後、メトリクス情報データベース２１と属人化レベル予測モデル２２とを読み込み、メトリクス情報データベース２１に格納されたメトリクス情報７を、属人化レベル予測モデル２２の説明変数に当てはめることによって、開発工程毎の属人化レベルを算出する（Ｓ２０４）。次に、制御部１は、算出された開発工程毎の属人化レベルを、表示部５に表示する（Ｓ２０５）。これにより、ユーザは、開発工程毎の属人化レベルを認識することができる。
【００５２】
以上のように、分析装置２００は、実施の形態１の分析装置１００の構成に加えて、制御部１に学習部１２を備える。学習部１２は、サンプルデータベース８に格納されたメトリクス情報のサンプルと、これに付与された属人化レベルとに基づいて、属人化レベル予測モデル２２を生成する。このように、分析装置２００は、実施の形態１の分析装置１００と異なり、属人化レベル予測モデル２２を自ら生成することができる。
【００５３】
実施の形態３．
図１１は、本発明の実施の形態３に係る分析装置３００におけるデータの流れを示す図である。分析装置３００の構成は、図６に示した分析装置２００の構成と同様であるため、図示を省略する。
【００５４】
図１２は、分析装置３００による属人化レベルの分析の流れを示すフローチャートである。以下、図１１〜１４を参照して、分析装置３００の動作について説明する。
【００５５】
ステップＳ３０１〜Ｓ３０５は、図８に示した実施の形態２のステップＳ２０１〜Ｓ２０５と同様であるため、説明を省略する。
【００５６】
表示部５に属人化レベルを表示するステップＳ３０５の後、制御部１は、属人化レベルの再定義の要否をユーザに確認するための表示を、表示部５に表示する（Ｓ３０６）。ステップＳ３０６で表示部５に表示される表示は、例えば図１３に示すようなダイアログボックスである。
【００５７】
ユーザは、ステップＳ３０５で表示された属人化レベルが正しいか否かを確認し、属人化レベルを再定義する必要の有無を判断する（Ｓ３０７）。例えば、ユーザは、属人化レベルを再定義する必要があると判断した場合、図１３に示すようなダイアログボックス中の「Ｙｅｓ」ボタンをクリックする。
【００５８】
ユーザが属人化レベルを再定義する必要があると判断した場合、制御部１は、例えば図１４に示すようなダイアログボックスを表示部５に表示する。ユーザは、キーボード等の入力部４を用いて、再定義された属人化レベル（以下、「修正レベル」という。）３１０を入力する（Ｓ３０８）。
【００５９】
次に、制御部１は、ユーザによって入力された修正レベル３１０をメトリクス情報に関連付けて、サンプルデータベース８に格納する（Ｓ３０９）。その後、再びステップＳ３０３に進み、制御部１の学習部１２が、更新されたサンプルデータベース８を読み込み、属人化レベル予測モデル２２を再生成して更新する。その後、ステップＳ３０４〜Ｓ３０７を再び実行する。
【００６０】
以上のように、実施の形態３では、分析装置３００の制御部１は、ユーザがメトリクス情報７に付与した修正レベル３１０を取得する。学習部１２は、メトリクス情報７と修正レベル３１０とに基づいて、属人化レベル予測モデル２２を更新する。
【００６１】
修正レベル３１０は、メトリクス解析部１１によって算出された属人化レベルが、理論やユーザの経験則と異なる場合に、ユーザによって再定義される属人化レベルである。分析装置３００は、このようなフィードバックを行うことにより、属人化レベル予測モデル２２の精度を向上させることができる。
【００６２】
変形例．
以上、複数の実施形態を用いて本発明について説明したが、各実施形態に記載された特徴は、自由に組み合わせられてよい。また、上記の実施形態には、種々の改良、設計上の変更および削除が加えられてよく、本発明にはさまざまな変形例が存在する。
【００６３】
例えば、上記の実施形態では、属人化レベルが、メトリクス情報のサンプルデータや、過去の開発工程におけるメトリクス情報に基づいて、重回帰分析を行うことによって算出される例を説明した。しかしながら、属人化レベルの決定は、ロジスティック回帰分析等の重回帰分析以外の多変量解析によって行われてもよい。
【００６４】
これを実施の形態２および実施の形態３についてみると、学習部１２は、メトリクス情報に関するサンプル情報と、サンプル情報に付与された属人化レベルとを用いて多変量解析を行うことによって、属人化レベル予測モデル２２を生成してもよい。
【００６５】
あるいは、属人化レベル予測モデル２２は、メトリクス情報のサンプルデータや、過去の開発工程におけるメトリクス情報と、ユーザが付与した属人化レベルとを、ニューラルネットワーク、決定木学習、サポートベクターマシン等によって学習することによって生成される学習モデルであってもよい。
【００６６】
また、上記の各実施形態では、制御部１、補助記憶部２、主記憶部３、入力部４、表示部５および通信Ｉ／Ｆ６を備えた分析装置について説明した。しかしながら、これらの構成要素は、１つの分析装置内に備えられる必要はなく、例えばネットワークを介して接続された別個の装置であってもよい。したがって、本発明は、一態様では、メトリクス解析を行うメトリクス解析装置と、属人化レベル予測モデル２２を生成する学習装置と、生成された属人化レベル予測モデル２２を記憶するサーバと、を備えた分析システムであってもよい。
【符号の説明】
【００６７】
１  制御部、２  補助記憶部、３  主記憶部、４  入力部、５  表示部、６  通信インタフェース、７  メトリクス情報、８  サンプルデータベース、１１  メトリクス解析部、１２  学習部、２１  メトリクス情報データベース、２２  属人化レベル予測モデル、１００  分析装置。
【図１】
0006956891.tif 000002
【図２】
0006956891.tif 000003
【図３】
0006956891.tif 000004
【図４】
0006956891.tif 000005
【図５】
0006956891.tif 000006
【図６】
0006956891.tif 000007
【図７】
0006956891.tif 000008
【図８】
0006956891.tif 000009
【図９】
0006956891.tif 000010
【図１０】
0006956891.tif 000011
【図１１】
0006956891.tif 000012
【図１２】
0006956891.tif 000013
【図１３】
0006956891.tif 000014
【図１４】
0006956891.tif 000015