软件项目风险评价方法及装置的制作方法

文档序号:6363143阅读:191来源:国知局
专利名称:软件项目风险评价方法及装置的制作方法
技术领域
本发明涉及一种软件项目风险评价方法及软件项目风险评价装置,特别涉及通过分析项目指标和项目风险之间的量化关系,来建立风险评价模型,将模型用于评价新项目中各种风险发生概率,以及对模型进行优化的方法和装置。
背景技术
在各种软件项目开发过程中经常会出现各种风险。比如,在一些项目开发过程中,存在主要开发者离职的情况、频繁的重复性编码错误、或者频繁的需求变更等情况。以上这些对项目开发产生影响的情况的发生可能性称项目风险。开发过程中的项目风险会对项目产生冲击,引起一些负面影响。有些项目风险使得项目日程延迟,有些项目风险增加项目开发成本,有些项目风险降低了软件质量。因此,希望能够针对各个项目预测各个项目风险的发生概率,以便在早期采取措施加以预防。
采用风险评价模型来对项目风险出现概率进行评价是本领域中识别项目潜在风险的有效方法。事实上,现有风险评价体系包含多个目标例如,风险发生概率评价、风险严重程度评价、风险出现时间预测、风险影响范围评价等。本发明着重处理风险发生概率的评价。
现有的项目风险评价方法有以下几种。
例如存在采用调查问卷的方式对风险概率进行简单评价的方法。在非专利文献1:(论文)“Software Risk Management:Principles and Practices”,Barry Boehm, IEEESoftware, 1991.中讲述了一种用问卷调查来进行风险评价的方法。在本方法中,由专家设计专用的调查问卷,用于收集一些跟风险相关的项目信息。通过对项目管理者进行的问卷调查,收集管理者对项目状况的看法评分。基于收集到的评分,进行某种综合分析(比如AHP或DELPHI方法),得出风险发生的概率。自本文作者Barry Boehm的成果发表后,其他学者沿同样的路线进行了很多后续研究和完善,均以问卷调查为基本策略。
但是,该方法有较大的不确定性和对专家问卷的依赖性。由于在问卷调查的过程中,项目管理者容易把个人偏见加入到评分中,影响到了项目评价的准确性,因此会带来较大的不确定性。另外,问卷的制订完全依赖于专家经验。换一种项目类型后必须重新要求专家制订相应的问卷,调整分析方法。这对专家形成了依赖,影响了问卷的适用范围。因此,该方法存在人为因素大、准确度低并且成本难以控制的缺点。
此外,也有采用基于规则或模型的评价方式,例如采用挣值分析(EVM)的方法分析风险出现的几率。
在专利文献2:(美国专利7669180B2)中公开了这一种方法:为每组风险因素创建了风险评价任务,为每个任务定义了决策流程图,为决策流程图创建了相关的规则集合,基于项目数据和规则集合自动对风险进行综合评价。
此外,专利文献2中提及的风险模型建立规则可以用某种机器语言描述,并且,专利文献2所涉及装置提供规则编程用的API。用户可以较自由地编辑适用于自己软件项目的风险检测规则。
专利文献2中描述了一种基于规则的风险评价方法。这些规则可以用某种语言或编程API进行自由编辑,使得该方法具有很好的扩展性。但是,该方法存在用户需要自行编辑或选择风险检测规则的问题。事实上,缺乏经验的管理者不太知道哪种规则适用于检测他们项目的风险,也不知道如何创造出有效的规则。
此外,在非专利文献3:(论文)”Risk management method using data from EVMin software development projects^, A.Hayashi, CIMCA 2008,IEEE Computer Society.中描述了一种风险评价方法。具体来说,该技术是采用EVM(挣值分析)等方法,将项目进度受到的各种影响量化成进度延迟天数,然后根据计算出的进度延迟天数进行风险评价。
非专利文献3作为一种基于EVM的风险评价技术。其目标是对项目风险进行量化评价,尤其适用于跟软件进度相关的风险评价。但非专利文献3中存在的问题是,这种方法较难对非进度型指标,比如项目质量方面的指标进行分析,得出风险评价。也就是说,方法的适用范围比较有限,并且,非专利文献3中公开的量化评价方法的准确度也不高。发明内容
本发明的目的在于提供一种能够建立风险出现概率判断的准确度更高的软件项目风险评价模型的软件项目风险评价方法及软件项目风险评价装置。
本发明是一种软件项目风险评价方法,包括:收集步骤,收集多个样本的关于项目指标和项目风险的历史数据;分割步骤,将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间,其中,m是大于O的整数;统计步骤,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及计算步骤,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型。
此外,本发明也可以是一种软件项目风险评价装置,包括:收集单元,收集多个样本的关于项目指标和项目风险的历史数据;分割单元,将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间,其中,m是大于O的整数;统计单元,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及计算单元,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型。
根据本发明的软件项目风险评价方法及软件项目风险评价装置,可以在不依赖专家经验的情况下,找出历史数据中各种风险的发生规律,并将其量化为风险评价模型,在新项目中基于项目指标和评价模型估算出各种风险发生的概率,从而提高了风险评价的准确性。
此外,本发明采用了机器学习的方法,自动发现历史风险出现规律,相当于把“规贝1J”创建自动化,并且通过收集各种类型的项目风险和指标,扩大了装置的适用范围。
因此,根据本发明,能够建立准确度更高的软件项目风险评价模型,来帮助项目管理者发现软件项目中的各种风险。采用本发明的建模方法及装置能够有效利用历史数据,找出项目风险出现的规律,发现新项目中存在的风险,减少对专家经验的依赖,提高风险发现的准确率,并且适用范围广泛。


图1是第一实施方式涉及的软件项目风险评价方法的流程图2是第一实施方式涉及的软件项目风险评价装置的框图3是第二实施方式涉及的软件项目风险评价方法的流程图4是第二实施方式涉及的软件项目风险评价装置的框图5是项目风险记录和历史项目指标的例图6是准备风险模型训练数据的流程图7是说明风险模型训练数据的例图8是说明通过向量空间分割得到训练数据的例图9是采用SVM算法训练风险模型的流程图10是采用风险模型计算项目风险概率的流程图11是说明分析项目风险和项目指标之间的相关度的流程图12是分析项目风险和项目指标之间的相关度的实例图13是说明利用验证数据训练风险评价模型的流程图14是说明调整向量空间分割距离的流程图15是调整相关度阈值的流程图。
具体实施方式
以下,参照附图,对有关本发明的优选实施方式进行说明。
(第一实施方式)
图2是第一实施方式涉及的软件项目风险评价装置的框图。如图2所示,本发明的软件项目风险评价装置包括收集单元200、分割单元201、统计单元203以及计算单元204。
其中,收集单元200将多个样本的关于项目指标和项目风险的历史数据收集到数据库201中加以保存。例如,收集单元200受理用户通过输入装置进行的输入,或者直接从外部装置导入历史数据,来自动/手动收集软件项目的历史数据和正在进行的新项目数据,并将数据保存到数据库201中。
作为数据库201中的一个保存示例,可以利用表格保存项目风险记录和历史项目指标。图5是项目风险记录和历史项目指标的例图,在图5中示意性地示出了当前软件管理中的部分项目风险和项目指标。如图5所示,表格“项目风险记录”中保存了项目风险发生记录。表格第I列记录项目名称,第2列记录所发生风险类型,第3列及之后记录了某项目中某种风险每天的发生次数。其中,项目UProject I)在2011/7/5日出现“交付延迟(Delivery delay) ”风险一次,项目2在2011/7/6日同样出现了“交付延迟”风险一次。
表格“历史项目指标”记录了项目的各种项目指标。表格第I列记录项目名称,第2列记录所收集项目指标,第3列及之后记录了某项目中某种指标每天的值。如图5所示,表格第2、3行记录了项目I的“缺陷密度”和“需求变更规模”两项指标,第4、5行记录了项目2的这两项指标的变化情况。
在此,由于同类项目的历史数据对新项目的风险分析更加具有参考价值,因此假设所收集到的数据都属于同类项目(比如都属于嵌入式开发项目),或者已经按照项目类型(如电子商务项目、手机应用项目、中间件项目等)进行了分类。
此外,如图5中所指出的项目风险和项目指标的种类仅是示例,当然还包括其他现有的项目风险和项目指标。
设收集单元200收集到的、相对于某类项目风险的项目指标的种类数量为m(m是大于O的整数)时,即有m种项目指标时,该m种项目指标的值域构成m维向量空间。分割单元201将将上述项目指标所映射的作为该m维向量空间的值域分割为多个子值域,针对每个分割后的子值域取代表值,用于后续的处理。
统计单元203根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点(某项目中所有项目指标所构成的m维向量)的数量的比值,作为该类项目风险出现的风险概率,有关映射的详细情况在后面叙述。
计算单元204用于制作项目风险评价模型,具体来说,计算单元204根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型。其中,上述归一化处理可以利用现有的归一化处理算法来进行,并且,得到训练数据之后,即可利用现有的预测模型建立方法来建立项目风险评价模型,因此,在此省略详细的说明。
以下利用图1说明本发明的第一实施方式涉及的软件项目风险评价方法。图1是第一实施方式涉及的软件项目风险评价方法的流程图。如图1所示,首先,收集单元200收集多个样本的关于项目指标和项目风险的历史数据(步骤100)。
接着,分割单元201将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间(步骤101)。
接着,统计单元203根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率(步骤102)。
最后,计算单元204根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型(步骤103)。
以下举例详细说明各步骤。
一般来说,风险评价模型实际上是“风险概率”和“相关项目指标”之间的量化函数关系。为了训练出项目风险评价模型,需要大量的(风险概率,相关项目指标)数据。数据库中已有历史项目指标,可以直接查出,但相应的历史风险概率是需要计算出来的。为了计算历史风险出现概率,这里把历史风险概率的计算定义成“相同或相似条件下的多个样本案例中,某种风险发生的几率”。这里加入“相似条件下案例”是因为在历史数据中找到多个完全相同条件的案例是很困难的。“相同或相似条件”实际上是指“在相关项目指标相同或相似的条件下”。为便于计算,这里设所有项目指标都是相关项目指标,从而仅针对项目种类进行分类,即可将数据库中的某类项目的数据带入本发明的软件项目风险评价装置中进行处理。
图6是准备风险模型训练数据的流程图。是对图1中的流程图中的步骤101 103的举例说明。
如图6所示,在将该风险发生概率定义为“在相同或相似条件下(具备相同或相近的项目指标),该风险出现的几率”(步骤800)时,统计单元203针对某种风险i,找出数据库中多个项目风险i发生的记录,采用这些项目中与风险i相关的m类指标数据建立m维向量Xlx1,…,xj ;由于每个项目都有多组(风险记录,指标)数据对,可以得到向量X的很多组实例,及每组实例对应的风险记录(步骤801);这里的“数据对”实际上是指某项目某天风险发生的状况和当天的相关项目指标,例如2011年9月I日,某项目中“交付延迟”风险出现I次,当天的相关指标为“缺陷密度=9.2K/L0C,需求变更范围=5个模块”,相应的数据对就是(风险记录=1,指标向量X= (9.2,5))(步骤801)。
分割单元201将m维向量看作m维空间,在每个维度上,将该维的值域均分为L段,也就是将整个m维空间均分为Lm个区间,将每区间的中心点记为{xlc;,x2。,...,xj作为每个段的代表值(步骤802)。
接着,统计单元203将向量X的所有样本实例映射到m维空间中;在每个中心点为{xlc, X2c,..., XfflJ的区间中,统计出落在该区间的样本数量,并可统计出发生了风险的样本数量。把(风险发生样本数)/(总样本数)作为该区间的风险概率(步骤803)。通过统计上述每个区间内的风险概率,可以得到一组(风险概率,指标向量)数据集,比如(15%,X1), (88%, X2), , (75%,Xi),这里Xi是每个区间的中心点(步骤804)。
最后,计算单元204将上述数据集中的向量X值进行归一化,将向量X的每个值转化为
之间的值(步骤805)。这样,就得到了可用于风险评价模型训练的多组(风险概率,项目指标)记录。
在图6中,统计单元203先进行伴随风险发生的向量映射,分割单元202再进行值域分割,但是也可以先进行值域分割,再进行映射。也就是说,本发明的各步骤的执行顺序并不限于图6中所例举的实施方式。在不存在数据继承关系的情况下,各步骤的执行顺序是任意的。
此外,在上述例子中 ,以分割后的段(子值域)的中心点所对应的向量作为代表值,结合该子值域的风险概率,来进行归一化处理。但是,本发明中所取得代表值并不限于中心点。也可以是其他点的向量。例如将子值域中包含所有映射点的特定图形(例如圆形)的中心点的向量作为代表值。或者也可以根据子值域中的映射点分布的疏密程度来计算代表值,总之,代表值的定义方式并不仅限于这里所例举的具体事例,可以根据项目环境或者侧重点来设定子值域中的任意向量值作为代表值。
图7是说明风险模型训练数据的例图。在图7中示出了经过图6的各步骤所得到的训练数据的例子,图中表格的每一行记录了某个向量区间中心点项目指标的值,和该区间内某种风险的发生概率(风险概率,项目指标)。在图7的例中,各种项目指标已经进行了归一化。
结合图8说明风险概率的计算过程。图8是说明通过向量空间分割得到训练数据的例图。为了说明的方便,以简单的二维空间为例进行说明。在本发明的软件项目风险评价方法中,主要有以下特点。
(I)将与项目风险相关的m维项目指标,看作m维向量空间。在上图例中,把“缺陷密度(Bug density) ”和“需求变更规模(Require change scale) ”看作是与“交付延迟”风险相关的两种项目指标,因此就得到如图的二维向量空间,“缺陷密度”作为横坐标,“需求变更规模”作为纵坐标。
(2)将数据库中的所有指标样本及相关风险记录映射到向量空间中。有风险发生的指标样本用实心圆表示,无风险发生的指标样本用空心圆表示。在图8中,把数据库中2011/7/5日项目I的“缺陷密度”和“需求变更规模”指标映射成向量空间中的样本点(7,3),因为该样本伴随有“交付延迟”风险,因此标记为实心圆,同样2011/7/6日项目2的这两项指标映射成样本点(3,4),而且也是实心圆。相反,2011/7/3日的两项指标映射成样本点(3,I),但因为当天未出现“交付延迟”风险,因此该样本点为空心圆。
(3)按照各维度上样本的跨度,将向量空间等分为多份。本例中,将横轴、纵轴各划分3等分,整个二维空间划分为3X3等分,9个区间。关于边界值的划分原则,将边界值包含在靠前的较小区间中。例 如,在图8中,横轴划分为
、(3,6]、(6,9]等3个区间,纵轴划分为
、(2,4], (4,6]等3个区间。
(4)在划分后的每个区间内,统计落在该区间中的样本点总数,及出现了风险的样本点数目(实心圆数目)。“风险样本点数目/样本点总数”即作为该区间内的风险概率,并算出该区间的中心点(图中星型符)。将该区间的(风险概率,中心点向量)作为一组(风险概率,项目指标)数据。比如,图8中最左列第2个区间内,有2个样本点,其中I个样本点出现了风险,该区间的风险概率即为1/2 = 50%。根据横纵坐标,可算出该区间的中心点为(1.5,3),因此就得到一组(风险概率,项目指标)记录为[50%,(1.5,3)]。其中项目指标(1.5,3)为2维向量。同理,可在其他区间内获得图中的另外两组记录
和[100%, (7.5,3)]。
(5)汇总所有区间的(风险概率,中心点向量)计算结果,即得到可用于风险评价模型训练的多组训练数据(风险概率,项目指标)记录。
上例中讲述了二维向量空间的划分。实际上,这种向量空间划分方法完全可以扩展到多维(维度>=3)。下面以四维向量(即4个指标与某风险相关)为例子来说明多维空间分割的例子。设四维向量为(Χι,χ2,χ3,χ4),向量空间分割及区间内风险概率计算步骤如下:
I)针对向量每一维,从其最大值到最小值之间等分为L段(比如5段)。比如,假设X1的值在
之间,则将其值域划分为Xltl, X11,...X14总共5段,X10段的值介于
,X11段的值介于(10,20],而X14段的值介于(40,50]。
2)将每维的各段,与其他3维的各段,进行不重复的组合,形成LXLXLXL个组合。每个组合也就是一个区间,比如(X1CI,X21,X33,X42)。该区间的中心为各维在该段上的中;L.、点,比如(XiOc,X21c, X33c X42c)。
3)在划分后的每个区间内,查找数据库中落在该区间内的样本点,并查出这些样本点中发生风险的样本点。比如数据库中落在(X1Q, X21 , X33, X42)的样本点有10个,出现风险的样本点有4个。在本例中,就认为,在4类项目指标接近x1(l。,x21c, X33c X42。(区间中心点)的情况下,风险概率为4/10 = 40%。
统计每个区间内的风险概率,并记录该区间的中心点值,即得到大量的(风险概率,X1, X2, X3, X4)数据组合。该5元组所形成的集合即可用于风险评价模型的训练。在这里,组合的数目其实就是空间划分区间的数目,比如L4个。区间划分越多,每个区间越小,区间内样本点距中心点距离越小,样本点条件就越近似,风险概率计算精度就越高,但计算量就越大。反之,区间划分越少,单个区间越大,落在单个区间内的样本点更多,但风险概率精度下降,计算量也下降。
通过以上的基于向量空间划分统计历史风险概率的方法,可以得到各种风险的(历史风险概率,相应项目指标)数据集。这些数据将用于各种风险的评价模型训练。模型训练可采用支持向量机(SVM)、神经网络、KNN(Κ-Nearest Neighbor algorithm:K近邻算法)等方法,本说明书以SVM算法为例说明利用训练数据建立预测模型的步骤。训练步骤参见附图9。首先,计算单元204为非线性SVM选定核函数,例如:
K(Xj^Xj) = exp(--L——J-), 2σ
这里σ为常量(步骤1000)。然后,设置用于模型训练的方程组,例如:
权利要求
1.一种软件项目风险评价方法,其特征在于, 包括: 收集步骤,收集多个样本的关于项目指标和项目风险的历史数据; 分割步骤,将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间,其中,m是大于O的整数; 统计步骤,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及 计算步骤,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型。
2.根据权利要求1所述的软件项目风险评价方法,其特征在于, 在上述分割步骤中,将映射到某个子值域中的样本数量与规定的数量阈值相比较,根据比较结果调整分割的子值域的大小。
3.根据权利要求1所述的软件项目风险评价方法,其特征在于, 还包括验证步骤,将历史数据中的一部分数据作为验证数据,代入项目风险评价模型来得到验证用预测风险概率,并计算该验证用预测风险概率与验证数据的历史风险概率之差相对于历史风险概率的百分比,在上述百分比低于规定验证阈值的情况下,不使用该项目风险评价模型进行风险评价。
4.根据权利要求1所述的软件项目风险评价方法,其特征在于, 还包括评价步骤,利用上述计算步骤中计算出的项目风险评价模型对新的软件项目进行风险评价,得到预测风险概率。
5.根据权利要求1所述的软件项目风险评价方法,其特征在于, 还包括反馈步骤,每当新的软件项目完成之后,收集该软件项目的与项目指标和项目风险有关的信息反馈给上述收集步骤,作为历史数据,重新制作项目风险评价模型。
6.根据权利要求1所述的软件项目风险评价方法,其特征在于, 在上述分割步骤中,取每个子值域的中心值作为该子值域的代表值。
7.根据权利要求1所述的软件项目风险评价方法,其特征在于, 还包括相关度分析步骤,根据在上述统计步骤统计出来的、每个子值域中伴随某类项目风险发生的某类项 目指标的出现次数,计算该某类项目风险与该某类项目指标之间的相关度指标,仅将相关度指标在规定的相关度阈值以上的项目指标作为相关项目指标用于分割步骤, 在上述分割步骤中,仅将上述相关项目指标所映射的值域作为m维向量空间进行分割。
8.根据权利要求7所述的软件项目风险评价方法,其特征在于, 在上述相关度分析步骤中,每一定时期将相对某类项目风险而放弃的项目指标重新用于评价模型的建立,来建立临时评价模型,并且比较将历史数据分别代入临时评价模型和原评价模型得到而的风险评价结果,在作为临时评价模型的风险评价结果的预测风险概率比作为原评价模型的风险评价结果的预测风险概率更加接近历史风险概率时,将规定的相关度阈值调整为该放弃的项目指标所对应的相关度。
9.根据权利要求1所述的软件项目风险评价方法,其特征在于, 在上述计算步骤中,利用支持向量机、神经网络或K近邻算法KNN,对训练数据进行建模处理,来制作项目风险评价模型。
10.一种软件项目风险评价装置,其特征在于, 包括: 收集单元,收集多个样本的关于项目指标和项目风险的历史数据; 分割单元,将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间,其中,m是大于O的整数; 统计单元,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于 映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及 计算单元,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型。
11.根据权利要求10所述的软件项目风险评价装置,其特征在于, 上述分割单元将映射到某个子值域中的样本数量与规定的数量阈值相比较,根据比较结果调整分割的子值域的大小。
12.根据权利要求10所述的软件项目风险评价装置,其特征在于, 还包括验证单元,将历史数据中的一部分数据作为验证数据,代入项目风险评价模型来得到验证用预测风险概率,并计算该验证用预测风险概率与验证数据的历史风险概率之差相对于历史风险概率的百分比,在上述百分比低于规定验证阈值的情况下,不使用该项目风险评价模型进行风险评价。
13.根据权利要求10所述的软件项目风险评价装置,其特征在于, 还包括评价单元,利用上述计算单元所计算出的项目风险评价模型对新的软件项目进行风险评价,得到预测风险概率。
14.根据权利要求10所述的软件项目风险评价装置,其特征在于, 每当新的软件项目完成之后,上述收集单元收集该软件项目的与项目指标和项目风险有关的信息,作为历史数据,重新制作项目风险评价模型。
15.根据权利要求10所述的软件项目风险评价装置,其特征在于, 上述分割单元取每个子值域的中心值作为该子值域的代表值。
16.根据权利要求10所述的软件项目风险评价装置,其特征在于, 还包括相关度分析单元,上述相关度分析单元根据上述统计单元统计出来的、每个子值域中伴随某类项目风险发生的某类项目指标的出现次数,计算该某类项目风险与该某类项目指标之间的相关度指标,将相关度指标在规定的相关度阈值以上的项目指标作为相关项目指标, 上述分割单元仅将上述相关项目指标所映射的值域作为m维向量空间进行分割。
17.根据权利要求16所述的软件项目风险评价装置,其特征在于, 上述相关度分析单元每一定时期将相对某类项目风险而放弃的项目指标重新用于评价模型的建立,来建立临时评价模型,并且将利用临时评价模型得到的风险评价结果与利用原评价模型得到的风险评价结果相比较,在临时评价模型得到的风险评价结果比原评价模型得到的风险评价结果更加接近历史风险概率时,将规定的相关度阈值调整为该放弃的项目指标所对应的相关度。
18.根据权利要求10所述的软件项目风险评价装置,其特征在于, 上述计算单元利用支持向量机、神经网络或K近邻算法KNN,对训练数据进行建模处理,来制作项目风险评价模型。 ·
全文摘要
本发明的目的在于提供一种能够建立风险出现概率判断的准确度更高的软件项目风险评价模型的软件项目风险评价方法。本发明的软件项目风险评价方法包括收集步骤,收集多个样本的关于项目指标和项目风险的历史数据;分割步骤,将项目指标所映射的值域分割为多个,针对每个子值域取代表值,上述值域是m维向量空间;统计步骤,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及计算步骤,根据代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型;将模型用于新项目的风险评价。
文档编号G06Q10/06GK103208039SQ20121000975
公开日2013年7月17日 申请日期2012年1月13日 优先权日2012年1月13日
发明者张玄 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1