[发明专利]分层架构软件中代码评估方法、装置及存储介质有效
申请号: | 201810968938.0 | 申请日: | 2018-08-23 |
公开(公告)号: | CN110858141B | 公开(公告)日: | 2023-07-28 |
发明(设计)人: | 高亮;任文科;彭飞;韩捷 | 申请(专利权)人: | 西门子股份公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F8/75 |
代理公司: | 北京康信知识产权代理有限责任公司 11240 | 代理人: | 赵冬梅 |
地址: | 德国*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分层 架构 软件 代码 评估 方法 装置 存储 介质 | ||
1.分层架构软件中代码评估方法,其特征在于,包括:
获取待检测分层架构软件的层定义信息;所述层定义信息包括所述待检测分层架构软件的分层信息以及每层内所包含组件的信息;
扫描所述待检测分层架构软件的代码,获取所述代码的基本信息;所述基本信息包括组件信息、组件内的文件信息、以及文件内的代码度量信息;所述代码度量信息包括代码行数和/或函数个数;
所述代码度量信息进一步包括:圈复杂度和依赖数;将每个组件的厚度与一设定的组件厚度阈值进行比较,在存在高于所述组件厚度阈值的组件时,将所述高于所述组件厚度阈值的组件作为待重构组件,并从所述基本信息中获取所述待重构组件内的各文件的圈复杂度和依赖数;
将所述基本信息与所述层定义信息进行映射,得到所述待检测分层架构软件的每层内各组件的文件信息以及文件内的代码度量信息;和
根据所述每层内各组件的文件信息以及文件内的代码度量信息计算得到所述待检测分层架构软件的代码评估参数;所述代码评估参数包括:表征层软件规模的层厚和/或每层内表征各组件软件规模的组件厚度;
所述代码评估参数进一步包括:组件的耦合度;将所述待重构组件内每个文件的圈复杂度与一圈复杂度阈值进行比较,将所述待重构组件内每个文件的依赖数与一依赖数阈值进行比较,在存在圈复杂度大于所述圈复杂度阈值或依赖数大于所述依赖数阈值的文件时,将所述文件呈现出来;利用所述待重构组件内各文件的圈复杂度和依赖数表征所述待重构组件的耦合度。
2.根据权利要求1所述的方法,其特征在于,所述代码评估参数进一步包括:层复杂度和/或组件复杂度;该方法进一步包括:
根据所述层厚及设定的层厚阈值确定所述待检测分层架构软件的层复杂度;和/或,根据每层内的各组件的厚度和设定的组件厚度阈值确定所述待检测分层架构软件每层内各组件的复杂度。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述扫描待检测分层架构软件的代码,获取所述代码的基本信息包括:
根据所述待检测分层架构软件的存储类型,指示对应类型的扫描器扫描所述待检测分层架构软件的代码,获取所述扫描器扫描得到的代码的基本信息。
4.根据权利要求3所述的方法,其特征在于,所述根据待检测分层架构软件的存储类型,指示对应类型的扫描器扫描所述待检测分层架构软件的代码包括:
所述待检测分层架构软件的存储类型为文件类型时,指示文件扫描器扫描所述待检测分层架构软件的代码;所述待检测分层架构软件的存储类型为版本控制系统VCS类型时,指示VCS扫描器扫描所述待检测分层架构软件的代码。
5.根据权利要求1所述的方法,其特征在于,进一步包括:根据所述层厚和/或每层内的各组件的厚度,将所述待检测分层架构软件的各个层和/或每层内的各个组件通过与所述层厚和/或每层内的各组件的厚度成正比的图形呈现出来。
6.根据权利要求5所述的方法,其特征在于,进一步包括:
将各个层厚和/或每个组件的厚度与一设定的厚度阈值进行比较,确定是否存在高于所述厚度阈值的层和/或组件;
在存在高于所述厚度阈值的层和/或组件时,将所述高于所述厚度阈值的层和/或组件对应的图形以高亮的方式呈现。
7.根据权利要求5或6所述的方法,其特征在于,进一步包括:
根据由至少两个不同取值的厚度阈值所确定的不同厚度区间,确定各个层厚和/或每层内各个组件的厚度所处的厚度区间;和
根据设定的各厚度区间所对应的颜色,将所述待检测分层架构软件的层和/或每层内的各个组件通过与所述层厚和/或每层内的各组件的厚度成正比的相应颜色的图形呈现出来。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西门子股份公司,未经西门子股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810968938.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:天然气原级标准装置用质量测定系统
- 下一篇:一种新型智能封片机