书中简单的将需求定义为:需求就是定义系统需要做什么而不是怎么做。
需求也是有一些原则的,1)定义问题而不是解决方案,2)定义系统而不是项目,3)区分正式和非正式部分,4)避免重复。在几种需求流程中,我们了解到每种需求流程都有自身的优点和缺点,传统需求流程比较规规矩矩,这样可以使项目需求分析有条理,敏捷需求流程可以更加明确的获得需求,极限需求流程使用用户故事可以安排具体实现的顺序,增量需求流程是介于传统需求流程和极限需求流程之间,可以保持每个人都有同样的理解,从而避免重复。
书中也介绍了需求规格说明书,看到需求规格说明的内容,感觉需求分析真的不是想的那样简单,也看到了需求规格说明书的重要性, ①便于用户、开发人员进行理解和交流。 ②反映出用户问题的结构,可以作为软件开发工作的基础和依据。 ③作为确认测试和验收的依据。
在需求分析中,需求模式是至关重要的,需求模式的好处:1.需求模式提供指导,2.需求模式节省时间,3,需求模式促进同种类型需求的一致性。
需求模式需要描述什么时候使用模式以及基于模式如何编写需求。需求模式包括这几个要素:基本细节、适用性、讨论、内容、模板、实例、额外需求、开发考虑、测试考虑。
基本细节用于描述模式中一些简短的内容。
适用性部分描述需求模式使用的情况。它应该是清楚和准确的。
讨论描述如何编写这种需求,它解释所有方面的事情,只要可以帮助定义这种类型的需求。
内容详细列出了这种类型的需求必须传达哪些条目的信息。
需求模板的目的是可以复制它作为需求描述的出发点。
实例:每个需求模式至少包含一个实例演示如何在实践中使用模式。
额外需求解释了需要考虑哪些额外需求以及在什么情况下需要考虑。
开发考虑目的是帮助设计和实现软件开发人员满足这种类型的需求。
测试考虑可以解释如何测试这种类型的需求。
需求模式之间是存在联系的,不是独立存在的。我们要学会使用合适的需求模式,懂得建立模式之间的联系,这样才能将需求分析的更加清楚和准确。