摘要 | 第3-4页 |
Abstract | 第4-5页 |
1 绪论 | 第9-15页 |
1.1 研究背景及意义 | 第9-10页 |
1.2 国内外研究现状分析 | 第10-12页 |
1.3 论文的研究内容和主要工作 | 第12-13页 |
1.5 论文的组织安排 | 第13-15页 |
2 模型与代码的一致性分析的基本理论 | 第15-25页 |
2.1 UML基本概念 | 第15-17页 |
2.1.1 UML在软件工程中的应用 | 第15页 |
2.1.2 UML在一致性检测中的应用 | 第15-17页 |
2.2 基于面向对象的一致性检测 | 第17-18页 |
2.2.1 面向对象概述 | 第17页 |
2.2.2 面向对象机制对一致性检测的影响 | 第17-18页 |
2.3 代码分析方法 | 第18-19页 |
2.3.1 词法分析 | 第18-19页 |
2.3.2 语法分析 | 第19页 |
2.4 UML模型与代码间的映射关系 | 第19-23页 |
2.4.1 属性和方法的映射 | 第19-20页 |
2.4.2 类间关系的映射 | 第20-23页 |
2.5 一致性检测的基础理论 | 第23-24页 |
2.6 本章小结 | 第24-25页 |
3 模型与代码的一致性检测方法的研究 | 第25-55页 |
3.1 模型与代码一致性检测的主要流程 | 第25-26页 |
3.2 UML模型的形式化定义 | 第26-29页 |
3.2.1 类图的形式化定义 | 第26-27页 |
3.2.2 时序图的形式化定义 | 第27-28页 |
3.2.3 时序调用图的形式化定义 | 第28-29页 |
3.3 基于面向对象机制的一致性检测 | 第29-33页 |
3.3.1 基于继承机制的一致性检测 | 第29-30页 |
3.3.2 基于多态机制的一致性检测 | 第30-33页 |
3.4 UML模型解析方法的设计 | 第33-36页 |
3.4.1 UML类图解析 | 第33-34页 |
3.4.2 UML时序图解析 | 第34-35页 |
3.4.3 时序图到时序调用图的转换 | 第35-36页 |
3.5 代码信息的提取及相关预处理 | 第36-42页 |
3.5.1 代码调用图的定义和描述 | 第37-38页 |
3.5.2 代码信息存储结构的设计 | 第38-39页 |
3.5.3 代码信息解析方法设计 | 第39-42页 |
3.6 一致性检测算法的设计 | 第42-51页 |
3.6.1 静态一致性检测算法 | 第43-47页 |
3.6.2 动态一致性检测算法 | 第47-51页 |
3.7 不一致性检测报告生成 | 第51-54页 |
3.7.1 不一致性类型分类 | 第51-53页 |
3.7.2 不一致性检测报告生成方法 | 第53-54页 |
3.8 本章小结 | 第54-55页 |
4 基于一致性检测框架的工具实现与验证 | 第55-73页 |
4.1 一致性检测框架的设计 | 第55-56页 |
4.2 建模工具和模型解析方法 | 第56-57页 |
4.2.1 建模工具 | 第56页 |
4.2.2 XML文件解析方法 | 第56-57页 |
4.3 一致性检测工具的实现 | 第57-63页 |
4.3.1 模型与代码的解析 | 第57-59页 |
4.3.2 时序调用图SD-CG和代码调用图CCG的生成 | 第59-61页 |
4.3.3 调用图多态性扩展 | 第61-62页 |
4.3.4 模型与代码的一致性检测 | 第62-63页 |
4.4 实验验证及结果分析 | 第63-71页 |
4.4.1 实验模型 | 第63-66页 |
4.4.2 模型与代码信息的提取结果 | 第66-67页 |
4.4.3 调用图的生成及多态性扩展 | 第67-69页 |
4.4.4 代码与模型一致性检测结果 | 第69-71页 |
4.4.5 实验结果分析 | 第71页 |
4.5 本章小结 | 第71-73页 |
5 总结与展望 | 第73-75页 |
5.1 总结 | 第73-74页 |
5.2 进一步工作 | 第74-75页 |
致谢 | 第75-77页 |
参考文献 | 第77-81页 |
附录 | 第81页 |
A. 作者在攻读硕士学位期间发表的论文题目 | 第81页 |