[发明专利]一种通信设备及其软件升级的方法有效
| 申请号: | 201110424629.5 | 申请日: | 2011-12-16 |
| 公开(公告)号: | CN102541592A | 公开(公告)日: | 2012-07-04 |
| 发明(设计)人: | 张重峰 | 申请(专利权)人: | 大唐移动通信设备有限公司;上海大唐移动通信设备有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 刘松 |
| 地址: | 100083*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 通信 设备 及其 软件 升级 方法 | ||
技术领域
本发明涉及重构识别技术领域,尤其涉及一种通信设备及其软件升级的方法。
背景技术
在通信设备软件的生命周期中,需要不断对软件进行升级、更改,以适应新的需求。而对软件的更改往往都是在一些外部压力下进行的,如客户或行业竞争。这些更改势必会破坏程序原有的结构,提高程序复杂度,降低代码的质量。结果导致软件的维护成本显著提高,对软件的升级将变得更加困难。
任何软件开发方法和工具都不能避免这个问题,为了解决这个难题,需要一种技术能够降低软件复杂度,提高软件的内部质量。重构就是解决该问题的一项重要技术手段,识别程序中哪些地方存在坏味道Bad Smells(如重复的代码、过长的函数、过长的类等)、哪些代码需要被重构是重构的难点。目前采用的重构技术主要有以下几种:
1)静态分析技术
静态分析技术是Kamiya首先提出的一种自动识别克隆代码的技术,这是自动化识别重构对象的雏形。主要是通过一些规则,把源程序转换成token序列,然后分析这些token,从中找出克隆的代码。根据这种静态分析的思想,开发出能够自动识别克隆代码的工具一CCFinder,这是一种早期的自动识别重构对象的工具。
静态分析只能静态的对现有代码进行分析,而不能分析程序运行流的状态,故能识别出一些克隆代码或不合理的代码,而不能直接支持重构。这需要加入经验分析,进一步识别出可利用何种重构技术来对现有代码进行调整。
2)动态分析技术
Kataoka利用动态分析技术,开发出能够自动检测程序中不变量的工具-Daikon。它指导目标程序去跟踪一些兴趣变量(包括方法、类、变量等程序元素),然后在这些变量上运行一些测试套件,最后推断出哪些变量是不变量。
动态分析技术虽然加入程序运行时信息,但它限于识别不变量的重构,对其他重构没有很好的支持。而这种重构技术在应用过程,对于降低软件复杂度,提高软件的内部质量的支持不是很理想,对软件的改善效果不明显。
3)可视化技术
可视化技术可以辅助维护人员识别程序中哪些地方应该被重构。具体为根据不同需求,把程序在不同层次进行抽象,然后在这个抽象层次上发现潜在的“坏味道”,但它不能直接识别重构对象,而仅能向维护人员提供一种特殊的程序表示。Simon利用基于度量的可视化技术,把程序的内聚度在2D图上抽象出来,辅助维护人员识别重构对象。Bohnet把组件之间的交互(如调用关系)可视化在3D空间,在不同的抽象层次(从函数间的交互到系统间的交互)上分析组件之间的交互,维护人员可以在这个三维空间观察组件间的交互,从而识别不合理的调用关系。
可视化技术能够直观的识别不良代码,给维护人员重构建议,但使用该技术的条件比较严格,需要较高的硬件配置,而且欠缺实时性,需要大量的分析时间。
发明内容
本发明提供一种通信设备及其软件升级的方法,用以在自动化优化程序结构的基础上实现软件升级,降低软件升级的复杂度及提高软件升级效率。
本发明提供一种通信设备软件升级的方法,包括:
确定目标程序中耦合度高于设定值的各对程序元素分别作为关注点;
以任一对关注点涉及的程序元素为节点,根据所涉及的程序元素间的依赖关系确定出节点之间的带方向箭头的边,由所述节点及边构造出程序依赖图;
根据构造的程序依赖图,以每个关注点为起点,分别按照切片准则进行前向切片和后向切片,得到每个关注点的切片后的程序依赖图;
根据切片后的程序依赖图,识别需要进行重构的程序元素,并对需要进行重构的程序元素进行重构;
对完成程序元素重构的目标程序进行升级。
本发明还提供一种通信设备,包括:
关注点确定单元,用于确定耦合度高于设定值的一对程序元素分别作为关注点;
依赖图构造单元,用于根据确定的每个关注点,按照自底向上的顺序,构造出面向所述关注点的程序依赖图;
切片单元,用于根据构造的程序依赖图,以确定的每个关注点为起点,分别按照切片准则进行前向切片和后向切片,得到切片后的程序依赖图;
识别单元,用于根据切片后的程序依赖图,识别需要进行重构的重构对象,并对需要进行重构的程序元素进行重构;
升级单元,用于对完成程序元素重构的目标程序进行升级。
利用本发明提供的通信设备及其软件升级方法具有以下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司;上海大唐移动通信设备有限公司,未经大唐移动通信设备有限公司;上海大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110424629.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种几何文具尺
- 下一篇:一种能迅速固定绘图纸的机械制图绘图板





