(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明を実施するための形態について説明する。なお、実施形態の構成は例示であり、本発明は実施形態に示す構成に限定されない。
【0017】
図1は、本実施形態に係るプロジェクト管理支援装置の動作の概要を説明するための図である。プロジェクト管理支援装置は、システム開発等のプロジェクトについて、プロジェクトの規模や開発するシステムに要求される品質を見積もる作業を支援する。
【0018】
なお、プロジェクトの規模は、システム開発等の作業にかかる工数を「人月」等の単位で表すことができる。工数は、プロジェクトの開始から終了までの所定の時期ごとに詳細に表すようにしてもよく、大まかに全期間の総工数として表すようにしてもよい。また、工数は、プロジェクトマネージャや、システムエンジニア、プログラマといった役割ごとに詳細に表すようにしてもよく、大まかに全担当者の総工数として表すようにしてもよい。
【0019】
また、品質は、例えばISO/IEC25010のような所定の基準に基づいて、品質特性ごとに重要視する程度を表すようにしてもよく、さらに詳細な副特性ごとに重要視する程度を表すようにしてもよい。なお、システムに要求される品質の基準となる情報は、ISO/IEC25010には限られず、品質測定の基準として用いることができる様々な情報を利用することができる。
【0020】
図1の例では、プロジェクト管理支援装置は、まず学習段階として、例えば工数で表されるプロジェクトの規模や、所定の基準に基づく品質について、過去の実績を表す情報を読み出し、機械学習により特徴を抽出する(
図1の(1))。機械学習は、例えばニューラルネットワークを利用した自己符号化器(オートエンコーダ)を用いて行うことができる。その後、運用段階においては、新たに開始するプロジェクトについてユーザが見積もった工数や要求品質を表す情報の入力を受け、事前に学習した特徴に基づいて修正を行う(
図1の(2))。
【0021】
図2は、自己符号化器の構成を模式的に表す図である。
図2の例では、入力値が入力される複数のユニットを含む入力層x(x
1、x
2、・・・、x
N)と、入力値に対し所定の変換を行う中間層(隠れ層)y(y
1、・・・、y
M)と、中間層の値に対しさらに所定の変換を行う出力層z(z
1、z
2、・・・、z
N)とを備える。なお、中間層の数は複数であってもよい。また、中間層yに含まれるユニットの数は、入力層xに含まれるユニットの数よりも少なくなっている。すなわち、入力層に入力された情報をさらに情報量の少ない中間層に圧縮し、その後もとの入力値を復元できるようパラメータを調整することにより、入力される情報の特徴を抽出した学習済みモデルを生成することができる。また、複数段階の中間層yを備えるようにしてもよい。なお、自己符号化器のネットワーク構成と重みやバイアス項といったパラメータとを含む情報を「学習済みモデル」と呼ぶものとする。また、入力層xに含まれるユニットの各々は、中間層yに含まれるユニットの各々と接続されている。一方、出力層zに含まれるユニットの数は、入力層xに含まれるユニットの数と同じである。そして、中間層yに含まれるユニットの各々は、出力層zに含まれるユニットの各々と接続されている。
【0022】
入力層xから中間層yへの値の変換は、重みWとバイアス項bとを用いて規定される所定の関数を用いて行われる。
図2の例では、中間層の値は、以下の式(1)によって求められるyの総和として求められる。
y=Wx+b ・・・(1)
なお、中間層の値は、さらに所定の活性化関数を用いて変換された値であってもよい。入力層xから中間層yへの値の変換を、エンコード(encode)と呼ぶ。
【0023】
また、中間層yから出力層zへの値の変換も、重みWとバイアス項bとを用いて規定される所定の関数を用いて行われる。
図2の例では、出力層の値は、以下の式(2)によって求められるzの総和として求められる。
z=Wy+b ・・・(2)
なお、中間層の値は、さらに所定の活性化関数を用いて変換された値であってもよい。中間層yから出力層zへの値の変換を、デコード(decode)と呼ぶ。
【0024】
学習段階における、重みWやバイアス項bといったパラメータの調整は、いわゆる誤差逆伝播法(バックプロパゲーション)等の既存技術を利用することができる。すなわち、入力値そのものを教師値として、出力層zの出力と教師値との差分が小さくなるよう、デコードにおけるパラメータ、エンコードにおけるパラメータを順に更新する。そして、様々な入力値に対する出力値の算出とパラメータの更新とを繰り返すことにより、入力値の特徴を抽出したパラメータを生成する。
【0025】
図3は、プロジェクト管理支援装置1の装置構成及び機能構成の一例を示すブロック図である。プロジェクト管理支援装置1は、一般的なコンピュータであり、通信I/F11と、記憶装置12と、入出力装置13と、プロセッサ14と、バス15とを備えている。
【0026】
通信I/F11は、例えばネットワークカードであり、所定のプロトコルに基づき、他のコンピュータと通信を行う。プロジェクト管理支援装置1は、他のコンピュータから処理の要求を受けて本実施形態に係る処理を行い、結果を他のコンピュータに送信するような、いわゆるクラウド上のシステムであってもよい。また、プロジェクト管理支援装置1は、スタンドアロンで動作する装置であってもよく、この場合は通信I/F11を備えていなくてもよい。
【0027】
記憶装置12は、RAM(Random Access Memory)やROM(Read Only Memory)等の主記憶装置及びHDD(Hard-disk Drive)やSSD(Solid State Drive)、フラッシュメモリ等の補助記憶装置(二次記憶装置)である。主記憶装置は、プロセッサが読み出したプログラムやデータを一時的に記憶したり、プロセッサの作業領域を確保したりする。補助記憶装置は、プロセッサが実行するプログラムや、本実施形態において学習の対象となる情報や、学習済モデル等を記憶する。
【0028】
入出力装置13は、例えばキーボード、マウス等の入力装置や、モニタ等の出力装置、タッチパネル等である。例えば、ユーザは、入出力装置13を介してシステム開発を行うプロジェクトの規模又は開発するシステムに求められる品質について、ユーザが見積もった程度を表す情報を入力するようにしてもよい。
【0029】
プロセッサ14は、CPU(Central Processing Unit)等の演算処理装置であり、本
実施形態に係るプログラムを実行することにより本実施形態に係る各処理を行う。
図3の例では、プロセッサ14内に機能ブロックを示している。
図3のプロセッサ14は、入力部141と、変換部142と、学習部143と、推定部144とを含む。
【0030】
入力部141は、自己符号化器に入力する情報を取得し、自己符号化器に入力する。変
換部142は、入力情報の形式を統一するために変換処理を行う。学習部143は、自己符号化器による所定の演算を行うと共に、自己符号化器の出力が入力情報に近づくようにパラメータを調整する。推定部144は、学習部143が生成した学習済みモデルを用いて、ユーザが入力するプロジェクトの遂行に要する工数や、システムに要求される品質の目標値を修正し、実際の工数や要求品質の推定値を算出する。
【0031】
以上のような構成要素が、バス15を介して接続されている。
【0032】
<処理の流れ>
図4は、プロジェクトの実績の特徴を学習し、運用するまでの大まかな流れを説明するための図である。本実施形態に係るシステムが行う処理は、学習段階(
図4:S1)と、評価段階(S2)と、運用段階(S3)とを含む。学習段階においては、予め記憶装置12に記憶されているプロジェクトの規模又はシステムに要求される品質の実績を表す情報(「訓練データ」とも呼ぶ)を読み出し、上述した自己符号化器を用いてその特徴を機械学習する。また、評価段階では、学習段階で生成した学習済みモデルの性能を検証する。具体的には、プロジェクトの規模又はシステムに要求される品質の実績を表す情報のうち、学習段階で用いた訓練データとは異なる情報を用いたり、訓練データを処理した場合の入出力を入れ替えて用いることにより、訓練データとは異なるデータに対しても所定の評価基準を満たす出力が得られるかテストする。なお、評価段階においては、進行中のプロジェクトと並行して利用し、ユーザが作成するプロジェクトの規模又はシステムに要求される品質の見積もりと比較して精度の高い出力が得られるか判断するようにしてもよい。また、運用段階においては、未知のプロジェクトについて、ユーザが作成するプロジェクトの規模又はシステムに要求される品質の見積もりを修正する処理を行う。
【0033】
<学習処理>
図5は、本実施形態の学習段階及び評価段階において実行される学習処理の一例を示す処理フロー図である。プロジェクト管理支援装置1の入力部141は、記憶装置12に予め記憶されている過去に行われたプロジェクトの実績情報を取得する(
図5:S11)。本ステップでは、例えばプロジェクトの時期に対応付けて記憶された要員の役割を示す種別ごとの工数や、所定の評価基準に従って評価されたシステムが備える品質を表す情報が取得される。
【0034】
図6は、プロジェクトの実績を表す情報の一例を示す図である。
図6の表は、「案件番号」、「案件名」、「機能」、「適用業務」、「特性」、「副特性」、「測定項目」、「レベル」、「開始年月」、「終了年月」、「総工数」、「要員」、「工数」の各属性を有する。「案件番号」のフィールドには、各案件を特定するための識別情報が通し番号の形式で登録されている。「案件名」のフィールドには、各案件の名称が登録されている。「機能」のフィールドには、各レコードが、本システムが備える機能のうち、「品質」の推定を行う機能または「見積」を作成する機能のいずれに用いる情報であるかを特定するための値が登録されている。また、
図6の例では、各情報が簡易的な情報であるか詳細な情報であるかを細分化した値が登録されている。「適用業務」のフィールドには、各案件に係るシステムが適用される業務の種別を表す情報が登録される。業務の種別としては、例えば顧客管理、サプライチェーン管理(SCM)、EC(Electronic Commerce)・We
b、ITコンサルティング、人事・給与、会計、情報基盤等、システム開発において典型的にシステムが適用される対象の業務が登録される。「特性」のフィールドには、品質の評価基準となる特性が登録される。また、「副特性」のフィールドには、品質の評価基準となる特性を細分化した情報が登録される。「測定項目」のフィールドには、上述した特性や副特性の程度を評価するための客観的な基準となる測定可能な項目が登録される。すなわち、システムに要求される品質を示す情報は、例えば計測可能な定量データから求められるものであってもよい。なお、測定項目の内容は、特性又は副特性の少なくとも一方
と関連付けて予め定められているものとする。「レベル」のフィールドには、各評価基準の程度を表す情報が所定の詳細度で登録される。「開始年月」、「終了年月」のフィールドには、プロジェクトにかかった工数を所定の期間ごとに記録する際の、期間の始期及び終期が登録される。「総工数」のフィールドには、当該期間にかかった総工数が登録される。「要員」のフィールドには、工数を要員の役割を表す種別ごとに記録する際の、種別を示す情報が登録される。「工数」のフィールドには、当該期間にかかった工数が登録される。
【0035】
なお、
図6に示した表は、情報をデータベースのテーブルに記憶させる場合の構成の一例であり、例示した情報やこれに類する情報を、任意のデータ構造に正規化等して記憶装置12に保持させることができる。
【0036】
また、プロジェクト管理支援装置1の変換部142は、取得した情報の形式を変換するか判断する(
図5:S12)。本実施形態では、過去のプロジェクトの実績を表す情報を用いて機械学習する際に、入力情報の形式を所定の項目及び詳細度に統一して用いる。本ステップでは、例えば
図6の表に含まれる簡易的な情報および詳細な情報について、いずれかの詳細度に変換する。
【0037】
図7は、形式の変換に用いる変換テーブルの一例を示す図である。
図7の例では、詳細な情報を簡易的な情報に変換するための、変換前後の対応関係を示す情報が登録されている。具体的には、0〜100%までの割合で表される詳細なレベルを所定の位置で区切り、それぞれの範囲に予め対応付けられた低、中、高の三段階のいずれかに変換する。なお、低、中、高の各々に対応する割合の値を予め定めておき、簡易的な情報から詳細な情報へ変換できるようにしてもよい。
【0038】
また、工数については、例えば1か月ごと且つ要員の職種ごとに集計された情報を、全期間且つ全要員の総工数に変換するようにしてもよい。逆に、総工数の情報を、プロジェクトの期間にわたって平均化した月ごとの情報を算出するようにしてもよい。
【0039】
図5のS12においては、入力情報が所定の詳細度に統一されていない場合、形式を変換すると判断し(S12:YES)、例えば変換テーブルを用いて変換する(S13)。そして、S12で形式を変換しないと判断された場合(S12:NO)、又はS13の後、プロジェクト管理支援装置1の学習部143は、自己符号化器を用いて圧縮処理を行う(S14)。
【0040】
本ステップでは、
図2に示した構成のニューラルネットワークに対し、上述の入力情報を入力してその特徴を学習させる。すなわち、
図6に示した品質についての入力情報は、例えば特性又は副特性ごとに自己符号化器の入力層のユニットが割り当てられ、各ユニットには特性又は副特性ごとのレベルを表す情報が入力される。なお、高、中、低のような順序尺度で表される入力情報については、例えばOne-hot形式のビット列で表現し、各ビ
ットに対応する複数のユニットに入力するようにしてもよい。また、
図6に示した見積についての入力情報は、工数を表す情報が入力層のユニットに入力される。
【0041】
また、圧縮処理は、案件の適用業務ごとにその特徴を学習させるようにしてもよい。例えば、
図6の適用業務のフィールドに登録された種別ごとに学習済みモデルを生成するようにしてもよいし、適用業務のフィールドに登録された種別のような名義尺度で表される情報も、例えばOne-hot形式のビット列で表現し、各ビットに対応する複数のユニットに
入力するようにしてもよい。適用業務ごとに特徴を学習させることにより、各業務に用いるシステムの開発に特徴的な工数や要求品質の傾向を抽出することができ、出力の精度を向上させることができる。
【0042】
そして、出力層の各ユニットが出力する値が入力層の対応するユニットに入力された値に近づくように、重みやバイアス項のパラメータを更新し、
図6の複数のレコードを入力として処理を繰り返す。
【0043】
その後、学習部143は、作成した学習済みモデルについて評価処理を行う(S15)。本ステップでは、圧縮処理で生成した学習済みモデルが、プロジェクトの規模又はシステムに要求される品質の特徴を学習できたか検証する。本ステップでも、圧縮処理と同様の自己符号化器を用いて、評価処理の入力情報に対しエンコード及びデコードを行う。評価処理の入力情報としては、プロジェクトの規模又はシステムに要求される品質の実績を表す情報のうち、圧縮処理において使用していない情報を用いたり、圧縮処理における入力情報を処理した結果の出力情報を用いる。このようにして、出力層が出力する値が所定の基準以上、入力情報に近い値であれば作成した学習済みモデルはプロジェクトの規模又はシステムに要求される品質の特徴を学習できたと判断できる。また、進行中のプロジェクトと並行して評価処理を行い、ユーザが作成するプロジェクトの規模又はシステムに要求される品質を表す情報を入力情報として用いるようにしてもよい。この場合は、出力層が出力する値が、実際のプロジェクトの遂行に要した工数やシステムが備えるべき品質に所定の基準以上近い値であれば、作成した学習済みモデルはプロジェクトの規模又はシステムに要求される品質の特徴を学習できたと判断できる。なお、学習済みモデルの性能が不十分であると判断された場合には、入力情報を変更する等してS13の処理をやり直すようにしてもよい。
【0044】
そして、学習部143は、作成した学習済みモデルを記憶装置12に記憶させ、学習処理を終了する。
【0045】
<運用処理>
図8は、運用段階において実行される運用処理の一例を示す処理フロー図である。プロジェクト管理支援装置1の入力部141は、ユーザの操作に基づき、ユーザが選択した機能を取得する(
図8:S21)。本ステップでは、プロジェクトの工数の見積もりを出力する機能又はシステムに要求される品質を出力する機能のいずれかをユーザに選択させる。
【0046】
次に、入力部141は、ユーザの操作に基づき、ユーザが選択した適用業務を取得する(S22)。本ステップでは、プロジェクトにおいて開発するシステムが適用される業務を、所定の選択肢からユーザに選択させる。選択肢としては、例えば顧客管理、サプライチェーン管理、EC・Web、ITコンサルティング、人事・給与、会計、情報基盤等、典型的な業務が提示される。
【0047】
その後、入力部141は、ユーザの操作に基づき、S21で選択された機能に応じてユーザが見積もった工数又はユーザがシステムに要求されると推定した品質の程度を示す情報を取得する(S23)。本ステップにおいても、ユーザの選択に応じて簡易的な情報又は詳細な情報が入力される。
【0048】
図9及び
図10は、S23において入力されるプロジェクトの規模を示す情報の一例を示す図である。
図9の表は、「要件」、「難易度」、「プロジェクト(PJ)期間」、「総工数」の属性を有する。また、「要件」のフィールドには、システムが適用される業務を示す情報の一例である「サプライチェーン管理(SCM)」が登録されている。「難易度」のフィールドには、プロジェクトの具体的な内容からユーザが評価した難易度を表す情報が、高・中・低等のような段階で登録されている。「PJ期間」のフィールドには、プロジェクトの完了までにかかる期間の一例である「5か月」が登録されている。「総工
数」のフィールドには、プロジェクトの遂行にかかる工数の一例である「28人月」が登録されている。
【0049】
図10の表は、
図9に示した表よりも詳細にプロジェクトの規模を表している。
図10の表には、プロジェクトが実行される年月に対し、プロジェクトに割り当てられる要員の職種ごとの人数が登録されている。職種として、
図5には、プロジェクトマネージャ(PM)、システムエンジニア(SE)、プログラマ(PG)が例示されている。
【0050】
S21で工数が選択された場合は、以上のような入力情報を所定の入力画面を介してユーザから受け付け、記憶装置12に記憶する。なお、入力情報は例えばプロジェクトごとに記憶させておき、読み出したりさらに内容を修正できるようにしてもよい。
【0051】
図11及び
図12は、S23において入力される、システムに要求される品質を示す情報の一例を示す図である。なお、
図11及び
図12の例は、ISO/IEC25010に定められた品質モデルに基づいている。
図11の表は、「特性」、「レベル」の属性を有する。「特性」のフィールドには、「機能適合性」、「性能効率性」、「互換性」、「使用性」等の品質特性が登録されている。「レベル」のフィールドには、各品質特性に対し求められる品質の程度を「高」、「中」、「低」のように表す情報が登録されている。
【0052】
図12の例は、「特性」、「副特性」、「目標」の属性を有する。「特性」のフィールドには、「機能適合性」、「性能効率性」、「互換性」等の品質特性が登録されている。「副特性」のフィールドには、「機能完全性」、「正確性」、「適切性」、「時間効率性」、「資源利用性」、「キャパシティ」、「共存性」等のような、各特性を詳細化した副特性が登録されている。「レベル」のフィールドには、各品質特性に対し求められる品質の程度を割合の形式で示す情報が登録されている。
【0053】
S21で品質が選択された場合は、以上のような入力情報を所定の入力画面を介してユーザから受け付け、記憶装置12に記憶する。
【0054】
また、プロジェクト管理支援装置1の変換部142は、取得した情報の形式を変換するか判断する(
図8:S24)。本ステップでは、
図5のS12と同様に、入力情報が所定の詳細度に統一されていない場合、形式を変換すると判断し(S24:YES)、例えば変換テーブルを用いて変換する(S25)。そして、S24で形式を変換しないと判断された場合(S24:NO)、又はS25の後、プロジェクト管理支援装置1の学習部143は、学習済みモデルを用いて展開処理を行う(S26)。本実施形態では、入力情報がS25において、
図9及び
図11に示す簡易的な情報に変換されたものとして以下の説明を行う。
【0055】
本ステップでは、
図2に示した構成のニューラルネットワークに対し、S23で取得した入力情報を入力し、過去の実績から抽出した特徴に基づいて修正した出力を得る。すなわち、
図9に示した見積についての入力情報は、難易度、プロジェクト期間、工数を表す情報が入力層のユニットに入力される。また、本ステップの処理も、適用業務ごとに行うようにしてもよい。すなわち、学習処理と同様に、適用業務ごとに生成した学習済みモデルを用いて処理を行うようにしてもよいし、適用業務を示す情報も入力層のユニットに入力するようにしてもよい。なお、「難易度」については学習や修正の対象とせず、運用段階において、最終的に出力される工数に対し、単に難易度に応じた所定の係数を乗じるようにしてもよい。例えば、難易度が「高」のプロジェクトについては、システムが出力する工数を1.3倍する。また、難易度が「中」のプロジェクトについては、システムが出力する工数を1.0倍する。難易度が「低」のプロジェクトについては、システムが出力する工数を0.8倍する。また、「難易度」についても学習の対象とした上で、上述のよ
うな難易度に応じた所定の係数を工数に乗じるようにしてもよい。
【0056】
また、
図11に示した品質についての入力情報は、例えば特性又は副特性ごとに自己符号化器の入力層のユニットが割り当てられ、各ユニットには特性又は副特性ごとのレベルを表す情報が入力される。なお、高、中、低のような順序尺度で表されるレベルの値については、例えばOne-hot形式のビット列で表現し、各ビットに対応する複数のユニットに
入力するようにしてもよい。また、本ステップの処理も、適用業務ごとに行うようにしてもよい。すなわち、学習処理と同様に、適用業務ごとに生成した学習済みモデルを用いて処理を行うようにしてもよいし、適用業務を示す情報も入力層のユニットに入力するようにしてもよい。
【0057】
以上のようにして入力された入力情報と記憶装置12に格納されている学習済みモデルとを用いて自己符号化器の出力層から出力される情報を算出する。
【0058】
そして、プロジェクト管理支援装置1の推定部144は、S26で算出された、ユーザが見積もった工数又はユーザがシステムに要求されると推定した品質の程度を示す情報を自己符号化器によって修正した値を出力する(S27)。例えば、
図9〜
図12の表と同じ項目について、修正後の値が出力される。本ステップでは、値を
図9〜
図12のような表形式で出力するようにしてもよいし、棒グラフや折れ線グラフ等のグラフを描画して出力するようにしてもよい。また、品質の出力においては、予め定められている測定項目の測定値(実績値)に基づいて、レベル(目標値)に対する実績値の割合を、達成度として出力するようにしてもよい。
【0059】
図13は、達成度を含む品質の出力例を示す図である。
図13の表は、「特性」、「副特性」、「測定項目」、「レベル(目標値)」、「実績値」、「達成度」の各属性を有する。「特性」、「副特性」、「測定項目」は、
図6と同様である。また、「レベル(目標値)」のフィールドには、S26で算出された修正後の値が登録される。「実績値」のフィールドには、測定項目について測定した値が登録される。すなわち、開発されるシステムについて稼動させ、ターンアラウンドタイムが所定の基準を満たす割合であるターンアラウンドタイム充足率や、所定の負荷をかけた際のリクエスト処理率等を測定し、結果を登録する。また、「達成度」のフィールドには、目標値に対する実績値の比率に基づいて決まる要求品質の充足度を表す情報が登録される。
【0060】
<効果>
本実施形態に係るシステムによれば、システム開発の規模を示す工数や開発するシステムに求められる品質について、ユーザが見積もった値に対し過去に行われたプロジェクトの特徴に基づく修正値を得ることができる。ユーザが入力する値については、簡易的な情報であってもシステム側が変換して形式を統一するため、ユーザは少ない手間で結果を得ることができる。すなわち、ユーザは、作成した工数の見積もりや要求品質の目標値について過去の実績に基づく修正を受けることができ、プロジェクトマネジメントの経験が十分でないユーザであっても、精度の高い見積もりや目標値を得ることができる。
【0061】
<変形例>
自己符号化器に入力される情報は、画像情報であってもよい。画像情報は、工数の見積もりの場合は、棒グラフや折れ線グラフ等で表すものであってもよい。また、要求品質の目標値作成の場合は、棒グラフや折れ線グラフ、レーダーチャート等のようなグラフを表すものであってもよい。この場合は、学習処理においては、画像情報に含まれる画素の各々を、
図2に示した自己符号化器の入力層が備える各ユニットに入力するようにしてもよい。
【0062】
図14及び
図15は、画像の形式で用意された入力情報の一例を示す図である。
図14は、プロジェクトの工数の見積もりを示す棒グラフである。
図15は、要求品質の目標値の一例を示す棒グラフである。
図2に示した自己符号化器の入力層に入力される情報は、これらのような画像情報であってもよい。
【0063】
入力情報として画像を用いる場合も、例えばシステムが適用される業務の種別ごとに学習処理及び運用処理を行うことが好ましい。このようにすれば、業務に共通する特徴を抽出した学習済みモデルを生成することができる。また、自己符号化器に入力される複数のグラフについて、縦軸や横軸等のスケールを一致させるようにしてもよい。このようにすれば、複数のグラフ間で絶対的な大きさの特徴を抽出し易くなる。
【0064】
また、建築や製品開発その他の、システム開発以外のプロジェクトに用いるようにしてもよい。この場合も、プロジェクトの規模を示す工数や、建物やプラント、何らかの製品といったプロジェクトの成果物に要求される品質を事前に学習するとともに、運用段階においてはユーザが入力した値を修正することができる。このとき、成果物の用途ごとに特徴の学習や入力値の修正を行うようにしてもよい。
【0065】
<その他>
本発明は上述の処理を実行するコンピュータプログラムを含む。さらに、当該プログラムを記録した、コンピュータ読み取り可能な記録媒体も、本発明の範疇に属する。当該プログラムが記録された記録媒体については、コンピュータに、この記録媒体のプログラムを読み込ませて実行させることにより、上述の処理が可能となる。
【0066】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータから取り外し可能なものとしては、フレキシブルディスク、光磁気ディスク、光ディスク、磁気テープ、メモリカード等がある。また、コンピュータに固定された記録媒体としては、ハードディスクドライブやROM等がある。