一种自动识别需求依赖关系的方法技术

技术编号:2821427 阅读:177 留言:0更新日期:2012-04-11 18:40
本发明专利技术属于计算机软件工程领域,具体涉及一种利用信息检索技术从自然语言描述的需求规约文档自动识别需求之间依赖关系的方法,本发明专利技术主要针对自然语言描述的需求文档规约,分析归纳出与需求演化特定的依赖关系类型,同时提出用来自动识别需求之间的依赖关系的方法。本发明专利技术对需求依赖关系的识别进行自动化,大大提高了识别需求依赖关系时的劳动效率和减少了劳动强度,极大的消除了人在识别过程中容易犯的错误,同时对所识别的依赖关系的准确性和稳定性带来极大好处。

【技术实现步骤摘要】

本专利技术属于计算机软件工程领域,具体涉及一种利用信息检索技术从自然语言描述的 需求规约文档自动识别需求之间依赖关系的方法。
技术介绍
在需求工程中发现的独立的需求,绝大多数在软件开发工程中是不能单独处理的。因 为这些需求之间有着很复杂的联系和影响,把需求间的这种关系称为需求相关性。近来的 研究已经表明在任意的需求集合中,只有大约五分之一的需求是真正独立的,不会对任何 其他的需求造成影响。举个例子来说,需求间相互影响是当一个需求① 制约着其他需求的设计和实施;② 影响着实施其他需求的代价;③ 增加或降低用户对其他需求的满意程度。 需求相关性并不是软件开发活动的核心,然而他们却影响着软件工程过程中的开发行为和决策制定,像计划发布、管理变更、需求设计和实施、软件测试以及需求重用等。这 些行为或决策可能基于一个或多个需求,同时也可能会对其他需求产生预想不到的影响。 例如, 一个需求发生了变化,就可能同时带来其他的需求的变化。在评估一个需求改变带 来的影响时,如果不考虑需求相关性,就可能会漏掉变化带来的一些实际影响。结果,实 施一个需求的代价就可能比预想的高出好多倍,相应的就会引起开发延期和预算超支等问 题。相似的情况也会发生在发布计划中,因为发布计划要找出软件系统的下一个发布版本 方便实施的优化需求集。由于需求相关性,并不总能够找出优先级最高的需求。比如,一 个高优先级需求的实施可能要以一个低优先级、高代价的需求为前提。为了不去选择一个 后来肯定会发生变化,并可能带来高昂的修改代价的需求集,理解、明白需求间的这些关 系是非常重要的。因此,为了避免代价高昂的错误,知道需求相关性的存在和带来的后果是必不可少的。 系统的对待需求相关性的目的一方面是提高软件开发中做决策的正确性,另一方面是使得 需求相关性所带来的潜在问题能被尽早的发现。需求相关性管理的主要内容是识别、存储 和维护需求间关联和相互影响的信息。同时也会涉及到在软件开发纷繁复杂的情形下,决 定哪些需求相关性信息是有用的,以及怎样去描述这些信息。但是,目前对需求相关性并没有统一、明晰的分类,原因是很多的。首先,从不同角 度出发,会将需求相关性分为不同种类,包括结构性依赖(STRUCTURAL)、限制性依赖 (CONSTRAINT)、代价价值比依赖(ICOST/VALUE)。其次,需求间的很多关系是交叉的、 相似的,很难将他们区分开。第三,即使有些需求看上去是可以明显分开的,然而实际中 是很难分开的。举个例子来说,存在两个需求,它们间的关系是一个应该在另外一个之前 被实施。 一方面,这种依赖可以被看作是暂时的依赖,前面的实施完后,两者就没有关系 了。另一方面,也可以将这种依赖看作是"前提"关系,即一个需要以另一个的实现为前 提,否则自己的功能就不能实现。所以,对需求相关性的识别上,基本上是泛泛的定义和 识别,而且缺乏一种规则来指导与特定开发活动相关的需求之间的关系。进一步来说,手 工识别需求之间的相关性存在耗时、耗力、精确度低等问题,对于实际项目中,通常采用 自然语言描述的需求规约,致使自动化的识别需求之间的关系的难度大大提高了,因此导 致了需求相关性的应用在实践中很少。信息检索技术是指用户为处理解决各种问题而査找、识别、获取相关的事实、数据、 文献的活动及过程,简单的说,信息检索就是研究由用户给定的査询返回相关的文档的问 题的领域。信息检索针对自然语言描写的需求规约,可以进行批量的自动化处理,可以做 自动化识别需求之间相关性的稽查局技术。在大量的IR方法中,基于标引词(keyword-based) 的信息获取是最常用的方法。待査询的文档被认为是具有不同重要程度标引词的组合,用 户査询也被认为是标引词的组合,与査询相关的文档是通过比较它们之间的标引词来确 定。用户査询和文档之间的相关性通过IR相似度模型来计算,主要包含三大基本模型 布尔模型(Boolean Model)、向量空间模型(Vector Space IR, VSIR)和概率模型(Probability IR, PIR)。1) 布尔模型。这是最简单的模型,它将一个标引词是否在文献中出现表示为1或者0。2) 向量空间模型。该模型扩展了布尔模型,将文献集合中所包含的标引词看成向量, 代表空间中的一个维度,那么这些标引词集合就构成了一个空间。文献集合中的任何一个 文献都可以用空间中的一个向量来进行表示,利用査询和文献的向量积就可以计算它们之 间的相似度。假设集合中有n个不同的标引词,则文献Z),可以表示为Z;《7,,其中4表示标引词J在文献i中的权重(weight);査询《可以表示为《=(^^...^) = 2^^^,其中力表示标引词j在査询中的权重。运用向量积运算可以得到文献向量A与査询向量《之间的相似度w'wz7ar办(A,《)== 2^=1《力( ,, 0 。同一个标引词在不同的査询和文献中具有不同的权重,权重值越大的就认为该标引词越能代表这篇文献,权重值越小的就认为该标引词 越不能代表这篇文献。j'W是向量模型(Vector Space IRModel)中比较常用的标引词权重 的计算方式,综合考虑了标引词的词频和逆文献频率两个因素,比较全面的反映了标引词 在在整个文献空间中的重要性。词频用t/表示,是标引词J'在文献中出现的频率,其计算方式为feg((,J),历表示文献中包含的标引词的个数,/r^"乂)表示在文献c/中 Z户i勿(,7,力标引词i出现的次数;文献频率^f是包含该标引词的文献数与所有文献数的比值,逆文献频率^Z/的一种计算方式是l0g2(;), /7表示文献的个数。因此一个标引词i的权重表示为^=^喊、,,,、一2(》3)概率模型。该模型将IR问题用概率来进行解释,认为文献和查询之间的相关性是通过标引词作为中间桥梁进行计算的。任何一个査询和文献都可以表示为包含一定标引词的命题,它们之间的相似度按照条件概率进行解释当存在查询的时候,存在文献 (/ = 1,2,...","为文献数)的概率。其相似度计算公式如下w>m7w^(A,《)=Pr(Z), |《)=Pr(《1 Di)Pr(Z>')。其中,Z),.表示文献厶^表示查询,也就是Pr④査询《与文献历'之间的相似度等于当<7存在时,A也存在的概率。在计算出相似度之后,根据相似度大小来进行排列,值越大说明该文献越能反映用户的期望,值越小则越不能反 映用户期望。用户的期望与实际返回的结果是有一定差距的,可以釆用査准率(Precision) 和査全率(Recall)来对结果进行度量。按照文献中的定义,査准率是查出的正确的文献数 与查出的所有文献数的比值,而査全率是査出的正确的文献数与所有正确的文献数的比 值。
技术实现思路
本专利技术的目的是针对自然语言描述的需求文档,实现一种自动识别需求之间依赖关系 的方法。本专利技术针对自然语言描述的需求文档规约,分析归纳出与需求演化特定的依赖关系类 型包括需求相似依赖(Similarity Dependency)禾口需求引用依赖(Reference Dependency)。本专利技术定义的需求相似依赖指,需求1与需求2在某一个概念上有相同或相似的描述, 当需求1修改了对这个概念的描述,需本文档来自技高网
...

【技术保护点】
一种自动识别需求依赖关系的方法,其步骤包括: 1)将自然语言描述的需求规约文档转换为规则化描述的XML文档;将所述XML文档对应的数据存储到计算机中; 2)计算所述自然语言描述的需求文档规约中的各需求句子对象之间的距离,将所述各需求句子对象聚合成不同的类,遍历所述聚合类中的每个需求句子对象,找出具有最大相似度比率的需求项,则其他需求项相似依赖于所述具有最大相似度比率的需求项; 3)计算所述自然语言描述的需求文档规约中各需求名称对象与需求句子对象之间的短语相似度;若短语相似度大于设定阈值,则需求句子对象所属的需求项引用依赖于需求名称对象所属的需求项。

【技术特征摘要】

【专利技术属性】
技术研发人员:李明树王青李引李娟冯东伟
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1