【摘 要】
:
在软件系统设计阶段,设计人员往往会选择复用已有的架构模式进行软件系统的架构设计,尤其是应用最为广泛的分层架构模式。分层模式将系统实体组织为层次结构以实现系统的关注点分离,合理运用分层模式可以提升软件系统的一系列质量属性。然而,随着软件系统不断演进,原始设计的分层架构经常出现架构偏移与腐蚀,导致系统的实际架构与原始架构不一致。甚至,在软件的非系统性或临时性修改过程中,引入违背分层模式设计原则的代码实
论文部分内容阅读
在软件系统设计阶段,设计人员往往会选择复用已有的架构模式进行软件系统的架构设计,尤其是应用最为广泛的分层架构模式。分层模式将系统实体组织为层次结构以实现系统的关注点分离,合理运用分层模式可以提升软件系统的一系列质量属性。然而,随着软件系统不断演进,原始设计的分层架构经常出现架构偏移与腐蚀,导致系统的实际架构与原始架构不一致。甚至,在软件的非系统性或临时性修改过程中,引入违背分层模式设计原则的代码实现,严重威胁了软件系统的质量。此外,在软件系统的持续演进过程中常常伴随着架构文档的丢失与不及时更新,种种方面导致重构这类系统的代价不断增长,最终导致软件系统无法保持持续的演进。为了缓解这类问题,利用系统源代码逆向获取软件系统的实际分层架构并进行及时重构就显得尤为重要。本文从分层架构模式识别与架构重构两个角度出发,对相关研究进行了系统分析,归纳了现有识别方法与重构研究的不足,并总结了分层架构模式的相关特征以及使用原则。在此基础上,提出了基于软件职和结构的分层架构模式识别方法以及基于模式识别结果的架构重构方法,主要工作如下:·在现有识别方法基础上进行改进与扩展,引入了代码过滤处理、识别结果优化以及可视化步骤,同时设计了基于源代码AST树的信息提取方式,从而生成了一套完整的分层架构模式识别方法。·总结了分层架构模式应用规范相关的三项原则,引入了三种对应的分层违规的形式化定义,在此基础上设计了基于分层模式识别结果的架构重构方法,能够实现自动化的重构点定位并生成对应的重构方案。·按照本文提出的模式识别及重构方法,设计并实现了原型工具LARRT(Layered Architecture Recovery and Refactoring Tool)。通过开源软件的模式识别实验发现,本文所述的分层架构模式识别方法具有更好的精度,即模式识别结果更接近目标系统的实际分层架构,因而识别得到的系统分层架构能够有效帮助理解系统的现有状态,降低设计开发人员理解系统的难度。基于开源软件识别结果的架构重构实验发现,本文提出的架构重构方法能够发现软件系统中真实存在的问题,自动化生成的重构方案在一定程度上能够有效指导设计开发人员进行重构实施。
其他文献
航空电子系统是民用飞机的重要组成部分,随着航电系统不断的升级,新一代的民用飞机使用综合模块化航空电子系统(Integrated Modular Avionics,IMA)。在IMA架构中,远程数据集
功率放大器一般位于射频发射机的最后一级,直接与天线相连。载波信号传送到功率放大器的输入端,功率放大器将其放大,然后传输给天线由天线传递出去。随着无线通信技术发展越
随着科学技术的与日俱进与生活方式的改变,在日常生活中准确地为人们提供位置信息变得愈发重要。目前室外环境中的定位主要依赖全球导航卫星系统(Global Navigation Satellit
修理级别分析(Level of Repair Analysis,LORA)是民机维修工程分析的重要环节,用于综合考虑维修政策、维修能力、成本控制等方面的因素,对维修级别进行分析,以确定成本最低的
房地产业对经济、民生以及社会各方面影响极大,过去一年中国房市经历了诸多变化,国家陆续释放出政策收紧的重要信号,今年以来很多城市频频出台房市调控政策,不断加码调控力度
生物特征识别技术与传统基于密码或ID卡的身份认证方式相比,具有更好的安全性、可靠性和有效性。研究表明,人的脚印是独一无二的,它与其他的生物特征同样重要,例如人脸,指纹等。目前根据脚印的获取方式不同,主要分为双脚站立、动态脚印以及单脚印的研究,然而基于双脚和动态脚印的研究在数据采集便利性和稳定性方面存在一定的局限性。基于单脚印的研究所需设备简单,费用低,采集单个脚印图像就能实现人身识别与验证,适用性
枢轨间接触特性分析一直是电磁轨道发射技术中的一个重要研究领域。尽管电磁轨道发射技术不断提升,但是枢轨间复杂的接触状态导致转捩发生、轨道磨损导致发射装置寿命降低,仍
电磁发射轨道在发射过程中通入的强电流会使轨道的温度迅速升高,这种温度的急剧变化以及存在的热应力可能会导致轨道的烧蚀等破坏,将严重影响电磁发射轨道的寿命以及发射效率
近年来人脸识别系统广泛应用于各个领域,但是目前也出现了伪装人脸行为进行欺诈,这种伪造攻击给人脸识别系统的安全性造成了严重威胁,因此判断人脸是否为活体成为人脸识别中至关重要的一部分。目前国内外对人脸活体检测算法具有较高的准确率,但仅限于软件平台的实现,并且检测速度缓慢,因此实现准确快速的活体检测硬件系统具有重要意义。本文的主要研究内容包括基于人脸纹理分析的活体检测算法设计和电路设计,以及活体检测算法
换流站接地装置的散流电流通过接地导体流入土壤,将会对接地导体产生电化学腐蚀影响,而直流场的散流电流除交流分量外还包含直流分量,故接地导体除了自然腐蚀与交流电化学腐