CN104732307B - 项目工作量获取方法和系统 - Google Patents
项目工作量获取方法和系统 Download PDFInfo
- Publication number
- CN104732307B CN104732307B CN201310699727.9A CN201310699727A CN104732307B CN 104732307 B CN104732307 B CN 104732307B CN 201310699727 A CN201310699727 A CN 201310699727A CN 104732307 B CN104732307 B CN 104732307B
- Authority
- CN
- China
- Prior art keywords
- project
- work
- amount
- value
- history
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种项目工作量获取方法和系统,涉及计算机软件技术领域。能将当前项目按照项目活动类型进行拆分,再充分结合历史项目数据样本计算各项目活动类型的工作量,据此能计算出各阶段工作量,及整个项目总工作量。因此能将项目工作量的获取工作精细到项目活动级别,即采用本发明实施例在项目工作量评估中能够细化到项目的每个活动,继而细化到每个阶段,继而能准确的获取到整个项目工作量的大小。进一步的,在项目工作量获取的过程中,具体采用对历史相似项目总工作量、项目代码总工作量及当前项目总工作量参考值计算加权求和,得到当前项目总工作量的方式,充分考虑到多种软件工作量评估算法的情况,进一步提高工作量获取的精准度。
Description
技术领域
本发明涉及计算机软件技术领域,特别涉及一种项目工作量获取方法和系统。
背景技术
软件开发量客观、准确、简便估算是一个世界性难题,随着软件信息技术的发展,软件产业的影响越来越大,软件开发的投入也越来越大。但在实际的软件生产过程中,普遍存在着项目超期、费用超支和低质量等诸多问题,究其原因在于软件项目早期对项目的估算不够有效和准确。
目前虽然有一些软件项目工作量评估方案,能够在软件项目早期项目工作量进行评估,但普遍存在考量因素有限,导致评估结果不够准确的问题。
例如功能点估算法,是目前软件项目管理众多知识中比较有技术含量的一个。
具体的,功能点分析法(FPA)流程与基本算法:
1)一个软件系统可包含多个软件子系统,软件子系统可含若干个软件功能,软件功能(软件系统)都被看作是由外部输入处理(EI)、外部输出处理(EO)、外部查询处理(EQ)、内部逻辑文件(ILF)和外部接口文件(EIF)五种要素组成。
2)识别功能点的类型。
3)识别待估算应用程序的边界和范围。
4)计算数据类型功能点所提供的未调整的功能点数量。
5)计算人机交互功能所提供的未调整的功能点数量。
6)确定调整因子。
7)计算调整后的功能点数量。
该方法优点:基于客户视角,容易理解和接受,与计算机技术和语言无关,简单,易于计算。该方法缺点:只考虑可见部分的复杂度,对系统内部的复杂度考虑太少,对一些复杂的功能,统计误差较大,也未考虑集成带来的额外开销。
由于在软件项目管理中项目计划制定的优劣直接关系到项目的成败,因此迫切需要一种能够在软件项目早期能够客观准确合理的评估软件相关工作量的解决方案,以便对软件项目起到实质性指导意义。提高企业软件项目管理效率及降低软件项目管理成本。
发明内容
鉴于上述问题,本发明实施例提供一种项目工作量获取方法和系统,能够在软件项目早期能够客观准确合理的评估项目相关工作量。
本发明实施例采用了如下技术方案:
本发明一个实施例提供了一种项目工作量获取方法,所述方法包括:
将当前项目按照项目活动类型进行拆分;
利用历史项目数据样本获取当前项目中各类项目活动的工作量;
针对当前项目各阶段,获取各阶段所包括项目活动的工作量的加和,得到各阶段总工作量;
针对当前项目,获取各阶段总工作量的加和,得到当前项目总工作量参考值;
对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和,得到当前项目总工作量;所述历史相似项目总工作量为历史项目数据样本中与所述当前项目相似的历史项目的总工作量;所述项目代码总工作量为所述当前项目中根据总代码行数获取的项目总工作量。
所述利用历史项目数据样本获取当前项目中各类项目活动的工作量包括:
针对每类项目活动:在历史项目数据样本中,获取该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的历史评估因子;以及,获取当前项目中该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的当前评估因子;所述评估因子用于标识项目活动的综合工作量指标;
根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量。
所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值;
利用工作量参数度量值及需求点数获取评估因子的方法为:
需求点数*需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,得到评估因子;
其中,所述需求稳定度值标识偏离需求稳定标准值的程度,偏离的越多,需求稳定度值越大;所述项目紧迫度值标识偏离紧迫度标准值的程度,偏离的越多,项目紧迫度值越小;所述技能值标识偏离技能标准值的程度,偏离的越多,技能值越大;所述技术难度值标识偏离技术难度标准值的程度,偏离的越多,技术难度值越大;所述复杂度值标识偏离复杂度标准值的程度,偏离的越多,复杂度值越大。
所述根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量包括:
每类项目活动的工作量=(当前评估因子/历史评估因子)*每类历史项目活动的工作量;
当前项目中项目活动的需求点数的获取方法为:
获取一组或多组需求点数信息,包括最小需求点数、可能需求点数及最大需求点数;
针对每组需求点数信息,计算,需求点数=(v1*最小需求点数+v2*可能需求点数+v3*最大需求点数)/N;
其中,v1为最小需求点数加权值,v2为可能需求点数加权值,v3为最大需求点数加权值;且v1+v2+v3=N;
在对得到的多组需求点数求平均,获取当前项目中项目活动的需求点数。
所述历史相似项目总工作量的获取方法为:
在历史项目数据样本中,获取与当前项目相似的历史项目;
在所述相似的历史项目中筛选得到与所述当前项目拆分得到的项目活动相同类型的项目活动对应的工作量参数度量值;
针对当前项目中各类项目活动,分别根据当前项目中该类项目活动的需求点数及经所述筛选得到的该类项目活动的工作量参数度量值,获取该类项目活动的历史相似工作量;
针对当前项目各阶段,获取各阶段所包括项目活动的历史相似工作量的加和,得到各阶段历史相似总工作量;
针对当前项目,获取各阶段历史相似总工作量的加和,得到当前项目历史相似项目总工作量;
所述项目代码总工作量的获取方法为:
在历史项目数据样本中,获取与当前项目相似的历史项目;
分别获取所述与当前项目相似的历史项目的总工作量和总代码行数;
利用总工作量除以总代码行数得到单位行数工作量;
再将单位行数工作量乘以当前项目总代码行数,得到项目代码总工作量;
所述对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和为:
M1*当前项目总工作量参考值+M2*历史相似项目总工作量+M3*项目代码总工作量;
其中,M1为当前项目总工作量参考值的加权值;M2为历史相似项目总工作量加权值;M3为项目代码总工作量加权值;且,M1+M2+M3=1;
所述方法还包括:
在当前项目实施后,将当前项目信息增加到所述历史项目数据样本中;
所述方法还包括:
根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对。
另外,本发明实施例还提供了一种项目工作量获取系统,所述系统包括:
拆分模块,用于将当前项目按照项目活动类型进行拆分;
项目活动工作量获取模块,用于利用历史项目数据样本获取当前项目中各类项目活动的工作量;
阶段总工作量获取模块,用于针对当前项目各阶段,获取各阶段所包括项目活动的工作量的加和,得到各阶段总工作量;
项目工作量参考值获取模块,用于针对当前项目,获取各阶段总工作量的加和,得到当前项目总工作量参考值;
项目总工作量获取模块,用于对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和,得到当前项目总工作量;所述历史相似项目总工作量为历史项目数据样本中与所述当前项目相似的历史项目的总工作量;所述项目代码总工作量为所述当前项目中根据总代码行数获取的项目总工作量。
所述项目活动工作量获取模块包括:
评估因子获取单元,用于针对每类项目活动:在历史项目数据样本中,获取该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的历史评估因子;以及,获取当前项目中该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的当前评估因子;所述评估因子用于标识项目活动的综合工作量指标;
项目活动工作量获取单元,用于根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量。
所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值;
所述项目活动工作量获取模块还包括评估因子计算单元,用于利用工作量参数度量值及需求点数计算评估因子,即需求点数*需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,得到评估因子;
其中,所述需求稳定度值标识偏离需求稳定标准值的程度,偏离的越多,需求稳定度值越大;所述项目紧迫度值标识偏离紧迫度标准值的程度,偏离的越多,项目紧迫度值越小;所述技能值标识偏离技能标准值的程度,偏离的越多,技能值越大;所述技术难度值标识偏离技术难度标准值的程度,偏离的越多,技术难度值越大;所述复杂度值标识偏离复杂度标准值的程度,偏离的越多,复杂度值越大。
所述项目活动工作量获取单元具体用于利用如下公式获取每类项目活动的工作量:
每类项目活动的工作量=(当前评估因子/历史评估因子)*每类历史项目活动的工作量;
所述系统还包括需求点数获取模块,用于获取当前项目中项目活动的需求点数;
所述需求点数获取模块包括:
需求点信息获取单元,用于获取一组或多组需求点数信息,包括最小需求点数、可能需求点数及最大需求点数;
需求点数计算单元,用于利用如下公式计算需求点数:
需求点数=(v1*最小需求点数+v2*可能需求点数+v3*最大需求点数)/N;
其中,v1为最小需求点数加权值,v2为可能需求点数加权值,v3为最大需求点数加权值;且v1+v2+v3=N。
所述系统还包括历史相似项目总工作量获取模块和项目代码总工作量获取模块;
所述历史相似项目总工作量获取模块包括:
相似历史项目获取单元,用于在历史项目数据样本中,获取与当前项目相似的历史项目;
工作量参数度量值获取单元,用于在所述相似的历史项目中筛选得到与所述当前项目拆分得到的项目活动相同类型的项目活动对应的工作量参数度量值;
项目活动的历史相似工作量获取单元,用于针对当前项目中各类项目活动,分别根据当前项目中该类项目活动的需求点数及经所述筛选得到的该类项目活动的工作量参数度量值,获取该类项目活动的历史相似工作量;
阶段历史相似总工作量获取单元,用于针对当前项目各阶段,获取各阶段所包括项目活动的历史相似工作量的加和,得到各阶段历史相似总工作量;
历史相似项目总工作量获取单元,用于针对当前项目,获取各阶段历史相似总工作量的加和,得到当前项目历史相似项目总工作量;
所述项目代码总工作量获取模块包括:
相似历史项目获取单元,用于在历史项目数据样本中,获取与当前项目相似的历史项目;
工作量和代码行数获取单元,用于分别获取所述与当前项目相似的历史项目的总工作量和总代码行数;
单位行数工作量获取单元,用于利用总工作量除以总代码行数得到单位行数工作量;
项目代码总工作量获取单元,用于将单位行数工作量乘以当前项目总代码行数,得到项目代码总工作量;
所述项目总工作量获取模块具体用于利用如下公式计算项目总工作量:
M1*当前项目总工作量参考值+M2*历史相似项目总工作量+M3*项目代码总工作量;
其中,M1为当前项目总工作量参考值的加权值;M2为历史相似项目总工作量加权值;M3为项目代码总工作量加权值;且,M1+M2+M3=1;
所述系统还包括新样本增加模块,用于在当前项目实施后,将当前项目信息增加到所述历史项目数据样本中;
所述系统还包括校对模块,用于根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对。
可见,本发明实施例提供一种项目工作量评估方法和系统,能够将当前项目按照项目活动类型进行拆分,再充分结合历史项目数据样本计算各项目活动的工作量,据此能够计算出整个项目各阶段工作量,及整个项目的总工作量。因此,可见本发明实施例能够将项目工作量的获取工作精细到项目活动级别,也就是说,采用本发明实施例在项目工作量评估中能够细化到项目的每个活动,继而细化到每个阶段,继而能够准确的获取到整个项目工作量的大小。
进一步的,本发明实施例中,在项目工作量获取的过程中,具体采用对历史相似项目总工作量、项目代码总工作量及当前项目总工作量参考值计算加权求和,得到当前项目总工作量的方式,也就是说,充分考虑到多种软件工作量评估算法的情况,进一步提高的工作量获取的精准度。
进一步的,优选的,所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值等。也就是说,在对项目工作量获取的过程中,考虑的因素不仅仅局限在表面可见的部分,而是综合考虑到项目中的多项因素,以进一步提高项目工作量获取的客观准确性。
进一步的,本发明实施例中,还能够实现项目工作量评估的调优方法,即可以根据项目最终工作量实时修正工作量参数度量值继而修正评估因子,以便提高后续项目工作量获取的准确度。
附图说明
图1为本发明实施例提供的一种项目工作量获取方法流程图;
图2为本发明实施例提供的一种项目工作量获取系统结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
需要说明的是,本发明实施例通过计算机程序对外部数据即项目中有关工作量的各参数数据进行一系列处理,从而得到符合自然规律的结果,即获取到项目工作量,从而能够在软件项目早期能够客观准确合理的评估项目相关工作量。从而对软件项目起到实质性指导意义,提高企业软件项目管理效率及降低软件项目管理成本。
参见图1,本发明实施例提供一种项目工作量获取方法,所述方法包括:
S101:将当前项目按照项目活动类型进行拆分。
本发明实施例中能够将当前项目按照项目活动类型进行拆分,再充分结合历史项目数据样本计算各项目活动的工作量,据此能够计算出整个项目各阶段工作量,及整个项目的总工作量。因此,可见本发明实施例能够将项目工作量的获取工作精细到项目活动级别,也就是说,采用本发明实施例在项目工作量评估中能够细化到项目的每个活动,继而细化到每个阶段,继而能够准确的获取到整个项目工作量的大小。
S102:利用历史项目数据样本获取当前项目中各类项目活动的工作量。
需要说明的是,这里引入几个概念:
WBS工作分解:以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。
需求点:就是划分成最小的增删查改级的功能点。
具体的,项目的规模可以用需求点来进行估算,需求点是由需求数目乘上需求的难易系数相加而得,如果软件需求已经明确,则需求点可有软件需求说明书中获取。这里,需求难易系数:分为难、中、易,且每个程度都有具体的数值范围。
评估因子:是用于标识当前项目的综合工作量的指标。根据项目规模,裁剪类型,可以根据一定的算法(根据影响范围得到)得到新估算项目工作量的评估因子。
本步骤中,上述利用历史项目数据样本获取当前项目中各类项目活动的工作量包括:
针对每类项目活动:在历史项目数据样本中,获取该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的历史评估因子;以及,获取当前项目中该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的当前评估因子;所述评估因子用于标识项目活动的综合工作量指标。
再根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量。
需要说明的是,为了进一步提高项目工作量获取的客观准确性,在对项目工作量获取的过程中,考虑的因素不仅仅局限在表面可见的部分,而是综合考虑到项目中的多项因素,优选的,所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值等。
相应的,利用工作量参数度量值及需求点数获取评估因子的方法为:
需求点数*需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,得到评估因子。
其中,所述需求稳定度值标识偏离需求稳定标准值的程度,偏离的越多,需求稳定度值越大;所述项目紧迫度值标识偏离紧迫度标准值的程度,偏离的越多,项目紧迫度值越小;所述技能值标识偏离技能标准值的程度,偏离的越多,技能值越大;所述技术难度值标识偏离技术难度标准值的程度,偏离的越多,技术难度值越大;所述复杂度值标识偏离复杂度标准值的程度,偏离的越多,复杂度值越大。
优选的,在对评估因子计算的公式中,为了不使得需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值中某个值过大对计算结果产生较大影响,从而影响到最终项目工作量的评估结果,本发明实施例中优选的,需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值均应取值小于或等于的正数。
举例说明,需求稳定标准值、项目紧迫标准值、技能标准值、技术难度标准值和复杂度标准值均为1,这样保证上述计算公式中,当某一工作量参数度量值在标准值时,不对结果产生影响。
其中,若需求稳定参数X1取值为大于或等于1,即需求稳定参数X1大于1越多,说明需求越不稳定,相应的工作量越大,优选的,需求稳定度值则具体为X1-1,也就是说,用需求稳定参数实际偏离需求稳定标准值1的偏离量作为需求稳定度值。
同理,若项目紧迫参数X2取值为小于或等于1,也就是说,当X2为1时,说明项目达到应马上启动的紧迫度,当项目小于1,则说明项目更加紧迫,即X2取值为0.7时比取值0.8时更加紧迫,优选的,项目迫切度值具体为1-X2。
基于同样的道理,技能值、技术难度值和复杂度值与上述需求稳定度值的处理原理一致,本发明实施例对此不再赘述。
需要说明的是,上述根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量包括:
每类项目活动的工作量=(当前评估因子/历史评估因子)*每类历史项目活动的工作量。
本发明实施例中,当前项目中项目活动的需求点数的获取方法为:
获取一组或多组需求点数信息,包括最小需求点数、可能需求点数及最大需求点数;
针对每组需求点数信息,计算,需求点数=(v1*最小需求点数+v2*可能需求点数+v3*最大需求点数)/N;
其中,v1为最小需求点数加权值,v2为可能需求点数加权值,v3为最大需求点数加权值;且v1+v2+v3=N;
在对得到的多组需求点数求平均,获取当前项目中项目活动的需求点数。
S103:针对当前项目各阶段,获取各阶段所包括项目活动的工作量的加和,得到各阶段总工作量。
S104:针对当前项目,获取各阶段总工作量的加和,得到当前项目总工作量参考值。
S105:对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和,得到当前项目总工作量;所述历史相似项目总工作量为历史项目数据样本中与所述当前项目相似的历史项目的总工作量;所述项目代码总工作量为所述当前项目中根据总代码行数获取的项目总工作量。
在本发明的一优选实施例中,上述历史相似项目总工作量的获取方法为:
在历史项目数据样本中,获取与当前项目相似的历史项目;
在所述相似的历史项目中筛选得到与所述当前项目拆分得到的项目活动相同类型的项目活动对应的工作量参数度量值;
针对当前项目中各类项目活动,分别根据当前项目中该类项目活动的需求点数及经所述筛选得到的该类项目活动的工作量参数度量值,获取该类项目活动的历史相似工作量;
针对当前项目各阶段,获取各阶段所包括项目活动的历史相似工作量的加和,得到各阶段历史相似总工作量;
针对当前项目,获取各阶段历史相似总工作量的加和,得到当前项目历史相似项目总工作量。
本发明的另一优选实施例中,所述项目代码总工作量的获取方法为:
在历史项目数据样本中,获取与当前项目相似的历史项目;
分别获取所述与当前项目相似的历史项目的总工作量和总代码行数;
利用总工作量除以总代码行数得到单位行数工作量;
再将单位行数工作量乘以当前项目总代码行数,得到项目代码总工作量。
则本步骤对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和为:
M1*当前项目总工作量参考值+M2*历史相似项目总工作量+M3*项目代码总工作量;
其中,M1为当前项目总工作量参考值的加权值;M2为历史相似项目总工作量加权值;M3为项目代码总工作量加权值;且,M1+M2+M3=1。
本领域技术人员可以根据具体实际情况自行设定加权值,优选的,M1为0.8,M2和M3均为0.1。
可见,本发明实施例中,在项目工作量获取过程中,具体采用对历史相似项目总工作量、项目代码总工作量及当前项目总工作量参考值计算加权求和,得到当前项目总工作量的方式,也就是说,充分考虑到多种软件工作量评估算法的情况,进一步提高的工作量获取的精准度。
优选的,本发明实施例提供的方法还包括:
在当前项目实施后,将当前项目信息增加到所述历史项目数据样本中。
进一步的,本发明实施例提供的方法还包括:
根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对。
具体的,一种根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对的具体实现方法可以包括如下几个步骤:
a)将项目实施过程按软件实施过程进行分段,并记录实际各分段过程工作量。
b)项目实施前评估需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,项目实施完成后,重新修正这些指标。
c)将修正后的指标值与实际的工作量补充到项目度量库中。
d)根据项目度量库得到的工作量参数与该项目实际工作量做比较,分析比较后得到的偏差幅度。
e)如果偏差幅度+-20%之外或+-5%之内,则对偏差原因做分析,形成分析报告并将报告记录到项目度量库中。
可见,本发明实施例提供的项目工作量获取方法,还能够实现项目工作量评估的调优方法,即可以根据项目最终工作量实时修正工作量参数度量值继而修正评估因子,以便提高后续项目工作量获取的准确度。
参见图2,本发明实施例还提供一种项目工作量获取系统,所述系统包括:
拆分模块201,用于将当前项目按照项目活动类型进行拆分;
项目活动工作量获取模块202,用于利用历史项目数据样本获取当前项目中各类项目活动的工作量;
阶段总工作量获取模块203,用于针对当前项目各阶段,获取各阶段所包括项目活动的工作量的加和,得到各阶段总工作量;
项目工作量参考值获取模块204,用于针对当前项目,获取各阶段总工作量的加和,得到当前项目总工作量参考值;
项目总工作量获取模块205,用于对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和,得到当前项目总工作量;所述历史相似项目总工作量为历史项目数据样本中与所述当前项目相似的历史项目的总工作量;所述项目代码总工作量为所述当前项目中根据总代码行数获取的项目总工作量。
优选的,所述项目活动工作量获取模块202包括:
评估因子获取单元,用于针对每类项目活动:在历史项目数据样本中,获取该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的历史评估因子;以及,获取当前项目中该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的当前评估因子;所述评估因子用于标识项目活动的综合工作量指标。
以及,项目活动工作量获取单元,用于根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量。
优选的,所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值。
相应的,所述项目活动工作量获取模块202还包括评估因子计算单元,用于利用工作量参数度量值及需求点数计算评估因子,即需求点数*需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,得到评估因子。
其中,所述需求稳定度值标识偏离需求稳定标准值的程度,偏离的越多,需求稳定度值越大;所述项目紧迫度值标识偏离紧迫度标准值的程度,偏离的越多,项目紧迫度值越小;所述技能值标识偏离技能标准值的程度,偏离的越多,技能值越大;所述技术难度值标识偏离技术难度标准值的程度,偏离的越多,技术难度值越大;所述复杂度值标识偏离复杂度标准值的程度,偏离的越多,复杂度值越大。
具体的,所述项目活动工作量获取单元用于利用如下公式获取每类项目活动的工作量:
每类项目活动的工作量=(当前评估因子/历史评估因子)*每类历史项目活动的工作量。
进一步的,所述系统还包括需求点数获取模块,用于获取当前项目中项目活动的需求点数。
所述需求点数获取模块包括:
需求点信息获取单元,用于获取一组或多组需求点数信息,包括最小需求点数、可能需求点数及最大需求点数;
需求点数计算单元,用于利用如下公式计算需求点数:
需求点数=(v1*最小需求点数+v2*可能需求点数+v3*最大需求点数)/N;
其中,v1为最小需求点数加权值,v2为可能需求点数加权值,v3为最大需求点数加权值;且v1+v2+v3=N。
进一步的,所述系统还包括历史相似项目总工作量获取模块和项目代码总工作量获取模块。
其中,所述历史相似项目总工作量获取模块包括:
相似历史项目获取单元,用于在历史项目数据样本中,获取与当前项目相似的历史项目;
工作量参数度量值获取单元,用于在所述相似的历史项目中筛选得到与所述当前项目拆分得到的项目活动相同类型的项目活动对应的工作量参数度量值;
项目活动的历史相似工作量获取单元,用于针对当前项目中各类项目活动,分别根据当前项目中该类项目活动的需求点数及经所述筛选得到的该类项目活动的工作量参数度量值,获取该类项目活动的历史相似工作量;
阶段历史相似总工作量获取单元,用于针对当前项目各阶段,获取各阶段所包括项目活动的历史相似工作量的加和,得到各阶段历史相似总工作量;
历史相似项目总工作量获取单元,用于针对当前项目,获取各阶段历史相似总工作量的加和,得到当前项目历史相似项目总工作量。
另外,所述项目代码总工作量获取模块包括:
相似历史项目获取单元,用于在历史项目数据样本中,获取与当前项目相似的历史项目;
工作量和代码行数获取单元,用于分别获取所述与当前项目相似的历史项目的总工作量和总代码行数;
单位行数工作量获取单元,用于利用总工作量除以总代码行数得到单位行数工作量;
项目代码总工作量获取单元,用于将单位行数工作量乘以当前项目总代码行数,得到项目代码总工作量。
优选的,所述项目总工作量获取模块具体用于利用如下公式计算项目总工作量:
M1*当前项目总工作量参考值+M2*历史相似项目总工作量+M3*项目代码总工作量。
其中,M1为当前项目总工作量参考值的加权值;M2为历史相似项目总工作量加权值;M3为项目代码总工作量加权值;且,M1+M2+M3=1。
进一步的,本发明实施例提供的系统还包括新样本增加模块,用于在当前项目实施后,将当前项目信息增加到所述历史项目数据样本中。
优选的,本发明实施例提供的所述系统还包括校对模块,用于根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对。
需要说明的是,本发明系统实施例中的各个模块或者单元的工作原理和处理过程可以参见上述图1所示方法实施例中的相关描述,此处不再赘述。
可见,本发明实施例提供一种项目工作量评估系统,能够将当前项目按照项目活动类型进行拆分,再充分结合历史项目数据样本计算各项目活动的工作量,据此能够计算出整个项目各阶段工作量,及整个项目的总工作量。因此,可见本发明实施例能够将项目工作量的获取工作精细到项目活动级别,也就是说,采用本发明实施例在项目工作量评估中能够细化到项目的每个活动,继而细化到每个阶段,继而能够准确的获取到整个项目工作量的大小。
进一步的,本发明实施例中,在项目工作量获取的过程中,具体采用对历史相似项目总工作量、项目代码总工作量及当前项目总工作量参考值计算加权求和,得到当前项目总工作量的方式,也就是说,充分考虑到多种软件工作量评估算法的情况,进一步提高的工作量获取的精准度。
进一步的,优选的,所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值等。也就是说,在对项目工作量获取的过程中,考虑的因素不仅仅局限在表面可见的部分,而是综合考虑到项目中的多项因素,以进一步提高项目工作量获取的客观准确性。
进一步的,本发明实施例中,还能够实现项目工作量评估的调优方法,即可以根据项目最终工作量实时修正工作量参数度量值继而修正评估因子,以便提高后续项目工作量获取的准确度。
为了便于清楚描述本发明实施例的技术方案,在发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括如下步骤:(方法的步骤),所述的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (8)
1.一种项目工作量获取方法,其特征在于,所述方法包括:
将当前项目按照项目活动类型进行拆分;
利用历史项目数据样本获取当前项目中各类项目活动的工作量;
针对当前项目各阶段,获取各阶段所包括项目活动的工作量的加和,得到各阶段总工作量;
针对当前项目,获取各阶段总工作量的加和,得到当前项目总工作量参考值;
对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和,得到当前项目总工作量;所述历史相似项目总工作量为历史项目数据样本中与所述当前项目相似的历史项目的总工作量;所述项目代码总工作量为所述当前项目中根据总代码行数获取的项目总工作量;
所述利用历史项目数据样本获取当前项目中各类项目活动的工作量包括:
针对每类项目活动:在历史项目数据样本中,获取该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的历史评估因子;以及,获取当前项目中该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的当前评估因子;当前评估因子用于标识当前项目活动的综合工作量指标,历史评估因子用于标识历史项目活动的综合工作量指令;所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值;
根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量;
其中,所述历史相似项目总工作量的获取方法为:
在历史项目数据样本中,获取与当前项目相似的历史项目;
在所述相似的历史项目中筛选得到与所述当前项目拆分得到的项目活动相同类型的项目活动对应的工作量参数度量值;
针对当前项目中各类项目活动,分别根据当前项目中该类项目活动的需求点数及经所述筛选得到的该类项目活动的工作量参数度量值,获取该类项目活动的历史相似工作量;
针对当前项目各阶段,获取各阶段所包括项目活动的历史相似工作量的加和,得到各阶段历史相似总工作量;
针对当前项目,获取各阶段历史相似总工作量的加和,得到当前项目历史相似项目总工作量。
2.根据权利要求1所述的方法,其特征在于,利用工作量参数度量值及需求点数获取评估因子的方法为:
需求点数*需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,得到评估因子;
其中,所述需求稳定度值标识偏离需求稳定标准值的程度,偏离的越多,需求稳定度值越大;所述项目紧迫度值标识偏离紧迫度标准值的程度,偏离的越多,项目紧迫度值越小;所述技能值标识偏离技能标准值的程度,偏离的越多,技能值越大;所述技术难度值标识偏离技术难度标准值的程度,偏离的越多,技术难度值越大;所述复杂度值标识偏离复杂度标准值的程度,偏离的越多,复杂度值越大。
3.根据权利要求1所述的方法,其特征在于,所述根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量包括:
每类项目活动的工作量=(当前评估因子/历史评估因子)*每类历史项目活动的工作量;
当前项目中项目活动的需求点数的获取方法为:
获取一组或多组需求点数信息,包括最小需求点数、可能需求点数及最大需求点数;
针对每组需求点数信息,计算,需求点数=(v1*最小需求点数+v2*可能需求点数+v3*最大需求点数)/N;
其中,v1为最小需求点数加权值,v2为可能需求点数加权值,v3为最大需求点数加权值;且v1+v2+v3=N;
在对得到的多组需求点数求平均,获取当前项目中项目活动的需求点数。
4.根据权利要求1所述的方法,其特征在于,
所述项目代码总工作量的获取方法为:
在历史项目数据样本中,获取与当前项目相似的历史项目;
分别获取所述与当前项目相似的历史项目的总工作量和总代码行数;
利用总工作量除以总代码行数得到单位行数工作量;
再将单位行数工作量乘以当前项目总代码行数,得到项目代码总工作量;
所述对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和为:
M1*当前项目总工作量参考值+M2*历史相似项目总工作量+M3*项目代码总工作量;
其中,M1为当前项目总工作量参考值的加权值;M2为历史相似项目总工作量加权值;M3为项目代码总工作量加权值;且,M1+M2+M3=1;
所述方法还包括:
在当前项目实施后,将当前项目信息增加到所述历史项目数据样本中;
所述方法还包括:
根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对。
5.一种项目工作量获取系统,其特征在于,所述系统包括:
拆分模块,用于将当前项目按照项目活动类型进行拆分;
项目活动工作量获取模块,用于利用历史项目数据样本获取当前项目中各类项目活动的工作量;
阶段总工作量获取模块,用于针对当前项目各阶段,获取各阶段所包括项目活动的工作量的加和,得到各阶段总工作量;
项目工作量参考值获取模块,用于针对当前项目,获取各阶段总工作量的加和,得到当前项目总工作量参考值;
项目总工作量获取模块,用于对历史相似项目总工作量、项目代码总工作量及所述当前项目总工作量参考值计算加权求和,得到当前项目总工作量;所述历史相似项目总工作量为历史项目数据样本中与所述当前项目相似的历史项目的总工作量;所述项目代码总工作量为所述当前项目中根据总代码行数获取的项目总工作量;
所述项目活动工作量获取模块包括:
评估因子获取单元,用于针对每类项目活动:在历史项目数据样本中,获取该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的历史评估因子;以及,获取当前项目中该类项目活动的工作量参数度量值,及该类项目活动的需求点数,获取该类项目活动的当前评估因子;当前评估因子用于标识当前项目活动的综合工作量指标,历史评估因子用于标识历史项目活动的综合工作量指令;所述工作量参数度量值包括:需求稳定度值、项目紧迫度值、技能值、技术难度值和复杂度值;
项目活动工作量获取单元,用于根据各类历史项目活动的工作量、所述历史评估因子和当前评估因子,获取当前项目中各类项目活动的工作量;
所述系统还包括历史相似项目总工作量获取模块和项目代码总工作量获取模块;
所述历史相似项目总工作量获取模块包括:
相似历史项目获取单元,用于在历史项目数据样本中,获取与当前项目相似的历史项目;
工作量参数度量值获取单元,用于在所述相似的历史项目中筛选得到与所述当前项目拆分得到的项目活动相同类型的项目活动对应的工作量参数度量值;
项目活动的历史相似工作量获取单元,用于针对当前项目中各类项目活动,分别根据当前项目中该类项目活动的需求点数及经所述筛选得到的该类项目活动的工作量参数度量值,获取该类项目活动的历史相似工作量;
阶段历史相似总工作量获取单元,用于针对当前项目各阶段,获取各阶段所包括项目活动的历史相似工作量的加和,得到各阶段历史相似总工作量;
历史相似项目总工作量获取单元,用于针对当前项目,获取各阶段历史相似总工作量的加和,得到当前项目历史相似项目总工作量。
6.根据权利要求5所述的系统,其特征在于,
所述项目活动工作量获取模块还包括评估因子计算单元,用于利用工作量参数度量值及需求点数计算评估因子,即需求点数*需求稳定度值*项目紧迫度值*技能值*技术难度值*复杂度值,得到评估因子;
其中,所述需求稳定度值标识偏离需求稳定标准值的程度,偏离的越多,需求稳定度值越大;所述项目紧迫度值标识偏离紧迫度标准值的程度,偏离的越多,项目紧迫度值越小;所述技能值标识偏离技能标准值的程度,偏离的越多,技能值越大;所述技术难度值标识偏离技术难度标准值的程度,偏离的越多,技术难度值越大;所述复杂度值标识偏离复杂度标准值的程度,偏离的越多,复杂度值越大。
7.根据权利要求6所述的系统,其特征在于,所述项目活动工作量获取单元具体用于利用如下公式获取每类项目活动的工作量:
每类项目活动的工作量=(当前评估因子/历史评估因子)*每类历史项目活动的工作量;
所述系统还包括需求点数获取模块,用于获取当前项目中项目活动的需求点数;
所述需求点数获取模块包括:
需求点信息获取单元,用于获取一组或多组需求点数信息,包括最小需求点数、可能需求点数及最大需求点数;
需求点数计算单元,用于利用如下公式计算需求点数:
需求点数=(v1*最小需求点数+v2*可能需求点数+v3*最大需求点数)/N;
其中,v1为最小需求点数加权值,v2为可能需求点数加权值,v3为最大需求点数加权值;且v1+v2+v3=N。
8.根据权利要求6所述的系统,其特征在于,
所述项目代码总工作量获取模块包括:
相似历史项目获取单元,用于在历史项目数据样本中,获取与当前项目相似的历史项目;
工作量和代码行数获取单元,用于分别获取所述与当前项目相似的历史项目的总工作量和总代码行数;
单位行数工作量获取单元,用于利用总工作量除以总代码行数得到单位行数工作量;
项目代码总工作量获取单元,用于将单位行数工作量乘以当前项目总代码行数,得到项目代码总工作量;
所述项目总工作量获取模块具体用于利用如下公式计算项目总工作量:
M1*当前项目总工作量参考值+M2*历史相似项目总工作量+M3*项目代码总工作量;
其中,M1为当前项目总工作量参考值的加权值;M2为历史相似项目总工作量加权值;M3为项目代码总工作量加权值;且,M1+M2+M3=1;
所述系统还包括新样本增加模块,用于在当前项目实施后,将当前项目信息增加到所述历史项目数据样本中;
所述系统还包括校对模块,用于根据当前项目实施后的实际工作量对所述当前项目信息中的工作量参数度量值进行校对。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310699727.9A CN104732307B (zh) | 2013-12-18 | 2013-12-18 | 项目工作量获取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310699727.9A CN104732307B (zh) | 2013-12-18 | 2013-12-18 | 项目工作量获取方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104732307A CN104732307A (zh) | 2015-06-24 |
CN104732307B true CN104732307B (zh) | 2018-02-27 |
Family
ID=53456179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310699727.9A Active CN104732307B (zh) | 2013-12-18 | 2013-12-18 | 项目工作量获取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104732307B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106779607A (zh) * | 2016-12-22 | 2017-05-31 | 上海爱韦讯信息技术股份有限公司 | 基于计算机软件系统实现软件项目成本估算的方法及系统 |
CN106875108A (zh) * | 2017-01-25 | 2017-06-20 | 北京数码大方科技股份有限公司 | Cad图纸资源消耗分析方法和装置 |
CN107122865B (zh) * | 2017-05-02 | 2021-08-24 | 泰康保险集团股份有限公司 | 通过流程统计进行估算的方法、系统及终端设备 |
CN107958043B (zh) * | 2017-11-24 | 2021-04-27 | 合肥中科加点智能科技有限公司 | 一种电网工程预算清单自动生成方法 |
CN108320097A (zh) * | 2018-02-01 | 2018-07-24 | 北京百度网讯科技有限公司 | 用于分配工作量的方法和装置 |
CN110308893B (zh) * | 2018-03-27 | 2022-07-12 | 武汉空心科技有限公司 | 一种前端开发需求评估方法及系统 |
CN108932198A (zh) * | 2018-07-06 | 2018-12-04 | 深圳源码智能科技有限公司 | 计算源代码贡献度的方法和装置 |
CN109460908A (zh) * | 2018-10-29 | 2019-03-12 | 成都安美勤信息技术股份有限公司 | 软件工程的造价评估方法 |
CN111652403A (zh) * | 2019-12-09 | 2020-09-11 | 武汉空心科技有限公司 | 一种基于反馈修正的工作平台任务工作量预测方法 |
CN111738589B (zh) * | 2020-06-19 | 2024-02-27 | 国家电网有限公司大数据中心 | 基于内容推荐的大数据项目工作量评估方法、装置及设备 |
CN111915228A (zh) * | 2020-08-22 | 2020-11-10 | 武汉空心科技有限公司 | 一种可靠性高的工作平台任务工作量评估方法 |
CN112966971B (zh) * | 2021-03-30 | 2022-09-13 | 建信金融科技有限责任公司 | 一种项目工作量评估方法和装置 |
CN114386885B (zh) * | 2022-03-24 | 2022-06-10 | 浩鲸云计算科技股份有限公司 | 通过建立复杂度模型来降低产品交付成本的方法及系统 |
CN115577696B (zh) * | 2022-11-15 | 2023-04-07 | 四川省公路规划勘察设计研究院有限公司 | 一种基于wbs树的项目相似度评估及分析方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147727A (zh) * | 2011-04-02 | 2011-08-10 | 中国科学院软件研究所 | 一种新增软件项目的软件工作量预测方法 |
CN103400189A (zh) * | 2013-08-16 | 2013-11-20 | 成都市知用科技有限公司 | 基于bp网络的软件工时估算方法 |
-
2013
- 2013-12-18 CN CN201310699727.9A patent/CN104732307B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102147727A (zh) * | 2011-04-02 | 2011-08-10 | 中国科学院软件研究所 | 一种新增软件项目的软件工作量预测方法 |
CN103400189A (zh) * | 2013-08-16 | 2013-11-20 | 成都市知用科技有限公司 | 基于bp网络的软件工时估算方法 |
Non-Patent Citations (2)
Title |
---|
RUP估算过程模型;杜云梅 等;《计算机科学》;20130630;第40卷(第6期);第21-28页 * |
软件项目工作量预估系统的研究与实现;袁健 等;《上海理工大学学报》;20060331;第27卷(第6期);第547-550页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104732307A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104732307B (zh) | 项目工作量获取方法和系统 | |
Chavez-Demoulin et al. | Quantitative models for operational risk: extremes, dependence and aggregation | |
Mancini et al. | Identifying the brownian covariation from the co-jumps given discrete observations | |
Blois et al. | Modeling the climatic drivers of spatial patterns in vegetation composition since the Last Glacial Maximum | |
Aytac et al. | Characterization of demand for short life-cycle technology products | |
Hampf et al. | Optimal directions for directional distance functions: an exploration of potential reductions of greenhouse gases | |
CN108921430A (zh) | 一种项目工作量的获取方法及系统 | |
Ghysels et al. | Testing for cointegration with temporally aggregated and mixed‐frequency time series | |
Hong et al. | Interval estimation for Wiener processes based on accelerated degradation test data | |
CN115841046A (zh) | 基于维纳过程的加速退化试验数据处理方法和装置 | |
CN116879831A (zh) | 一种基于物联网的电表智能监控方法及系统 | |
CN110580217A (zh) | 软件代码健康度的检测方法、处理方法、装置及电子设备 | |
CN110888811B (zh) | 代码覆盖率信息处理方法、装置、电子设备及介质 | |
CN105719181A (zh) | 风险等级评估方法及装置 | |
Hampf | Estimating emission coefficients and mass balances using economic data: A stochastic frontier approach | |
CN109059989B (zh) | 一种仪表剩余寿命评估的方法、系统及设备 | |
CN113159596A (zh) | 基于深度学习的大数据配置调优系统、方法、设备及介质 | |
Anfuso et al. | A sound Basel III compliant framework for backtesting credit exposure models | |
Olivieri | Hardware and software readiness: A systems approach | |
CN114926012B (zh) | 一种研发项目智慧验收评审方法、系统及可读存储介质 | |
CN113282299B (zh) | 信息处理方法、装置、设备及存储介质 | |
CN116402416B (zh) | 指标数据驱动的企业组织冗余度与重要性评价方法及系统 | |
Qiu et al. | A pseudo-likelihood analysis for incomplete warranty data with a time usage rate variable and production counts | |
Korkusuz | Process capability analysis for non-normal processes with lower specification limits | |
Colombo et al. | A weighted likelihood estimator for operational risk data: Improving the accuracy of capital estimates by robustifying maximum likelihood estimates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder |
Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A Room 601 Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. |
|
CP02 | Change in the address of a patent holder |