大规模程序关联可视化算法及工具研究

来源 :西安理工大学 | 被引量 : 0次 | 上传用户:zhenghao_w
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件产业的迅速发展,软件系统的规模、数量以及复杂性与日俱增,使得软件系统的开发、测试和维护的重要性和难度也越来越大。将可视化技术应用到程序理解中将大大提高软件相关工作人员对软件系统的理解,能够缩短软件开发和测试维护的时间,提高软件生产的效率和质量,并能实现软件错误缺陷的预防等。  软件可视化就是软件及其开发过程相关的构件的可视化。除了程序代码之外,还包括与需求和设计相关的文档,对源码的修改过程以及调试报告等。软件可视化研究就是寻找一种有效的可视化模型及布图算法来表示软件的各个方面。国内外已经有一些软件可视化的工具,但这些工具在可视化时都有不足。  本文是在C/C++语言基础上研究的软件可视化,采用Visual C++6.0开发平台,结合MongoDB数据存储技术和Qt图形绘制显示技术,从模块调用图和逻辑流程图两个方面考虑,将与软件相关的各种软件构件相关信息以直观的易于理解的图形展现出来:  (1)针对常规层次型布图算法在大规模程序中布线混乱的缺点,本文在Sugiyama层次布局模型的基础上,提出了一种随程序规模动态调整的通道优化布线算法。通过将通道数目与程序规模建立函数关系,以解决布图时线路重叠和效率低下的问题;在布图中结合广义张量平衡思想,以减少交叉并实现布图的美观性;并根据调用节点之间的相对位置,给出了对应的线路分配和申请策略,实现了布线的有序性。  (2)针对现有逻辑流程图绘制显示时不统一的缺点,本文提出了一种改进的不受程序编程风格影响的基于NSB(N表示Node,S表示Segment,B表示Block)的程序文档划分算法,实现了被开发软件的全体源码的框图化。同时通过添加标签标识,实现了源码相关项之间的双向自动追溯,可以有效的帮助软件开发团队更容易理解他们的软件系统,同时使得软件错误的预防更容易实现。
其他文献
本文从探讨企业应用程序框架出发,对企业应用程序框架的概念的组成进行研究.对基于J2EE平台技术的CERP的企业应用程序框架进行了深入分析.总结了CERP应用程序框架的构成要素,
本文实现了基于虹膜的计算机自动诊断系统中的虹膜定位、虹膜图谱覆盖、分区技术和根据病理柔性分区关键技术.首先,本文提出了一种针对东方人种虹膜的虹膜定位算法.该算法利
在当今社会里,信息的爆炸式增长已经成为人们必须面对的问题。借助计算机在海量信息中找到人们所需的有用信息的研究越来越受到人们的关注。本文回顾了信息检索技术的发展
利用目前商业PC硬件提供的现有性能与条件,选取与其相匹配的有较大优化可能性的且具有较广泛适用性的现存物理性动态模拟算法方案,对其进行有针对性的调整以适应其硬件结构,
特征子集选取在机器学习,数据挖掘和模式识别领域起着很重要的作用。OFFSS (Optimal Fuzzy-valued Feature Subset Selection)是一种新的模糊值特征选取的方法,是基于两类事
本课题在分析了现有的几个典型节能自组织协议的优点和不足之后提出了一个新的基于组簇机制的、节能的、移动自适应的分布式自组织协议MAESP。首先,对组簇机制中簇头
目前,扩张矩阵学习已成为归纳学习的一个重要的分支。而模糊扩张矩阵是在扩张矩阵基础上引入了模糊思想,使之能处理与人的思维和感觉有关的不确定性数据,因而得到了广泛的应
本文以信息率失真理论为基础研究了率失真函数在视频信源信道编码中的应用。首先,无线视频传输对编解码处理速度有较高的要求。为此我们提出一种快速帧间宏块划分模式判定
20世纪末,信息技术的飞速发展,极大改变着人们工作、生活的方式及质量。在保险业中,由于信息技术的采用,信息传递己从传统的纸质文件向电子文件转变,在企业的日常业务中,已基
随着Internet的迅猛发展和普及,远程教育、视频点播、视频会议等流媒体服务系统越来越受到人们的青睐,而由于用户量的剧增与Internet网络传输的突发性和尽力服务,迫切需要高吞吐