| 摘要 | 第1-8页 |
| ABSTRACT | 第8-9页 |
| 第一章 绪论 | 第9-12页 |
| ·课题背景 | 第9-10页 |
| ·主要研究工作和贡献 | 第10页 |
| ·主要研究工作 | 第10页 |
| ·主要贡献 | 第10页 |
| ·论文的组织 | 第10-12页 |
| 第二章 JBuilder的OpenTools框架研究 | 第12-15页 |
| ·引言 | 第12页 |
| ·OpenTools框架简介 | 第12-13页 |
| ·OpenTools的体系结构 | 第12-13页 |
| ·OpenTools的设计要求 | 第13页 |
| ·本章小结 | 第13-15页 |
| 第三章 重构与“教务系统”的开发 | 第15-22页 |
| ·引言 | 第15页 |
| ·重构的概念和原则 | 第15-16页 |
| ·重构的概念 | 第15页 |
| ·重构的基本原则 | 第15-16页 |
| ·“教务系统”重构的必要性 | 第16-17页 |
| ·“教务系统”重构的策略 | 第17-21页 |
| ·本章小结 | 第21-22页 |
| 第四章 Refactorings系统的模式分析 | 第22-29页 |
| ·引言 | 第22页 |
| ·模式的概念和作用 | 第22-23页 |
| ·模式的概念 | 第22页 |
| ·模式的作用 | 第22-23页 |
| ·Refactorings系统中Java模式的应用 | 第23-27页 |
| ·抽象类模式 | 第23页 |
| ·工厂模式 | 第23-24页 |
| ·单例模式 | 第24页 |
| ·合成模式 | 第24-25页 |
| ·迭代器模式 | 第25-26页 |
| ·访问者模式 | 第26页 |
| ·解释器模式 | 第26-27页 |
| ·模式和重构的关系 | 第27-28页 |
| ·本章小结 | 第28-29页 |
| 第五章 抽象语法树的创建和遍历 | 第29-37页 |
| ·引言 | 第29-30页 |
| ·抽象语法树及文法 | 第30页 |
| ·抽象语法树的创建 | 第30-33页 |
| ·抽象语法树的节点类 | 第30-31页 |
| ·解释器的设计 | 第31-32页 |
| ·抽象语法树的创建过程的示例 | 第32-33页 |
| ·抽象语法树的遍历 | 第33-35页 |
| ·本章小结 | 第35-37页 |
| 第六章 重构工具的设计与实现 | 第37-58页 |
| ·引言 | 第37页 |
| ·重构工具的技术因素 | 第37-38页 |
| ·设计的基本理念 | 第38页 |
| ·工具Refactorings的系统分析 | 第38-40页 |
| ·重构工具Refactorings概述 | 第38-39页 |
| ·系统功能描述 | 第39-40页 |
| ·工具Refactorings的系统设计 | 第40-54页 |
| ·用户界面设计 | 第41-43页 |
| ·系统对象设计 | 第43-49页 |
| ·抽象语法树的创建 | 第49页 |
| ·三个层次的遍历操作 | 第49-52页 |
| ·将更新后的抽象语法树写回文件 | 第52-54页 |
| ·工具Refactorings的体系结构 | 第54-56页 |
| ·工具Refactorings的测试和评估 | 第56-57页 |
| ·本章小结 | 第57-58页 |
| 第七章 未来研究工作展望 | 第58-60页 |
| ·引言 | 第58页 |
| ·重构理论和重构工具的研究展望 | 第58-59页 |
| ·重构的基础研究问题 | 第58-59页 |
| ·重构工具的开发问题 | 第59页 |
| ·本章小结 | 第59-60页 |
| 致谢 | 第60-61页 |
| 参考文献 | 第61-63页 |
| 附录:作者在攻读硕士期间发表的论文 | 第63页 |