通过阅读此书,我知道了这本书先是要教会我们关于需求的概念,让我们知道什么是需求,然后就是教我们各种关于需求的模式,这本书中有30多个需求的模式。每一个模式都是技术的结晶,他们会方便我们的重用。
需求在总体方案中的位置,一般的开发过程主要包括范围、需求、设计、开发、测试、安装等阶段,而根据规模的不同大小,需求可以大到整个系统,也可以小到一个编码单元。
需求就是定义系统需要做什么而不是怎么做,需求定义了必须解决的问题、目的、需要实现的功能。重要的是定义了系统必须做什么和它必须完成的行为。在每一种开发方法中,需求都是开头的部分,而且还需要不断的重新做需求。一些基本的原则:定义问题,而不是解决方案;定义系统,而不是项目;区分正式和非正式部分;避免重复。
传统的需求流程:准备-搜集信息-编写需求规格草稿-评审规格-评审后修改。而敏捷需求流程是:人员胜过流程,软件胜过文档。它的原则是:区分问题和解决方案是重要的;定义需求后,一定要记录它以便别人可以找到。极限需求流程开发新的系统需要用户编写完整的用户故事,最后根据用户故事实现功能,要使用户故事尽可能的准确,找出各个需求和需要增加的功能,并为开发人员建立一套规则。增量需求流程介于传统需求流程和极限需求流程之间。