前言
第1章 完美软件开发之解构
1.1 完美软件开发的定义
1.2 完美软件开发的构成
1.3 完美软件开发的前提
1.4 完美软件开发的用途
第2章 完美项目管理之解构
2.1 项目管理的存在意义
2.1.1 价值根源
2.1.2 定性分析
2.2 完美项目管理的要素
2.2.1 逻辑链1:意愿之价值
2.2.2 逻辑链2:物理环境
2.2.3 逻辑链3:文化环境之“意识形态”
2.2.4 逻辑链4:文化环境之“观点整合”
2.2.5 逻辑链5:制度环境之“势”
2.2.6 逻辑链6:制度环境之“量化管理”
2.2.7 逻辑链7:内耗之终结
2.2.8 逻辑链8:沟通之成本
2.2.9 逻辑链9: 组织行为之优化
2.3 完美项目管理
2.3.1 完美项目管理的形象
2.3.2 完美项目管理的关联要素
第3章 完美流程之解构
3.1 流程的存在意义
3.1.1 价值根源
3.1.2 定性分析
3.2 完美流程的要素
3.2.1 逻辑链1:正交的分解
3.2.2 逻辑链2:流程之尺度
3.2.3 逻辑链3:选择与集中
3.2.4 逻辑链4:共识之力量
3.2.5 逻辑链5:成本之计算
3.3 完美流程
3.3.1 完美流程的形象
3.3.2 CMMI与完美流程之异同
3.3.3 完美流程的关联要素
第4章 完美开发模型之解构
4.1 开发模型的存在意义
4.1.1 价值根源
4.1.2 定性分析
4.2 完美开发模型的要素
4.2.1 逻辑链1:预则立
4.2.2 逻辑链2:反纸上谈兵
4.3 完美开发模型
4.3.1 完美开发模型的形象
4.3.2 完美开发模型的关联要素
第5章 完美估算方法之解构
5.1 估算的存在意义
5.1.1 价值根源
5.1.2 定性分析
5.2 完美估算的要素
5.2.1 逻辑链1:标准单位的选择
5.2.2 逻辑链2:横看成岭侧成峰的应对
5.2.3 逻辑链3:软件类别的影响
5.2.4 逻辑链4:估算的终结
5.2.5 逻辑链5:反省是进步的阶梯
5.3 完美估算方法
5.3.1 完美估算方法的形象
5.3.2 完美估算方法的关联要素
第6章 完美需求开发之解构
6.1 需求开发的存在意义
6.1.1 价值根源
6.1.2 定性分析
6.2 完美需求开发的要素
6.2.1 逻辑链1:雾外江山看不真
6.2.2 逻辑链2:80/20法则
6.2.3 逻辑链3:需求开发的终结
6.2.4 逻辑链4:变化永恒
6.2.5 逻辑链5:偏好上的免疫力
6.3 完美需求开发
6.3.1 完美需求开发的形象
6.3.2 敏捷与完美需求开发的异同
6.3.3 完美需求开发的关联要素
第7章 完美设计和编码之解构
7.1 设计、编码和文档间的关系
7.1.1 【设计 = 编码】 VS 【设计 ≠ 编码】
7.1.2 文档的角色
7.1.3 设计知识归类法
7.2 设计和编码的存在意义
7.2.1 价值根源
7.2.2 定性分析
7.3 完美设计和编码的要素
7.3.1 逻辑链1:正交的分解
7.3.2 逻辑链2:层次的控制
7.3.3 逻辑链3:时序下的数据流
7.3.4 逻辑链4:信息的隐藏
7.3.5 逻辑链5:“名”与“实”的契合
7.3.6 逻辑链6:设计的终结
7.4 完美设计和编码
7.4.1 完美设计和编码的形象
7.4.2 完美设计和编码的关联要素
第8章 设计和编码的度量与改善
8.1 复杂度的度量
8.1.1 现有度量方法的考察
8.1.2 一种新的度量方法
8.1.3 从复杂度的视角考察Factory模式
8.1.4 从复杂度的角度考察Command模式
8.1.5 小结
8.2 设计方法的选择
8.2.1 一点历史
8.2.2 面向对象与结构化间的互补性
8.2 3 第一种互补关系
8.2.4 第二种互补关系
8.2.5 小结
第9章 案例:薪水支付与性能优化
9.1 案例1:薪水支付
9.1.1 设计决策1:雇员这一概念的边界
9.1.2 设计决策2:属性还是类层次
9.1.3 设计决策3:支付方式等与雇员类的关系
9.1.4 设计决策4:支付方式要不要用多态
9.1.5 设计决策5:支付时间表是应该独立还是放入Employee
9.1.6 设计决策6:究竟在哪里用Command模式
9.1.7 设计决策7:使用哪些辅助类
9.1.8 实现
9.1.9 小结
9.2 案例2:性能优化
附录
附录1 贡献值公式与《资本论》
附录2 遗留课题
附录3 语不惊人死不休——反主流观点汇总
附录4 综合能力归类法
参考文献