共查询到18条相似文献,搜索用时 531 毫秒
1.
在图像等二维信号的应用与处理上,常规压缩感知理论框架存在重构算法效果差、图像块效应明显、对噪声敏感等问题。针对这些问题,根据现有二维观测模型和二维重构算法设计思想,可以设计一种新的重构算法:二维逐步正交匹配追踪算法。该算法借鉴了相关一维重构算法的设计思想,通过每次迭代选取符合阈值条件的多列原子进而正交化处理的步骤,提升了重构效率,改善了恢复图像质量。理论分析和实验结果表明,提出的算法在重构时间得到控制的情况下,得到的图像信噪比有较大提升,超越了现有典型的二维重构算法。 相似文献
2.
3.
设计模式和泛型技术在系统重构中的应用研究 总被引:1,自引:0,他引:1
重构是在不改变代码外在行为的前提下,对代码做出修改,以改进程序内部结构的过程.设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述.泛型编程专注于将型别抽象化,形成功能需求方面的一个精细集合,并利用这些需求来实现算法.以一个应用系统的数据采集子系统的系统重构为例,将设计模式应用于系统重构中设计阶段,将泛型技术应用于系统重构实现阶段;讨论设计模式技术和泛型技术的结合对系统重构的作用与意义. 相似文献
4.
5.
压缩感知被广泛应用于信号恢复和图像重构与去噪,重构算法是压缩感知的关键部分之一。当采样率很低时,重建原始信号是个困难的问题。对此,现有算法普遍表现不佳。采用[p(0
相似文献
6.
针对传统图像加密算法安全性能差和传输效率低等问题,提出了一种基于压缩感知CS和DNA编码相结合的图像压缩加密算法。首先,采用CS对待加密图像进行预处理,在预处理过程中由克罗内克积KP构造测量矩阵并按比例缩小原始图像。接着,利用超混沌Bao系统产生的混沌序列动态控制DNA编码、解码和运算方式,对压缩图像进行加密和解密。最后,通过重构算法得到重构图像。该算法最大限度地利用了超混沌Bao系统产生的混沌序列,通过将生成的混沌序列整数化,对原始图像进行DNA扩散操作。仿真实验和结果分析表明,该算法能有效提高图像的传输效率和安全性。 相似文献
7.
8.
9.
针对现有的电子行走辅助(ETA)系统在普及和应用中的缺陷,自行设计了一种易使用的ETA系统模型AudioMan。该模型结合图像处理和听觉显示技术,给盲人用户提供道路方向和障碍物位置等环境信息。系统提出通过控制乐音的参数来实现可听化,用可听化来传递图像信息。可用性测试和评估结果表明,AudioMan所建立的用户听觉模型比现有的ETA系统更有效。 相似文献
10.
本文首先介绍了模拟训练器的兴起和发展与视景管理软件OpenGVS,然后说明了基于OpenGVS的现有模拟训练器软件的难修改、难扩充、难继承的原因在于其缺乏合理的系统结构设计。为了重复利用现有资源,本文主要应用了基于设计模式思想的面向对象的重构方法对现有系统进行结构改造。 相似文献
11.
《Information and Software Technology》2012,54(11):1202-1214
ContextThe automated identification of code fragments characterized by common design flaws (or “code smells”) that can be handled through refactoring, fosters refactoring activities, especially in large code bases where multiple developers are engaged without a detailed view on the whole system. Automated refactoring to design patterns enables significant contributions to design quality even from developers with little experience on the use of the required patterns.ObjectiveThis work targets the automated identification of refactoring opportunities to the Strategy design pattern and the elimination through polymorphism of respective “code smells” that are related to extensive use of complex conditional statements.MethodAn algorithm is introduced for the automated identification of refactoring opportunities to the Strategy design pattern. Suggested refactorings comprise conditional statements that are characterized by analogies to the Strategy design pattern, in terms of the purpose and selection mode of strategies. Moreover, this work specifies the procedure for refactoring to Strategy the identified conditional statements. For special cases of these statements, a technique is proposed for total replacement of conditional logic with method calls of appropriate concrete Strategy instances. The identification algorithm and the refactoring procedure are implemented and integrated in the JDeodorant Eclipse plug-in. The method is evaluated on a set of Java projects, in terms of quality of the suggested refactorings and run-time efficiency. The relevance of the identified refactoring opportunities is verified by expert software engineers.ResultsThe identification algorithm recalled, from the projects used during evaluation, many of the refactoring candidates that were identified by the expert software engineers. Its execution time on projects of varying size confirmed the run-time efficiency of this method.ConclusionThe proposed method for automated refactoring to Strategy contributes to simplification of conditional statements. Moreover, it enhances system extensibility through the Strategy design pattern. 相似文献
12.
13.
Peng-Hua Chu Nien-Lin Hsueh Hong-Hsiang Chen Chien-Hung Liu 《Software Quality Journal》2012,20(1):43-75
In the current trend, Extreme Programing methodology is widely adopted by small and medium-sized projects for dealing with
rapidly or indefinite changing requirements. Test-first strategy and code refactoring are the important practices of Extreme
Programing for rapid development and quality support. The test-first strategy emphasizes that test cases are designed before
system implementation to keep the correctness of artifacts during software development; whereas refactoring is the removal
of “bad smell” code for improving quality without changing its semantics. However, the test-first strategy may conflict with
code refactoring in the sense that the original test cases may be broken or inefficient for testing programs, which are revised
by code refactoring. In general, the developers revise the test cases manually since it is not complicated. However, when
the developers perform a pattern-based refactoring to improve the quality, the effort of revising the test cases is much more
than that in simple code refactoring. In our observation, a pattern-based refactoring is composed of many simple and atomic
code refactorings. If we have the composition relationship and the mapping rules between code refactoring and test case refactoring,
we may infer a test case revision guideline in pattern-based refactoring. Based on this idea, in this research, we propose
a four-phase approach to guide the construction of the test case refactoring for design patterns. We also introduce our approach
by using some well-known design patterns and evaluate its feasibility by means of test coverage. 相似文献
14.
Gerardo Canfora Luigi Cerulo Marta Cimitile Massimiliano Di Penta 《Empirical Software Engineering》2014,19(1):1-38
Context Software systems continuously change for various reasons, such as adding new features, fixing bugs, or refactoring. Changes may either increase the source code complexity and disorganization, or help to reducing it. Aim This paper empirically investigates the relationship of source code complexity and disorganization—measured using source code change entropy—with four factors, namely the presence of refactoring activities, the number of developers working on a source code file, the participation of classes in design patterns, and the different kinds of changes occurring on the system, classified in terms of their topics extracted from commit notes. Method We carried out an exploratory study on an interval of the life-time span of four open source systems, namely ArgoUML, Eclipse-JDT, Mozilla, and Samba, with the aim of analyzing the relationship between the source code change entropy and four factors: refactoring activities, number of contributors for a file, participation of classes in design patterns, and change topics. Results The study shows that (i) the change entropy decreases after refactoring, (ii) files changed by a higher number of developers tend to exhibit a higher change entropy than others, (iii) classes participating in certain design patterns exhibit a higher change entropy than others, and (iv) changes related to different topics exhibit different change entropy, for example bug fixings exhibit a limited change entropy while changes introducing new features exhibit a high change entropy. Conclusions Results provided in this paper indicate that the nature of changes (in particular changes related to refactorings), the software design, and the number of active developers are factors related to change entropy. Our findings contribute to understand the software aging phenomenon and are preliminary to identifying better ways to contrast it. 相似文献
15.
软件体系结构中的横切关注点增加了软件体系结构的复杂性,从而加剧了体系结构演化与维护的困难.这种设计问题可以通过体系结构层面的重构来进行改善.在已有的横切特征分析方法基础上,提出了一种面向横切特征分析的体系结构自动重构方法.该方法首先基于特征与构件之间的追踪关系分析横切特征,然后将与横切特征有直接追踪关系的构件从初始体系结构中提取出来,实现方面构件,完成体系结构重构.在面向方面体系结构描述语言AO-ADL基础上开发了相应的体系结构重构工具,并针对一个业务系统进行了体系结构重构实验.实验结果表明,该方法能有效地实现体系结构横切特征的自动化重构. 相似文献
16.
Design patterns capture development solutions to design problems in forms that make the designs more modular, modifiable, reusable, and understandable. This metamodeling approach to pattern-based refactoring of design models incorporates the precise specification of design patterns and transformation rules. 相似文献
17.
18.
基于设计模式的重构技术 总被引:2,自引:0,他引:2
设计模式是编程过程中的设计经验,在应用程序的实现过程中可以利用设计模式,用重构的观念来对待设计模式的实现。采用测试优先的单元测试技术,可以保证重构的安全。介绍了这方面的知识,并举例说明了这种方法的可行性和有效性。 相似文献