一种基于大数据的软件开发管理系统及方法技术方案

技术编号:38131709 阅读:12 留言:0更新日期:2023-07-08 09:39
本发明专利技术公开了一种基于大数据的软件开发管理系统及方法,属于计算机软件开发技术领域。对每一个软件开发项目中每一个软件开发目标包含的所有源码进行识别;对每一个源码进行代码片段划分,并计算软件开发目标之间的关联度,对软件开发目标进行汇总;获取软件开发目标的开发结果测试时间,构建开发测试时间迭代模型,计算开发结果测试时间的离散度,对开发结果测试时间进行迭代筛选;对软件开发目标进行集中测试,同时实时获取软件开发项目完成进度,并根据迭代筛选结果和完成进度,发出预警提示;进而结合大数据,保证多个项目之间进行高效率的源码复用的同时,能够对相似的源码进行集中测试管理,节省开发资源,提高开发效率,缩短开发时间。缩短开发时间。缩短开发时间。

【技术实现步骤摘要】
一种基于大数据的软件开发管理系统及方法


[0001]本专利技术涉及计算机软件开发
,具体为一种基于大数据的软件开发管理系统及方法。

技术介绍

[0002]目前大部分计算机软件公司没有形成适合自己公司特点的软件开发管理模式,虽然有些公司根据软件工程理论建立了一些计算机软件开发管理规范,但并没有从根本上解决计算机软件开发的质量和效率控制问题。这样导致软件产品质量不稳定,计算机软件后期的维护、升级出现麻烦,最终也会损害用户的利益。
[0003]同时,随着计算机软件开发规模及开发队伍的逐渐增大,计算机软件开发不再是集中资源发展单个项目。在对多项目同时开发的过程中,需要控制和整合开发资源,并协同测试部门实现计算机软件开发目标,提高计算机软件开发效率。

技术实现思路

[0004]本专利技术的目的在于提供一种基于大数据的软件开发管理系统及方法,以解决上述
技术介绍
中提出的问题。
[0005]为了解决上述技术问题,本专利技术提供如下技术方案:
[0006]一种基于大数据的软件开发管理系统,本系统包括:软件开发项目信息整理模块、代码片段分析模块、开发结果测试时间分析模块和实时预警提示模块;
[0007]所述软件开发项目信息整理模块,用于获取软件开发项目信息,对软件开发项目和软件开发目标进行统计;对每一个软件开发项目中每一个软件开发目标包含的所有源码进行识别;
[0008]所述代码片段分析模块,用于对每一个源码进行代码片段划分,并计算软件开发目标之间的关联度;根据关联度,对软件开发目标进行汇总;
[0009]所述开发结果测试时间分析模块,根据汇总结果,获取软件开发目标的开发结果测试时间;构建开发测试时间迭代模型,计算开发结果测试时间的离散度,根据离散度对开发结果测试时间进行迭代筛选;
[0010]所述实时预警提示模块,根据迭代筛选结果,对软件开发目标进行集中测试;同时实时获取软件开发项目完成进度,并根据迭代筛选结果和完成进度,发出预警提示。
[0011]进一步的,所述软件开发项目信息整理模块还包括项目信息统计单元和源码识别单元;
[0012]所述项目信息统计单元,用于获取所有的待软件开发项目信息,所述待软件开发项目信息包括待软件开发项目编号和待软件开发目标;建立软件开发项目集和软件开发目标集,将所述软件开发项目集记为SDP={I1,I2,...,I
n
},将所述软件开发目标集记为SDO
i
={J
i1
,J
i2
,...,J
im
},其中,I1,I2,...,I
n
分别表示第1,2,...,n个待软件开发项目,SDO
i
表示第i个待软件开发项目对应生成的软件开发目标集,J
i1
,J
i2
,...,J
im
分别表示第i个软件
开发项目包含的第1,2,...,m个待软件开发目标,n为待软件开发项目编号,m为待软件开发目标编号,i∈{1,2,...,n};
[0013]所述源码识别单元,用于获取软件开发目标集SDO
i
中任意一个待软件开发目标J
ij
,对该任意一个待软件开发目标中包含的所有源码进行识别和编号,并生成目标源码集,将所述目标源码集记为J
ij
={SC1,SC2,...,SC
v
},其中,SC1,SC2,...,SC
v
分别表示第1,2,...,v个源码,v为源码编号,j∈{1,2,...,m}。
[0014]进一步的,所述代码片段分析模块还包括软件开发目标关联度计算单元和软件开发目标汇总单元;
[0015]所述软件开发目标关联度计算单元,根据待软件开发目标,分别对目标源码集中每一个源码进行代码片段划分,其中一个代码片段对应一个属性功能的代码模板;根据目标源码集和代码片段,计算待软件开发目标之间的关联度,具体计算公式如下:
[0016]TCD(J
ij

J
uw
)=[num(SSS)/num(J
ij
∪J
UW
)]*∑
SC∈SSS
{[D(SC
k
)

d(SC
k
)]/D(SC
k
)},SC=SC
k
[0017][0018]其中,J
uw
表示第u个软件开发项目包含的第w个待软件开发目标,J
uw
∈SDO
u
,u∈{1,2,...,n}且u≠i,TCD(J
ij

J
uw
)表示待软件开发目标J
ij
与J
uw
之间的关联度,SC
k
表示交集集合SSS中包含的第k个源码,D(SC
k
)表示源码SC
k
中包含的代码片段总数,d(SC
k
)表示源码SC
k
中包含的被修改的代码片段的总数,所述修改包括对代码片段进行增加代码和减少代码的两种修改方式,num(SSS)和num(J
ij
∪J
UW
)分别表示集合SSS和集合J
ij
∪J
UW
中包含的源码数量;
[0019]所述软件开发目标汇总单元,用于对所有的待软件开发目标之间进行关联程度的计算,预设关联程度阈值,提取关联程度大于等于关联程度阈值时对应的待软件开发目标,对所有提取的待软件开发目标进行汇总,并生成开发结果目标集合,记为FSDO。
[0020]进一步的,所述开发结果测试时间分析模块还包括开发结果测试时间去重整理单元和开发测试时间迭代模型单元;
[0021]所述开发结果测试时间去重整理单元,用于获取开发结果目标集合中每一个待软件开发目标的开发结果测试时间,对开发结果测试时间进行去重整理,并生成开发测试时间集合,记为TFSDO={t1,t2,...,t
p
},其中,t1,t2,...,t
p
分别表示第1,2,...,p个开发结果测试时间,且一个开发结果测试时间对应至少一个待软件开发目标;
[0022]所述开发测试时间迭代模型单元,用于构建开发测试时间迭代模型,令第L次迭代样本集为TFSDO
L
,则第一次迭代样本集为TFSDO1,且TFSDO1=TFSDO;令第L次迭代筛选集为DBS
L
,则TFSDO
L+1
=TFSDO
L

DBS
L

[0023]第L次迭代筛选过程如下:
[0024]根据第L次迭代样本集TFSDO
L
,计算任意一个开发结果测试时间的离散度,具体计本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于大数据的软件开发管理方法,其特征在于,该方法包括以下步骤:步骤S100:获取软件开发项目信息,对软件开发项目和软件开发目标进行统计;对每一个软件开发项目中每一个软件开发目标包含的所有源码进行识别;步骤S200:对每一个源码进行代码片段划分,并计算软件开发目标之间的关联度;根据关联度,对软件开发目标进行汇总;步骤S300:根据汇总结果,获取软件开发目标的开发结果测试时间;构建开发测试时间迭代模型,计算开发结果测试时间的离散度,根据离散度对开发结果测试时间进行迭代筛选;步骤S400:根据迭代筛选结果,对软件开发目标进行集中测试;同时实时获取软件开发项目完成进度,并根据迭代筛选结果和完成进度,发出预警提示。2.根据权利要求1所述的一种基于大数据的软件开发管理方法,其特征在于,所述步骤S100的具体实施过程包括:步骤S101:获取所有的待软件开发项目信息,所述待软件开发项目信息包括待软件开发项目编号和待软件开发目标;建立软件开发项目集和软件开发目标集,将所述软件开发项目集记为SDP={I1,I2,...,I
n
},将所述软件开发目标集记为SDO
i
={J
i1
,J
i2
,...,J
im
},其中,I1,I2,...,I
n
分别表示第1,2,...,n个待软件开发项目,SDO
i
表示第i个待软件开发项目对应生成的软件开发目标集,J
i1
,J
i2
,...,J
im
分别表示第i个软件开发项目包含的第1,2,...,m个待软件开发目标,n为待软件开发项目编号,m为待软件开发目标编号,i∈{1,2,...,n};步骤S102:获取软件开发目标集SDO
i
中任意一个待软件开发目标J
ij
,对该任意一个待软件开发目标中包含的所有源码进行识别和编号,并生成目标源码集,将所述目标源码集记为J
ij
={SC1,SC2,...,SC
v
},其中,SC1,SC2,...,SC
v
分别表示第1,2,...,v个源码,v为源码编号,j∈{1,2,...,m}。3.根据权利要求2所述的一种基于大数据的软件开发管理方法,其特征在于,所述步骤S200的具体实施过程包括:步骤S201:软件开发工程师根据待软件开发目标,分别对目标源码集中每一个源码进行代码片段划分,其中一个代码片段对应一个属性功能的代码模板;根据目标源码集和代码片段,计算待软件开发目标之间的关联度,具体计算公式如下:TCD(J
ij

J
uw
)=[num(SSS)/num(J
ij
∪J
UW
)]*∑
SC∈SSS
{[D(SC
k
)

d(SC
k
)]/D(SC
k
)},SC=SC
k
其中,J
uw
表示第u个软件开发项目包含的第w个待软件开发目标,J
uw
∈SDO
u
,u∈{1,2,...,n}且u≠i,TCD(J
ij

J
uw
)表示待软件开发目标J
ij
与J
uw
之间的关联度,SC
k
表示交集集合SSS中包含的第k个源码,D(SC
k
)表示源码SC
k
中包含的代码片段总数,d(SC
k
)表示源码SC
k
中包含的被修改的代码片段的总数,所述修改包括对代码片段进行增加代码和减少代码的两种修改方式,num(SSS)和num(J
ij
∪J
UW
)分别表示集合SSS和集合J
ij
∪J
UW
中包含的源码数量;步骤S202:对所有的待软件开发目标之间进行关联程度的计算,预设关联程度阈值,提取关联程度大于等于关联程度阈值时对应的待软件开发目标,对所有提取的待软件开发目
标进行汇总,并生成开发结果目标集合,记为FSDO。4.根据权利要求3所述的一种基于大数据的软件开发管理方法,其特征在于,所述步骤S300的具体实施过程包括:步骤S301:获取开发结果目标集合中每一个待软件开发目标的开发结果测试时间,对开发结果测试时间进行去重整理,并生成开发测试时间集合,记为TFSDO={t1,t2,...,t
p
},其中,t1,t2,...,t
p
分别表示第1,2,...,p个开发结果测试时间,且一个开发结果测试时间对应至少一个待软件开发目标;步骤S302:构建开发测试时间迭代模型,令第L次迭代样本集为TFSDO
L
,则第一次迭代样本集为TFSDO1,且TFSDO1=TFSDO;令第L次迭代筛选集为DBS
L
,则TFSDO
L+1
=TFSDO
L

DBS
L
;第L次迭代筛选过程如下:根据第L次迭代样本集TFSDO
L
,计算任意一个开发结果测试时间的离散度,具体计算公式如下:TD(t
x
)=[1/(p
L

1)]*∑
t∈T

t∈T
|t
x

t
y
|,t=t
y
T=TFSDO
L

{t
x
},t
x
∈TFSDO
L
其中,TD(t
x
)表示任意一个开发结果测试时间t
x
的离散度,p
L
表示第L次迭代样本集TFSDO
L
中元素数量,且p1=p;当时,令TD(t
x
)=0;预设离散度阈值,将小于等于离散度阈值的TD(t
x
)对应的开发结果测试时间t
x
筛选出来,并将第L次迭代过程中全部筛选出来的开发结果测试时间记录在第L次迭代筛选集DBS
L
中;当开发测试时间集合TFSDO中所有开发结果测试时间筛选完成,则迭代停止。5.根据权利要求4所述的一种基于大数据的软件开发管理方法,其特征在于,所述步骤S400的具体实施过程包括:步骤S401:当迭代筛选停止后,将第L次迭代筛选集中最大的开发结果测试时间作为第L次集中测试时间;在第L次集中测试时间,对第L次迭代筛选集中每一个开发结果测时间对应的待软件开发目标进行集中测试;步骤S402:实时获取软件开发项目完成进度,如果在第L次集中测试时间出现任意一个待软件开发目标J
ij
没有完成,则发出预警提示,将任意一个待软件开发目标J
ij
发送至软件开发测试部门负责人和第i个待软件开发项目负责人。6.一种基于大数据的软件开发管理系统,其特征在于,所述系统包括:软件开发项目信息整理模块、代码片段分析模块、开发结果测试时间分析模块和实时预警提示模块;所述软件开发项目信息整理模块,用于获取软件开发项目信息,对软...

【专利技术属性】
技术研发人员:常雷刘庆波
申请(专利权)人:黑龙江哈杜普科技开发有限公司
类型:发明
国别省市:

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

1