[发明专利]一种软件结构复杂度降解方法、设备及存储介质有效
申请号: | 201910069275.3 | 申请日: | 2019-01-24 |
公开(公告)号: | CN109814921B | 公开(公告)日: | 2020-10-02 |
发明(设计)人: | 赵涌鑫;曹思腾;史建琦;黄滟鸿;王泊涵 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06F8/72 | 分类号: | G06F8/72 |
代理公司: | 北京辰权知识产权代理有限公司 11619 | 代理人: | 刘广达 |
地址: | 200062 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 结构 复杂度 降解 方法 设备 存储 介质 | ||
本申请公开了一种软件结构复杂度降解方法、设备及存储介质,涉及软件技术领域。所述方法包括:确定软件结构的条件约束;根据确定的条件约束,对软件结构进行重构,得到多个重构方案;分析得到的多个重构方案,得到最优重构方案;采用最优重构方案对软件结构进行重构。本申请中,通过对软件结构进行重构,不仅能够将松散的软件结构转化为一个高耦合的、更加集中的低复杂度的软件结构,提高软件的内聚性,改善软件质量;而且,对软件结构的改进代价较低,对于系统的开发和后续扩展能够提供一定的帮助,能够节省开发时间和成本;并且提供了可量化的指标来评价经过重构后软件复杂度的降低效果和幅度。
技术领域
本申请涉及软件技术领域,尤其涉及一种软件结构复杂度降解方法、设备及存储介质。
背景技术
随着软件规模不断增大,软件的功能越来越复杂,对软件开发带来了很多困难。软件复杂度是评价软件质量的一项重要指标,人们希望得到一个软件复杂度低且质量高的软件,其不仅具有良好的结构,而且利于后续软件的开发和维护。软件重构是降低软件复杂度的一种技术。它可以在不改变软件接口和功能的情况下,提高代码质量和可读性,降低后续维护成本。然而,当前的软件重构方法很少从软件的全局结构上对软件进行优化;并且大多都是在软件开发周期的末端,即软件基本定型之后,才开始着手对软件进行重构来降低软件的复杂度,而这会导致软件交付日期被迫延长,软件开发成本上升;同时,现有的软件重构方法中缺乏量化指标,不易于软件重构效果的评价。
发明内容
本发明的主要目的在于提出一种软件结构复杂度降解方法、设备及存储介质,旨在至少在第一程度上解决上述技术问题中的技术问题之一。
为实现上述目的,本发明第一方面提供一种软件结构复杂度降解方法,所述软件结构复杂度降解方法包括以下步骤:
确定软件结构的条件约束;
根据所述条件约束,对所述软件结构进行重构,得到多个重构方案;
分析所述多个重构方案,得到最优重构方案;
采用所述最优重构方案对所述软件结构进行重构。
本发明提供的软件结构复杂度降解方法,通过对软件结构进行重构,首先能够将松散的软件结构转化为一个高耦合的、更加集中的低复杂度的软件结构,提高了软件的内聚性,改善了软件质量;其次,对软件结构的改进代价较低,对于系统的开发和后续扩展能够提供一定的帮助,能够节省开发时间和成本;再次,通过可量化的指标来评价经过重构后软件复杂度的降低效果和幅度,可以更容易的在各组装方案中筛选出软件结构最好、复杂度最低的最优组装方案。
另外,本发明提供的软件结构复杂度降解方法还可以具有如下附加技术特征:
优选地,所述确定软件结构的条件约束,包括:
确定软件结构中各原子构件之间的连通性约束;
确定目标复合构件的重级约束及每个重级中含有的原子构件和/或子复合构件的数量约束。
优选地,所述根据所述条件约束,对所述软件结构进行重构,得到多个重构方案,包括:
根据所述连通性约束和所述数量约束,采用不同的组装顺序,对具有连通关系的原子构件进行组装,得到至少一个一重复合构件;
若当前得到的N重复合构件的重级未到达所述重级约束,则将所述N重复合构件作为子复合构件,根据所述连通性约束和所述数量约束,采用不同的组装顺序,对所述子复合构件和当前未组装的原子构件进行组装,得到至少一个N+1重复合构件,其中,N为整数且N≥1;
若当前得到的N重复合构件的重级到达所述重级约束,或者在未到达所述重级约束且不存在新的组装顺序时,停止重构得到多个重构方案和对应的多个目标复合构件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910069275.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种软件结构复杂度降解装置
- 下一篇:一种软件复杂度计算方法