学位论文 > 优秀研究生学位论文题录展示
基于程序切片的数据库变更影响分析系统的设计与实现
作 者: 苏瑞
导 师: 孟祥武
学 校: 北京邮电大学
专 业: 计算机科学与技术
关键词: 数据库模式 程序切片 系统依赖图 数据依赖 波动分析
分类号: TP311.13
类 型: 硕士论文
年 份: 2011年
下 载: 14次
引 用: 0次
阅 读: 论文下载
内容摘要
现今,随着软件规模的扩大与软件需求的频繁变动,使得软件开发变得越来越复杂,敏捷开发思想的提出,在一定程度上减轻了开发人员的负担,但当软件所依赖的数据库结构发生变更时,却没有好的成型的技术可以应用,需要开发人员去手动审查代码来查找需要对软件的源码做哪些修改以适应数据库结构的变更,这无疑是一项复杂且耗时的工程,而且由于工作量的庞杂,极易出现错误或遗漏的情况。鉴于这方面研究的还很不充裕,本文在调研了大量国内外文献的基础上,提出了一种当数据库结构发生变更时分析其对软件造成的影响的解决方案。本方案首先抽取软件所依赖的数据库信息,包括表的信息、字段的信息、字段的约束条件以及字段间的依赖关系,然后通过遍历应用程序软件的源代码,抽取出软件系统中的类信息和每个类中涉及到数据库操作的代码信息,包括SQL语句的定义、执行、执行结果应用三方面的信息,接下来根据数据库结构变更的SQL脚本,计算出本次变更对应用程序造成的影响,最后,通过一个真实的应用实例,模拟数据库结构变更的场景,验证该系统对数据库结构变更对程序影响的分析是否准确。其中,在抽取程序中数据库操作相关的语句信息时,考虑到由于设计模式或分布式设计使得SQL语句动态构成的情况,本系统应用程序切片的原理,通过数据流图与基于系统依赖图的算法,来解决这一难题。本文将程序切片的概念应用于程序波动分析领域,实现了当数据库结构变更时计算其对程序的影响这一功能,首先简要介绍了当前这一领域的研究现状,并在此基础上提出本系统的需求,定义自己的软件切片准则,设计算法从应用程序挖掘出需要关注的信息,从而计算出本次演化对程序的波动。最后,通过一个实际应用的场景测试该系统的可行性与易用性。
|
全文目录
摘要 4-5 ABSTRACT 5-9 第一章 绪论 9-12 1.1 引言 9 1.2 研究现状 9-10 1.3 本文工作 10-12 第二章 系统理论及实现技术简介 12-18 2.1 基本理论 12-14 2.1.1 软件重构 12 2.1.2 软件资源信息库 12-14 2.2 系统实现关键技术介绍 14-17 2.2.1 关键问题 14 2.2.2 程序切片技术 14-16 2.2.3 正则表达式 16-17 2.3 小结 17-18 第三章 系统需求分析 18-25 3.1 任务概述 18-20 3.1.1 实现目标 18-19 3.1.2 系统设计意图 19-20 3.1.3 假定和约束 20 3.2 需求规定 20-24 3.2.1 系统功能的需求规定 20-23 3.2.2 系统性能的需求规定 23-24 3.3 小结 24-25 第四章 系统设计 25-44 4.1 系统概要设计 25-35 4.1.1 系统功能设计 25-26 4.1.2 系统总体框架 26-27 4.1.3 数据库信息挖掘的解决方案 27-30 4.1.4 应用程序影响分析策略 30-31 4.1.5 接口设计 31-35 4.2 系统详细设计 35-43 4.2.1 系统包结构设计 35-36 4.2.2 系统类结构设计 36-43 4.3 小结 43-44 第五章 系统实现及系统测试 44-56 5.1 系统实现的关键问题及解决方案 44-47 5.1.1 数据库模式信息提取算法 44 5.1.2 SQL相关代码提取过程中关键字的匹配问题 44-45 5.1.3 数据库相关代码提取算法 45 5.1.4 系统信息的存储方式 45-46 5.1.5 数据库变更影响分析的算法 46-47 5.2 系统测试 47-53 5.2.1 测试用例描述 47-49 5.2.2 dbSchema.xml文件测试 49-50 5.2.3 classes.xml文件测试 50-51 5.2.4 sql.xml文件测试 51 5.2.5 relations.xml文件测试 51-52 5.2.6 result.txt文件测试 52-53 5.3 系统在实例开发中的应用 53-55 5.3.1 数据库变更场景 53-54 5.3.2 应用效果 54-55 5.3.3 结论 55 5.4 小结 55-56 第六章 结束语 56-58 6.1 工作总结 56 6.2 下一步的工作展望 56-58 参考文献 58-60 致谢 60-61 攻读学位期间发表的学术论文目录 61
|
相似论文
- 基于程序切片的电子海图系统软件测试技术研究,TP311.53
- 基于告警关联的告警子系统的设计与实现,TN915.06
- 基于符号化执行的Fuzzing测试集动态生成技术研究,TP393.08
- 基于MF-DFA和MF-SSA的心脏病理时间序列分析,O211.61
- 对象级粗粒度切片方法研究,TP311.5
- 基于非线性特征的癫痫脑电信号识别算法,TP391.41
- 股票价格的多重分形分析及其预测研究,F832.51
- 串行程序并行化及其在桌面网格中的应用,TP311.11
- 舰船阻振质量块阻隔振动波传递特性研究,U661.44
- 分形理论在交通中的应用,U491
- 基于面向对象程序切片技术的耦合和内聚度量,TP311.52
- 基于程序切片的Web服务安全分析工具设计及实现,TP393.09
- GCC抽象语法树的解析及控制依赖子图的建立方法研究,TP311.11
- 基于搜索的程序切片方法及其应用,TP311.1
- 基于GCC抽象语法树文本的C源程序语义分析方法研究,TP311.11
- 异构分布并行环境下蛋白质折叠结构预测优化算法研究,Q51
- 并行计算的常用模型特征及其程序设计方法研究,TP338.6
- 政府采购管理系统设计,TP311.52
- 通过切片过滤改进聚类测试选择技术,TP311.53
- 基于切片的二进制代码可视化分析的研究,TP311.5
中图分类: > 工业技术 > 自动化技术、计算机技术 > 计算技术、计算机技术 > 计算机软件 > 程序设计、软件工程 > 程序设计 > 数据库理论与系统
© 2012 www.xueweilunwen.com
|