第一章 编程的精义 1
第一节 编程的精义 2
第二节 能不能学会写程序的问题 3
第三节 程序=算法+结构 4
第四节 语言 6
第五节 在没有工程的时代 6
第二章 是懒人造就了方法 9
第一节 是懒人造就了方法 10
第二节 一百万行代码是可以写在一个文件里的 11
第三节 你桌上的书是乱的吗 13
第四节 我的第一次思考:程序=算法+结构+方法 14
第三章 团队缺乏的不只是管理 21
第一节 三个人的团队 22
第二节 做项目=死亡游戏 24
第三节 做ISO质量体系的教训 25
第四节 谁动摇了你的制度 27
第五节 “那我们就开始开发吧” 28
第六节 组织的学问:角色 29
第七节 跟随蚂蚁,但不要栽进蚂蚁洞里 31
第八节 “什么是增值税发票?” 33
第四章 流于形式的沟通 37
第一节 客户不会用C,难道就会用UML吗 38
第二节 项目文档真的可以用甲骨文来写 39
第三节 沟通的三层障碍 42
第四节 最简沟通 45
第五节 为不存在的角色留下沟通的渠道 47
第六节 流于形式的沟通 49
第五章 失败的过程也是过程 51
第一节 做过程不是做工程 52
第二节 做过场 54
第三节 实现,才是目的 54
第四节 过程不是死模型 55
第五节 “刻鹄类鹜”与“画虎类狗” 57
第六节 工程不是做的,是组织的 59
第六章 谁是解结的人 61
第一节 是谁的问题 62
第二节 正视你的成功 64
第三节 总得先做点儿什么吧 65
第四节 你不是团队的腿 68
第五节 三鼓而竭 71
第六节 先人后己 74
第七节 自相矛盾 76
第七章 从编程到工程 79
第一节 语言只是工具 80
第二节 关注点 81
第三节 程序 82
第四节 方法 83
第五节 过程 84
第六节 工程 85
第七节 组织 87
第八节 BOSS 89
第九节 上帝之手 90
第八章 你看得到工具的本质吗 95
第一节 利器何以为先 96
第二节 神乎其技又有什么用呢 97
第三节 工具的本质 98
第四节 惟手熟尔 100
第五节 鲁班带了个坏头 101
第六节 工匠思想 103
第七节 化而用之,融通与融同 105
第八节 南橘北枳 109
第九章 现实中的软件工程 113
第一节 大公司手中的算盘 114
第二节 思考项目成本的经理 118
第三节 审视AOP 121
第四节 审视MDA/MDD 122
第五节 审视AP和XP 125
第十章 具体工程 131
第一节 预言——《人月神话》及其地位 132
第二节 错误的命题——对《人月神话》的反思 136
第三节 具体工程以及工程的具体化 139
第四节 控制规模 142
第五节 隔离问题域 145
第六节 这样是不是太简单了 148
第七节 郑人的履 150
第十一章 是思考还是思想 153
第一节 软件工程三个要素的价值 154
第二节 其实RUP是一个杂物箱 155
第三节 UML与甲骨文之间的异同 156
第四节 经营者离开发者很远,反之亦然 157
第五节 矛盾:实现目标与保障质量 157
第六节 枝节与细节 158
第七节 细解“法”与“式” 159
第八节 灵活的软件工程 162
附录一 愚公移山记 165
附录二 愚公移山记(文言) 173
附录三 幕后故事(摘选) 179
参考文献 193
前言后语 195
版本历史 203