[发明专利]定位软件开发中代码受影响范围的方法及系统在审
| 申请号: | 201510673640.3 | 申请日: | 2015-10-16 |
| 公开(公告)号: | CN105205000A | 公开(公告)日: | 2015-12-30 |
| 发明(设计)人: | 王海文 | 申请(专利权)人: | 用友网络科技股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
| 地址: | 100094*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 定位 软件 开发 代码 影响 范围 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种定位软件开发中代码受影响范围的方法和一种定位软件开发中代码受影响范围的系统。
背景技术
目前,在软件开发过程中,开发团队都是由各种不同职位的人员组成,由不同角色协作完成开发任务。一般来说,有需求、设计、开发和测试,其中,需求和设计人员需要制定需求文档和设计文档,开发人员编写代码实现需求,测试人员进行功能测试,最终完成一个系统的开发任务。当需求发生变更或者在测试中出现问题的时候,开发人员需要能够快速的定位此需求变更或者问题所影响的代码范围,或者是准确定位导致问题出现的代码位置。
而现有的解决上述问题的方案为通建立文档间的关联关系以及文档和代码之间的关联关系,来进行定位。但是,一般实现的只是通过分析文档中的关键字和代码文件的文件名进行匹配,如果一致则建立关联关系,而该方案存在高度依赖于代码文件的文件名是否规范的缺陷,即:代码文件的划分是否很细粒度,一旦出现代码文件的文件名不规范或者代码进行重构等情况,则将无法找到关联关系,进而无法找到受影响的代码范围。而且如果代码文件划分的比较粗,比如只是按功能节点划分,则只能找到对应的节点,而不能更准确的定位到按钮动作;还有,一般代码文件的文件名只是有意义的单词或者是单词缩写,并不能完全做到跟关键字完全匹配。综上,该方案只能定位到需求或测试问题关键字对应的直接代码文件,并不能找到所有间接关联的相关代码。
有鉴于此,本发明通过分析代码内容,找到代码间的所有调用关系。然后根据需求或者问题描述的功能关键字,找到对应的入口代码,然后通过代码间的调用拓扑关系,找到所有影响范围。功能关键字找到对应入口代码的原理是,不管是功能节点还是功能按钮,都是在代码里会设置名称,或者是通过注册的方式把名称和代码建立关系,这样通过界面上显示出来的功能关键字,就可以找到对应的入口代码,这样比从文档中的关键字找代码文件名更加准确。
基于以上场景,一个能够快速,准确定位到需求影响范围或者问题对应的代码范围的工具,将会极大的提高开发效率,提高软件产品质量。
因此,如何在需求发生变更或软件测试出现问题时,不依赖于软件开发文档即可快速准确地定位所有受影响的代码范围,从而提高软件开发效率成为亟待解决的技术问题。
发明内容
本发明正是基于上述技术问题,在需求发生变更或软件测试出现问题时,不依赖于软件开发文档即可快速准确地定位所有受影响的代码范围,从而提高软件开发效率。
有鉴于此,本发明的第一方面,提出了一种定位软件开发中代码受影响范围的方法,包括:接收输入的功能关键字;根据所述功能关键字确定入口代码类,并建立所述功能关键字与所述入口代码类的映射实体;根据所述入口代码类在软件系统代码集中抽取所述入口代码类的调用链路,以根据所述映射实体和所述调用链路定位与所述功能关键字匹配的代码受影响范围。
在该技术方案中,当在软件系统显示界面接收到用户(比如,软件开发人员)输入的功能关键字时,可以根据该功能关键字确定用于定位代码受影响范围的入口代码类,并建立该入口代码类与该功能关键字的映射实体,然后根据入口代码类在软件系统代码集中抽取该入口代码类的完整的调用链路,进而根据上述映射实体与调用链路确定与该功能关键字匹配的所有的受影响的代码范围,如此,通过功能关键字而无需依赖任何软件开发文档找到对应的入口代码类进而通过分析代码内容,找到代码间的所有调用关系,即可快速准确地定位所有受影响的代码范围,从而提高软件开发效率,同时有效地避免了因软件开发文档与最终代码不同步而导致代码受影响范围定位不准确的问题。
在上述技术方案中,优选地,所述根据所述入口代码类在软件系统代码集中抽取所述入口代码类的调用链路,以根据所述映射实体和所述调用链路定位与所述功能关键字匹配的代码受影响范围具体包括:通过ASM框架在所述软件系统代码集中进行扫描分析,以获取所述软件系统代码集中的所有代码类之间的调用关系;根据所述软件系统代码集中的所述所有代码类之间的调用关系建立所述软件系统代码集的代码引用拓扑关系资源库;根据所述入口代码类在所述代码引用拓扑关系资源库中抽取所述调用链路。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友网络科技股份有限公司,未经用友网络科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510673640.3/2.html,转载请声明来源钻瓜专利网。





