发现功能需求的的目的,是要形成构建的产品的一份合约,因此,功能性需求必须十分详细的描述预期的产品将执行哪些活动。为了满足这个指标,功能性需求必须包含足够的细节,让开发能够构造出正确的产品,使需求分析师与利益相关方的误解减少到最低程度。
为了使需求更规范、清晰、有条理,就需要考虑发现和组织需求的方法。我们可以这样来考虑:
这种从功能集到事务再到功能的层层分解方式,不但减少了需求定义的难度,而且是最后形成需求文档和用例文档之间有很好的追踪关系,下图展示了这种渐进式得到功能性需求的方法。
为了使需求更规范、清晰、有条理,就需要考虑发现和组织需求的方法。我们可以这样来考虑:
- 首先:把每个用例看成一个大的需求集,描述清楚这些需求集之间的交互关系,这就自然的使需求与用例之间有了映射关系。
- 其次:把视野集中在每个用例。一个用例表现了为实现一个大的目标所必需的行为,而每一个大目标需要若干小目标来实现,这个小目标就是事务。在用例点规模估计中,我们已经定义了事物就是从用户到系统,再回到用户的一个“环形路线”,我们可以把每个用例所包含的若干事务分离出来并进行命名。这就有了一个清晰的需求框架。
- 最后:再把视野集中到每个事务,仔细分析为了完成这个小目标(事务),系统需要哪些功能?这些功能有哪些模糊不确定的地方?能不能据此定义开发?
这种从功能集到事务再到功能的层层分解方式,不但减少了需求定义的难度,而且是最后形成需求文档和用例文档之间有很好的追踪关系,下图展示了这种渐进式得到功能性需求的方法。