一种基于云平台的软件研发数字化监管系统及方法与流程

本发明涉及软件研发监管领域,具体为一种基于云平台的软件研发数字化监管系统及方法。
背景技术:
1、软件研发是指通过系统化的方法和过程,设计、开发、测试、部署和维护软件应用程序的过程,对于较大的软件,需要对软件的各部分进行独立开发流程,最后进行交付软件的合并,各流程均会对软件的实际功能造成影响,因此需要对各开发流程进行监管,才能保证软件的交付质量。
2、常用的开发监管过程需要对各流程的开发产物进行数据抽检,但软件开发流程涉及到的参数众多,开发过程中软件的实时参数也在不断变化,抽检的方式不仅耗费大量资源,且不能准确反映出各开发流程的软件开发质量,造成监管流程难以实时更新的问题。
3、此外,软件开发流程需要人力、资金、数据和设备等资源,而不同开发流程需要的资源存在差异,需要有经验的研发管理人员对资源进行分配,使资源分配过程难以量化,为了在有限的资源下达到最大的软件交付质量,软件研发过程需要一套数字化的分配体系。
技术实现思路
1、本发明的目的在于提供一种基于云平台的软件研发数字化监管系统及方法,以解决上述背景技术中提出的问题。
2、为了解决上述技术问题,本发明提供如下技术方案:一种基于云平台的软件研发数字化监管系统,包括:云端通信模块、研发容器模块、测试估计模块、量化记录模块和资源管理模块;
3、所述云端通信模块用于搭建云端测试监管平台,统一管理各研发流程中需要的数据,并从研发流程回收输出数据,同时构建软件研发设备与云端平台的通信信道,在通信信道的末端设置数据解包程序,能够对研发设备的输出数据包进行抓取;
4、所述研发容器模块用于在云端提供给研发流程的测试数据中按特定规律添加标识占位符,在研发过程的输出数据中抓取标识占位符,根据输出数据中占位符位置和比例的变化计算软件在开发流程中的一维测试参数,将测试结果存入云端数据库,并保持实时更新;
5、所述测试估计模块用于生成测试用例对研发软件进行并发性测试,在云平台中分析测试反馈数据,得到软件的二维测试结果,所述二维测试结果包括一维测试参数中的全部测试项目,计算软件的二维测试结果与各流程中一维测试参数的相关系数,根据相关系数对流程的全部测试项目参数进行估计;
6、所述量化记录模块用于根据各研发流程的全部测试项目参数,按照预设的加权计算方法获取流程的综合质量参数,绘制综合质量参数与数据资源消耗量的关系函数,在关系函数下降率高于阈值时,通过云平台对相应研发流程的负责人进行提醒;
7、所述资源管理模块用于调整研发流程的资源分配,根据调整后的测试数据重新计算流程的综合质量权重,拟合综合质量权重与各类型资源的联合影响函数,以软件的实际使用要求为约束条件,得到影响函数取最小值时的资源分配条件,按照资源分配条件的计算结果分配研发资源。
8、进一步的,所述云端通信模块包括:平台存储单元和数据通信单元;
9、所述平台存储单元用于在云端划分空间构建数据处理平台和数据库,统一管理测试数据;
10、所述数据通信单元由设置在研发设备中和云端服务器中的通信管理软件构成,用于管理设备与服务器的通信过程。
11、进一步的,所述研发容器模块包括:流程封闭单元、数据流通单元和一维测试单元;
12、所述流程封闭单元用于对每一个研发流程涉及的软件功能进行封闭,构成单独测试单元;
13、所述数据流通单元用于在云端提供给研发流程的输入数据中按预设规则插入占位符,并在上传到云端的输出数据中进行抓包,抓取输出数据中的标识占位符;
14、所述一维测试单元用于根据输出数据中占位符的位置和比例,计算软件的一维测试参数,包括软件测试时延和研发数据冗余量。
15、进一步的,所述测试估计模块包括:并发测试单元和相关估计单元;
16、所述并发测试单元用于对最终软件进行并发测试,得到软件的全部测试项目,记作二维测试结果;
17、所述相关估计单元用于拟合一维测试参数和二维测试结果的相关性,构建相关性对流程内的测试项目参数进行估算。
18、进一步的,所述量化记录模块包括:质量评估单元和监管警报单元;
19、所述质量评估单元用于按照预设的加权计算方法获取流程的综合质量参数;
20、所述监管警报单元用于综合质量参数与数据资源消耗量间函数下降率高于阈值时,对对应流程进行警报。
21、进一步的,所述资源管理模块包括:影响拟合单元、约束规划单元和资源分配单元;
22、所述影响拟合单元用于在研发过程中调节各研发流程的资源分配量,并获取流程的综合质量参数,计算各研发流程的综合质量参数随资源分配量的影响函数;
23、所述约束规划单元用于以软件的实际使用要求为约束条件,计算在约束条件下影响函数的最大值;
24、所述资源分配单元用于根据线性规划结果调整各研发流程的资源分配,将分配方案发送到管理部门。
25、一种基于云平台的软件研发数字化监管方法,包括以下步骤:
26、步骤s1.在云端搭建测试监管平台,统一管理各研发流程中需要的数据,并在研发设备中和云端服务器中设置通信管理软件,所述通信管理软件能够抓取输入输出数据包;
27、步骤s2.对每一个研发流程涉及的软件功能封闭为独立测试单元,平台在提供给各测试单元的数据中按第一规则插入标识符,并在信道末端抓取输出数据中的标识符,分析输入输出数据中标识符的分布,得到一维测试参数;
28、步骤s3.对交付软件的全部测试项目进行并发性测试,测试结果记作二维测试参数,计算一维测试参数和二维测试参数的相关性,根据相关性对各测试单元中未检测项目的参数进行估算;
29、步骤s4.预设各测试项目的权重,根据各研发流程对应的测试项目参数进行加权运算,得到研发流程对应的综合质量参数,当综合质量参数低于阈值时进行警报;
30、步骤s5.调整各研发流程的资源分配,利用函数拟合工具输出项目综合质量参数随各类资源的变化函数,以总资源量为约束条件对变化函数进行线性规划,以规划结果进行下一个周期的资源分配。
31、进一步的,步骤s1包括:
32、步骤s11.在云端划分空间搭建测试监管平台,所述测试监管平台由用户界面、数据库、数据包抓取软件和数据分析软件构成,用于统一管理各研发流程的输入输出数据;
33、步骤s12.在各研发设备中安装通信管理软件,用于接收云端发送的测试数据,并将研发设备输出的数据上传到测试监管平台,在云端同时设置接收软件,在信道末端抓取研发设备发来的输出数据包。
34、进一步的,步骤s2包括:
35、步骤s21.封闭每个研发流程开发出的软件功能,构成单独的测试单元,编号结果为{w1,w2,…,wn},其中,n为研发流程的数量,wn为第n个研发流程对应的测试单元;
36、步骤s22.平台向各测试单元提供测试数据,按照第一规则在测试数据中插入标识符,所述第一规则如下:
37、预设位置函数f(x),x为标识符序号,令g(x)=td[f(x)·cx],其中g(x)为插入间隔函数,c为预设放大系数,c>0且c≠1,td为取整函数,解析测试数据包,分别在数据包中第g(1)、g(2)、…、g(x)个数据后插入标识符,直到数据包中没有足够的数据为止;
38、步骤s23.将测试数据发送到测试单元,回收测试单元中的输出数据,在输出数据中抓取输出标识符,记录各标识符所在位置,以标识符序号为自变量,标识符所在位置为因变量生成函数g(x);
39、按照分布性计算方法计算测试时延和数据冗余量,分布性计算方法如下:
40、
41、其中,tc代表测试时延,q代表数据冗余量,x0代表在测试数据中插入的标识符数量,v代表云端通信速度,g(i)和g(i)分别代表自变量为i时g(x)和g(x)的函数值;
42、步骤s24.记录各测试单元的一维测试参数,所述一维测试参数包括测试时延和数据冗余量。
43、进一步的,步骤s3包括:
44、步骤s31.组合全部测试单元,得到功能完整的交付软件,利用并发性测试技术对交付软件的全部测试项目进行测试,得到交付软件的二维测试参数,所述二维测试参数包括:数据吞吐量、数据利用率、最大并发量、测试时延和数据冗余量;
45、步骤s32.根据二维测试参数与一维测试参数中的共同项,建立交付软件与各测试单元间的关联性,列出方程:a1·r1+a2·r2+…+an·rn=a0;
46、其中,a1、a2、…an分别代表第1、2、…n个测试单元中的一维测试参数,a0代表对应的二维测试参数,r1、r2、…rn分别代表第1、2、…n个测试单元的关联系数,将连续测试n次的测试结果代入,解出个关联系数的值;
47、步骤s33.得到各测试单元与交付软件的关联系数后,对于每个一维测试参数中未测试的项目,列出方程e1·r1+e2·r2+…+en·rn=e0,其中,e1、e2、…en分别代表第1、2、…n个测试单元中未涉及的测试项目,e0代表二维测试参数中对于测试项目的测试参数,将n次的测试中的二维测试参数代入,输出计算结果作为各测试单元中未测试项目的参数。
48、进一步的,步骤s4包括:
49、步骤s41.计算各研发流程的综合质量参数p,所述p=a1·h1+a2·h2+…+am·hm,其中m代表测试项目的数量,a1、a2、…am分别代表第1、2、…m个测试项目的预设权重,h1、h2、…hm分别代表研发流程对于的测试单元在第1、2、…m个测试项目中的测试参数;
50、步骤s42.对于每一个研发流程,当质量参数低于预设阈值时,向对应研发流程的控制中心发送警报。
51、进一步的,步骤s5包括:
52、步骤s51.调整分配给研发流程的各类研发资源,记录调整前后研发流程的综合质量参数,利用函数拟合工具,以各研发资源的数量为自变量,综合质量参数为因变量,生成影响函数h(g1,g2,…,gt),其中t代表研发资源的类型数量,g1,g2,…,gt分别代表第1、2、…t类研发资源的数量;
53、步骤s52.对各研发流程的影响函数之和进行线性规划,输出总影响函数的最大值:
54、
55、其中,max代表目标函数最大值,s.t代表约束条件,y(g1,g2,…,gt)代表交付软件的总影响函数,h1、h2、…hn分别代表第1、2、…n个研发流程对应的影响函数,g1max、g2max、…gtmax分别代表第1、2、…t类研发资源的最大投入数量;
56、步骤s53.根据步骤s52中总影响函数取最大值时各研发资源的分配数量,为各研发流程分配资源。
57、与现有技术相比,本发明所达到的有益效果是:
58、本发明对各研发流程进行封闭,在研发测试数据中按补充规则插入占位数据,研发流程上传输出数据,根据输出数据中占位符的变化计算软件的一维测试参数,可以通过云端及时发现流程中的问题和瓶颈,从而优化流程,提高开发效率和质量。
59、本发明能够生成测试用例对软件进行并发性测试,得到软件的二维测试结果,计算软件的二维测试结果与各一维测试参数的相关系数,对研发流程的二维测试数据进行估计,从而实现对研发过程的监管和预警,节省测试项数,减少整体测试时间,提高测试效率,有助于实现对开发过程的量化监管,提高研发效率。
60、本发明能够以软件的实际使用要求为约束条件,得到软件质量取最大值时的资源分配条件,按照计算结果分配资源,可以降低研发阶段的成本,避免因资源浪费或不足而造成的额外支出,最大化投入产出比例,提高软件研发回报率。
技术研发人员:朱向雷,侯潇逸,赵硕,田杰斌,李慧,尚洁,王英资,张诗敏,张南,李长娟,洪琪
技术所有人:中国汽车技术研究中心有限公司
备 注:该技术已申请专利,仅供学习研究,如用于商业用途,请联系技术所有人。
声 明 :此信息收集于网络,如果你是此专利的发明人不想本网站收录此信息请联系我们,我们会在第一时间删除
