毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件

毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件

ID:31026246

大小:1.70 MB

页数:73页

时间:2019-01-05

毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件_第1页
毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件_第2页
毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件_第3页
毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件_第4页
毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件_第5页
资源描述:

《毕业论文——基于子图发现的设计模式识别系统--可扩展存储结构的图组件》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、本科毕业论文基于子图发现的设计模式识别系统——可扩展存储结构的图组件DesignPatternDetectingSystemUsingSubgraphDiscovery——AGraphComponentSupportingExtendableStorageStructures姓名:学号:学院:软件学院专业:软件工程年级:指导教师:二〇XX年X月摘要现代软件工业已经广泛地应用设计模式来重用成功的设计实践以提高软件系统的质量,然而受制于软件系统的规模和设计文档的缺失,开发人员无法直观地理解现有软件系统中所应用的设计模式。通过从现有的系统源代码中提取出其所使用的设计模式,可以方便

2、开发人员更容易理解源代码中各个类在整个系统中的职责与作用,从而更好的对其进行维护。源代码中的设计模式识别是研究领域的关键课题。本文中的CodeMiner插件是用Java语言来开发的EclipseIDE插件,它可将软件源代码的主要特征提取出来并整理成抽象语义图。通过对设计模式与软件项目源代码进行解析,可以生成相应的抽象语义图。通过对所得结果利用子图比较的方式进行挖掘,能识别出软件项目源代码中所使用到的设计模式,并确定各个类在对应设计模式中所扮演的角色,从而为开发人员在维护软件系统时理解源代码提供帮助。而通过引入使用确定的有限自动机,可以大幅度提高CodeMiner插件的运行效

3、率,增加其可用性。基于可扩展存储结构的MiningGraph组件在CodeMiner插件系统中扮演底层组件的角色,它实现了图的基本操作(如图的创建、修改、遍历等)、图的同构判断以及图同构序列的定位等算法的实现,并为CodeMiner提供图模型持久化服务。MiningGraph隐藏了图的持久化细节,支持可扩展的存储结构,实现了将图保存到文件或数据库中,为CodeMiner实现子图匹配算法在代码中挖掘设计模式的使用提供支持。关键字:图;图同构;数据库AbstractDesignpatternshavebeenwidelyadoptedbymodernsoftwareindust

4、ryinordertoreusesuccessfulpracticesandimprovethequalityofsoftwaresystems.Theidentificationofdesignpatternsaspartofthereengineeringprocesscanconveyimportantinformationtothedevelopers.However,manysystemsareoflegacyandthedesigndocumentsareusuallymissing.Besides,existingpatterndetectionmethodo

5、logiesgenerallyhaveproblemsindealingwithoneormoreofthefollowingissues:Identificationofmodifiedpatternversions,searchspaceexplosionforlargesystemsandextensibilitytonovelpatterns.TheprojectCodeMinermentionedinthisarticle,isanEclipseIDEplug-indevelopedinJavaprogramminglanguage.Itcanextractthe

6、characteristicsofsoftwaresourcecodeandgenerateAbstractSemanticGraph.ByanalyzingthesourcecodeofDesignPatternsandthesoftwareprojecttoexamine,correspondingAbstractSemanticGraphscanbegenerated.ThenCodeMinerusessubgraphdiscoverymethodologytoidentifydesignpatternsusedinthesoftwareprojectanddeter

7、minetheroleofeachclassineverypattern,inthiswaytohelpdevelopersunderstandthestructureofthesourcecode.AndbyintroducingDeterministicFiniteAutomata,performanceefficiencycanbeenhancedgreatly,makingCodeMinerfriendliertouse.MiningGraph,acomponentaimingatsupportingext

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。