基于度量的面向对象软件设计问题的自动识别
摘要 | 第2-4页 |
ABSTRACT | 第4-5页 |
第一章 绪论 | 第8-11页 |
1.1 本文研究的背景 | 第8-9页 |
1.2 本文研究的意义 | 第9页 |
1.3 本文的研究目标和内容 | 第9-10页 |
1.4 本文的组织 | 第10-11页 |
第二章 研究综述 | 第11-16页 |
2.1 软件度量 | 第11-12页 |
2.2 代码的质量和常见的设计问题 | 第12-13页 |
2.2.1 代码的坏味道 | 第12页 |
2.2.2 代码中的反模式 | 第12-13页 |
2.3 基于度量发现代码中的设计问题 | 第13-15页 |
2.3.1 改进代码度量规则 | 第13-14页 |
2.3.2 基于面向对象度量方法的验证 | 第14页 |
2.3.3 代码的克隆 | 第14页 |
2.3.4 针对语言的具体特性自定义度量规则 | 第14-15页 |
2.4 本章小结 | 第15-16页 |
第三章 度量工具JMT 识别的代码设计问题 | 第16-21页 |
3.1 代码中的高耦合度 | 第16-17页 |
3.2 系统中的God Class | 第17-18页 |
3.3 泛型的滥用 | 第18-19页 |
3.4 包装器类与原始类型的频繁转换 | 第19-20页 |
3.5 本章小结 | 第20-21页 |
第四章 度量工具JMT 支持的度量方法 | 第21-28页 |
4.1 传统的度量方法 | 第21-22页 |
4.2 面向对象的度量方法 | 第22-23页 |
4.3 面向Java 5 新特性的度量方法 | 第23-24页 |
4.4 度量的实现算法 | 第24-27页 |
4.5 本章小结 | 第27-28页 |
第五章 度量工具JMT 的设计与实现 | 第28-55页 |
5.1 JMT 的工作流程和架构设计 | 第28-29页 |
5.2 词法语法分析器的选择和使用 | 第29-31页 |
5.3 Eclipse 插件扩展点 | 第31-33页 |
5.3.1 基于插件的体系结构 | 第31-32页 |
5.3.2 JMT 的插件结构 | 第32-33页 |
5.4 面向对象度量模块的设计与实现 | 第33-41页 |
5.5 结果展示模块的设计与实现 | 第41-52页 |
5.5.1 XML 文件到PDF 文件的转换 | 第42-48页 |
5.5.2 XML 文件到CSV 文件的转换 | 第48-50页 |
5.5.3 XML 文件到HTML 文件的转换 | 第50-52页 |
5.6 度量定制模块的设计与实现 | 第52-53页 |
5.7 JMT 的扩展功能 | 第53-54页 |
5.8 本章小结 | 第54-55页 |
第六章 度量工具JMT 的测试 | 第55-61页 |
6.1 测试环境 | 第55页 |
6.2 测试的目标代码 | 第55页 |
6.3 测试流程 | 第55-58页 |
6.4 测试结果 | 第58-61页 |
6.4.1 JTidy 的度量结果 | 第58-59页 |
6.4.2 FindingMax 的度量结果 | 第59-61页 |
第七章 总结与展望 | 第61-62页 |
附录 | 第62-64页 |
参考文献 | 第64-66页 |
致谢 | 第66-67页 |
攻读硕士学位期间已发表的学术论文 | 第67-69页 |