没有合适的资源?快使用搜索试试~ 我知道了~
动态需求跟踪方法及跟踪精度问题研究1
需积分: 0 0 下载量 179 浏览量
2022-08-04
13:32:28
上传
评论
收藏 1.55MB PDF 举报
温馨提示
试读
16页
摘要:在对动态需求跟踪现有研究综述的基础上,详细分析了动态需求跟踪面临的精度问题,并提出了解决方案——动态需求跟踪框架.该框架以自动化的需求跟踪为核心,组合了变
资源详情
资源评论
资源推荐
ISSN 1000-9825, CODEN RUXUEW E-mail: [email protected].cn
Journal of Software, Vol.20, No.2, February 2009, pp.177−192 http://www.jos.org.cn
doi: 10.3724/SP.J.1001.2009.03365 Tel/Fax: +86-10-62562563
© by Institute of Software, the Chinese Academy of Sciences. All rights reserved.
动态需求跟踪方法及跟踪精度问题研究
∗
李
引
1,3+
,
李
娟
1
,
李明树
1,2
1
(中国科学院 软件研究所 互联网软件技术实验室,北京 100190)
2
(中国科学院 软件研究所 计算机科学国家重点实验室,北京 100190)
3
(中国科学院 研究生院,北京 100049)
Research on Dynamic Requirement Traceability Method and Traces Precision
LI Yin
1,3+
, LI Juan
1
, LI Ming-Shu
1,2
1
(Laboratory for Internet Software Technologies, Institute of Software, The Chinese Academy of Sciences, Beijing 100190, China)
2
(State Key Laboratory of Computer Science, Institute of Software, The Chinese Academy of Sciences, Beijing 100190, China)
3
(Graduate University, The Chinese Academy of Sciences, Beijing 100049, China)
+ Corresponding author: E-mail: liyin@itechs.iscas.ac.cn
Li Y, Li J, Li MS. Research on dynamic requirement traceability method and traces precision. Journal of
Software, 2009,20(2):177−192. http://www.jos.org.cn/1000-9825/3365.htm
Abstract: Based on the current research on the dynamic requirement traceability (DRT), this paper investigates
the trace precision problem in depth and proposes a solution—dynamic requirement traceability framework. This
framework focuses on automatically establishing traces and combines the traditional requirement traceability
activities with change proposal, impact analysis and change control, etc. It makes full use of the characteristics of
artifacts and evolutional information of change in the iteration process so as to help establish the requirement traces
with higher precision.
Key words: dynamic requirement traceability; requirement traceability; information retrieval; heuristic
traceability rule; natural language processing; dynamic requirement traceability framework
摘 要: 在对动态需求跟踪现有研究综述的基础上,详细分析了动态需求跟踪面临的精度问题,并提出了解决方
案——动态需求跟踪框架.该框架以自动化的需求跟踪为核心,组合了变更请求、影响分析、变更控制等活动,利用
工作产品的特点和迭代过程中累积的变更信息来辅助建立需求跟踪关系,提高了需求跟踪关系的精度.
关键词: 动态需求跟踪;需求跟踪;信息检索;跟踪规则启发;自然语言处理;动态需求跟踪框架
中图法分类号: TP311 文献标识码: A
面向目标的需求工程的提出者 van Lamsweerde 在 2000 年的一篇需求工程的综述中说到,“软件需求在过
去的 25 年的实践中被反复证实是一个确实存在的问题”
[1]
.构建软件最困难的阶段是精确地决定要构建什么,
所以,对于系统开发人员来说,最重要的一个活动是抽取和精化系统的需求
[2]
.需求工程贯穿软件开发的整个生
∗ Supported by the National Natural Science Foundation of China under Grant Nos.60573082, 60803023 (国家自然科学基金); the
National Basic Research Program of China under Grant No.2007CB310802 (国家重点基础研究发展计划(973))
Received 2007-08-07; Accepted 2008-04-15
178
Journal of Software 软件学报 Vol.20, No.2, February 2009
命周期,“确定涉众和涉众的需求,并将其进行文档化,用来支持系统分析、交流协商和后期的实现”
[3]
.“后期的实
现”以需求为依据进行设计、开发、测试等活动.可以看出,需求与后期的实现之间有着紧密的联系,软件需求跟
踪就是“一种描述和跟踪整个需求生命周期(包括前向和后向)的能力”
[4]
.建立需求跟踪矩阵作为需求工程中一
个指导性的标准过程而被越来越多的组织采用
[4,5]
.它不但是 CMM/CMMI 2 级里面的一个核心活动
[5−7]
,也是软
件开发和维护标准 ISO9001 中条款 4.8 的一个必要活动
[6]
.
需求跟踪辅助软件开发生命周期中很多活动的执行,并且为决策分析和权衡提供依据
[5,8]
:1) 对遗留系统
中需求与设计和代码之间的关系进行分析,为新系统的开发提供范例
[9]
;2) 可以作为确认和验证活动的一种手
段,对系统功能进行确认和验证
[7,10,11]
;3) 作为变更管理、风险评估的依据
[12,13]
;4) 有助于理解后阶段工作产品
为什么进行创建、修改和演化
[14−16]
;5) 可以作为过程改进有价值的输入
[17,18]
.一个全面的需求跟踪可以为最后
开发的产品质量提供保证,对软件开发和维护提供有力支持,并且可以降低系统开发生命周期中的成本
[5,19]
.实
践表明,软件开发生命周期中“忽略了需求跟踪,或者是不充分和非结构化的需求跟踪关系将会导致系统质量的
下降和反复的修改,从而增加系统开发的时间和成本.(由于缺乏有效的需求跟踪,以致)人员的流动会引起项目
知识的缺失,从而导致作出错误的决策”
[8]
.
近年来对需求跟踪的研究既有从技术手段角度着手(比如,关键阶段依赖
[20]
、需求工作产品超链接
[21]
、集
成文档
[22]
等),又有从方法/框架角度着手(比如,需求引用模型
[16]
、需求交互管理
[15]
、方法驱动的跟踪捕获
[13]
),
还有从工具对技术和方法提供支持的角度入手的(比如,商业工具 Rational Requisitepro
[23]
、DOORS
[24]
、
CaliberRM
[25]
、Change Management & Requirement Tracing System
[26]
、原型工具 TOOR
[27]
、PRO-ART
[28]
等),
但是在实践中我们发现,这些理论和工具对需求跟踪的支持并不是很好,需求跟踪没有完全发挥预期的作用
[11]
,
需求跟踪的核心问题依然没有得到解决,也就是缺乏一种有效的方法来降低建立和维护需求跟踪关系的成本.
对于开发人员来说,建立和维护需求跟踪关系是一件耗时而且繁琐的事情;对于整个项目组来说,在需求跟踪上
得到的收益小于付出的成本.特别是对于一个规模大、周期长的项目,面临着创建维护困难、容易出错、成本
过高等问题
[10−12,29]
.大量的实践经验表明,成本及效率问题是制约需求跟踪使用的根本原因.
动态需求跟踪从手动建立需求跟踪关系费时、费力且容易出错的问题入手,以自动化技术为手段辅助开发
人员建立和维护需求跟踪关系,降低了成本.并且在需求跟踪的范围
[30]
、需求跟踪的粒度
[31]
等问题上,针对不同
的项目特点,制定不同的跟踪策略
[30]
,在成本、时间和可跟踪性等问题上进行了权衡,为需求跟踪面临的问题提
出了一个较好的解决方案.
本文第 1 节对动态需求跟踪的研究现状进行分析和总结.第 2 节对动态需求跟踪面临的精度问题进行深入
分析.第 3 节提出一个动态需求跟踪框架,以解决这个问题.
1 动态需求跟踪方法
Cleland-Huang 在 2005 年的需求工程大会上提出了“动态需求跟踪(dynamic requirement traceability)”
[12]
的
说法,从命名上可以看出其与传统的需求跟踪的不同在于其“动态(dynamic)”.“动态”体现在需求跟踪中的一层
意思是,需求跟踪关系的建立是自动化的
[9,10,12,22,29,32−36]
;另一层意思是,需求跟踪关系是可以执行的,也就是说,
在需求发生变更时可以根据跟踪关系进行变更提醒
[37,38]
.可以看出,动态需求跟踪的核心是自动化的技术.
从跟踪方向上来说,需求跟踪可以建立需求与前期和后期的工作产品之间的跟踪关系;从跟踪内容上来说,
可以建立需求与文本的工作产品和可执行的程序之间的跟踪关系.当把需求和工作产品都看成静态文本时,信
息检索技术(information retrieval,简称 IR)、自然语言处理、人工智能、人机交互等技术
[30]
可以自动建立需求
与工作产品之间的跟踪关系;当把需求或者场景(scenario)看作静态文本时,使用监测程序执行
[39,40]
方面的技术
能够自动建立与执行程序中功能之间的跟踪关系.因此,现阶段对动态需求跟踪的研究主要是将其他领域的技
术应用到需求跟踪中,包括信息检索技术、自然语言处理、运行时分析、事件发布/订阅等.下面将按照这几种
技术来对动态需求跟踪的研究进行概述.
李引 等:动态需求跟踪方法及跟踪精度问题研究
179
j
1.1 基于信息检索(IR)的动态模式
基于信息检索的动态模式利用 IR 模型计算需求文本与工作产品文本之间的相似度,按照相似度的大小进
行排列,通过设定一定的阈值就可以筛选得到需求所跟踪的工作产品.需求与工作产品之间的相似度越大,它们
之间的跟踪关系就越有可能是正确的,反之则越有可能是错误的.IR 技术的优点在于,通过对本文进行分析,能
够自动地建立关系,而不需要人的介入,这对于传统需求跟踪活动所面临的维护困难、容易出错、成本高等问
题,是一个很好的解决方案.该模式通过需求与工作产品中标引词(term)的匹配计算出相似度,用其代替对语义
的理解,优点在于简单.但其缺点也是显而易见的,如果标引词无法匹配,那么即使两个标引词描述的意义相同
或者相近,计算得出的相似度也会很低,可能会造成相似度过低而无法建立跟踪关系,与实际的语义相悖.在一
个周期长、规模大的项目中,需求、设计和编码通常都是由不同的人来完成的,采用不同的标引词来表示相同
语义的情况相当普遍.而且在软件开发的各个阶段,由于描述的领域不同(比如需求是对问题领域的描述,编码
是对解决方案领域的描述),采用的描述语言一般会有所不同,因此采用不同的词对同一个概念进行表示是可以
理解的.从以上分析可以看出,采用 IR 技术来解决需求跟踪的一个关键问题是如何解决一词多义和同义 多词.
下面首先对 IR 技术作一个简单的介绍,然后根据将 IR 技术应用到需求跟踪领域的 3 种情况(直接应用、
根据项目特点修正应用和根据工作产品特点修正应用)来论述现有的研究,最后是根据项目特点综合应用不同
的跟踪策略并进行结果度量.
1.1.1 IR 简介
信息检索是指用户为处理解决各种问题而查找、识别、获取相关的事实、数据、文献的活动及过程
[41]
,
简单来说,信息检索就是研究由用户给定的查询返回相关文档问题的领域
[29]
.
在大量的 IR 方法中,基于标引词(keyword-based)的信息获取是最常用的方法
[29]
.待查询的文档被认为是具
有不同重要程度标引词的组合,用户查询也被认为是标引词的组合,与查询相关的文档通过比较它们之间的标
引词来确定.
用户查询和文档之间的相关性通过 IR 相似度模型来计算,主要包含 3 大基本模型:布尔模型(Boolean
model)、向量空间模型(vector space IR,简称 VSIR)和概率模型(probability IR,简称 PIR).
1) 布尔模型
[41]
.这是最简单的模型,它将一个标引词是否在文献中出现表示为 1 或者 0.
2) 向量空间模型
[41]
.该模型扩展了布尔模型,将文献集合中所包含的标引词看成向量,代表空间中的一个
维度,这些标引词集合就构成了一个空间.文献集合中的任何一个文献都可以用空间中的一个向量来表示,利用
查询和文献的向量积就可以计算它们之间的相似度.假设集合中有 n 个不同的标引词,则文献 D
i
可以
表示为
12
1
(, ,, )
n
iii in ij
j
Ddd d dt
=
=…=
∑
G
[41]
,其中,d
ij
表示标引词 j 在文献 i 中的权重(weight);查询 q 可以表示为
12
1
(, , , )
n
n
j
qqq q qt
=
=…=
∑
jj
G
[41]
,其中,q
j
表示标引词 j 在查询中的权重.运用向量积运算可以得到文献向量 D
i
与查
询向量 q 之间的相似度:
,1
(,) . (.)
n
ii ikjj
kj
Similarity D q D q d q t t
=
==
∑
k
G
G
[41]
.同一个标引词在不同的查询和文献中具有
不同的权重,权重值越大则认为该标引词越能代表这篇文献,权重值越小则认为该标引词越不能代表这篇文
献
.Tf-idf 是向量模型中比较常用的标引词权重的计算方式
[41]
,综合考虑了标引词的词频和逆文献频率两个因
素
,比较全面地反映了标引词在整个文献空间中的重要性.词频用 tf 表示,是标引词 i 在文献中出现的频率,
其计算方式为
(, )
,
(,)
i
m
j
j
freq t d
f
req t d
∑
m 表示文献中包含的标引词的个数,freq(t
i
,d)表示在文献 d 中标引词 i 出现的次数;
文献频率 df 是包含该标引词的文献数与所有文献数的比值,逆文献频率 idf 的一种计算方式是
2
log ,
n
df
⎛⎞
⎜⎟
⎝⎠
n 表示
文献的个数
.因此,一个标引词 i 的权重表示为
w
i
=tf
i
×idf
i
=
2
(, )
log .
(,)
i
m
i
j
j
f
req t d n
df
freq t d
⎛⎞
×
⎜⎟
⎝⎠
∑
剩余15页未读,继续阅读
xhmoon
- 粉丝: 15
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0