软件产品结构的可视化工具的设计与实现

来源 :北京大学 | 被引量 : 0次 | 上传用户:xgf217
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件产品结构是软件工程领域的一个研究热点。在软件的再开发、缺陷修复、新人进入、遗产软件维护等开发活动中,了解软件的产品结构都可以帮助提高开发效率和产品质量。但是,在软件系统的演化过程中,软件的规模和复杂性不断增大,导致项目维护一个与产品进度一致的产品结构是很困难的。  因此,有许多研究工作致力于采用逆向工程的方法,从源代码中建立软件的体系结构。他们根据方法调用,或者类之间的依赖关系,建立软件的方法调用图和类图。然后,根据这些基本图中的节点之间的耦合程度,聚合得到更高抽象层次的图,例如,子系统图或者模块图。然而,这种方法只注重软件源代码,对于开发活动缺乏关注。  本文设计并实现了一个基于项目的版本控制数据建立产品结构的可视化工具,通过建立文件/模块结构和开发者协作结构,可以更好地帮助项目开发者进行产品组织和任务分配。为了从版本控制系统数据建立产品结构,本文的主要技术挑战是:如何确定产品结构中的元素以及元素之间的关系。  针对上述问题和挑战,本文从版本控制系统数据出发,根据开发者对文件变更的提交活动,逆向生成任意时间点的软件的文件组织结构,通过计算文件之间的关联度,建立文件关联图。然后,根据文件之间的关联程度,将文件聚类成模块并计算模块之间的关联关系。并且,根据开发者对文件的修改活动,确定了与文件/模块相关的开发者的协作结构。本文设计并实现了多个视图,用于展示文件之间的关联,模块之间的关联,模块与文件目录结构的对比,以及相关开发者协作的情况。  
其他文献
射频识别(RFID)技术作为一项无线自动识别技术在各种相关的行业中逐步被人们所认识和重视。但由于部分尚存的问题困难,致使超高频系统的应用还不是很广,针对存在的问题,需经系统
综合信息系统中分系统越来越多,而且日益复杂。各个分系统之间数据交互的要求也不断增加,同时各种历史数据爆炸性增加。实现综合信息系统中的数据实时、高效地分发,以及各个分系
篇章关系是文本中的组成部分彼此之间的语义关系,篇章语义关系分析是自然语言处理中的一个基本任务,很多其他任务都能从中受益。本文对篇章关系的关键技术进行了研究,对篇章关系
众包是互联网环境下一种新兴的分布式解决问题的生产方式。众包模式可帮助企业获得全球化的人力资源,显著降低开发成本,提高生产效率。采用众包模式开发软件是未来软件发展的一
随着人类对于软件的使用越来越广泛普遍,研究越来越深入,对其精确度的要求也越来越高。程序的语法错误可以在相应的平台上完成检测,但是并没有完成程序逻辑检测。针对软件逻辑错
信息技术的进步和计算机软硬件技术的快速发展推动了计算机系统的大量普及。启动速度是衡量计算机系统性能和用户体验的重要指标之一。提升计算机系统启动速度具有重要意义。
矩阵是一种非常重要的基本数据结构,它在电子商务、社会网络、信息检索等领域都有广泛的应用。如今这些领域处理的数据量越来越大,而过去对矩阵运算的研究多集中在单机算法,用户
自动文本摘要通过计算机技术完成对文本的分析,并能够自动生成摘要以及实现对内容的总结,能够帮助用户尽快获取可用信息,并有利于用户对自身兴趣的定位。对自动文本摘要的研究,在
随着计算机计算能力的迅猛发展,计算机所能处理问题的规模越来越大,提高计算的可信性和高效性已成为工业界和科学界的共同目标.符号计算可以得到问题的精确结果,但计算复杂度高;
多媒体技术和互联网的高速发展促使图像视频信息爆炸式增长。随着多媒体处理技术的不断发展,视频技术正朝着超高清和立体的方向发展。在过去的二三十年间,视频编码技术得到了广