一种基于启发式规则的软件需求描述模糊性检测方法技术

技术编号:35446721 阅读:11 留言:0更新日期:2022-11-03 12:00
本发明专利技术公开了一种基于启发式规则的软件需求描述模糊性检测方法,以一个特定软件系统的需求描述集合为输入,综合利用多种NLP技术处理需求条目,提取出关键数据结构,基于启发式规则对需求集合中存在的模糊性进行检测。本发明专利技术方法简单、有效,通过引入新的依存关系、改进旧的启发式规则,本发明专利技术解决了模糊范围检测准确率低的问题;结合已有的软件需求结构化算法以及软件需求关联关系检测算法,本发明专利技术提出了模糊传播检测算法,解决了现有模糊检测忽略模糊在需求间的传播的问题;本发明专利技术还包含了一个可视化软件需求模糊性检测工具,可以使得软件需求描述撰写人员十分方便地找到软件需求描述中存在的模糊性表达。描述中存在的模糊性表达。描述中存在的模糊性表达。

【技术实现步骤摘要】
一种基于启发式规则的软件需求描述模糊性检测方法


[0001]本专利技术涉及软件需求工程
,特别涉及一种基于启发式规则的软件需求描述模糊性检测方法。

技术介绍

[0002]随着软件规模的不断扩大,准确的需求描述在软件开发中的重要性日益凸显。绝大多数的软件需求描述是由自然语言撰写的,由于存在经验不足或者条件暂时不充分等情况,绝大多数自然语言需求描述中都存在模糊性的表达。
[0003]所谓模糊性的表达,指的是不清楚,具有推测性的表达,撰写人通过使用一些具有模糊含义的词语来表明自己当前的表达是不确定的,比如对于“A ROW Project Agent may take on a responsibility of a discipline supervisor.”这样一个需求语句,作者就使用“may”表明了自己的不确定性。
[0004]如果对于需求描述中的模糊性表达放任不管,可能会导致最终的软件系统行为不符合用户的期望,还可能会导致出现不可测试的需求以及增加开发成本估算难度。因此,需要对于软件需求描述中存在的模糊性做相应的处理。尽管由于缺乏相关领域知识等原因,非从业者很难直接消除需求描述中的模糊性,但仍然可以通过进行模糊性检测,对需求描述中的模糊表达进行准确的识别与标记,从而留给更专业的需求描述编写人员未来去做进一步地明确或删改。
[0005]与此同时,一个软件系统的不同需求条目之间并非完全独立的,他们之间存在着多种多样的联系,有的需求条目的实现需要其他需求条目作为前提,有的需求条目的输出会作为其他需求条目的输入,像这样的需求条目之间存在的关联关系也为模糊性在需求条目之间的传播提供了可能。
[0006]已有的需求描述模糊检测工作大多分为两个步骤,首先建立标准集,训练机器学习模型,从而对需求语句中存在的模糊词进行检测,然后基于事先指定好的启发式规则,在自然语言处理工具的协助下,以第一步中检测出来的模糊词为中心,检测其对应的影响到的模糊范围。经调研,现有的软件需求描述模糊检测工作存在以下三方面的问题:
[0007]1.模糊范围检测的准确率较低。
[0008]2.只考虑了模糊性在单一需求条目中的检测而忽略了基于需求间关联关系的模糊性传播。
[0009]3.缺少相应的可视化模糊检测工具。

技术实现思路

[0010]本专利技术针对现有技术的缺陷,提供了一种基于启发式规则的软件需求描述模糊性检测方法,可以较好地解决上述问题,通过引入新的依存关系、改进旧的启发式规则,该方法提高了模糊范围检测的准确率;结合已有的软件需求结构化算法以及软件需求关联关系检测算法,该方法可以对模糊性在需求条目之间的传播进行检测;该方法中还包含了一个
可视化软件需求模糊性检测工具,可以使得软件需求描述撰写人员十分方便地找到软件需求描述中存在的模糊性表达。
[0011]为了实现以上专利技术目的,本专利技术采取的技术方案如下:
[0012]一种基于启发式规则的软件需求描述模糊性检测方法,包括如下步骤:
[0013]步骤一、使用多种自然语言处理工具对每条需求条目进行分词、单词特征向量序列提取操作。
[0014]步骤二、基于第一步提取出的特征以及预先训练好的条件随机场模型检测需求条目中存在的模糊词,得到需求语句语法结构。
[0015]步骤三、对于存在模糊词的需求条目,根据模糊词的类型选择合适的启发式规则,在自然语言处理工具生成的短语解析树上进行搜索得到每个模糊词对应的模糊子句。
[0016]步骤四、读取需求描述集合的结构化结果以及关联关系识别结果。
[0017]步骤五、遍历所有需求间关联关系信息,基于启发式规则对存在模糊的需求条目进行检查,记录并输出模糊性在需求条目之间的传播。
[0018]进一步地,步骤一提取的单词特征包括:lemma、PoS、CHUNK、dependency,共同参与条件随机场模型的训练,最终实现的模糊词检测算法准确率可以达到80%。
[0019]进一步地,步骤二通过NLP技术对需求语句进行解析,生成短语解析树和基本依存关系两种数据结构,并将二者结合起来进行相应的存储与转化,得到需求语句语法结构。
[0020]进一步地,步骤三将步骤二中得到的需求语句语法结构以及模糊词信息,通过模糊词信息中的模糊词索引完成模糊词在单词节点树中的定位,然后判断模糊词类型,确定对应的启发式规则,最后基于启发式规则,在基本依存关系的辅助下完成在单词节点树上的搜索过程,最终得到该模糊词对应的模糊范围。
[0021]进一步地,步骤五结合需求结构化信息以及需求关联关系信息对于模糊在需求间的传播进行检测,首先制定模糊传播启发式检测规则,进而遍历所有的需求关联关系,对每一条关联关系,取出两端的需求,根据其关联关系类型选择不同的传播规则,结合需求结构化结果以及单一需求模糊检测结果进行判断。
[0022]进一步地,所述步骤五中需求结构化信息是将需求语句拆分成不同的语义要素,其目的是为了加强对于需求语句的理解;
[0023]所述步骤五中关联关系信息的定义如下表所示:
[0024][0025]进一步地,步骤五中制定了以下模糊传播规则:
[0026]对于存在前提

依赖关系的需求条目R1

R2,即R1的操作(operation)与R2的触发事件(event)语义相等,当R1的operation中检测到模糊性时,该模糊传播到R2中。
[0027]对于存在交互关系的需求条目R1

R2,即R1的输入(input)与R2的输出(output)存在交集Φ,当R2的输出中检测到模糊性,且模糊范围与Φ存在交集时,该模糊传播到R1中。
[0028]基于在步骤三中的得到的模糊范围、在步骤四中读取的需求结构化信息,对于每个需求条目生成一个需求条目类myRE实例,所有类实例共同组成需求类集合。
[0029]建立好需求集合之后,遍历所有的需求关联关系,对每一条关联关系,取出它两端需求对应的需求类实例,根据其关联关系类型套用不同的模糊传播规则进行判断,对于判断结果为可以传播的,相应地改变其spread与sourceId变量值。
[0030]最后,基于模糊传播分析后的需求集合,按格式输出模糊传播分析结果。
[0031]本专利技术还公开了一种可视化软件需求模糊性检测工具,采用前后端分离架构模式,前端包括网页客户端,后端包括服务端和数据库。服务端负责运行算法,完成对于软件需求描述的单一需求模糊检测以及模糊传播检测;网页客户端负责提供一个易操作的用户界面以及对于检测结果进行直观展示;数据库负责对检测结果进行归档保存。
[0032]前端与后端之间通过HTTP进行通信。前端发出的HTTP请求首先进入后端的网关,网关会首先完成用户身份的检验,如果校验通过,则根据URL中的路径将HTTP请求转发至服务端的各个微服务。微服务与数据库进行交互,在完成业务逻辑后返回响应。响应通过网关返回本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于启发式规则的软件需求描述模糊性检测方法,其特征在于,包括如下步骤:步骤一、使用多种自然语言处理工具对每条需求条目进行分词、单词特征向量序列提取操作;步骤二、基于第一步提取出的特征以及预先训练好的条件随机场模型检测需求条目中存在的模糊词,得到需求语句语法结构;步骤三、对于存在模糊词的需求条目,根据模糊词的类型选择合适的启发式规则,在自然语言处理工具生成的短语解析树上进行搜索得到每个模糊词对应的模糊子句;步骤四、读取需求描述集合的结构化结果以及关联关系识别结果;步骤五、遍历所有需求间关联关系信息,基于启发式规则对存在模糊的需求条目进行检查,记录并输出模糊性在需求条目之间的传播。2.根据权利要求1所述的一种基于启发式规则的软件需求描述模糊性检测方法,其特征在于:步骤一选择包括lemma、PoS、CHUNK、dependency在内的多种单词语法特征共同参与条件随机场模型的训练,,最终实现的模糊词检测算法准确率可以达到80%。3.根据权利要求2所述的一种基于启发式规则的软件需求描述模糊性检测方法,其特征在于:步骤二通过NLP技术对需求语句进行解析,生成短语解析树和基本依存关系两种数据结构,并将二者结合起来进行相应的存储与转化,得到需求语句语法结构。4.根据权利要求3所述的一种基于启发式规则的软件需求描述模糊性检测方法,其特征在于:步骤三将步骤二中得到的需求语句语法结构以及模糊词信息,通过模糊词信息中的模糊词索引完成模糊词在单词节点树中的定位,然后判断模糊词类型,确定对应的启发式规则,最后基于启发式规则,在基本依存关系的辅助下完成在单词节点树上的搜索过程,最终得到该模糊词对应的模糊范围。5.根据权利要求4所述的一种基于启发式规则的软件需求描述模糊性检测方法,其特征在于:步骤五结合需求结构化信息以及需求关联关系信息对于模糊在需求间的传播进行检测,首先制定模糊传播启发式检测规则,进而遍历所有的需求关联关系,对每一条关联关系,取出两端的需求,根据其关联关系类型选择不同的传播规则,结合需求结构化结果以及单一需求模糊检测结果进行判断。6...

【专利技术属性】
技术研发人员:连小利王正达张莉李敏樊志强
申请(专利权)人:中国电子科技集团公司第十五研究所
类型:发明
国别省市:

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

1