System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于软件开发,具体涉及一种融媒体项目软件开发的工时评估方法、装置及存储介质。
技术介绍
1、目前,对传统项目进行软件开发的工时评估都是对需求文档的功能点进行直接拆分,然后评估人员线下根据自己对需求文档功能点的复杂度的主观理解来预估工时,存在一定的误差且无数据支撑;同时,针对已经存在并且评估过工时的项目,后续再出现相似项目、相似功能点时无法直接引用工时,也并未考虑bug这一软件质量关键指标,如此,则会导致后续有相类似项目、功能点时,不能根据历史项目质量来辅助度量工时,无法自动将共性bug修复加入到功能工时评估中;因此,不仅会造成工时评估不准确,还容易遗漏历史共性bug的修复;基于此,如何提供一种准确率高,且能够涵盖历史功能引用工时评估和历史共性bug修复工时评估的软件开发工时评估方法,已成为一个亟待解决的问题。
技术实现思路
1、本专利技术的目的是提供一种融媒体项目软件开发的工时评估方法、装置及存储介质,用以解决现有技术中所存在的工时评估不准确的问题。
2、为了实现上述目的,本专利技术采用以下技术方案:
3、第一方面,提供了一种融媒体项目软件开发的工时评估方法,包括:
4、获取项目需求文档,并基于所述项目需求文档确定出当前项目的至少一个项目开发新功能,以及需要引用的已有项目的历史功能;
5、根据所述至少一个项目开发新功能,计算出所述至少一个项目开发新功能的功能复杂度,并基于所述功能复杂度,确定出所述至少一个项目开发新功能的开发
6、依据需要引用的已有项目的历史功能,计算出历史功能引用工时;
7、获取所述当前项目与已有项目之间的共性bug,并计算出所述共性bug的修复工时;
8、基于所述开发工时、所述历史功能引用工时以及所述共性bug的修复工时,确定出所述当前项目的开发总工时。
9、基于上述公开的内容,本专利技术先基于项目需求文档,来确定出当前项目中的至少一个项目开发新功能,需要引用的已有项目的历史功能,以及与已有项目之间的共性bug;而后,则可根据至少一个项目开发新功能,来确定出新功能开发的复杂度,并基于此,来计算出新功能开发的开发工时;同时,本专利技术还根据需要引用的历史功能,来计算出历史功能引用工时,以及根据共性bug,来计算出共性bug的修复工时;最后,基于新功能开发的开发工时、历史功能引用工时以及共性bug的修复工时,即可计算出当前项目的开发总工时。
10、通过上述设计,本专利技术将项目开发的工时评估划分为新功能开发、历史功能引用以及历史共性bug修复三个维度,并创新性的提出了融媒体功能复杂度算法、历史功能工时评估算法和历史共性bug工时评估算法,来分别计算出前述三个维度所需要的工作工时,并最终通过计算出的新功能工时、历史功能引用工时、历史共性bug修复工时来得到融媒体软件开发的总工时评估数据;基于此,使得软件开发的工时评估不再基于人的主观意识,而是通过客观算法进行量化,用数据支撑工时评估,从而提高了融媒体项目软件开发工时评估的准确性和专业性;同时,在评估时加入了历史功能引用工时和共性bug修复工时,如此,相比于传统技术,本专利技术涵盖了历史功能引用和历史共性bug修复工作,不仅进一步的提高了工时评估的准确性,还避免了历史共性bug被遗漏修复的问题。
11、在一个可能的设计中,根据所述至少一个项目开发新功能,计算出所述至少一个项目开发新功能的功能复杂度,包括:
12、获取所述至少一个项目开发新功能的预计用例数、预计bug数以及预计代码量;
13、基于所述预计用例数、所述预计bug数和所述预计代码量,依次计算出所述至少一个项目开发新功能的用例数复杂度、bug数复杂度以及代码量复杂度;
14、根据所述用例数复杂度、所述bug数复杂度以及所述代码量复杂度,计算出所述至少一个项目开发新功能的功能复杂度。
15、在一个可能的设计中,基于所述预计用例数、所述预计bug数和所述预计代码量,分别计算出所述至少一个项目开发新功能的用例数复杂度、bug数复杂度以及代码量复杂度,包括:
16、获取用例数复杂度折算因子、bug数复杂度折算因子以及代码量复杂度折算因子;
17、将所述预计用例数与所述用例数复杂度折算因子的乘积,作为所述用例数复杂度,将所述预计bug数与所述bug数复杂度折算因子的乘积,作为所述bug数复杂度,以及将所述代码量复杂度折算因子与所述预计代码量的乘积,作为所述代码量复杂度;
18、相应的,根据所述用例数复杂度、所述bug数复杂度以及所述代码量复杂度,计算出所述至少一个项目开发新功能的功能复杂度,则包括:
19、获取代码量复杂度权重、用例数复杂度权重以及bug数复杂度权重;
20、基于所述用例数复杂度、所述bug数复杂度、所述代码量复杂度、所述代码量复杂度权重、所述用例数复杂度权重以及所述bug数复杂度权重,计算出所述至少一个项目开发新功能的功能复杂度。
21、在一个可能的设计中,基于所述功能复杂度,确定出所述至少一个项目开发新功能的开发工时,包括:
22、获取功能复杂度工时折算因子;
23、将所述功能复杂度工时折算因子与所述功能复杂度之间的乘积,作为所述至少一个项目开发新功能的开发工时。
24、在一个可能的设计中,依据需要引用的已有项目的历史功能,计算出历史功能引用工时,包括:
25、获取需要引用的历史功能的实际代码量、预测代码量、实际bug数和功能预估bug数;
26、根据所述实际代码量和所述预测代码量,计算出历史功能代码量工时折算因子,以及基于所述实际bug数和所述功能预估bug数,计算出历史功能bug数工时折算因子;
27、依据所述历史功能代码量工时折算因子,计算出历史功能代码量工时,以及利用所述历史功能bug数工时折算因子,计算出历史功能bug数工时;
28、利用历史功能代码量工时和历史功能bug数工时,计算得到所述历史功能引用工时。
29、在一个可能的设计中,根据权利要求5所述的方法,其特征在于,根据所述实际代码量和所述预测代码量,计算出历史功能代码量工时折算因子,包括:
30、基于所述实际代码量和所述预测代码量,并按照如下公式(1),计算出所述历史功能代码量工时折算因子;
31、α=(dz/dy)*δ*100% (1)
32、上述公式(1)中,α表示所述历史功能代码量工时折算因子,dz表示所述实际代码量,dy表示所述预测代码量,δ表示代码量折算因子;
33、相应的,依据所述历史功能代码量工时折算因子,计算出历史功能代码量工时,包括:
34、获取需要引用的历史功能的开发评估工时;
35、计算出所述开发评估工时与所述历史功能代码量工时折算因子之间的乘积,并将乘积乘以代码量工时折算占比,以得到所述历史功能代本文档来自技高网...
【技术保护点】
1.一种融媒体项目软件开发的工时评估方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述至少一个项目开发新功能,计算出所述至少一个项目开发新功能的功能复杂度,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述预计用例数、所述预计Bug数和所述预计代码量,分别计算出所述至少一个项目开发新功能的用例数复杂度、Bug数复杂度以及代码量复杂度,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述功能复杂度,确定出所述至少一个项目开发新功能的开发工时,包括:
5.根据权利要求1所述的方法,其特征在于,依据需要引用的已有项目的历史功能,计算出历史功能引用工时,包括:
6.根据权利要求5所述的方法,其特征在于,根据所述实际代码量和所述预测代码量,计算出历史功能代码量工时折算因子,包括:
7.根据权利要求5所述的方法,其特征在于,利用历史功能代码量工时和历史功能Bug数工时,计算得到所述历史功能引用工时,包括:
8.根据权利要求1所述的方法,其特征在于,计算出所述共性Bug的
9.一种融媒体项目软件开发的工时评估装置,其特征在于,包括:
10.一种存储介质,其特征在于,所述存储介质上存储有指令,当指令在计算机上运行时,执行如权利要求1~8任意一项所述的融媒体项目软件开发的工时评估方法。
...【技术特征摘要】
1.一种融媒体项目软件开发的工时评估方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,根据所述至少一个项目开发新功能,计算出所述至少一个项目开发新功能的功能复杂度,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述预计用例数、所述预计bug数和所述预计代码量,分别计算出所述至少一个项目开发新功能的用例数复杂度、bug数复杂度以及代码量复杂度,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述功能复杂度,确定出所述至少一个项目开发新功能的开发工时,包括:
5.根据权利要求1所述的方法,其特征在于,依据需要引用的已有项目的历史功能,计算出历...
【专利技术属性】
技术研发人员:徐文兵,余欣,杨兵,
申请(专利权)人:四川封面传媒科技有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。