程序理解中设计模式表示、识别和可视化方法的研究

被引量 : 0次 | 上传用户:cycblb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
程序理解实际上是使用各种计算机应用技术,通过对程序源代码的分析,获得程序的结构和设计信息,帮助系统维护人员以及开发人员对遗留系统进行分析和理解。随着计算机应用技术的发展以及用户依靠计算机技术解决问题的期望度不断提高,软件系统的结构和规模也越来越大。因此,现代软件工程越来越多地依靠软件设计模式来解决复杂的软件结构和业务逻辑。在程序理解和软件逆向工程的研究中,对软件设计模式的识别有助于软件技术人员从软件结构上理解系统的设计意图和实现功能。本文正是通过对程序理解中设计模式识别方法的研究以及对设计模式识别结果进行可视化表示来帮助系统维护人员进行程序理解。本文的主要工作和成果如下:1.提出了基于XML Schema技术定义XML文档结构的设计模式定义语言(Design Pattern Definition Language based on XML Schema,简称DPDLXS),从而实现设计模式类角色静态结构信息和动态行为信息的分层表示,为准确描述设计模式特征进而识别设计模式提供了必要的技术基础。2.提出基于DPDLXS语言的信息抽取模型和源代码信息抽取流程。根据该信息抽取流程,对Java源代码信息按类静态结构信息和动态行为信息的分层次结构进行抽取,同时给出了源代码中属性、方法等相关信息的一系列具体抽取流程和抽取算法。3.提出了源代码类之间关联度的概念,结合图论相关理论构建基于关联度的关联类集合;提出基于关联度和特征约束的设计模式识别算法,并运用该算法对具体设计模式进行特征约束识别。4.针对本文提出的设计模式识别方法,对JUnit、JHotDraw和JRefactory三个开源应用程序进行部分设计模式的识别并对识别结果进行分析以验证方法的可行性和效率;最后,完成了基于Java语言实现的设计模式识别和可视化表示系统的设计与实现。
其他文献
近年来,在城镇化进程加快、全面落实小康、缩小城乡差距的大背景下,农民增收问题已然成为农村改革的关键。如何利用城镇化的快速发展助推农民创收、增收,让农民切实分享改革
目的:研究探讨寻常型银屑病患者血清白介素-4(IL-4)、白介素-8(IL-8)、肿瘤坏死因子-α(TNF-α)水平、T细胞亚群结构与患者预后转归的关系。方法:选取2018年1月~2019年1月在
农民工是我国二元户籍制度的特殊产物,由于体制机制不健全以及农民工自身文化水平有限等因素,农民工权益一直处于缺失状态。同时,企业社会责任缺失也是造成农民工权益受损的
基于正交试验,通过对钢渣-矿渣基胶凝材料外观形貌、抗压强度、水化产物的分析,研究氢氧化钙和激发剂D的复合激发剂对钢渣-矿渣基胶凝材料的安定性及抗压强度的影响。结果表
第一部分人骨肉瘤组织中Micro RNA-223的异常表达和上皮细胞转化序列2(ECT2)的变化及其临床价值目的:深入探讨人骨肉瘤组织micro RNA-223和上皮细胞转化序列2(ECT2)的表达及
农村最低生活保障制度是农民社会保障体系中最后一道安全网,当农民及其家庭在遇到疾病、灾难、失业、丧失劳动能力、年老等各种情况而出现不能维持最基本的生活时,它能保证这
豌豆渣作为最普遍的膳食纤维资源之一,其生理功能逐渐被人们所了解。含有豌豆渣膳食纤维的功能性食品,不仅可以增加膳食纤维的摄入量,同时还可以预防高血压、肥胖、便秘、肠
对月租金应实行政府指导价,允许经营企业根据自身情况,以中准价为基础上下浮动不超过10%的幅度内自行确定具体的收费标准。政府指导价中的中准价标准每年由市物价部门会同市
先天性胆管扩张症是一种少见的先天性疾病,一经确诊均应手术治疗。胆肠吻合术在其治疗中得到了广泛应用。其术式的选择不仅与分型有关,还需要考虑病人自身条件、术者技术及经
目的:探讨对新生儿肺炎应用布地奈德联合乙酰半胱氨酸雾化治疗的效果。方法:将2017年3月~2018年3月收治的新生儿肺炎87例以随机数表法分为两组,两组均予以常规治疗,对照组(43