软件项目风险评价方法及装置制造方法及图纸

技术编号:8934666 阅读:129 留言:0更新日期:2013-07-18 03:16
本发明专利技术的目的在于提供一种能够建立风险出现概率判断的准确度更高的软件项目风险评价模型的软件项目风险评价方法。本发明专利技术的软件项目风险评价方法包括:收集步骤,收集多个样本的关于项目指标和项目风险的历史数据;分割步骤,将项目指标所映射的值域分割为多个,针对每个子值域取代表值,上述值域是m维向量空间;统计步骤,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及计算步骤,根据代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型;将模型用于新项目的风险评价。

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

【技术保护点】
一种软件项目风险评价方法,其特征在于,包括:收集步骤,收集多个样本的关于项目指标和项目风险的历史数据;分割步骤,将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间,其中,m是大于0的整数;统计步骤,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率,以及计算步骤,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型。

【技术特征摘要】
1.一种软件项目风险评价方法,其特征在于,包括:收集步骤,收集多个样本的关于项目指标和项目风险的历史数据;分割步骤,将上述项目指标所映射的值域分割为多个,针对每个分割后的子值域取代表值,设相对于某类项目风险的项目指标的种类数量为m时,上述值域是m维向量空间,其中,m是大于0的整数;统计步骤,根据收集到的历史数据,统计每个子值域中伴随某类项目风险发生的项目指标映射点的数量相对于映射到该子值域中的所有项目指标映射点的数量的比值,作为该类项目风险出现的风险概率;计算步骤,根据上述代表值与统计后的上述风险概率,进行归一化处理,作为训练数据,制作项目风险评价模型;以及评价步骤,利用上述计算步骤中计算出的项目风险评价模型对新的软件项目进行风险评价,得到预测风险概率。2.根据权利要求1所述的软件项目风险评价方法,其特征在于,在上述分割步骤中,将映射到某个子值域中的样本数量与规定的数量阈值相比较,根据比较结果调整分割的子值域的大小。3.根据权利要求1所述的软件项目风险评价方法,其特征在于,还包括验证步骤,将历史数据中的一部分数据作为验证数据,代入项目风险评价模型来得到验证用预测风险概率,并计算该验证用预测风险概率与验证数据的历史风险概率之差相对于历史风险概率的百分比,在上述百分比大于规定验证阈值的情况下,不使用该项目风险评价模型进行风险评价。4.根据权利要求1所述的软件项目风险评价方法,其特征在于,还包括反馈步骤,每当新的软件项目完成之后,收集该软件项目的与项目指标和项目风险有关的信息反馈给上述收集步骤,作为历史数据,重新制作项目风险评价模型。5.根据权利要求1所述的软件项目风险评价方法,其特征在于,在上述分割步骤中,取每个子值域的中心值作为该子值域的代表值。6.根据权利要求1所述的软件项目风险评价方法,其特征在于,还包括相关度分析步骤,根据在上述统计步骤统计出来的、每个子值域中伴随某类项目风险发生的某类项目指标的出现次数,计算该某类项目风险与该某类项目指标之间的相关度指标,仅将相关度指标在规定的相关度阈值以上的项目指标作为相关项目指标用于分割步骤,在上述分割步骤中,仅将上述相关项目指标所映射的值域作为m维向量空间进行分割。7.根据权利要求6所述的软件项目风险评价方法,其特征在于,在上述相关度分析步骤中,每一定时期将相对某类项目风险而放弃的项目指标重新用于评价模型的建立,来建立临时评价模型,并且比较将历史数据分别代入临时评价模型和原评价模型而得到的风险评价结果,在作为临时评价模型的风险评价结果的预测风险概率比作为原评价模型的风险评价结果的预测风险概率更加接近历史风险概率时,将规定的相关度阈值调整为该放弃的项目指标所对应的相关度。8.根据权利要求1所述的软件项目风险评价方法,其特征在于,在上述计算步骤中,利用支持向量机、神经网络或K近邻算法KNN,对训练数据进行建模处理...

【专利技术属性】
技术研发人员:张玄
申请(专利权)人:株式会社日立制作所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1