一个完整的软件需求应该包含哪些方面呢!我们该从哪些方面对一个需求进行检查呢?带着这些疑问大家来看一下一个完整的需求是不是应该具备以下特征。对于不够完善的地方希望大家补充。
清晰性:
对需求的描述是否易于理解?
是否存在有二义性的需求?
是否定义了术语表,对特定含义的术语给予了定义?
最终产品的每个特征是用唯一的术语描述的吗?
组织和完整性:
需求是否能为设计提供足够的基础?
是否包括了所有客户代表或系统的需求?
在需求中是否遗漏了必要的信息?如果有的话,是否标记为“待确定”的问题?
是否每个需求都在项目的范围内?与商业目标一致?
需求是否与一些业务限制、政策或规约相冲突?
与组织机构或政策问题相关的需求是否系统的商业目标相冲突?
是否有的需求应该描述的更详细些?
是否定义了功能需求在内的算法?
是否识别了设计约束?
是否对假设条件进行了说明?
一致性:
所有需求的编写在细节上是否都一致?
对同一对象的术语定义存在矛盾吗?
对同一对象的特征描述存在矛盾吗?
是否多个需求相互冲突?
可追踪性
需求是否具有明确的来源,从而它可能被跟踪?
是否每个需求都具有唯一性并且可以正确地被识别?
可检验性
是否所有的需求都能实现?
是否每个需求都是可测试的?
可修改性
每个需求描述是否清晰、符合逻辑?
组织结构是否合理、可接受?
是否每个需求都没有内容上和语法上的错误?
是否有冗余的信息?