[发明专利]一种基于卷积神经网络的多维度软件项目健康度评估方法有效
申请号: | 201810475407.8 | 申请日: | 2018-05-17 |
公开(公告)号: | CN108711008B | 公开(公告)日: | 2022-03-29 |
发明(设计)人: | 韩鹏;钱卫春;潘高展;王红 | 申请(专利权)人: | 北京中软国际信息技术有限公司 |
主分类号: | G06Q10/06 | 分类号: | G06Q10/06;G06N3/04 |
代理公司: | 北京中南长风知识产权代理事务所(普通合伙) 11674 | 代理人: | 郑海 |
地址: | 100190 北京市海淀区中关*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 卷积 神经网络 多维 软件 项目 健康 评估 方法 | ||
1.一种基于卷积神经网络的多维度软件项目健康度评估方法,其特征在于,包括以下步骤:
步骤1,对FCM模型框架进行结构定义;
步骤2,根据FCM模型框架,收集已完成历史软件项目的开发源数据,计算得到度量元值;
步骤3,利用已完成历史软件项目在验收时双方相互评价,对每个已完成历史软件项目的综合健康分数和多维度要素健康分数进行计算;
步骤4,采用一维卷积神经网络模型对每个健康要素子模型的权重进行训练;
步骤5,利用线性回归模型对综合健康子模型中的权重进行训练;
步骤6,选择合适的FCM模型,计算待评估的软件项目度量元,再利用FCM模型计算得到软件项目健康度分数;
所述FCM模型框架为一种四层的树状结构模型,除最上层综合健康度外,依次向下还包括要素层、特性层和度量元层;
所述FCM模型框架中的结构元素由节点和无向边组成,每个节点表示一种软件项目健康特征,层次越高的节点表示的特征内容越抽象,描述的特征范围更宽泛,最上层的父节点表示软件项目的综合健康,节点之间的连接边表示两个特征之间存在一定的影响关系;每个节点仅可与其相邻层次的节点进行连接,模型中的每条边均对应一个权值;
所述软件项目的开发源数据为软件在开发过程中存在于平台系统中的与某个健康特征相关字段的记录值;
所述步骤2包括:通过下式计算度量元值:
其中,mij表示第i个软件项目的第j个度量元,rij表示第i个软件的第j个度量元对应的软件项目开发源数据,表示所有软件的第j个度量元所对应的软件项目开发源数据的最小值,表示所有软件的第j个度量元所对应的软件项目开发源数据的最大值;每个度量元值属于[0,1]之间;
所述步骤3具体包括:
1)利用甲乙方的文本评论数据,采用贝叶斯线性回归模型对软件项目健康度进行分值量化,得到基于文本评论的软件项目综合健康评分Qt;利用甲方和乙方的评价指标进行计算,得到基于评分评价的软件项目综合健康评分Qs;其中,甲方评价指标包括总体评价、需求稳定、验收客观、反馈及时、沟通能力、合作精神和评价;乙方评价指标包括总体评价、技术能力、完成质量、响应速度、如期兑现、沟通能力、合作精神和评价;
基于上述两种评分,计算得到软件项目的综合健康评分,计算公式如下:
其中,Q(i)表示第i个软件项目的实际综合健康评分,γt和γs为权重参数,取0.5;
2)利用甲方评价指标和乙方评价指标作为软件项目要素健康评分标准;其中,质量要素分由完成质量、需求稳定、验收客观进行算术平均分求得;协作要素分由合作精神、沟通能力进行算术平均分求得;人员要素分由技术能力、沟通能力、合作精神进行算术平均分求得;进度要素分由如期兑现、响应速度、反馈及时求算术平均分求得;
所述一维卷积神经网络模型的卷积神经网络为非全连接结构;所述健康要素子模型为FCM模型中以单个要素层节点作为父节点,依次向下拓展的三层树状结构模型,用于计算模型中度量元层至要素层单个要素节点的权重;
所述步骤4具体包括:
1)采用一维卷积神经网络模型对每个健康要素子模型的权重进行计算;创建与FCM模型要素层节点数量相同的健康要素子模型;对于每个健康要素子模型,创建一个一维卷积神经网络模型进行权重计算;依次输入与模型输入对应的度量元值,从度量元层开始,按顺序计算上一层的节点值;第i层节点k的计算公式如下:
其中,Nik表示第i层的第k个节点,w(i-1)jk表示第i-1层第j个节点与第i层第k个节点之间的权重,|L|表示模型总层数,|N|i表示第i层的节点数量,且N(i-1)0≡1,Nik(k≠0)与N(i-1)0之间均存在连接;初始时w(i-1)jk=0.5,若Nik与N(i-1)j之间没有边连接,则w(i-1)jk=0;
对要素节点的值进行计算,该节点的计算公式如下:
其中,[XiF]表示第i个维度的要素分值;
2)对要素层的预测误差进行计算,计算公式如下:
ep=ti-opi; (5)
其中,ti表示第i个软件的健康度实际分数,opi表示第i个软件的健康度预测分数,ep表示输出层节点的误差值;
对其余层的预测误差进行计算,其计算公式下:
其中,Nij代表第i层第j个节点输出值,wijk代表第i层第j个节点与第i+1层的中第k个节点的边权,若Nij与N(i+1)k之间没有边连接,则w(i+1)jk=0;
3)根据上述计算的节点误差值与分值对模型的边权进行更新;权值的更新差值计算公式如下:
w′ijk=wijk+α·ep(i+1)k·Nij; (7)
其中,α表示权值的更新速率,设置为0.01;ep(i+1)k表示第i+1层节点k的计算误差;Nij表示第i层节点j的输出值;
通过计算每项权值的更新率判断模型是否达到收敛状态;模型收敛条件计算公式如下:
若未达到收敛条件,返回步骤4中步骤1)继续执行,反之,则表示度量元层至要素层的模型权重已计算结束;
所述步骤5具体包括:
1)对于每个已完成的历史软件项目,依次向综合健康子模型中输入对应的要素健康分数;计算每个项目综合健康分数,其计算公式如下:
其中,[XjF](i)表示第i个软件第j个维度的要素健康分数,[X0F](i)≡1,hθ(x(i))表示第i个软件项目的预测综合健康分数,θj表示待训练的模型参数,|F|表示健康要素子模型的数量,初始时均设置为1;
2)根据预测的综合健康分数与实际分数误差对模型中的参数进行更新;对于每个参数,计算公式如下:
其中,α表示权值的更新速率,设置为0.01;θj表示模型中第j个参数;Q(i)表示第i个软件项目的实际综合健康分数;
当所有θj的变化程度小于某一阈值时,即达到收敛条件,表示要素层至综合健康节点的模型权重已计算结束,反之,返回步骤5中步骤1)继续执行;
所述步骤6具体包括:
1)从训练得到的FCM模型库中选择合适的模型;
2)选择软件项目,收集其已进展的项目数据;
3)根据所述项目数据,计算该项目的度量元值;
4)依据FCM模型,依次计算各健康要素评分和综合健康评分;其中,对于每个健康要素,基于对应的度量元向量,计算上层节点的值,计算方式同公式(3);计算要素分数,计算方式同公式(4);计算综合健康分数,计算方式同公式(9)。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中软国际信息技术有限公司,未经北京中软国际信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810475407.8/1.html,转载请声明来源钻瓜专利网。
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理