面向JAVA的设计模式探测研究与工具开发

面向JAVA的设计模式探测研究与工具开发

但蕾蕾[1]2004年在《面向JAVA的设计模式探测研究与工具开发》文中进行了进一步梳理设计模式探测从程序原始数据中提取设计模式实例,设计模式为设计者们交流讨论、书写文档以及探索各种不同设计提供了一套通用的设计词汇。Java语言作为目前最适合实现设计模式的语言之一,许多Java开发者有意识地应用设计模式,为设计模式探测提供了丰富的数据来源。研究设计模式探测和开发面向Java的设计模式探测工具,把采用的设计模式重新找到,以此重建系统总体结构文档,有助于理解复杂设计,为已有系统的文档管理和系统维护提供支持。设计模式的探测过程也为发现新的模式提供辅助手段,帮助设计者去掉不必要的模式实现,提高代码优化的效率。通过研究设计模式探测理论,基于设计模式形式化方法提出了设计模式抽象模型和面向Java的实现模型。采用逆向工程方法,选择经典设计模式中的若干模式作为探测用例,以Java语言源程序为探测的目标,提出了设计模式探测工具JDPD的总体设计,部分实现了基于静态分析的设计模式探测。JDPD工具按逆向工程的规范活动划分为Java源码信息提取、信息组织、模式规范定义与匹配和设计模式实例显示四部分。从Java源代码的AST抽象语法树中提取探测所需的源码信息,并用基于UML元模型的Java信息组织模型加以表示。根据经典设计模式描述的解法部分和Java实现设计模式的实例,通过建立设计模式抽象模型和面向Java的实现模型给出了若干设计模式的规范表示,编写Java信息组织和设计模式规范的匹配算法探测设计模式实例。源码信息和设计模式规范都采用模型表示以提高算法的匹配效率,设计模式表示和搜索匹配算法分离的设计使得设计模式探测更具规范性和可定制性。

李夏安[2]2009年在《基于Java EE的开放式校园网IT运维平台的研建》文中进行了进一步梳理伴随着近年来中国互联网的飞速发展,我国校园信息化的步伐也在不断加快,投入不断增多。校园网在日常教学、生活中的作用日益明显,具体表现在用户基数的迅速增长、校园网内资源日益丰富、建立在校园网之上的业务系统的日益复杂和重要。与此同时,如何对校园网中提供服务的硬件、软件资源进行高效的管理,使之能够发挥最大的作用,对现阶段的校园网网络管理提出了更高的要求。本文研究了常用网络管理协议的工作原理,特别是简单网络管理协议SNMP标准的内容和使用方法。研究了新一代的软件体系结构——面向服务的架构(SOA)及其方法论。针对传统网络管理软件的不足,提出了一种新的基于服务的校园网IT运维平台,平台的设计过程中遵循以服务为中心的原则,把网络管理功能抽象成服务,并实现和发布了这些Web服务的接口,创新性地设计了一种易于拓展的分布式网络状态探测框架,实现了功能强大,界面友好的拓扑管理桌面程序。通过实现运维平台,充分体现了SOA架构松耦合、开放、易于扩展和移植、兼顾效率和安全的特点,同时也是对实施SOA的一次有效尝试。

张艳艳[3]2015年在《基于子模式和方法签名的设计模式挖掘方法研究》文中认为设计模式是在项目中使用的一种最佳实践,关注于解决应用程序高级结构开发问题。近年来,设计模式被广泛地应用于软件开发中,这在给软件开发人员带来了便利的同时,也导致一些新问题的产生。例如,当系统中缺少对设计模式使用信息的记录时,系统的可理解性和可维护性将大大降低。因此,高效、准确地恢复系统中存在的设计模式实例,对理解系统架构和软件再工程具有重要意义。然而,恢复设计模式实例并不是一项简单的任务。本文提出了一个新颖的方法用于从系统源代码中挖掘GoF定义的23种设计模式实例。本文方法的关键在于,从不同的设计模式中提取相同的、更易于挖掘的结构--子模式,并使用子模式定义23种设计模式的结构特征模型。本文使用类关系有向图表示系统源代码、子模式和设计模式,在此基础上利用基于素数组合的图同构算法挖掘子模式实例,然后按照设计模式结构特征模型的定义,使用联接类合并特定的子模式实例以生成设计模式候选实例。在此基础上,再将设计模式候选实例的方法调用等行为特征与预先定义的方法签名模板进行匹配,以过滤掉不满足条件的模式实例。与传统的挖掘方法相比,本文通过子模式的合并识别设计模式,减少了搜索空间;同时采用方法签名进行行为分析,可避免设计代码覆盖率较高的测试用例,降低了设计模式挖掘工作的难度。最后,基于对设计模式结构特征和行为信息的研究,本文实现了一个设计模式实例挖掘工具DPIDT(Design Pattern Instances Detecting Tool),并对九个开源项目进行测试,实验结果表明本文方法取得了较高的准确率和召回率。

佚名[4]2006年在《自动化技术、计算机技术》文中进行了进一步梳理TP11,C9342006031603一类不确定信息下的多属性决策问题的研究/廖貅武,李垣,董广茂(西安交通大学管理学院)//西安交通大学学报.―2005,39(8).―792~795,803.对一类不确定信息下的多属性决策问题进行了研究,给出了不确定信

丁毅[5]2012年在《地球物理数据共享与应用集成研究》文中研究指明地球科学研究的深入带动了地学数据的积累和新的专业数据处理、分析、解释方法的出现,这使得在构建地学软件系统的过程中常常会面临个两难的矛盾,即多种专业化数据需求的复杂多变与地学应用软件扩展和重用的复杂性之间的矛盾。主要体现在:1.数据格式多样化和语义的差异化,导致数据之间的交互能力差;2.数据存储的形态多样化和分散的特点,增加了统的数据共享与体化集成的难度;3.数据应用需求的多样性增加了应用集成的难度。本文通过对比地学领域国际上多个大型分布式系统的技术实现方案,提出采用数据集成规范实现数据的体化集成;在数据体化的基础上,采用插件式开发方法,构建地球物理应用集成开发平台。论文的主要研究内容包括以下几个方面:1)分布式数据共享与应用集成服务框架研究:根据地球物理数据特点,建立系统的地球科学共享与应用服务框架,解决不同层次的异构问题;2)数据互操作:探索具有数据交互能力的数据共享与集成方法,重点研究XML在地学数据互操作中的作用,参照GeoSciML标准的建设方式,基于OGC标准构建地球物理数据交换规范,解决数据层面的异构问题,实现数据的互操作;3)插件式开发方法研究:重点研究了EclipseRCP的插件式开发方法,整合了二维GIS、叁维GIS、叁维可视化等插件,构建个通用地球物理数据应用集成基础平台;4)综合数据共享服务与应用集成实践:建立WMS、WFS数据服务,扩展重力和地震数据应用插件,实现具有交互能力的数据集成共享。通过数据体化和插件式开发平台的实践结果可以得出如下结论:1)基于OGC建立统的数据标准解决了地学数据的异构问题,增加了数据的互操作能力,有利于数据的集成融合;2)Eclipse RCP的插件式开发方法有效地融合了各种复杂的地学数据应用,可以支持专业数据处理、解释、分析等应用方法的扩展,为构建综合性的地学信息化平台奠定了基础。

齐学智[6]2005年在《Java程序性能分析工具的研究与设计》文中认为随着Java软件平台技术的不断发展,Java软件的应用已经从桌面的应用延伸到企业平台,大型信息系统,控制系统,嵌入式系统等各个方面。但由于Java软件体系结构的特点决定了Java软件执行效率不如C/C++软件,因此对Java软件性能进行优化是非常有必要的。本文针对Java软件的特点,开发了对Java软件性能进行分析和优化的工具。并且对其实现的细节和使用的方法进行了阐述。 本文的主要内容有: 1.介绍了软件性能的基本概念,在参考前人软件性能优化经验的基础上,总结出软件性能模式和一般软件性能解决方案和原则。结合Java语言和嵌入式系统的特点,着重对Java语言的性能问题进行了详细的探讨。 2.针对Java性能基本问题进行性能分析工具的开发。在参考国外性能分析软件的基础上,使用JVMPI、C、C#和TCP/IP等技术开发出Java性能分析工具。并详细介绍了该工具的设计和实现的过程和细节。 3.介绍了该性能分析软件的使用方法,并且使用该工具对实际中有性能问题的Java软件进行分析,演示了如何用该工具解决Java软件的性能问题。 最后对全文进行了总结,并指出当前Java软件性能分析最新的技术和工具。这些是以后深入研究和工作的方向。

佚名[7]2006年在《自动化技术、计算机技术》文中认为TP132006061888仿射非线性系统的一种观测器设计方法/朱芳来(桂林电子工业学院计算机系)//信息与控制.―2005,34(5).―600~603.对仿射非线性系统全维观测器设计方法进行了讨论,提出了一种设计方法。该方法基于微分Riccati方程

郑加林[8]2008年在《基于J2EE架构的WEB应用系统的性能优化研究与实践》文中指出随着Internet的飞速发展,WEB应用技术日趋成熟。特别是SUN公司推出的J2EE技术被应用于越来越多的企业系统建设中。自JAVA面世以来,与JAVA性能相关的争论一直没有平息,而JAVA也在这些争论中不断发展,慢慢走向成熟。另一方面,企业的信息化程度加强,对企业应用系统提出的要求也越来越高。JAVA的企业应用版本J2EE是一种简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。它为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制,成为企业应用开发的最佳选择之一。在WEB开发领域中使用JAVA的应用占65%,在C/S开发应用中使用JAVA的占11.7%,这说明JAVA已经被越来越多的应用于WEB应用领域。由于J2EE技术本身具有复杂性与多样性,一个系统可由许多不同技术组合而成,导致开发人员在开发时常常不知道如何运用技术。如果技术运用不当,虽然实现了业务功能,但在这背后可能会隐藏着很多缺陷,例如性能低下、层与层之间紧密藕合、伸缩性差,根本谈不上软件复用等;如果设计开发不恰当,甚至面对的是一堆噩梦般的垃圾。因此如何合理组合J2EE技术而得到可扩展的、易维护的体系结构和高性能、高质量的应用程序是本文讨论的重点。本文首先介绍了WEB系统性能优化的一些相关技术理论,包括软件开发的设计模式、WEB系统性能衡量指标以及WEB系统性能测试方法,然后介绍了J2EE的一些与性能优化密切相关的核心技术,如:Servlet、JSP、JavaBean及其相关的性能优化方法等等。另外,还专门对数据库性能的优化进行了研究。基于上述现状,本文主要开展以下四方面的工作。一方面,建立基于J2EE和MVC模式的WEB应用系统开发的解决方案;另一方面,分析J2EE应用系统的性能问题,提出影响系统性能的几个主要因素;叁方面,根据上面提出的影响系统性能的主要因素分别提出相应的解决策略。如表示层、控制器层、业务逻辑层以及数据库等方面的优化策略。最后,对这些优化策略以实际项目进行了验证。

葛建林[9]2013年在《基于特征的结构型设计模式挖掘》文中进行了进一步梳理设计模式定义了面向对象软件系统里经常出现的一组类和这组类之间的关系,以及它们的目的。在过去的十几年里,设计模式被广泛地应用到软件工业领域。另一方面,随着软件系统的规模不断扩大、复杂性不断增加,理解和改变这些系统成为了一件非常困难的事情,尤其是当架构和设计文档并不完整的、甚至没有与系统源代码保持一致性的时候。通过逆向工程从源代码中挖掘出软件设计模式的应用实例,对于完善设计文档、理解和维护系统具有重要意义。每种设计模式都有自己的结构特征,但是从更低的层次上看(本文定义的微结构),大部分设计模式都有部分共同的结构特征,即微结构。在Gof设计模式中,结构型模式描述了如何将不同的类组合在一起,形成一个更大的结构。相比较行为型设计模式、创建型设计模式,结构型设计模式之间具有更多的共同结构。传统的设计模式挖掘方法,都是对设计模式的特征进行渐增式挖掘,很少利用模式之间共同的结构特征这个特点来减少模式挖掘的复杂度。在模式挖掘过程中,如果发现某个特征得不到满足,将会抛弃之前的结果,重新开始挖掘设计模式实例。而之前得到满足的一些特征,对与其结构相似的设计模式往往具有很大的参考作用,识别与其相似的设计模式完全可以在这些满足的特征的基础上进一步进行,而不必要从头开始。为了进一步提高结构型设计模式挖掘的准确度,本文提出了8种能够表征结构型设计模式的结构特征单元,即微结构,其包含了一组类和这组类之间的继承关系或者关联关系等。然后,在微结构的基础上,提出了基于图同构的微结构挖掘方法,以及构建了5种结构型设计模式的结构特征模型。本文用该结构特征模型与行为特征模型作为设计模式匹配的基础,来进行设计模式实例挖掘。其中行为特征模型分析结合了静态分析方法和动态分析方法,既减少了复杂性,又提高了准确度。为了评估本文的方法,我们实现了一个基于微结构的设计模式探测工具DPDT(Design Pattern Detecting Tool),并用它对3款开源软件进行了测试。实验证实了本文方法相比于传统方法,具有较高的识别精确度。

王振锋[10]2005年在《基于AOP的逆向工程框架及工具的研究》文中指出在本文的研究中我们通过将AOP与逆向工程相结合提出一个基于AOP的逆向工程框架来帮助进一步的逆向工程工具的设计和实现。这个框架是基于AOP 的,它使用AOP 对目标系统动态分析,对目标系统进行代码植入以在程序运行后得到执行流数据。这个框架包含了一个描述模型,他对逆向工程中重要的机制和特性按照阶梯属性进行分类,包括认知模型,逆向工程目标,具有逆向工程特征从低级数据捕获到高层信息抽象的基本活动过程以及软件知识库的建构等。按照这个框架我们针对Java 语言实现了一个有用的工具reJavaProject。这个工具可以抽象出目标系统设计中UML 图如类图、序列图、线程图、包图。经过我们对Tomcat 和Ant 源码的分析和重编译,它同样对Java Web 应用程序适用。Tomcat 和AspectJ已经被我们无缝地紧密地集成在本工具中。工具也具有从软件知识库中的信息转换到Rose MDL 文件格式的功能,也可以识别一些系统中的设计模式并把它保存到软件知识库中,还可以将生成的各种UML 图以XML 或PNG 的格式保存到磁盘或从磁盘读入。更进一步,我们实现一个图形用户界面,用于以图像方式展示抽取的各种UML 图和识别的设计模式,以及允许用户和工具进行交互。

参考文献:

[1]. 面向JAVA的设计模式探测研究与工具开发[D]. 但蕾蕾. 华中科技大学. 2004

[2]. 基于Java EE的开放式校园网IT运维平台的研建[D]. 李夏安. 北京林业大学. 2009

[3]. 基于子模式和方法签名的设计模式挖掘方法研究[D]. 张艳艳. 杭州电子科技大学. 2015

[4]. 自动化技术、计算机技术[J]. 佚名. 中国无线电电子学文摘. 2006

[5]. 地球物理数据共享与应用集成研究[D]. 丁毅. 中国地质大学(北京). 2012

[6]. Java程序性能分析工具的研究与设计[D]. 齐学智. 浙江大学. 2005

[7]. 自动化技术、计算机技术[J]. 佚名. 中国无线电电子学文摘. 2006

[8]. 基于J2EE架构的WEB应用系统的性能优化研究与实践[D]. 郑加林. 电子科技大学. 2008

[9]. 基于特征的结构型设计模式挖掘[D]. 葛建林. 杭州电子科技大学. 2013

[10]. 基于AOP的逆向工程框架及工具的研究[D]. 王振锋. 西安电子科技大学. 2005

标签:;  ;  ;  ;  

面向JAVA的设计模式探测研究与工具开发
下载Doc文档

猜你喜欢