有的项目在描述系统需求时,往往是用一句简单的话来描述需求,在一句话需求中描述包含的信息有如下的情形:
类型 | 案例 | 说明 |
包含了一个功能 | 可以将发票通过邮件发送给客户。 |
|
包含了一组功能 | 具有手工录入、批量删除、导出、导入等功能。 | 4个功能:录入、删除、导入、导出 |
包含了一个功能的业务逻辑 | 支持权限控制,只有分配权限的人员才可以进行台账初始。 |
|
包含了一个功能的细节要求 | 在录入单据时,可以提供供应商信息的帮助功能。 |
|
同时包含了功能与处理逻辑 | 支持自定义审批流程。提单人提交单据后,按照既定流程审批,审批完成后台账信息生效。 | 2个功能:自定义流程、审批2个功能 1个处理逻辑:审批完成后台账信息生效 |
...... |
|
|
在一句话需求中,往往存在如下的问题:
类型 | 案例 | 说明 |
数据对象不全 | 支持台账的录入、删除与导入、导出功能。 | 此处的台账实际包含5种台账,每种台账的数据项、处理逻辑是不同的。看着一句话,实际功能个数是5倍。 |
数据属性不全 | 支持自定义查询条件进行查询。比如设置开始日期、结束日期、关键字段等进行过滤查询。 | 这里的关键字段还有哪些呢? |
缺少业务逻辑的详细描述 | 支持入库单的导入功能。 | 导入时是否要判断合法性呢?规则是什么? |
层次关系混乱 | 支持手工录入、帮助、批量删除、导出、导入等功能。 | 此处的帮助功能和录入、删除、导入导出是并列同级的吗?还是帮助是录入功能里的一个细节特性? |
...... |
|
|
对这种一句话需求进行澄清时,可以采用如下的问题:
词性 | 问题 |
名词 | 它的具体含义是什么? 它是否还有子类? 它是否还有其他属性? 它的取值范围是什么? 有无缺省值? 是否可以为空值? 如果是数值,有无精度要求? 它的输出输出格式有无什么要求? 它是否和其他名词是相同的含义? 它的出现频度最高多大? |
动词 | 它的具体含义是什么? 它是否还有其他的分支场景? 它的处理规则是什么? 它的人机交互交互动作序列是什么? 它处理的数据是什么? 它和其他动词是否有相同的含义? 它是一个功能,还是一个处理逻辑? 如果是处理逻辑,它从属于哪个功能? 它的执行频度最高多大? |
副词与形容词 | 是否可以量化? 如果不能量化是否可以删除? |
量词 | 数值大小是否合理? |