产品体验中心 下载与支持 产品社区 合作代理 |  咨询电话:400-035-7887/021-6072 5088
当前位置:泽众软件测试网- 技术文章 -正文

软件工程中需求跟踪矩阵的作用及实现过程

发布时间:2020-07-17

需求跟踪矩阵是一个表格形式的报告以帮助用户跟踪需求到测试用例以及最终到软件缺陷。它能够帮助用户跟踪与需求相关联的所有测试用例,以及这些测试用例在不同测试周期的结果和缺陷信息。

通过建立和维护软件需求跟踪矩阵,可以在四个环节之间找到对应关系,验证从需求一直到测试之间的一致性与完整性,并且在发生变更时,可以通过正反向跟踪矩阵确定变更影响域。結合软件工程的特点,在传统的需求跟踪矩阵基础上,增加用户需求和软件需求、概要设计和详细设计之间的追踪关系,使得建立的追踪关系更加精确。

需求跟踪矩阵的目的是为了建立与维护“需求-设计-编码-测试”之间的一致性,确保最终的产品满足需求。软件工程中的软件生存周期是指从软件的产生直到报废的生命周期,而需求追踪矩阵存在于整个软件生存周期内,从正向和反向两个方面进行需求追踪。需求追踪矩阵中的数据元素有:需求项、设计元素、代码、测试用例,从需求开始到测试结束,形成完整的闭环,无论是哪一个环节发生了变更,都可以迅速准确的判断变更的影响域。

1 实现过程

软件工程是指导软件开发和维护的工程学科,需求是源头,设计和编码是实现,测试是保障,需求跟踪矩阵则是一条无形的线将这些点连接起来。正向需求跟踪矩阵以用户需求为出发点,检查在后续的软件需求、设计、编码、测试中找到对应点,反向需求追踪矩阵能检查设计、代码、测试用例等工作成果是否都能在需求找到出处,其中反向需求追踪矩阵可以理解为正向需求追踪矩阵的逆序,所以本文将主要介绍正向跟踪矩阵的建立过程。

1.1 需求中建立需求跟踪矩阵

需求是软件工程中的一个必须环节,是整个软件工程中的源头,分为用户需求和软件需求。

用户需求是指未经分析和分解的原始需求,它可以来源于技术协议,也可以来源于任务书。接收到用户需求后,将用户需求进行分类和标识,按照分类建立需求跟踪矩阵的根节点,将其写入表1中的左列。[2]标识是指需求、设计、编码、测试相关元素的唯一标识。

软件需求是指需求分析人员分析和分解用户需求,深入的描述软件的功能和性能,指明软件和其他系统元素的接口。软件需求过程的输入是技术协议或任务书,输出是软件需求规格说明。需求分析人员将分析和分解后的软件需求,写入软件需求规格说明文档中。将软件需求写入表1中的右列,即建立了用户需求和软件需求之间的需求追踪矩阵。在建立用户需求和软件需求间的需求跟踪矩阵过程中,可以发现是否所有的用户需求都被分析和分解。这个过程中应注意,软件需求的变更一定不能影响到用户需求,只能是用户需求的变更影响到软件需求。

1.2 设计中建立需求跟踪矩阵

软件设计是软件工程过程中的技术核心,是软件需求的实现,也是后续编码和测试过程的基础。软件设计过程就是把软件需求分解或者实现成软件功能模型、数据模型以及行为模型的过程。软件设计过程分为概要设计过程和详细设计过程。[3]

概要设计过程就是将软件需求转化为功能部件、接口部件等,整个过程输入为软件需求规格说明,过程输出为软件概要设计说明。将软件概要设计说明中得到的功能部件、接口部件等写入到类似于表1的表格中,其中部件要与软件需求对应,即建立了软件需求和概要设计之间的需求追踪矩阵。在这个过程中可以发现是否所有的软件需求都在设计中实现了。

详细设计过程就是将概要设计进行细化,得到功能单元、接口单元等,整个过程输入为软件概要设计说明,过程输出为软件详细设计说明。将软件详细设计说明中得到的功能单元、接口单元等写入到类似于表1的表格中,其中单元要与部件对应,即建立了概要设计和详细设计之间的需求追踪矩阵。在这个过程中可以发现是否所有的概要设计都在详细设计中细化了。

1.3 编码中建立需求跟踪矩阵

编码过程就是选择某种语言,按照详细设计的结果进行编码实现,整个过程输入为软件详细设计说明,过程输出为程序代码。将程序代码函数名称同详细设计中的单元建立对应关系,写入到类似于表1的表格中,即建立了程序代码和软件详细设计之间的对应关系。在这个过程中可以发现是否所有的详细设计都在编码过程中实现了,也能发现是否存在某些无法实现的设计。

1.4 测试中建立需求跟踪矩阵

软件测试过程就是为了发现错误而执行程序的过程,需要测试人员编写并测试用例,整个过程输入为程序代码,过程输出为测试用例。将测试用例同程序代码函数名称建立对应关系,写入到类似于表1的表格中,即建立了测试用例和程序代码之间的对应关系。在这个过程中可以发现是否测试覆盖了所有的程序代码功能。

2 需求跟踪矩阵展示

在软件生存周期中,根据各阶段的进展,建立和维护需求跟踪矩阵,可以将各个阶段的产品关系串联起来,最终形成的需求跟踪矩阵。

整个矩阵成扇形发散结构,中间的需求追踪是不能间断的。需求跟踪矩阵建立后,可以迅速的判断需求是否得到了实现,并且在需求变更、设计变更、代码变更、测试用例变更时,通过该矩阵可以很清楚的判断出变更影响域。

在软件工程中,建立六个软件产品之间的需求跟踪矩阵,可以更快的检测并验证用户需求开始到测试用例之间的一致性与完整性,确保所有的实现是以用户需求为基础;当发生变更时,通过检索需求跟踪矩阵发现需要修改的需求、设计、代码及测试用例等。需求、设计、编码、测试用例,每一项都含有很多元素,建立和维护需求追踪矩阵比较繁琐,工作量也比较大,目前建立和维护需求追踪矩阵的专业工具比较少,后续的研究应注重此类工具的开发。

推荐阅读:

软件开发该采用传统项目管理还是敏捷项目管理?

详解软件研发项目管理的具体流程

IT项目如何做好预算和成本控制?IT项目成本管理小建议

IT软件项目生命周期的四个大阶段

软件开发流程有哪些?完整的软件开发流程

软件生命周期与软件过程有什么区别?

本文内容不用于商业目的,如涉及知识产权问题,请权利人联系SPASVO小编(021-60725088-8054),我们将立即处理,马上删除。
沪ICP备07036474号 2003-2024 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd.
微信
咨询

添加客服微信 欢迎咨询测试工具和测试服务

微信客服
问题
反馈
产品
画册

扫描二维码下载泽众软件企业宣传册

产品画册
返回
顶部

方案咨询

×
提交信息

电话咨询,400-035-7887,安排专业技术售前给您解答(产品试用、技术交流、服务咨询和商务报价)。

您的信息已成功提交!

我们的客服人员稍后会与您联系