一种计算软件项目月工作量的方法

文档序号:6639667阅读:1679来源:国知局
一种计算软件项目月工作量的方法
【专利摘要】本发明提供一种计算软件项目月工作量的方法,包括如下步骤:输入新项目的项目属性,确定项目属性集以及需要估算工作量的目标月份;根据所述的新项目的项目属性集,在项目库中找出有共同属性的历史项目,做为候选项目;计算新项目和候选项目的项目属性集相似度,并进行排序;选择最相似的前N个历史项目,求出所述历史项目目标月份的月工作量的均值;将所述目标月份的月工作量的均值作为新项目目标月份估算的月工作量值,并输出。该方法计算简单,准确度高,能有效避免人为主观性判断的失误。
【专利说明】一种计算软件项目月工作量的方法

【技术领域】
[0001]本发明涉及软件项目开发领域,具体涉及一种计算软件项目月工作量的方法。

【背景技术】
[0002]在软件项目开发过程中,项目管理人员需要计算未来一个月的工作量的大小,以便及时分配或调整资源,保证项目的顺利进行。现有的方法有两种,一种是估算出项目的总工作量,然后再根据经验按月来分配。第二种利用项目自身前几个月,最少为3个月的工作量,发现其中的规律,建立数学模型,利用外推的方法来计算后续月的工作量。前一种方法属主观预测,无法复制,不能利用计算机来完成。后一种方法因为需要前面几个月的工作量数据作为输入,因此最早只能从第4个月开始预测。事实上,项目开始的几个月往往比较关键,其工作量也是项目经理关心的。


【发明内容】

[0003]本发明的目的之一在于提供一种计算软件项目月工作量的方法,根据历史项目的相似度来判断新项目的工作量,该方法计算简单,准确度高,能有效避免人为主观性判断的失误。
[0004]为解决上述问题,本发明的方案设计如下:
[0005]一种计算软件项目月工作量的方法,包括如下步骤:输入新项目的项目属性,确定项目属性集以及需要估算工作量的目标月份;根据所述的新项目的项目属性集,在项目库中找出有共同属性的历史项目,做为候选项目;计算新项目和候选项目的项目属性集相似度,并进行排序;选择最相似的前N个历史项目,求出所述历史项目目标月份的月工作量的均值;将所述目标月份的月工作量的均值作为新项目目标月份估算的月工作量值,并输出。
[0006]进一步的,所述输入新项目的项目属性,确定项目属性集以及需要估算工作量的月份的步骤还包括,所述项目属性集包括项目适用的行业、项目组人数、项目组成员的熟练程度、使用的开发语言、运行的操作系统、单机版还是网络版、项目的复杂程度。
[0007]进一步的,所述根据所述输入的新项目的项目属性确定属性集,在项目库中找出有共同属性的项目,做为候选项目步骤还包括,所述的项目库包含历史项目属性集和历史项目每个月实际的工作量数据。
[0008]进一步的,所述计算新项目和候选项目的相似度,并进行排序的步骤还包括,所述相似度的确定方法采用最近邻居法。
[0009]本发明的有益效果在于,本发明根据历史项目的相似度来判断新项目的工作量,此方法计算简单,准确度高,能有效避免人为主观性判断的失误。

【专利附图】

【附图说明】
[0010]图1所示为本发明计算软件项目月工作量的方法流程图。

【具体实施方式】
[0011]下文将结合附图详细描述本发明的实施例。应当注意的是,下述实施例中描述的技术特征或者技术特征的组合不应当被认为是孤立的,它们可以被相互组合从而达到更好的技术效果。在下述实施例的附图中,各附图所出现的相同标号代表相同的特征或者部件,可应用于不同实施例中。
[0012]图1所示为本发明计算软件项目月工作量的方法流程图
[0013]如图1所示,一种计算软件项目月工作量的方法包括如下步骤:
[0014]步骤SI,输入新项目的项目属性,确定项目属性集以及需要估算工作量的目标月份。
[0015]所述项目属性集包括项目适用的行业、项目组人数、项目组成员的熟练程度、使用的开发语言、运行的操作系统、单机版还是网络版、项目的复杂程度。
[0016]步骤S2,根据新项目的项目属性集,在项目库中找出有共同属性的历史项目,做为候选项目。
[0017]项目库中历史项目以数据库的形式存于计算机中,系统通过连接该数据库获取历史项目的信息。项目库包含历史项目属性集和历史项目每个月实际的工作量数据。各属性分别为一个字段;历史项目每个月实际的工作量数据,构成项目工作量信息表,项目每个月的工作量数据都为一个字段,按照月份递增顺序进行存储,例如一个项目有三个月的工作量数据,在数据表中分别用“第一个月”、“第二个月”和“第三个月”3个字段顺序存储。各项目的实际开发月份不同,但都统一化字段,各项目中不需要的字段则用null (空值)表示。
[0018]步骤S3,计算新项目和候选项目的项目属性集相似度,并进行排序。
[0019]项目相似度,采用最近邻居法,公式如下:
[0020]SimCl, C2,P = Ij e PFeature_dissimilarity(Clj, C2j)
[0021]其中P是新项目的项目属性集合,即项目属性表中的各字段属性的集合,Cl和C2是进行相似性比较的两个项目。且:
[0022]Feature_dissimilarity(Clj, C2j) = (Clj-C2j)201
[0023]式中三种情况分别表示:⑴属性是连续值,(2)属性是分类值并且Clj = C2j,
(3)属性是分类值并且Clj ^ C2jo直接使用最近邻居法存在一个问题:当两个项目的所有属性都是分类值且两两相同时,分母等于0,会出现被零除错误,因此本发明通过给分母增加一个很小的数值δ来避免这个问题,改进后公式如下:
[0024]SimCl, C2,P = I δ +j e PFeature_dissimilarity (Clj, C2j)
[0025]其中δ是新增加的很小的数值,由使用者自行制定,如0.0001。通过改进后的公式可以求出一个相似度的值,为接下来的候选项目的选择提供依据。
[0026]步骤S4,选择最相似的前N个历史项目,求出历史项目目标月份的月工作量的均值。
[0027]步骤S5,将目标月份的月工作量的均值作为新项目目标月份估算的月工作量值,并输出。
[0028]得到所有候选项目与新项目的相似度,并同时对相似度进行从高到低排序;选择前N个项目,N值由使用者自行确定,通常取I至5,得到历史项目在目标月份的月工作量数据,求出月工作量均值作为新项目在目标月份的月工作量。
[0029]本文虽然已经给出了本发明的一些实施例,但是本领域的技术人员应当理解,在不脱离本发明精神的情况下,可以对本文的实施例进行改变。上述实施例只是示例性的,不应以本文的实施例作为本发明权利范围的限定。
【权利要求】
1.一种计算软件项目月工作量的方法,其特征在于,包括如下步骤: 输入新项目的项目属性,确定项目属性集以及需要估算工作量的目标月份; 根据所述的新项目的项目属性集,在项目库中找出有共同属性的历史项目,做为候选项目; 计算所述新项目和所述候选项目的项目属性集相似度,并进行排序; 选择最相似的前N个历史项目,求出所述历史项目目标月份的月工作量的均值; 将所述目标月份的月工作量的均值作为所述新项目目标月份估算的月工作量值,并输出。
2.如权利要求1所述的一种计算软件项目月工作量的方法,其特征在于,所述输入新项目的项目属性,确定项目属性集以及需要估算工作量的月份的步骤中,所述项目属性集包括项目适用的行业、项目组人数、项目组成员的熟练程度、使用的开发语言、运行的操作系统、单机版还是网络版、项目的复杂程度。
3.如权利要求1所述的一种计算软件项目月工作量的方法,其特征在于,所述根据所述输入的新项目的项目属性确定属性集,在项目库中找出有共同属性的项目,做为候选项目步骤中,所述的项目库包含历史项目属性集和历史项目每个月实际的工作量数据。
4.如权利要求1所述的一种计算软件项目月工作量的方法,其特征在于,所述计算新项目和候选项目的相似度,并进行排序的步骤中,所述相似度的确定方法采用最近邻居法。
【文档编号】G06Q10/06GK104517185SQ201410805432
【公开日】2015年4月15日 申请日期:2014年12月23日 优先权日:2014年12月23日
【发明者】王勇, 王天之 申请人:王勇
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1