文摘

不一致的和模棱两可的软件需求说明书(SRS)文档会导致一个错误/失败的软件项目。因此,它是一个严重的挑战来处理和过程复杂和模棱两可的需求。大部分的文学作品侧重于检测和解决在软件需求模棱两可。同样,没有标准化的方法写明确和一致的要求。本研究的目的是生成一个ambiguity-less SRS文档。本文提出了一种新的方法来写ambiguity-less需求。此外,我们设计一个框架,用于自然语言(NL)受控自然语言(CNL)(如语义业务词汇表和规则(SBVR)表述)过渡和发展一个原型。原型还生成资源描述框架(RDF)表示。最小化的SBVR具有一个共同的意义表述概念含糊不清,和RDF表示支持的查询语言如SPARQL协议和RDF查询语言(SPARQL)。该方法可以帮助软件工程师问需求转换成格式,由所有利益相关者可以理解,也是机器可处理的。 The results of our prototype are encouraging, exhibiting the efficient performance of our developed prototype in terms of usability and correctness.

1。介绍

需求工程(重新)开始以来一直在处理类似问题在软件工程。再保险业务流程中是一种常见的阶段发展以及软件开发用户需求规范。通常,再保险公司在软件开发过程的四个阶段包括需求启发,分析、需求验证、和规范。这里,要求引出和需求分析阶段很重要,以确保完整,一致,和明确的要求规范。最终产品的阶段是SRS文档。SRS文档成为后期的基础(1)的软件开发过程。软件开发过程的初始阶段对软件质量有更多的影响比后阶段(2]。SRS文档维护用户故事描述形式使用本地语言(1),因为问是最方便的交流方式,收集需求在业务流程开发以及在软件开发中。几乎79%的需求规范文档中发现“自然语言”(3]。NL是富有表现力的,普遍的,灵活的,广泛的,最重要的是可以理解为所有利益相关者(4]。随着关键特性,问本质上是模糊的(5),并广泛被认为是一个挑战6]。

模棱两可的手册、浆果等。7歧义定义为,“需求是模棱两可的,如果承认多种解释,尽管读者的知识需求的工程背景。“有39种模棱两可,含糊不清,或普遍性7]。问英语等模棱两可的由于其非正式的句子结构。23含义的存在平均500最常用的英语单词8]。歧义是比其他要求更棘手的缺陷,因此,结果在更频繁的误解9]。

如果SRS文档包含模糊、不完整或矛盾的需求,这导致错误的软件。根据美国麦康奈尔,超过50%的企业软件项目不满足预期[10]。混乱Standish Group的报告软件超过2015个国家,52%的预算以及时间或不满足的基本需求,而19%的项目是一个彻底的失败11]。所有这些失败是由于误解而解释利益相关者的模棱两可的需求。SRS文档被认为是明确的前提只有一个可能的意义对于每个软件需求(12]。SRS文档包含需求理解和同意由所有利益相关者(13]。

矛盾和歧义SRS文档中传播到下一个阶段的软件开发(14),如软件建模;影响最终的软件产品的准确性;和导致更多的手动工作和高成本的预算。因此,SRS的功能需求收集和引用文件必须完整、一致的,和明确的,即。,明确的。

一个可能的解决方案来处理歧义可以行使一个数学形式逻辑说明,而不是问代表用户需求。然而,形式逻辑的使用不仅是一项复杂的任务。写形式逻辑错误地将很难处理,它将创建一个严重的问题在以后的软件开发阶段。此外,利益相关者通常不能够理解数学的逻辑。因此,这个解决方案似乎并不可行。

另一个可能的方法来处理每个歧义问题是使用补偿中子测井(15]。它可以作为一个本地语言和正式表示之间的桥梁。由于需求分析是基于沟通和分析人员的经验,它可以模仿某些限制。这个极限生控制语言。如果CNL编写的文档,它将是可行的开发团队使用一种更简单和低成本的语言工具。可以发现一些补偿中子测井等文学ACE (16彭],[17CPL], [18],Formalized-English [19),SBVR,表述等等。我们打算申请一个SBVR-based CNL写涉众的需求和文档生成一个SRS。这样的软件需求将语法明确以及语义一致的。本文提出了一种新颖的方法来软化表示需求的复杂需求的标准化形式如SBVR和RDF表述。由“软化的复杂要求,“我们想重写一个复杂的要求在这样一个标准化的形式,这样的复杂性引起的歧义句是可以避免的。

2。文献综述

两个类的方法是发现在重新处理歧义13]。一流的反应方法包括模糊检测和解决方法。这些类交易往往基于模棱两可的情况已经出现在SRS文档的文本。第二类是主动的,即,ambiguity prevention/avoidance deals with ambiguity in the first place, i.e., the requirement elicitation phase. It detects ambiguity in requirements and demands an explanation from the user. The five major approaches in which research work is being done to deal with both classes of ambiguity include checklist-based inspection approach; style guides; knowledge-based approach; heuristics-based approach; and controlled language [20.]。Bano [6]和Sandhu Sikka [18]对歧义进行了深度调查处理方法。

在文献综述(6),作者认为模糊检测有更多的关注,而避免歧义和决议在实证研究在很大程度上被人们忽视了。同时,更多的工作是在句法和语义歧义比其他类型。在文学作品中,不同的方法和技术提出了解决歧义在SRS文档(6,20.]。

弗里德里希et al。21)提供了一个自动的方法生产业务流程模型和符号模型从本地语言文本。其目的是减少歧义和时间。研究人员结合现有工具从NLP使用一个适当的重复法解决机制和改进它们。生成的SVBR规范进行验证和验证使用SBVR2UML方法提出的(22]。这个工具翻译SBVR规范表述SRS文档中记录,统一建模语言(UML)类图。从SBVR-SRS技术提取面向对象的信息,并将它映射到一个类模型。

RESI [23)是一个基于本体的“常识引擎”支持分析师通过提供一个对话系统提出建议和模糊查询,错误或不准确规范。RESI工作在四个步骤,利用各种本体,如ResearchCyc WordNet, ConceptNet, YAGO发现问题并提供常识性的解决方案。密歇根州和Garigliano24)提出了一项计划来定义索引结构和语义歧义。研究人员调查了应用程序定义指标的系统称为洛丽塔。它使用知识库(一种概念图)和解析阶段的输出来计算这些指标的可行性。洛丽塔是为了防止歧义。洛丽塔检测结构和语义歧义。

一个工具SREE [25)旨在检测实例的潜在歧义在问要求规范和报告他们回到用户采取适当的行动。SREE使用一个词法分析器,搜索的实例只有精确的词SREE的数据库。该工具使用指导规则,帮助少写模棱两可的问SRS文档。所提供的指导规则也能作为一个检查清单发现模棱两可的要求规范。SREE只检测协调歧义和语义歧义。杨et al。26)建造了一个machine-learning-based前期分类器,检测逐字模棱两可。前期分类器训练本身在一组启发式和人类的判断。然后输出是用于发现有害的歧义。使用分类器警报需求分析师关于误解的风险。表中提到的比较分析1

SRS的而不是生成用户可以理解的格式文档,研究集中在NL模型/原型的一代。所有上述工具激励我们设计一个方法,可以从英语协助分析师创建ambiguity-less SRS文档。上述工具倾向于处理某些类型的歧义,因此其他人仍然是一个问题。句法和语义含糊不清,需要从事其他类型的歧义。

最小化的影响本地语言的模糊性和随意性SRS文档,最好的方法是使用某种形式的组合方法。CNL (NL)的一个子集,比如Attempto [37)和SBVR[表述38最小化形式以及帮助生成ambiguity-less SRS文档。对业务流程建模,SBVR已成为一个重要的工具捕捉表述软件需求。它是一个有效的方式获取机器可处理的和明确的规则写在一个正式的模式从问。

大部分工作是基于无功的方法;之前的解决方案往往基于模棱两可的情况已经出现在文本中。大部分的作品模糊检测处理。有巨大差距的研究找到一种方法来避免歧义放在第一位。此外,建议的解决方案处理特定类型的歧义。缺乏一个标准的方法,成功地处理所有类型的歧义。Bajwa et al。39)提出了一个自动化的方法,NL2SBVR。NL2SBVR使用UML类模型作为一个业务域映射问SBVR词汇表述。翻译问规范正式SBVR规则表述。SBVR提供了一组表述逻辑公式可以帮助在英语文本的语义分析。NL2SBVR将在更短的时间内高效的结果和小错误。该方法的平均精度达到87.33%。缺少一个方法的方法来指定数据集实体的意思。

拉姆赞•et al。40)开发了一个工具问SBVR模型转换使用巴林的表述转换引擎。要完成转换,介绍了英语元模型的概念。转换是基于SBVR 1.0文档表述。该方法实现了83.22%的平均召回,平均精度为87.13%,平均水平F值为85.14。Danenas et al。41)提出了M2M转换。作者从UML声例图使用文本中提取数据。声预处理是进行文本的提取结果。最后,生成SBVR模型表述。共同理解事情是nonautomated部分的先决条件,因此,可能会导致歧义。

Njonko和El Abed [42]问业务规则转换成使用NLP SBVR规则表述框架。然后SBVR规则表述转换成可执行的模型。提出的评价方法是失踪。因此,该方法的成功因素是未知的。Siqueira et al。43)结合行为驱动的开发方法,通过迭代SBVR提炼需求表述。Chittimalli和阿南德44)检查SBVR规则表述使用之间的矛盾可满足性模理论。阿诺德和拉姆45]提出一种方法来确定概念之间的语义相似度从维基百科文章。

我们建议积极的方法来处理所有的参数,积极扮演一个角色在提高模棱两可问软件需求。这样积极的方法着重于代表软件需求,代表着在问,这样的补偿中子测井SBVR基于表述形式逻辑。它提供了一个共享的含义的概念。我们建议的方法的输出不仅是ambiguity-less和理解所有的利益相关者也机器可处理的同时。表2提出了一种对不确定性或模糊事物的一些现有的工具之间的比较分析预防和建议的方法。

2.1。语义业务词汇表和规则(SBVR)表述

SBVR首次发布的表述对象管理集团(OMG)在2008年。SBVR可以定义表述清晰,语法和语义明确,meaning-centric业务词汇表和规则不仅在业务还在软件行业。SBVR已经表述数学基础(一阶逻辑),这使它容易被机器处理。SBVR的类似英语的语法表述使它容易理解为所有利益相关者。

SBVR具有相同的表达能力作为标准表述的本体论语言(24]。SBVR XML模式使得表述产生交换的信息容易在组织和软件工具。最后,使用SBVR将减少总体成本的表述软件开发过程。SBVR 1.4表述(38)是由OMG的最新标准。SBVR词汇表述(概念、事实类型)和规则构成标准化SBVR表示[表述38]。

2.2。SBVR可以表述如何消除歧义呢?

SBVR词汇表述不仅是一组定义的术语(概念)和其他表征,但组织的一组相互关联的概念。对于一个特定的业务领域,SBVR词汇定义表述每一项有一个确切的意义在一个给定的上下文,从而消除歧义的机会。这样的定义不够正式使用其他软件工具和非正式的足够的理解和使用的所有利益相关者。

2.2.1。删除词汇歧义

在SBVR,表述一个表达式代表一个概念。每个表达式/措辞是唯一与意义(概念)在一个给定的上下文。因此,一个理念意义协会消除词汇歧义的机会。包含概念界定的定义(一个概念必须持有)和暗示(一个概念不能持有)特征,消除同音异义词汇歧义的机会。的定义,每个概念都有一个明确的描述以及例子和笔记,因此消除多义模糊。遵循SBVR规则表述创建一个词汇,结果将是明确定义的概念,不能在多个感官在社区内,从而消除所有类型的词汇歧义。

2.2.2。删除句法歧义

SBVR包括“动词的概念”措辞表述正式指定的语法表示问任何领域的概念和规则。这种特性使得SBVR适合描述语法表述ambiguity-less软件需求。SBVR标识概念表述以及语法角色在某种情况下他们玩。这种特性消除了分析歧义从给定的要求。对于每个动词的概念,SBVR标识表述相关分类,分类,特征和情境的角色。这样的标识将减少附件模棱两可。此外,SBVR使用逻辑公式表述等逻辑运算,因此,消除了歧义的协调。

2.2.3。删除语义歧义

SBVR提供语义表述配方使控制和语义ambiguity-less英语语句。这样一个语义配方包括原子公式,实例化配方,模态制定、逻辑公式、量化、客观化,名词化。逻辑等制定量化的使用消除了歧义的范围。SBVR包含表述“参考方案。”这样的计划作为名词短语和介词链接相应的概念,因此,消除参考模棱两可。

2.2.4。消除语用歧义

SBVR避免语用歧义的识别关联表述事实类型。二进制的事实关联事实类型的类型是一个典型的例子。在示例中“汽车传达的部分,”有一个二进制汽车和零部件之间的关联的概念。这个协会是一对多的“零件”是复数概念。在SBVR,表述的概念建模关联事实类型被映射到关联。

3所示。提出的方法

本研究的主要目的是防止SRS文档介绍歧义放在第一位。为实现这一目标,该方法包括四个主要阶段,即。,preliminary investigation and analysis, proposed framework design and implementation, data collection and experimental evaluation, and research findings and conclusion.

3.1。初步调查和分析

在第一阶段的研究,现有的文献与研究相关的研究。目的是为了获取知识与再保险技术——使用问SRS文件和本地语言造成的歧义。在文献中可能的解决方案来处理歧义在问了。

3.2。建议的方法设计和实现

根据初步调查和分析,提出了一种模棱两可的预防方法,以避免歧义。开发一个原型来评估预期的方法。

3.3。数据收集和实验评估

在第三阶段,数据的评估方法将收集到的开源SRS文档。数据收集完成后,它将使用开发原型分析。

评估进行验证研究结果和测量性能和该方法的准确性。评估在两个步骤进行,即。,performance evaluation and output document verification.

3.3.1。绩效评估

评估系统的性能,使用一个评价方法提出了赫希曼和汤普森[46]。绩效评估方法是基于三个方面,即:,标准,衡量,F-measure。评估的结果开发系统,每个元素(名词概念,动词的概念和SBVR规则表述)生成系统的输出与专家的意见(N专家)(样品溶液)。元素是正确归类为(N正确的)、不正确(Nincorrect(N),或失踪失踪)。

3.3.2。输出文档验证

结果输出文档存储在XML格式。验证XML模式,解析XML文件来验证服务W3C RDF / XML验证服务(47]。如果文档是正确格式化,W3C web服务文档复制到三元组和图形格式。

3.4。研究成果和结论

最后,结论、范围的局限性,进一步改进工作正在上市。

4所示。该方法的设计

本节描述的设计原型工具的半自动的NL-Requirements-SBVR-Rules转换。原型包括6个基本阶段,如图1

4.1。输入文档

该方法接受两个输入:(一)一个英语文本文档。txt文件):输入是作为一个纯文本文件包含英语写软件需求。假设给定的文本是语法正确的英语(b)软件构件:系统将接受软件工件/模型(如UML类模型。ecore文件)来验证SBVR词汇表述(c)维基百科:系统将使用维基百科的援助将验证SBVR词汇表述的含义。

4.2。阶段1:本地语言的文本解析软件需求

解析阶段包括词法和语法分析的输入软件需求。这一阶段包括处理单元(管道命令)来分析复杂的英语句子。解析步骤如下:词汇处理:这个阶段需要一个纯文本文件,其中包含一个英语SRS文档作为输入。词汇处理进一步子阶段:标记:第一子阶段的词汇处理是英语文本的标记软件需求。文本分割成令牌。一个令牌实际上是一个“字符序列”集体的意义。在标记阶段,一个句子是切成牌实例。每个这样的实例称为词位。分隔符是用来识别词位:根据我们的要求,每个句子的英语文本使用StringTokenizer (str)和标记化的输出是存储为一个数组表。一个输入文本的例子:“一个设计师可能在许多项目上工作。”生成的标记化的输出是:[一][设计][5][工作][在][许多][项目][,]。这样的标记化的数据将用于语法分析。句子分割:分流点声明通常由一个时期的结束“。”。它也可以用来分割句子本身。我们使用Java()方法将字符串分割成子字符串。这样的子字符串存储在一个字符串数组。吐()方法将使用正则表达式的字符串(重新)内部参数,调用的方法。这样的句子将用于后期的分裂。每个确定的句子分别存储在一个数组表。词类(POS)标签:一个POS薄铁片读取文本作为输入在某些语言英语)(在我们的例子中,将输入,和分配POS标记每一个令牌,如名词、形容词,等等。在这个子阶段,基本的POS标签标识使用斯坦福POS薄铁片v3.0 [48]。对数线性的薄铁片是Java实现软件词性涂画者。斯坦福POS薄铁片的总体精度是96.86% (48]。潘树图资料库被用于标记。薄铁片需要需求作为输入。给定的输入转化为令牌。标记完成后阶段,薄铁片分配POS标签标识牌。生成的结果存储在一个数组表进行进一步处理。垂下物生成的输出的一个例子:[/ DT][客户/ NN][可以/ MD][有/ VB][两/ CD][信贷/ NNP][卡/ NNP] [/。]。句法处理:在此阶段,输入是语法分析产生POS标签。上面的子阶段也执行语法分析和生成POS标签使用斯坦福POS尾随者。生成的输出斯坦福POS尾随者包括标签、解析树,普遍依赖关系。这样的输出格式是不够的执行语义分析和生成SBVR词汇和表述规则。SBVR生成规则有一个英文句子表述格式。这样的格式需要标签识别生成一个英文句子。所需的结构主语+动词+宾语此外,斯坦福记号赋予器无法识别动作动词(主动语态和被动语态),模型,和专有名词。斯坦福记号赋予器不能写英语量化转换为等价的小数。这种识别SBVR词汇和表述规则生成的关键。生成一个SBVR规则表述,我们需要做一个深刻的语义分析。随着斯坦福POS薄铁片的生成标签,我们建议的方法需要额外的信息,如:逻辑公式:包括等逻辑运算符和逻辑公式,或者不是,暗示等。表3显示了可能的令牌映射逻辑公式:量化:量化指定主题的范围。可能量化可以从令牌标识按照映射规则中提到的表4:模态配方:模态公式描述了关系连接另一个逻辑公式的意义和可能的单词或可接受的词语。模态配方指定一个约束的严重性。表5显示可能的情态标记映射公式:

提取这些信息,基于方法论要求,斯坦福大学的一个增强版本解析器,提出的基于规则的,自下而上的解析器Bajwa et al。49),用于分析输入下一个级别。基于规则的、自下而上的解析器是基于英语语法规则。这样一个解析器需要标记的令牌作为输入。这些令牌生成在前面的子阶段4.2。的增强版本规则解析器能够接受多个需求。这种特性不是原始版本中可用。解析器克服了上述局限性斯坦福解析器,并将提取的所有必要的执行语义分析所需的信息。生成的输出将被用于执行语义分析和生成SBVR词汇和表述规则。基于规则的解析器使用的算法来识别每个标记/块如图2

样本的输入规则解析器[/ DT用户/神经网络可以/ MD / VB两/ CD NNP /借记卡/ NNP. /。

生成的输出给定输入如图3。生成的输出保存在一个数组为进一步使用。

语义分析:相位标识某个字符串的含义和推理。一个项目被认为是语义上可靠的如果它所有的变量,函数,类,等等,必须适当地定义;表情和变量的模型。这是一个至关重要的阶段分析的语义错误的需求最终将产生一个错误的系统。建议在句法加工和语义分析器分析生成的标签分配相应角色每个标记。这个过程如图4

用户使用这个语义表(见表6)来验证每个令牌的角色/块,因此需求的语义。一个表可以显示整个组输入需求。这样确定角色协助识别SBVR词汇表述在以后的阶段。确定角色都存储在一个数组表。图5是输出由语义解析器生成的。

4.3。阶段2:提取SBVR词汇表述

这个阶段识别主要SBVR词汇表述元素从英语输入预处理在前一个阶段2。写SBVR规则表述,我们需要确定SBVR词汇表述元素。的步骤提取SBVR元素包括表述(我)提取单一名词的概念(2)提取单个名词的概念(3)提取单个动词的概念(iv)提取二元动词的概念(v)提取特征/一元动词的概念(vi)提取单一动词的概念(七)提取关联谓词的概念(八)提取概念区分的动词(第九)提取量化(x)提取分类

最后一步是创建事实。SBVR事实表述是一个正式的表示的基本构建块(38]。一个事实类型是基于确定动词的概念。动词名词概念和概念的列表中可用SBVR词汇表述数组表。事实类型生成的映射等概念。原子规范化是用来输入需求映射到一个适当的类型。生成的列表SBVR词汇由概念和表述事实类型。这样的词汇量将被用作参考整个一代SBVR规则表述。可能从英语文本中提取词汇表元素的列表如表所示7

4.4。第三阶段:SBVR词汇表述的验证

这一阶段验证的元素SBVR词汇表述与域相一致。验证阶段需要的列表提取SBVR词汇的形式表述一个数组表,来自于前一阶段,第二个是软件工件/模型如一个UML类模型。输入这样的模型,可以使用以下两个选择:(1)用户提供了一个UML类模型的各自的业务领域将被用作一个软件验证过程工件。(2)方法提供了一个存储库的大量的UML类模型从不同的业务领域。用户将执行手动选择相关的软件构件/从可用的库模型。(3)一旦一个UML类模型的选择,所选择的UML类模型解析使用parseEcore解析器来提取元数据。(4)UML解析器上执行提取结果的内容。提取过程包括以下步骤:(一)提取类(b)提取属性(c)提取操作列表(d)提取关联(e)提取概括

提取过程完成后,节点创建和parseEcoreparser表示UML模型的提取特征层次树格式,如图6

用户将手动执行提取元数据的映射SBVR元素验证SBVR词汇表述表述,如表所示8

4.5。第四阶段:关联意义

SBVR是它表述的关键成功定义每个词汇表元素;因此,消除歧义的术语和语句。这个阶段关联意义验证SBVR词汇和表述消除“单一word-multiple感官”歧义。转换前的英语文本SBVR规则表述,与输入SBVR词汇来表述相关的意思是确保合成SBVR规则表述将与相关业务领域相关的语义。系统将对每个需求寻找关联意义的知识库。

这一阶段接收两个输入;SBVR词汇和表述的知识基础。维基百科作为知识库。维基百科是一个可靠的和通用的知识库容纳所有可能的意义从不同的领域。维基百科是一个快速、轻量级的应用程序;只需要一个网络连接;是方便的,没有特定的内存需求。同义词也可以在维基百科上的列表;因此,它消除了歧义“多个单词意义”。(1)关联意义,用户必须选择一个SBVR词汇表述元素。(2)该系统使用维基百科的解析器来提取可能的含义从维基百科的列表。所有可能的场景选择SBVR词汇表述元素将显示从维基百科使用一个接口,最后选择将由领域专家/分析师。(3)用户可以选择所有SBVR词汇表述元素相关的意义。(4)更新SBVR词汇表述通过添加相关的含义。这种关联的含义被添加到SBVR词汇表述为未来的援助。协会的意义将会分析和设计团队的帮助。不会有歧义SBVR词汇来表述(我)单一word-multiple感官(2)多个单词的意义

7显示添加副SBVR词汇表述的含义。

4.6。第五阶段:生成SBVR规则表述

一旦SBVR词汇表述验证和与相关含义,系统准备生成SBVR规则表述。在此阶段,SBVR规则表述是由使用一个基于规则的解析器生成的。这些规则将用于SBVR-based需求规格。规则库解析器包含一组规则,地图SBVR元素表述SBVR词汇表述。SBVR规则发生器遵循三个步骤表述规则生成,包括提取SBVR规则类型表述、应用语义公式,最后应用结构化英语表示法。提取SBVR规则类型表述:在这个阶段,每个需求分类作为一个结构或一个行为要求。这样的分类将用于生成相应的建议或行为规则。以下规则适用于一个需求类型进行分类。提取建议:要求用英语写语言辅助动词,如“,”“可以”等,识别和分类的建议。例如,句子代表状态,例如,平衡是一个银行,或占有,例如,“银行出租车有两个收银员,”可分为建议。此外,英语书面要求使用一般的动作动词,如由组成,装备,等等,也分为结构性的要求。提取行为要求:英语书面要求有辅助动词,如“应该,”必须“识别和归类为行为规则。此外,需求有一个动作动词可分为行为规则,例如,“持卡人提供有效的密码。”应用语义公式:一组这样的配方是锻炼的类型生成一个SBVR规则表述。SBVR 1.5版本表述提出了两个基本语义公式。这些包括逻辑制定和预测。逻辑公式进一步归类为原子公式,实例化配方,模态配方,逻辑运算,量化、客观化,突出配方,和名词化的命题和问题。在这里,我们使用以下三个配方有关的背景下,提出了研究的范围。逻辑公式:一个SBVR规则可能包含各种表述事实类型通过逻辑运算符如和,或者,不,暗示等。表9显示了可能的令牌映射逻辑公式:量化:量化指定范围的一个概念。可能量化可以从令牌标识按照映射规则中提到的表10:模态制定:制定规定约束的重量。表11显示可能的情态标记映射公式:

其次是规则发生器的步骤如下:(1)确定新的句子(2)确定数值(3)识别每个(4)识别对象类型(5)识别个人的概念(6)确定动词的概念

随后的算法来确定一个新的句子给出图8

4.6.1。应用SBVR符号表述

最后一个阶段是应用SBVR符号生成SBVR-based表述的需求规格说明书。这样的格式包含明确的和不断规范。最后文件将XML格式文件,使用SBVR XMI表述XSD作为它的XML模式。这些文件将为机器处理容易。该方法支持SBVR结构化英语表述。运用结构化英语:(我)强调名词概念,例如,(2)动词概念写成斜体,例如,可以,有(3)关键字加粗。SBVR关键词表述,例如,至少每一个,最多必修课等。(iv)个人概念double-underlined,例如,黑色的猫

例如:“一个人的国籍应该是英国人。”将翻译成每SBVR规则表述为:“它是义务,每一个人的国籍应该是“英国的。”

4.7。6级:输出

输出保存和导出的XML格式。该文件包含SBVR词汇和表述SBVR规则表述。验证XML模式,可以解析任何XML文件验证服务等asW3C RDF验证服务(47]。这样的文件是一个可互换的,独立于平台的,易机过程文档,提供一个清晰的、明确的、一致的和完整的SRS文档。

5。的实现方法

为了更好地理解阶段,让我们观察的组件中定义的交互场景问SBVR规则表述转换。(我)系统有两个inputs-user需求和UML模型进行验证。要求写的用户在一个文本文件(A1从图9)或直接在SBVR编辑器窗格(A2图表述9)。这样的需求是用来提取SBVR词汇表述。该方法使用一个文本文件的评估输入要求。UML模型从可用的UML模型库被选中。用户选择一个特定领域的UML模型来执行从UML模型映射到SBVR词汇表述。(2)“生成SBVR”表述按钮被单击时,基于规则的解析器(24)提取SBVR词汇从本地语言文本表述软件需求。解析器标识的概念以及概念类型和它的一般概念(A3从图9)。随着概念,解析器还确定类型的相关概念。(3)UML模型用于验证生成的SBVR词汇表述。这个验证过程是手动执行。用户确认SBVR词汇表述元素映射到UML模型项目。(iv)用户可以使用维基百科添加语义解析器。维基百科的解析器从互联网提取意义的列表相关SBVR词汇表述(A4从图9)。用户可以选择特定于域的意义(A5从图9)。这样选择的意义与相应的词汇概念(A6从图9)。(v)基于规则的解析器生成SBVR规则表述。这些SBVR规则表述包括结构规则和行为规则(A7从图9)。一旦SBVR规则生成的表述,SBVR结构化表述符号应用于规则。SBVR符号表述使规则更具可读性。

XML解析器生成一个RDF / XML schema (A8从图9)。这样的文件提供了一个一致的、可互换的、平台独立的模式。生成的RDF模式也是通过RDF验证器可以在验证http://www.w3.org。一个例子所示的数字1011

6。结果

问SBVR规则表述开采的建议的方法是评估使用七集的需求(T1,T2,…T7)。每组由50个随机选择的需求。选择的需求在语法上是有效的。要求设置解析原型。样品提取的名词概念,动词的概念,类型,并生成SBVR规则展示在表表述12。抽样要求设置T是需求的一个子集组吗T1。T1是相关领域“汽车租赁服务。“5示例输入句子的要求T,我们的设计原型提取8名词概念和5动词的概念。这些名词概念和动词的概念处理创建5个类型。一旦执行必要的提取、语义应用配方和SBVR符号表述事实类型生成SBVR规则表述。

13为每个需求集(实际上指定提取的元素T1,T2,…T7)用于建设SBVR规则表述。首先,使用原型,我们识别名词概念和动词的概念。使用这些概念,原型生成类型。这样的事实类型进一步处理生成SBVR规则表述。

要求设置T1是由原型和89年处理名词概念和48个动词概念提取。这些概念来构造处理50个事实类型。原型最终生成50个规则。原型提取237元素T1。接下来的过程是为每个需求集T1,T2,…T7所示。样本的抽取规则生成描述了表12

七迭代后的七个案例研究,提取元素,如名词概念的总数是624 332和动词的概念。原型已经建造了346事实类型。350条规则生成的原型已经成功七350需求共同组成的案例研究。

7所示。分析和讨论

评估方法的结果,我们准备了一个简单的测试用例需求集(T1,T2,…T7)。一位专家手动评估需求创建示例数据集N专家,如表所示14N专家由提取的名词概念,动词的概念,构造类型,并生成规则。目的是验证prototype-generated输出。的总和称为原型生成的输出NN正确的元素正确识别的原型。N不正确的的元素是由原型确认的,但是相比是不正确的N专家N失踪的元素的原型是无法识别或过程。比较表执行14提取的概念、构造类型,生成规则的原型,和手动评估要求;N专家

专家(N专家)已经确定94名词概念和50个动词概念从需求集T1。专家(N专家),那么建造50事实类型基于提取名词和动词的概念。最后,专家(N专家)生成50 SBVR规则表述。相比之下,原型已经确定89名词概念,其中86是正确的(N正确的),3不正确(N正确的),5人失踪(N失踪)。然后提取48(原型N)动词概念,46是正确的(N正确的),2不正确(Nincorrec)。两个动词概念失踪在列表中。后来,原型建造50事实类型(N)。两个事实类型不正确(N不正确的)。最后,SBVR规则构造使用表述事实类型。总共237个元素识别出其中230正确识别,7是错误的识别,而7元素失踪。这个过程是对每个需求集(重复T1,T2,…T7),如表所示14

专家成功地提取了1752个元素七案例研究。根据使用的评价方法,表14显示1652年确定的元素,其中1595是正确的,57是不正确的,100人失踪SBVR元素表述。为每个需求集,规则生成率是100%。事实类型识别的结果也很满意。350总要求,339事实类型是正确地识别。的方法有错误标记一些名词概念动词概念,反之亦然。原因是缺乏一个强有力的数据集。例如,在集T1、3名词概念和2动词概念是错误地标记。然而,整体初步结果是非常令人鼓舞的。Prototype performance is measured using three metrics: Recall, Precision, andF价值。这些指标被广泛用于评估NL-based数据提取系统。这些指标帮助有一个比较系统的预测与实际值。回忆是一个测量系统正确识别元素。 在哪里 是系统生成正确的结果的数量,然后呢 是人类专家的数量生成样本的结果。

精度是正确的和不正确的元素之间的比例确定的系统。 在哪里N正确的的数量是正确的结果,N不正确的是不正确的结果的数量产生的开发系统。

F原型测量是测量的准确性。 在哪里P精度值和吗R是回忆的价值。

15描述了计算召回、精度和F原型的价值对于每个问要求(T1,T2,…T7)。计算是基于上述方程(1),(2)和(3)。回忆、精度和F值分别计算每组的需求(T1,T2,…T7)。在那之后,计算平均值。T1回忆(0.97)和最高F值(0.97),T2精度最高(0.98)。T7召回最低(0.91)值,T6精度最低(0.95)。如此低的价值的原因是疲软的数据集。的平均召回SBVR SRS表述文档是按照0.94计算,而计算的平均精度为0.97。平均F计算值为0.95。最初的性能评估的结果是非常令人鼓舞的。结果支持这个工具的使用方法和潜力。图12显示工具的图形表示的评价。

13显示了N样本,N正确的,N不正确的,N失踪评价的结果提出了七个案例研究工具,T1 -T7所示。蓝色的列显示结果N样本,红列显示了结果N正确的,绿色列显示结果N不正确的,而紫色的列显示了结果N失踪T2的最高价值N正确的元素,而T6的最小值N正确的元素T1的最小值N失踪元素,而T7的最高价值N失踪元素。

上述图13图形化地显示了结果的召回、精度和F价值生成的原型在处理七个不同的案例研究(T1,T2,…T7)。根据我们的计算结果,T1具有较高的召回,T2有精度高、和T1高F价值。相比之下,T7有回忆价值最低,T6精度最低,T7最低F测量值。如此低的价值的原因是疲软的数据集。

合成输出存储在RDF / XML格式。验证XML模式,解析XML文件的一个在线验证服务命名W3C RDF验证服务(47]。这个web服务成功复制成三元组和图形的输出。一个示例的部分web-generated输出如图10

上面给出的结果表明,它是方便和节省时间的制定一个语义上正式使用我们建议的方法和控制说明。图10显示验证结果和图11显示了W3C-generated图形验证系统生成的RDF / XML输出。

8。范围和限制

我们识别一组限制的调查研究,这将允许研究人员提出一个更合适的设计成功的研究阶段。我们的研究使用只有一个专家创建示例数据,而不是一个组的人口专家代表。此外,专家的经验水平也可以把限制示例数据的可信度。

假设给定的英语文本原型作为输入语法正确。用于实验的数据集评估包含完整的句子,例如,句型。结果可能是不同的不完整或不正确的句子。

9。结论和未来的工作

本研究工作的主要目标是自动化软件需求引出的做法和要求规范而解决问的模棱两可的气质,如英语。与此同时,我们的目标是产生一个控制表示这样的要求,这是特定领域和可接受的为业务行业。应对挑战,我们提出了一个NL-based方法。我们开发了一个原型基于建议的方法。原型解析英语写软件需求和生成SBVR-based控制表示。原型进一步提取SBVR词汇来表述产生SBVR规则表述。该原型进行词法、语法和语义分析关于SBVR规则表述。同时提取SBVR词汇,表述意义的分配每个词汇表元素消除了歧义的机会。原型生成规则写在SBVR-based控制语言。这些规则是清晰和明确的商业社区。 The output of the whole process is stored in XML format, which is portable and platform-independent. Also, the generated output document is easily convertable into any other format for further processing. Such documents will be easy for the machine to process.

我们成功,评估该方法在七个案例研究的帮助下开发原型支持我们建议的方法。我们建议的原型可以用于自动化面向对象分析与设计(出OOA&D) NL-software需求。此外,原型提供了更高的精度比其他可用NL-based工具。结果部分所示,0.94和0.97精度值的回忆价值七个案例研究的结果对软件需求通过使用我们的原型是非常令人鼓舞的。同样,合成0.95 f值也是令人满意的。因此,我们的评估结果显示,鼓励我们的开发工具的性能在可用性方面,时间,和准确性。

事先研究进行了大量使用NLP-based SRS文档的自动化方法,但相对小的努力已经完成方法基于CNL代表要求规范。出于这个原因,无数的方面需要研究在使用SBVR-based需求规范的控制表示。未来的工作是验证使用UML和本体模型自动提取的词汇。自动验证这些数据可以帮助自动问SRS文档的概念建模。

数据可用性

数据要求通讯作者。

的利益冲突

作者宣称没有利益冲突。