基于聚类的Java包重构技术研究及实现

来源 :江西师范大学 | 被引量 : 0次 | 上传用户:D243435dsfsdfqwe
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件演化是软件的本质特征,同时随着信息化建设地飞速发展及人们对软件系统需求的不断增加,软件系统的功能需要不断地完善,新的需求可能会出现,旧的需求也有可能不再需要。然而,软件系统最初的设计也许未完全预料到这些变化,一旦实现开始偏离最初的设计,代码将不受控制,从而不可避免地开始腐蚀。所以,这就要求系统具有较高的易维护性。特别是对于一些程序设计初学者来说,他们在学习初期经常不能编写出一个结构好的程序,以至于程序具有较低的维护性,且结构混乱的程序在调试会更困难些,致使一些初学者对学习程序设计失去兴趣及信心。本文的主要研究目标是改善Java程序的结构,使之符合高内聚、低耦合的软件特征。研究内容包括识别Java程序中包间的各种依赖关系;如何基于聚类算法对程序结构进行调整;归纳总结Java包上的重构操作;提供(半)自动化的软件支撑平台。基于上述研究目标和内容,本文提出了基于层次聚类算法的Java包重构技术研究。首先,提出了基于Jaccard系数的距离公式及Java包中类的依赖关系模型,并且详细介绍了聚类算法在模型上的应用。然后,简单总结了在软件应用程序中可能存在的一些不良代码(bad smell)和本文中的主要研究对象Java包可能存在的bad smell,详细阐述了Java包的重构规则。最后,描述了基于聚类算法的Java包重构系统的开发,从需求分析、功能设计、系统架构到系统实现的整个过程。同时,文中通过使用了一个小的应用程序,阐述了基于聚类的Java包重构过程及效果。实验显示采用这种方法能够辅助软件开发人员改善Java程序的结构,改善其易维护性,使得重构后的程序尽可能地达到包内高内聚,包间低耦合。
其他文献
在服务计算(SOC)的风范下,分布在Internet上的各种异构资源都可以封装成服务的形式发布出去,供他人共享。Web服务技术顺应了这种计算风范,通过Web服务的组合,可以高效的实现资源的
随着信息技术的发展,越来越多的应用会采集并使用大量的高维数据来解决某些问题。数据的维度越高,所包含的信息量就越大,会方便我们使用和挖掘数据信息。但与此同时,高维的特
支持向量机是一种机器学习方法,它以统计学理论为基础,在解决小样本非线性问题上表现出了特有的优势,自提出以来,一直受到重视。目前仍存在很多问题尚未解决,因此需要对支持
在大规模的企业应用中,通常的应用都是运行于异构的硬件平台、操作系统和网络协议上的。如果分布式应用系统之间通过原始的点对点访问方式进行数据交换,无疑将极大地增加开发
近年来,随着数据采集技术的发展,在各种领域如计算机视觉、模式识别、生物信息以及医学图像处理等都要面临处理高维数据的难题。数据并不是维数越高越好,因为高维数据往往会
近些年来,无线传感器网络成为通信领域研究的一个热点,它是一种新型的数据监控网络。对于无线传感器网络来说,路由协议的研究有利于提高该网络的路由性能。传统的路由协议中,
体可视化技术是可视化研究中的关键技术之一,在计算流体力学地球空间医疗科学等各个领域中得到了广泛应用,体数据是由一些体素(Voxel)组成的集合,由于是高维数据,往往具有很大的数
随着Web服务数量的与日俱增,网络上发布的服务大多数都存在结构简单功能单一的缺陷,而用户对于业务的需求是动态的,所以如何根据用户的需求对Web服务进行选择,有效地组合分布
随着计算机技术个网络技术的发展,实时性多媒体系统如视频监控,远程会议等逐步被应用到社会的各个领域。与传统多媒体系统的存储传输播放模式不同,实时性多媒体系统除了具有
随着计算机、信息化的发展,人机交互在办公以及生活中显得越来越重要,自然用户界面已经成为人机交互发展的趋势,目前研究比较热门的有用语言、动作及表情等与计算机进行交互