软件需求模式阅读笔记之一
什么是需求?需求就是定义系统需要做什么而不是怎么做。需求定义了必须解决的问题:系统的目的是什么,以及为了达到目的系统需要的所有功能。需求中不止一个合适的细节层次,需求最重要的是定义了系统必须做什么和它必须能完成的行为。
首先我们要了解需求的一些基本原则:定义问题,而不是解决方案;定义系统,而不是项目;区分正式和非正式部分;避免重复。还有需求流程又分为传统需求流程、敏捷需求流程、极限需求流程增量需求流程。
传统需求流程的步骤主要是准备、收集信息、编写需求规格草稿、评审规格、评审后修改。
任何敏捷需求流程都有以下两个原则:
1、区分问题和解决方案是重要的
2、定义需求后,一定要记录它以便别人可以找到
与极限编程相关的使用需求模式的方法有三种:
1、为用户故事及其内容提供建议
2、以更系统化的方法解释用户故事,揭示隐藏在其中的真正的需求,同时识别出实现用户故事需要增加的额外功能
3、指导建立一整套“公共需求”,可以在开发组织中的所有系统使用,特别是建立一套所有开发人员应该遵循的良好实践的规则。
增量需求流程,前期充分地定义需求,使客户相信我们已经理解了他们对系统的期望,扩展高层需求。
总的来说,需求就是你确定系统需要做什么的过程,明确这个目的,才能更好的开展后面的工作。