《软件需求》-需求

一、什么是需求

人们在讨论需求时,开始经常会遇到专业术语问题。从不同的角度说着同一个问题,例如:用户需求、软件需求、业务需求、功能需求、系统需求、产品需求、项目需求、用户故事、特性或者约束条件。到底什么是需求;布莱恩.劳伦斯认为,需求是“任何能驱动设计做出选择的东西”。

需求是对我们应当执行的任务的规范说明。它描述系统的行为特性或属性,可以是一种对系统开发进程的约束。

二、需求的层次和种类

1、种类

(1)、业务需求:开发产品的组织或者获取产品的客户所需的高层次业务目标。

(2)、业务规则:策略、纲领、标准或者制度,能够定义或者约束某些方面的业务。虽然本身并不是软件需求,但它却是一些类型的软件需求的鼻祖。

(3)、约束:对开发人员在产品设计和构建上的限制条件。

(4)、外部界面需求:对软件系统和用户、其他软件或硬件设备间的关联进行说明。

(5)、特性:单个或者多个为用户提供价值的、有逻辑关系的系统性能,可以通过一个功能需求集合进行描述。

(6)、功能需求:描述系统在特定条件下展现的行为。

(7)、非功能需求:描述系统必须展现的属性或者特性,或者必须遵守的约束。

(8)、质量属性:一种非功能需求,描述的是服务或者一个产品的性能特征

(9)、系统需求:包含多个子系统的产品的顶层需求,子系统可以是软件也可以是硬件

(10)、用户需求:在特定用户群必须能够用系统所完成的目标或任务,或者是用户期望有的产品属性。

2、层次

软件需求有三种不同的层次:业务需求、用户需求和功能需求。

业务需求描述组织为什么要执行系统(组织希望获得的业务收益)。其关注点在于组织或者提出系统要求的客户有哪些业务目标。一般是记录在愿景和范围文件之中。

用户需求描述了用户使用产品必须完成的目标或者任务,并且这个产品要能够为人提供价值。用户需求主要包括对用户满意度最为关键的产品特性或特征的描述。用例、用户故事以及事件响应表都是用户需求表示方式。用户需求表达的是用户通过系统来养成那些具体工作。

功能需求说的是产品在特定条件下所展示出来的行为,主要描述开发人员需要实现的功能以便用户能够完成自己的任务(用户需求),进而满足业务需求。

这三种需求环环相扣,对项目的成功至关重要。这三个层次需求让我想起了三节课里讲的:产品架构、业务逻辑、业务流程。

三、需求分为开发和管理

1、需求开发过程

获取、分析、规范说明、验证

2、需求管理:需求基线

四、人对了,得出糟糕需求却很糟糕

1、用户参与度不够

2、规划不当,对需求的理解不充分

3、用户需求蔓延

4、需求模棱两可

5、镀金,开发人员增加的功能并不在需求规范说明之中(或者超出说明),但开发人员却自认为“用户喜欢”

6、忽视干系人,无法为产品确定主要的用户分类。

你可能感兴趣的:(《软件需求》-需求)