| 详细设计概览 
 | 详细设计的目的,范围和形式 
                                     外部接口内部设计
                                   内部处理流程设计
                                   内部数据结构设计
                                   确定单元测试用例
                                   编写详细设计文档
                                   建立示例代码 | 
                              
                                | 详细设计文档 | 详细设计的范围 
                                     文档结构
                                   文档质量要求
                                   文档检查点
                                   文档编写指南
                                   详细设计常见问题与解决办法 | 
                              
                                | 基本设计原则 | 可扩展,可复用 
                                     性能有效,可靠
                                   可移植 | 
                              
                                | 数据结构设计 
 | 识别数据项, 
                                     合理组织数据结构
                                   数据的作用域定义
                                   数据的生命周期原理
                                   数据的内部结构组织原则
                                   数据的外部关系组织原则 | 
                              
                                | 处理流程设计 | 确定处理的输入输出 
                                     从需求整理处理流
                                   根据流程组织原理优化流程
                                   把处理流成分配到函数
                                   函数设计的常见问题
                                   函数设计基本原则 | 
                              
                                | 设计单元测试用例 
 | 单元测试是一种设计 
                                     哪些代码需要单元测试
                                   测试任何可能出现错误的地方
                                   单元测试用例设计方法 | 
                              
                                | 编写有效的代码 
 | 建立编码规范 
                                     编写功能完备的代码
                                   编写清晰易读的代码
                                   编写高性能的代码
                                   编写可测试的代码 
 | 
                              
                                | 编写单元测试用例代码 
 | 编写有效的单元测试代码 
                                     执行单元测试、发现问题
                                   开始重构
                                   结果分析 | 
                              
                                | 测试结果分析 | 测试了那些代码 
                                     出现了什么问题
                                   覆盖率如何
                                   修复率如何
                                   测试对设计和开发的价值分析
                                   改进工作方法 | 
                              
                                | 重构 | 重构的基本原则 
                                     优秀程序结构的风格
                                   如何观察代码
                                   代码的坏味道
                                   重构名录
                                   重新组织类、函数与属性
                                   如何让重构成为习惯
                                   重构案例实践与分析 | 
                              
                                | 有效的设计模式 | 参考模式进行设计 
                                     防止过度设计
                                   通过测试识别问题,引用模式,进行重构
                                   模式目录、问题与应用效果
                                   模式应用示例
                                   组织自己的模式 |