单选题 利用需求跟踪能力链(traceability link)可以跟踪一个需求使用的全过程,也就是从初始需求到实现的前后生存期。需求跟踪能力链有4类:追溯到需求、从需求追溯、回溯到需求、从需求回溯,如图所示。
【正确答案】 A
【答案解析】[解析] ①需求跟踪的定义
需求跟踪是重要的项目需求管理方法,这种方法为项目组织提供了在投资方需求、需求规格说明书、项目产品之间保持一致性的能力。需求跟踪可以改善产品的质量,降低维护成本,而且能提高需求定义、项目产品构件的可重用性。跟踪需求的过程主要包括以下内容:
·从需求到业务需要、机会、目的和目标;
·从需求到项目目标;
·从需求到项目范围(WBS)中的可交付成果;
·从需求到产品设计;
·从需求到产品开发;
·从需求到测试策略和测试脚本;
·从宏观需求到详细需求。
②需求跟踪能力链
根据国家标准GB/T 8567-2006,需求规格说明书中的每个配置项的需求到其涉及的系统(或子系统)需求都要具有双向可追踪性。所渭双向跟踪,包括正向跟踪和反向跟踪,正向跟踪是指检查需求规格说明书中的每个需求是否都能在后继工作成果中找到对应点;反向跟踪也称为逆向跟踪,是指检查设计文档、代码、测试用例等工作成果是否都能在需求规格说明书中找到出处。具体来说,需求跟踪涉及五种类型:正向跟踪、跟踪、正向跟踪、反向跟踪、反向跟踪,如图所示。

图中的箭头表示需求跟踪能力联系链,它能跟踪需求使用的整个周期,即从需求建议到交付的全过程。
图的左半部分表明,从用户原始需求可向前追溯到系统需求,这样就能区分出开发过程中或开发结束后由于变更受到影响的需求,也确保了需求规格说明书中包括所有用户需求。同样,可以从系统需求回溯到相应的用户原始需求,确认每个系统需求的出处。如果以用例的形式来描述用户需求,图的左半部分就是用例和功能性需求之间的跟踪情况。
图的右半部分表明,由于在开发过程中,系统需求转变为设计和编码等实现元素,所以通过定义单个系统需求和特定的产品元素之间的联系链,可以从系统需求追溯到产品元素。这种联系链使开发人员知道每个需求对应的产品元素,从而确保产品元素满足每个需求。第四类联系链是从产品元素回溯到系统需求,使开发人员知道每个产品元素存在的原因。绝大多数项目不包括与用户需求直接相关的代码,但开发人员应该知道为什么要写这一行代码。如果不能将设计元素、代码段或测试用例回溯到一个系统需求,就可能出现画蛇添足的现象。当然,如果某个孤立的产品元素表明了一个正当的功能,则说明需求规格说明书漏掉了一项需求。
第五类联系链是系统需求之间的跟踪,这种跟踪便于更好地处理系统需求之间的逻辑相关性,检查需求分解中可能出现的错误或遗漏。
③需求跟踪的目的
需求跟踪是一项劳动强度很大的任务,在整个系统开发、运行和维护的过程中,要始终保持联系链信息与实际相符。在项目实践中,使用需求跟踪能力,可以获得如下好处。
·审核。跟踪能力信息可以帮助开发人员审核和确保所有需求都被正确应用。
·变更影响分析。在增、删、改需求时,跟踪能力信息可以确保不忽略每个受到影响的系统元素。
·维护。可靠的跟踪能力信息使得维护时能够正确而完整地实施变更,从而提高生产率。
·项目跟踪。认真记录跟踪能力数据,就可以获得计划功能当前实现状态的记录。
·再工程。可以列出遗留系统中将要替换的功能,记录它们在新系统中的需求和在构件中的位置。
·重复利用。跟踪能力信息可以帮助开发人员在新系统中对相同的功能利用现有系统的相关资源。例如,功能设计、相关需求、代码和测试等。
·减小风险。需求联系文档化可减少由于项目团队关键成员离职带来的风险。
·测试。测试模块、需求和代码段之间的联系链可以在测试出错时指出最可能有问题的代码段。
④需求跟踪矩阵
表示需求和其他系统元素之间的联系链的最普遍方式是使用需求跟踪(能力)矩阵。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵,它保存了需求与后继工作成果的对应关系。例如,从用户原始需求到系统需求之间的跟踪,可以采用如表所示的矩阵。

对于从系统需求到下游工作产品之间的跟踪,可以采用如表所示的矩阵。