《掌握需求过程》阅读笔记(一)
在准备做一个系统之前,我们首先必须要能明白我们做这个系统的目的是什么,做这个系统能给顾客的工作流程带来什么变化?要知道这些问题,我们必须知道什么是需求,所谓需求就是那些您必须在开始构建产品之前发现的东西。需求的发现是在开始做系统的最开始,是最重要的,如果一个系统之前的准备工作--需求没有做好,那么以后的东西会越来越不好,不会达到系统的目的,不会是客户满意;
所以如果在构建的过程中才发现需求,或者到最后,系统已经被使用了,那么我们将付出的代价是很大的,并且工作效率也是极低的;一个产品必须要做的东西只是产品的功能性需求。需求在整个软件开发生命周期中所承担的角色是非常重要的,需求过程研究业务工作,以期设计出有助于业务工作的更加完善的产品。作为该过程的结果,需求规格说明书是对产品的功能和行为的完整的描述。系统分析得到关于产品所需要的功能和数据的一个可工作的模型,将该模型作为产品的规格说明书。产品设计将来自于需求和分析的抽象规格说明转变为面向真实世界的设计,一旦构建完成,该产品就会投入使用,同时会不可避免地产生更多的新需求;需求过程与分析活动之间有相当程度的重叠。我们利用了分析建模来描述需求过程,同时也利用了分析模型来解释一些需求方面的概念。
需求收集者使用分析建模来帮助发现需求,系统分析师使用需求来帮助对功能和数据的建模。在开始时,需求过程站主导地位,创建的仅有的分析模型是上下文范围图(context diagram),也许还有探索性的数据模型。需求收集与系统分析之间的重叠随着产品开发过程的推进而发生变化。最初,只需要完成少量的分析工作,大量的工作在收集和验证需求上,随着开发工作的继续,分析活动在工作中占的比例变得越来越大,直到所有需求都已知。接下来的工作就将进入系统分析。
需求是产品必须完成的事以及必须具备的品质。需求存在的原因要么是该类型的产品要求一定的功能和品质,要么是客户希望需求成为提交的产品的一部分。需求分为功能性需求、非功能需求、限制条件,功能性需求是指产品必须完成的事情,即为了向他的用户提供有用的功能,产品必须执行的动作。功能性需求源于产品存在的最基本理由;非功能性需求是产品必须具备的属性或品质。在某些情况下,非功能性需求对于产品的成功是至关重要的;限制条件是全局性的需求,例如,产品的目标是一个限制条件,所有的单个需求都必须服务于这个目标;
需求规格说明书的书写模板:
产品限制条件--适用于项目与产品的限制于局限
1.产品的目标--构建产品的原因和如果使用了该产品能带给业务的优势
2.客户、顾客和其他的风险承担者--产品设计他们的利益
3.产品的用户---预期的最终用户,以及他们的水平对产品可用性的影响
4.需求限制条件---项目的局限性和产品设计的限制条件
5.命名标准和定义----产品相关的词汇表
6.相关事实---对产品产生一定影响的外部因素
7.假定--开发者所做的假定
功能性需求--产品的功能
8.产品的范围--定义产品的边界,以及他与相邻系统的连接情况
9.功能与数据需求---产品必须做的事情和功能进行的数据操作
非功能性需求---产品的品质
10.观感需求--预期的外观
11.易用性需求--基于预期用户的操作水平做出
12.性能需求---多快、多大、多精确、多安全、多可靠等等
13.操作需求--产品预期的操作环境
14.可维护性和可移植性需求----产品的可改动性必须达到什么水平
15.安全性需求--产品的安全性、保密性和完整性
16.文化与政策预期--人的因素
17.法律需求--满足适用的需求
项目问题---这些适用于构建产品的项目
18.开放式问题--这些适用于构建产品的项目
19.商业上驾式软件解决方案---利用已有的组件而不是从头开发
20.新问题---因为引入新产品而带来的问题
21.任务--将产品生产出来必须要做的一些事情
22.迁移---从现存系统转换的任务
23.风险--项目最有可能面对的风险
24.费用---早期对构建产品的成本或工作量的估计
25.用户文档---创建用户指南和文档的计划
26.反续版本需求---可能在产品将来的发行版本中包括的需求