|
知识路径: > 系统开发基础知识 > 需求管理 > 需求开发概述 >
|
相关知识点:3个
|
|
|
|
软件需求就是系统必须完成的事,以及必须具备的品质。具体来说,软件需求包括功能需求、非功能需求和设计约束3个方面的内容。
|
|
|
(1)功能需求:是指系统必须完成的那些事,即为了向它的用户提供有用的功能,产品必须执行的动作。
|
|
|
(2)非功能需求:是指产品必须具备的性能或品质,例如,可靠性、容错性等。
|
|
|
(3)设计约束:也称为限制条件、补充规约,通常是对解决方案的一些约束说明,例如,某系统必须采用国有自主知识版权的数据库,必须运行在UNIX系统之下,等等。
|
|
|
除了这3种需求之外,还有业务需求、用户需求和系统需求这3个处于不同层面下的概念,充分理解这些需求才能够更加清晰地理清需求的脉络。
|
|
|
(1)业务需求:是指反映组织机构或客户对系统、产品高层次的目标要求,通常问题定义本身就是业务需求。
|
|
|
(2)用户需求:是指描述用户使用产品必须要完成什么任务、怎么完成的需求,通常是在问题定义的基础上进行用户访谈、调查,对用户使用的场景进行整理,然后建立的从用户角度的需求。
|
|
|
(3)系统需求:是从系统的角度来说明软件的需求,它包括了用特性说明的功能需求,质量属性及其他非功能需求,还有设计约束。
|
|
|
我们经常围绕着“功能需求”来展开工作,而功能需求大部分都是从“系统需求”的角度来分析与理解的,也就是用“开发人员”的视角来理解需求。但要想真正地得到完整的需求,仅戴上“开发人员”的眼镜是不够的,还需要“领域专家”的眼镜,从更高的角度来理解需求,这就是“业务需求”;同时还应该更好地深入用户,了解他们的使用场景,了解他们的所思所想,这就是“用户需求”。这是一个理解层次的问题,并不仅仅是简单的概念。
|
|
|