第一章:
Key Points
什么是软件构建?(software constructor)
软件开发中的各种不同的活动(activity)
coding && debug
软件构建为什么这么重要?
第二章:Metaphor for a Richer understanding software development
是否遇到过下面这些呢。
virus
trojan horse
worm
bug
bomb
crash
flame
twisted sex changer
fatal error
类比(analogy)
把你不太理解的东西和一些你较为理解、且十分类似的东西作比较,你可以对这些不太理解的东西产生更深刻的理解,这种使用隐喻的方法叫做“建模(modeling)”。
用建筑房屋来类比软件设计的过程。
首先准备建一个什么类型的房子-----软件设计上定义为问题定义(problem definition)
然后画出详细的蓝图,雇一个承包人-----软件上的详细设计
然后粉刷,装修进行美化 --------------软件设计上的优化过程(oprimization)
监查需要检查的地方 --------------软件设计上的复查(review)和审查(inspections)
隐喻的启示并不是算法。
更加复杂的架构需要更加详细的计划。
第三章:Measure twice,cut once . Upstream prerequisites
the important of prerequisites
在实现一个系统之前,你需要理解“这个系统应该做什么”,以及它该如何实现这些。
在开始动手制作这个系统之前,先好好思考打算如何去做,这也是非常重要的。
需求->架构->设计
犹如食物链
第四章: