需求管理需求跟踪

需求管理需求跟踪(Requirement Track) 为什么要进行需求跟踪?在整个开发过程中,进行需求跟踪的目的是为了建立和维护从用户需求开始到测试之间的一致性与完整性

确保所有的实现是以用户需求为基础

对于需求实现是否全部的覆盖

同时确保所有的输出与用户需求的符合性

需求跟踪有两种方式,正向跟踪与逆向跟踪:正向跟踪:以用户需求为切入点,检查《用户需求说明书》或《需求规格说明书》中的每个需求是否都能在后继工作产品中找到对应点

逆向跟踪:检查设计文档、代码、测试用例等工作产品是否都能在《需求规格说明书》中找到出处

正向跟踪和逆向跟踪合称为“双向跟踪”

不论采用何种跟踪方式,都要建立与维护《需求跟踪矩阵》

需求跟踪矩阵保存了需求与后续开发过程输出的对应关系

矩阵单元之间可能存在“一对一”、“一对多”或“多对多”的关系

见下表:简单的需求跟踪矩阵示例

表1需求代号需求规格说明书V1.0设计文档V1.2代码1.0测试用例测试记录R001标题或标识符标题或标识符代码文件名称测试用例标识或名称R002………………………简单的需求跟踪矩阵示例1使用需求跟踪矩阵的优点是很容易发现需求与后续工作产品之间的不一致,有助于开发人员及时纠正偏差,避免干冤枉活

很多人有这样的误解:如果依照“需求开发-系统设计-编码-测试”这样的顺序开发产品,由于每一步的输出就是下一步的输入,所以不必担心设计、编程、测试会与需求不一致,因此可以省略需求跟踪

那么,需要指正的是,按照软件生命周期严格线性顺序的开发模型并不能保证各个开发阶段的工作产品与需求保持一致

需求开发包括获取分析需求,需求定义,从所有方面核查和验证需求

因为开发者是人而不是机器

而且,大多数开发人员也都深有体会

生活中“以讹传讹”的例子,想必大家都很熟悉

学生甲在精工实习时被机器弄破了手指,于是到医院包扎

同学乙路过医院时看到甲的手血迹斑斑,以为甲的手指被机器割断,于是将这个坏消息告诉同学丙

丙急忙转告同学丁,说甲的手被机器割断,正躺在医院里

丁十万火急地告诉全班同学,大家陷入悲痛之中,都以为“甲的胳膊被机器割断了,正躺在医院里,人快不行了

”由于人们的表达能力、理解能力不可能完全相同,人与人之间的协作很难达到天衣无缝的境界

而使用需求追溯的本身也是一种传递的过程

需求追溯本身并不是一件复杂的事,而是我们的本身一种理念在支配著我们

也许就有人认为这本身就是在浪费时间,主要麻烦是,当需求或工作产品发生变更时,开发人员要及时更新需求跟踪矩阵

然而没想到的事,如果后来再花时间来做同样的事的时候,将会付出更多

也时也就丢去了本身做这件事的意义

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关