不同视角看需求之我见
信息化过程可以理解为识别与实现需求的过程,需求在信息化过程中是一个
重要的推手,如何正确的识别需求、理解需求、表示需求是我们构建一个正确的
软件系统的前提条件,市场上有大量的有关需求方面的书籍及课程,让我们从工
程、系统的角度来把握需求,可在很多人眼里,还是会有很多的疑问与不解,本
文将以作者从业经验,以另外一个视角来话说需求。从需求的定义、需求之间的
矛盾、用户需求的四个层次、功能需求的三个层次、需求转换、需求升级、需求
的系统论几个观点来展开对需求的理解。
需求定义:
业务需求( business requirement)反映了组织机构或客户对系统、产品高
层次的目标要求,它们在项目视图与范围文档中予以说明。
用户需求(user requirement) 文档描述了用户使用产品必须要完成的任务,
这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。
功能需求(functional requirement)定义了开发人员必须实现的软件功能,
使得用户能完成他们的任务,从而满足了业务需求。所谓特性(feature)是指逻
辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。软件需求各
组成部分之间的关系如图所示。
业务需求从上述定义的来看出更多的反映了决策者(老板)利益,体现决策
者(老板)对系统的愿景与建设意图。具体来看,通过系统的建设能提升某个或
某些方面的能力,如通过系统建设提高工作效率与生产率、通过系统提高组织系
统的盈利能力、通过系统提高组织的抗风险能力、通过系统提高组织系统的品牌
建设等。
用户需求从定义来看更多的反映业务工作者用系统协助他们完成日常性的工
作事物,从这个角度来看,对于系统操作的简便性、学习的成本代价、误操作的
提醒等便成了业务工作者衡量系统的一个重要的标准。
功能需求从定义是从软件产品角度来定义产品的质量特性,如功能上的、非
功能上的特性,这些特性是满足要求的程度,包括用户需求与业务需求。
需求之间的矛盾:
功能需求定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,
从而满足了业务需求,从定义的角度来说看似没有问题,实际上存在矛盾,原因
如下:业务工作者把任务完成了,再满足业务
需求/系统/定义/业务/功能/用户/软件/建设/能力/提高/
需求/系统/定义/业务/功能/用户/软件/建设/能力/提高/
-->