【技术实现步骤摘要】
一种整合主观和客观评估的需求优先级排序方法及系统
本专利技术涉及软件需求工程
,尤其涉及一种基于整合主观重要性评估和客观影响力评估的需求优先级排序方法及系统。
技术介绍
需求工程是当今软件工程中面临的一个关键问题,根据美国软件行业的一项调查显示,在8000多个项目中,有三分之一的项目没能完成,即使那些完成的项目,也有一半的项目没有成功实施。在导致这些项目失败的原因中,与需求相关的原因占到了45%。需求变更和估算不准确是导致软件开发失败的两个最主要的原因。因此,在信息系统的开发过程中,如何完整准确地获取客户需求,如何在现实的各种条件约束下,对待实现需求进行优先级排序,选择出最有价值的需求优先满足,是软件开发人员面临的一个非常困难而且关键的问题。在需求工程中,参与的涉众包括领域专家、客户、软件开发人员以及扮演其他角色的相关人员。这些涉众具有不同的知识背景、不同的关注点,对系统的利益诉求也不尽相同,对需求的重要程度认识也很难达成一致,导致需求的优先级评价受主观因素影响较大;其次,需求优先级评价往往先于系统设计和实现,缺少评价的客观指标体系,要求涉众对需求的实现成本进行准确预测存在较大困难;第三,需求之间往往存在千丝万缕的联系,割裂联系,仅比较各需求单元本身的重要程度,会带来较大误差。因此需求优先级排序一直是困扰需求工程师的关键问题之一。需求优先级排序是为了在软件开发人员和客户之间针对需求的效益成本最大化问题以及在没有更多可用资源情况下如何选择优先实现的需求而提出的一种解决方案。通过去除那些不必要的需求并且简化那些不必要的复杂部分达到快速开发软件的目的。目前 ...
【技术保护点】
一种整合主观和客观评估的需求优先级排序方法,其特征在于,包括以下步骤:步骤1,确定需求对与相对优先级的排序,得到已排序需求对;设有需求对(a,b),包括需求a和b,相应的相对优先级定义如下,步骤2,确定针对软件属性的需求重要性排序,包括根据软件属性分解树,从其中选择关注的属性作为排序规则;按照已选择的排序规则,在每个排序规则下分别确定相应需求排序结果;步骤3,进行需求主观重要性评估,包括基于已排序需求对和已选排序规则下需求排序结果,利用机器学习技术训练出每个排序规则的权重,生成需求初始优先级计算公式;将所有已选排序规则下需求排序结果导入计算公式,计算出需求初始优先级;步骤4,进行需求客观影响力评估,包括根据业务流程图,构造需求依赖关系网络拓扑图,并在依赖关系网络拓扑图基础上,利用链路分析算法计算需求影响力;步骤5,需求优先级合成,包括根据用户相应的调节因子,整合需求初始优先级和需求影响力,生成需求最终优先级,实现如下,设有需求ri,将需求ri的初始优先级值IRP(ri)除以所有需求中最大的初始优先级值,得到归一化的需求ri的初始优先级值;将需求ri的影响力值PPR(ri)除以所有需求中 ...
【技术特征摘要】
1.一种整合主观和客观评估的需求优先级排序方法,其特征在于,包括以下步骤:步骤1,确定需求对与相对优先级的排序,得到已排序需求对;设有需求对(a,b),包括需求a和b,相应的相对优先级定义如下,步骤2,确定针对软件属性的需求重要性排序,包括根据软件属性分解树,从其中选择关注的属性作为排序规则;按照已选择的排序规则,在每个排序规则下分别确定相应需求排序结果;步骤3,进行需求主观重要性评估,包括基于已排序需求对和已选排序规则下需求排序结果,利用机器学习技术训练出每个排序规则的权重,生成需求初始优先级计算公式;将所有已选排序规则下需求排序结果导入计算公式,计算出需求初始优先级;步骤4,进行需求客观影响力评估,包括根据业务流程图,构造需求依赖关系网络拓扑图,并在依赖关系网络拓扑图基础上,利用链路分析算法计算需求影响力;步骤5,需求优先级合成,包括根据用户相应的调节因子,整合需求初始优先级和需求影响力,生成需求最终优先级,实现如下,设有需求ri,将需求ri的初始优先级值IRP(ri)除以所有需求中最大的初始优先级值,得到归一化的需求ri的初始优先级值;将需求ri的影响力值PPR(ri)除以所有需求中最大的影响力值,即得到归一化的需求ri的影响力值,然后计算如下,需求ri最终优先级值=c·归一化的需求ri初始优先级值+(1-c)·归一化的需求ri影响力值其中,c为调节因子。2.根据权利要求1所述整合主观和客观评估的需求优先级排序方法,其特征在于:步骤3中,利用机器学习技术训练出每个排序规则的权重,实现方式如下,步骤a,给每个需求对赋予相同的权重,并将机器学习过程最大迭代次数设定为T,T值等于已选软件属性的数目,初始化当前迭代次数t=1;步骤b,执行第t次迭代,包括计算出所有已选属性的效度值,挑选其中效度值最大的软件属性,并且只将该属性的权重设定为1/t,其他的属性权重不变;所述效度值计算实现如下,对已选的某个软件属性,将该属性下需求排序结果与某个需求对进行比较,并计算该需求对与该需求排序结果的匹配度如下,其中,fx(a)表示在软件属性x下需求a的排名,fx(b)表示在软件属性x下需求b的排名,设需求对集合为S;基于该属性对所有的需求对都经过匹配度计算之后,根据所有需求对的匹配度Px(a,b)计算该软件属性的效度值Vx如下,其中,每个需求对的权重w(a,b)初始化取值为1;步骤c,如果t<T,则调整需求对权重,将与针对该属性的需求排序结果匹配度最大的需求对的权重w(a,b)当前取值减半,并令t=t+1,返回步骤b,直到T次迭代完毕,得到每个属性相应的权重。3.根据权利要求1或2所述整合主观和客观评估的需求优先级排序方法,其特征在于:步骤4中,利用链路分析算法计算需求影响力,实现方式如下,设Win(ri->rj)表示依赖关系网络拓扑图中依赖关系边ri->rj的入链权重,计算如下,其中,表示需求rj被其它需求所依赖的依赖程度值之和,S(ri)表示需求ri所依赖的所有需求的集合,集合S(ri)中任一需求记为rp;设Wout(ri->rj)表示依赖关系网络拓扑图中依赖关系边ri->rj的出链权重,计算如下,其中,表示需求rj依赖于其他需求的依赖程度值之和,表示需求rp依赖于其他需求的依赖程度值之和;定义需求rj对ri的总影响力程度值为并使用B(rj)表示依赖于rj的需求的集合,迭代更新需求rj的总影响力值PPR(rj)如下,其中,d为阻尼系数。4.一种整合主观和客观评估的需求优先级排序系统,其特征在于,包括以下模块:需求对排...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。