| 摘要 | 第1-5页 |
| ABSTRACT | 第5-7页 |
| 目录 | 第7-12页 |
| CONTENTS | 第12-17页 |
| 第一章 绪论 | 第17-26页 |
| ·程序设计可视化 | 第18页 |
| ·程序设计可视化各阶段的发展现状 | 第18-21页 |
| ·编辑阶段 | 第18-19页 |
| ·编译阶段 | 第19页 |
| ·编译器的黑箱特性和可视化意义 | 第19-20页 |
| ·执行阶段 | 第20-21页 |
| ·虚拟机的黑箱特性和可视化意义 | 第21页 |
| ·基于多候选方案的软件开发过程 | 第21-22页 |
| ·MOSBD的特点 | 第22页 |
| ·现有软件开发工具与MOSBD | 第22页 |
| ·可视化集成开发环境 | 第22-25页 |
| ·现有集成开发环境的概述 | 第22-23页 |
| ·可视化集成开发环境的概述 | 第23-25页 |
| ·课题目标 | 第25-26页 |
| 第二章 AnyviewJ的功能分析 | 第26-35页 |
| ·AnyviewJ的系统功能 | 第26页 |
| ·系统功能的取舍 | 第26-30页 |
| ·AnyviewJ的预研-BluerJ的引入 | 第26-27页 |
| ·代码量估计以及功能的取舍 | 第27-29页 |
| ·开发计划 | 第29-30页 |
| ·AnyviewJ的预研-BluerJ | 第30-35页 |
| ·BluerJ的界面 | 第30-31页 |
| ·与可视化编辑相关的模块 | 第31-35页 |
| 第三章 Java可视类装载器 JVL | 第35-63页 |
| ·Java虚拟机 | 第35-36页 |
| ·Java类装载子系统 | 第36-37页 |
| ·解析过程与常量池 | 第37-38页 |
| ·Java可视类装载器(JVL)及其需求分析 | 第38-43页 |
| ·JVL的启动装载过程和解析过程 | 第38-39页 |
| ·JVL中信息的可视性和交互性分析 | 第39-40页 |
| ·动态显示装载过程的分析 | 第40页 |
| ·界面的需求分析 | 第40-43页 |
| ·JVL的总体设计 | 第43-45页 |
| ·JVL的总体设计思想 | 第43-44页 |
| ·模块功能及其交互 | 第44-45页 |
| ·数据结构设计 | 第45-48页 |
| ·Class结构 | 第45-47页 |
| ·常量池和常量池项结构 | 第47-48页 |
| ·类型装载的过程设计 | 第48-52页 |
| ·getClassX()函数流程 | 第48-49页 |
| ·load ConsantPool()函数流程 | 第49-52页 |
| ·通用的图形子模块(Graph)以及界面子模块(GUI)的设计 | 第52-54页 |
| ·Graph子模块 | 第52-53页 |
| ·GUI子模块 | 第53-54页 |
| ·类装载器图形子模块(loaderGraph)的设计 | 第54-56页 |
| ·非Entry类型 | 第54-55页 |
| ·Entry类型 | 第55-56页 |
| ·线程通信模块(thread)的设计 | 第56页 |
| ·线程的设计 | 第56-58页 |
| ·visualLoader子模块中线程的设计 | 第57页 |
| ·Graph子模块以及GUI子模块中线程的设计 | 第57页 |
| ·线程的两种设计模式 | 第57-58页 |
| ·线程的详细设计 | 第58-60页 |
| ·MeassageEntry的详细设计 | 第58-59页 |
| ·类装载器的详细设计 | 第59页 |
| ·VisualNameSpace的详细设计 | 第59页 |
| ·ClassInfoNameSpace的详细设计 | 第59-60页 |
| ·类型信息更新的顺序图 | 第60页 |
| ·运行示例 | 第60-63页 |
| 第四章 Java可视编译器JVC | 第63-120页 |
| ·编译系统概述 | 第63-65页 |
| ·编译程序的阶段 | 第63页 |
| ·词法分析 | 第63页 |
| ·语法分析 | 第63-64页 |
| ·语义分析 | 第64-65页 |
| ·错误管理 | 第65页 |
| ·目标代码生成 | 第65页 |
| ·Java可视编译器JVC及其设计原则 | 第65-70页 |
| ·JVC的开发方式 | 第66页 |
| ·词法分析与语法分析的调用关系 | 第66-67页 |
| ·语法的选择 | 第67页 |
| ·语法分析和语义分析的关系 | 第67-68页 |
| ·中间代码生成模块以及优化模块 | 第68页 |
| ·错误的处理方法 | 第68-69页 |
| ·JVC的编译过程 | 第69-70页 |
| ·JVC的总体设计 | 第70-71页 |
| ·JVC的设计思想 | 第70页 |
| ·模块功能及其交互 | 第70-71页 |
| ·抽象语法树结点的设计 | 第71-79页 |
| ·顶层结点 | 第72-74页 |
| ·与类声明相关的结点 | 第74-76页 |
| ·与方法、构建器以及初始化器相关的结点 | 第76-77页 |
| ·与语句相关的结点 | 第77-78页 |
| ·与右值相关的结点 | 第78-79页 |
| ·其他类型结点 | 第79页 |
| ·Java编译器模块的设计 | 第79-94页 |
| ·启动模块的设计 | 第79-80页 |
| ·词法分析模块的设计 | 第80页 |
| ·语法分析模块的设计 | 第80-88页 |
| ·语义分析模块的设计 | 第88-90页 |
| ·目标代码生成模块的设计 | 第90-93页 |
| ·其他辅助模块的设计 | 第93-94页 |
| ·JVC的可视化分析 | 第94-101页 |
| ·JVC中信息的可视性和交互性分析 | 第94-96页 |
| ·动态显示编译过程的分析 | 第96-97页 |
| ·JVC的界面分析 | 第97-101页 |
| ·编译器图形子模块(compilerGraph)的设计 | 第101-103页 |
| ·非Entry类型 | 第101-102页 |
| ·Entry类型 | 第102-103页 |
| ·线程的设计 | 第103页 |
| ·运行示例 | 第103-108页 |
| ·JVC的测试 | 第108-120页 |
| ·编译器测试理论 | 第109-111页 |
| ·JVC的测试原则 | 第111页 |
| ·JVC的功能测试 | 第111-115页 |
| ·JVC的性能测试 | 第115-118页 |
| ·JVC的后续测试 | 第118-120页 |
| 第五章 可视化的多候选方案辅助管理 | 第120-130页 |
| ·MOSF概述 | 第120页 |
| ·MOSF的缺点以及MOSFJ的提出 | 第120-121页 |
| ·基于多候选方案的软件开发过程(MOSBD)的需求分析 | 第121-123页 |
| ·与组成抽象类集合的抽象类相关的用例 | 第121-122页 |
| ·与组成候选方案的类相关的用例 | 第122-123页 |
| ·MOSFJ提供的辅助管理功能 | 第123-124页 |
| ·AnyviewJ中需要修改的模块的设计 | 第124-127页 |
| ·修改后的AnyviewJ的工程管理模块 | 第124-125页 |
| ·修改后的AnyviewJ的图形模块 | 第125-126页 |
| ·修改后的AnyviewJ的编译器/虚拟机接口模块 | 第126-127页 |
| ·MOSFJ的设计 | 第127-129页 |
| ·管理对象模块 | 第127页 |
| ·管理模块 | 第127-128页 |
| ·通信模块 | 第128-129页 |
| ·模块间的关系图 | 第129页 |
| ·运行示例 | 第129-130页 |
| 结论 | 第130-132页 |
| 参考文献 | 第132-136页 |
| 攻读硕士学位期间发表的论文 | 第136-137页 |
| 独创性声明 | 第137-138页 |
| 致谢 | 第138页 |