基于分层架构模式识别的软件架构重构技术

来源 :科学导报·学术 | 被引量 : 0次 | 上传用户:netcapo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘 要】提出了一種基于分层体系结构模型识别的软件体系结构重构技术。该技术使用目标软件源代码作为输入,筛选出与分层体系结构无关的代码,然后利用代码词汇信息探索程序实体之间的语义关联,提取并计算程序实体与之间的角色相似性通过结合基于软件集合的分层模型图像属性,确定软件层次结构和软件体系结构模型。基于方案识别,将系统中的违规定位为重建点,并生成和实施相应的重建建议案。最后,在开源Github和SourceForge社区中,选择了10个开放源码软件系统作为试点项目。与传统方法相比,本文提出的基于层次模型识别的软件体系结构重构技术大大提高了模型识别的有效性、重构点识别的效果以及重构建议的实施效果。它可以有效地帮助开发人员识别软件体系结构模型,获取重建点并生成重建建议,帮助开发人员实施体系结构重组,改善系统违规情况,并提高软件质量。
  【关键词】架构重构;分层架构模式;架构模式识别;重构点定位
  前言
  软件体系结构是提高软件系统质量并支持软件开发和再利用的重要手段。在实际软件开发中应用软件体系结构的最大困难在于实际开发中不断变化的需求,使得实际系统和软件体系结构难以有效地指导软件开发实践。因此,重要的是从系统的实施中探讨提取、分析和重组软件体系结构的有效方法,以便更好地了解和分析现有系统,提高软件系统的维护效率,降低维护成本。同时,软件体系结构的重构可以有效地评估系统的实现是否符合设计体系结构,并检查系统的实现是否违反设计,从而提高开发质量。因此,它已成为当前软件体系结构研究的热点之一。
  一、分层架构模式识别方法
  1.代码预处理
  与系统体系结构无关的代码信息可能会严重干扰软件体系结构模式识别过程,从而影响识别的准确性和有效性。本文使用一般规则、域规则和用户定义的规则来筛选目标系统的源代码。
  2.软件职责恢复
  预处理的源代码类文件将转换为抽象语法树(AST),并从每个类文件中通过AST节点提取术语信息。由于软件责任的程序实体分组层是系统的软件包层,因此必须根据每个类文件所属的软件包合并从每个类文件中提取的术语,并为每个软件包生成一个词汇文档。将包装词汇文档中的复合词分为由子词分隔的词,将所有词的树干或根部抽出来,然后删除不能传递有效信息的词以消除噪声。单词的重要性因地点而异,因此可以根据出现次数加权。
  3.软件层次识别
  软件层次识别是指基于软件组件在组件之间填充结构相关性信息,生成组件的完整示意图,通过组合层次模型图像属性执行层次识别,以及获取目标系统的层次结构。首先,将目标系统的类文件转换为AST格式,并通过浏览AST节点提取所需类之间的结构相关性信息。最后来说,它生成类间结构依赖关系图,定义g <类,边>类结构依赖关系图,该图由类节点集类和类间依赖关系边集组成,在相邻表的抽象中表示,为目标系统中的实体类I生成相应的顶点关键点。将所有图元类顶点存储在一维数组中,并保存指向每个类顶点的从属类,以这些顶点作为从属关系的起点。
  二、基于模式识别结果的分层软件架构重构
  1.基于模式识别的重构点定位
  本文使用模型的一致性判断,以图形方式表示三个违规作为重建点。SKIP、BACK和INTERFACE是分别违反邻近相关性规则、单向相关性规则和接口规则的程序实体。查找三个违规的过程定义如下:“跳过”和“后退”分别根据数据包结构相关性卡标识非法使用其不相邻的底层和顶层服务的数据包。被认为是违反等级从属关系的起点。该接口基于底层类结构的依赖关系图。如果packageB包含依赖于其packageka子软件包中cls gamma实体类的cls实体类,并且该cls gamma类不是接口形式,而是直接函数实现类,则视为在package-agea中发生了非表面接口违规。
  2.重构建议生成
  本文根据重构点的定位,按照自下而上的原则提出了体系结构和代码重构建议。如图5所示,PA在分层结构图中非法调用非直接相邻子实体的PB函数。因此,在构造点放置阶段,pa将被添加到SKIP集合中。要使目标系统与分层模型的使用规范相匹配,建议您取消对pa到PB依赖性的重新构建。经过进一步分析,发现pa-pb依赖关系源自其内部类文件之间的依赖关系,因此切断pa-pb依赖关系的重构建议映射到代码层,而消除四个类之间依赖关系的重构建议{C1→C5,C3→C4,C3→C5,C2→C4 重组建议分为两种类型:取消套装程式之间的非法相依性,以及调整套装程式的内部实体介面,以移除类别之间的非法相依性和抽象实体类别作为介面的相依性。
  3.重构实施与效果评估
  若要评估重建的影响,您必须采取适当的措施,包括针对层次间违规的措施、针对反向违规的措施以及针对非介面违规的措施。
  结束语
  综上所述可知,提出了一种基于分层体系结构模型识别的软件体系结构重建技术,通过使用代码词汇信息恢复软件责任,并使用类图生成组件结构依赖图,实现了软件体系结构模型识别。根据模式识别结果找到重建点并生成重建建议。最后,实验分析证实,技术大大提高了模型识别的效率、确定重建点的效率以及与传统方法相比执行重建建议的效率。它可以有效地帮助软件开发人员识别软件的结构模型,找到重建点并生成重建建议,帮助开发人员进行结构重建,改善系统违规情况,提高软件质量。
  参考文献:
  [1]杜鹏程.基于软件职责和结构的分层架构模式识别及重构[D].江苏南京∶东南大学,2019.
  [2]任武.通过用况聚类促进软件结构恢复的方法[J].电子学报,2013,41(7)∶166-172.
  (作者单位:广西智汇佳人力资源有限公司)
其他文献
【摘 要】随着信息时代的爆炸式发展,大数据技术的提升也影响着现代人的日常生活,大数据时代的到来的确让人们的生活越来越方便,但随之而来的也是不容忽视的网络安全问题。为了保护网络用户的个人隐私,创建一个良好的网络环境,对当前网络安全隐患进行分析并提出合理的保护方案,是大数据时代网络信息维护的重点之一。  【关键词】大数据;网络安全;信息安全  随着大数据技术的不断发展,网络资源的共享与快速传播也真正实
期刊
【摘 要】在社会经济迅速发展下,越来越多企业给电气工程技术提出了更高要求,这就需要通过先进的科学技术给予充分支持。目前,电气工程自动化技术已经广泛应用在多个领域,但如何保证其实现有效应用和维护就成为当下必须解决的关键问题之一。所以,这就需重点对其维护技术发展进行探究。  【关键词】电气工程及其自动化;维护技术;发展  引言  在电气信息研究领域当中国,电气工程及其自动化占有极高地位,并且和工业生产
期刊
【摘 要】经济发展带动了我国科学技术的不断革新,自动化技术在各行各业都得到了广泛应用,尤其是煤矿行业,利用自动化、智能化的技术完成生产作业,能够有效减少人力资源投入,为煤矿企业节省成本的同时,也提升了生产效率,能够用最小的投入创造更多经济和社会效益。但自动化技术在我国依然处于起步阶段,还需要强化对该技术的进一步研究。  【关键词】煤矿机电;自动化控制技术;优势;运用探讨  引言  目前,机电设备在
期刊
【摘 要】随着科学技术的发展,未来必须是一个信息时代,所有生产和利用活动都将取决于信息的相互作用。在这种发展背景下,软件技术作为对信息建设进程的重要贡献受到了广泛关注。软件体系结构技术对于软件系统的设计非常重要,因此研究其内容非常重要。本文首先概述了软件体系结构技术。报告介绍了其内容、类型和具体功能,进一步分析了其目前的发展状况,并简要回顾了其趋势,以便为有关研究人员的研究提供参考。  【关键词】
期刊
【摘 要】在我国,关于电气工程及其自动化的范围是十分广泛的,涵盖的种类较多,并且十分复杂,包括计算机技术、电子电力技术、电机电器技术、信息与网络控制技术,以及几点一体化技术等;因此,我国的电气工程及其自动化是综合性比较强的,并且随着技术不断地发展,也逐步渗透到各行各业中,被广泛地使用到各个生产领域工业是一个国家非常关键的构成体系,它为国家的经济进步贡献着非常显著的力量。而电气项目又是它的一个关键构
期刊
【摘 要】大学生,一个看起来十分特殊的群体,是国家未来发展的主力军,大学生健康更是“健康中国”战略实施的主要任务之一。古有“运动是良医”的思想,今有“身体是革命的本钱”的观念,对于即将立足社会生活的大学生来说,他们要承受着来自毕业、就业、情感、各方面的压力,这也就要求他们要保持健康的身体去迎接未知的挑战。随着时代的不断发展,我国高校体育教学改革工作也在稳步进行,而改革过程中所面临的一项重要工作就是
期刊
【摘 要】随着科学技术的不断提高,新能源汽车在我国汽车行业中不断的发展,同时新能源汽车车维修技术需要创新,以适应现在的新能源汽车维修。随着电子诊断技术的出现,将其有效地运用在新能源汽车维修中,使汽车的维护方式得到了创新与完善,也让新能源汽车的故障维修变得更加便捷与高效。基于此,本文将对电子诊断技术在新能源汽车维修中的运用进行分析,希望能够对相关工作人员有所帮助。  【关键词】新能源汽车;维修;电子
期刊
【摘 要】目前,我国石油需求量大幅提升,同时,人工成本也在持续增加,但利用人工方式开展石油生产工作,效率很低,因此,使用机械化生产方式可以将人工生产过程存在问题有效解决。随着科技信息水平的提高,石油钻井机设备机械机电一体化被广泛应用,可以有效加强石油机械生产水平,达成一体化生产目标,从而促进我国石油钻井行业获得良好发展。  【关键词】石油钻井;机械;机电;一体化  1 石油钻井设备机械机电一体化特
期刊
【摘 要】现代产业学院是立于解决当前应用型本科院校人才培养困局上的一次大胆尝试,其以关联体的方式实现对育人资源的多重组合,让学生在产教同体、学训同步当中实现自身专业素养的获得及实践,这对于专业学子的成长及院校的发展都具有着重要的意义。本文就产教融合组织样式创新的意义进行了分析,并以黑龙江财经学院为例,就其探索中的途径进行了总结,将为现代产业学院协同新模式的建立和发展提供一定的参考。  【关键词】现
期刊
【摘 要】以承德市隆化县大地村为主要研究对象,立足现实分析扶贫开发过程中所面临中的优势与不足,拓展精准扶贫的空间,开发有效精准的扶贫模式把产业化扶贫作为研究重点,力求完成由输血式扶贫到造血式扶贫的转变。  【关键词】假设检验;方差分析;多元线性回归;精准扶贫  引言  作为国家级扶贫开发重点县的隆化县,自接受扶贫以来,认真贯彻落实中央、省市相关脱贫攻坚工作会议精神,以实际行动践行“三严三实”,进一
期刊