[发明专利]一种软件结构复杂度降解方法、设备及存储介质有效
申请号: | 201910069275.3 | 申请日: | 2019-01-24 |
公开(公告)号: | CN109814921B | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 赵涌鑫;曹思腾;史建琦;黄滟鸿;王泊涵 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 刘广达 |
地址: | 200062 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 结构 复杂度 降解 方法 设备 存储 介质 | ||
1.一种软件结构复杂度降解方法,其特征在于,包括:
确定软件结构的条件约束;
根据所述条件约束,对所述软件结构进行重构,得到多个重构方案;
分析所述多个重构方案,得到最优重构方案;
采用所述最优重构方案对所述软件结构进行重构;
所述确定软件结构的条件约束,包括:
确定软件结构中各原子构件之间的连通性约束;
确定目标复合构件的重级约束及每个重级中含有的原子构件和/或子复合构件的数量约束。
2.根据权利要求1所述的方法,其特征在于,所述根据所述条件约束,对所述软件结构进行重构,得到多个重构方案,包括:
根据所述连通性约束和所述数量约束,采用不同的组装顺序,对具有连通关系的原子构件进行组装,得到至少一个一重复合构件;
若当前得到的N重复合构件的重级未到达所述重级约束,则将所述N重复合构件作为子复合构件,根据所述连通性约束和所述数量约束,采用不同的组装顺序,对所述子复合构件和当前未组装的原子构件进行组装,得到至少一个N+1重复合构件,其中,N为整数且N≥1;
若当前得到的N重复合构件的重级到达所述重级约束,或者在未到达所述重级约束且不存在新的组装顺序时,停止重构得到多个重构方案和对应的多个目标复合构件。
3.根据权利要求2所述的方法,其特征在于,所述分析所述多个重构方案,得到最优重构方案,还包括:
分别构建所述多个目标复合构件中各重复合构件的拓扑矩阵;
根据所述拓扑矩阵,计算对应重构方案所对应的软件结构的结构复杂度;
对所述结构复杂度进行排序,得到最小结构复杂度;
将所述最小结构复杂度对应的重构方案,作为最优重构方案。
4.根据权利要求3所述的方法,其特征在于,所述分别构建所述多个目标复合构件中各重复合构件的拓扑矩阵,包括:
分别确定组成所述目标复合构件中各重复合构件的原子构件和/或子复合构件;
将所述原子构件和/或子复合构件,分别对应矩阵的一行和一列;
确定任意两个原子构件和/或子复合构件是否具有连通关系,并在相应的元素位置添加相应的数值,得到对应的拓扑矩阵。
5.根据权利要求3所述的方法,其特征在于,所述根据所述拓扑矩阵,计算对应重构方案所对应的软件结构的结构复杂度,包括:
若所述拓扑矩阵对应的目标复合构件为一重复合构件,则根据预设的组成所述一重复合构件的各原子构件的构件复杂度、任意两个原子构件之间预设的关系复杂度及所述拓扑矩阵,计算对应重构方案所对应的软件结构的结构复杂度;
若所述拓扑矩阵对应的目标复合构件为多重复合构件,则自下至上依次根据N重复合构件的结构复杂度计算N+1重复合构件的结构复杂度,并将最终得到的结构复杂度作为对应重构方案所对应的软件结构的结构复杂度。
6.根据权利要求5所述的方法,其特征在于,所述自下至上依次根据N重复合构件的结构复杂度计算N+1重复合构件的结构复杂度,包括:
将组成所述N+1重复合构件的各N重复合构件的结构复杂度作为相应的N重复合构件的构件复杂度;
统计组成所述N+1重复合构件的各N重子复合构件和/或各原子构件中,任意两个构件之间的各连通关系复杂度之和,作为所述两个构件的关系复杂度;
根据组成所述N+1重复合构件的各N重子复合构件和/或各原子构件的构件复杂度、任意两个构件之间的关系复杂度和对应的拓扑矩阵,计算N+1重复合构件的结构复杂度。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述对所述结构复杂度进行排序,得到最小结构复杂度之后,还包括:
判断所述最小结构复杂度是否小于所述软件结构当前的复杂度;
若是,则将所述最小结构复杂度对应的重构方案,作为最优重构方案;
若否,则判定所述软件结构当前为最优结构,结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910069275.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件结构复杂度降解装置
- 下一篇:一种软件复杂度计算方法