一种基于rucm的需求验证方法

文档序号:9249356阅读:515来源:国知局
一种基于rucm的需求验证方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种基于RUCM的需求验证方法。
【背景技术】
[0002]描述软件系统的行为、特性或属性的需求,是用户和开发人员之间的桥梁,准确、完整的需求是指导系统后续建模、分析、开发和测试的根本依据,在需求工程中,需求验证是确保需求质量的重要的活动,可以帮助需求人员发现需求中的问题。
[0003]目前需求验证活动有人工审查和自动化验证。人工审查是通过人工检查,结合问题清单的方式来检查需求,自动化验证是通过和需求描述方法相对应的自动验证工具来进行需求的验证。
[0004]人工审查的方法能够很好的检查出需求中的问题,对于需求的形式化程度要求不高,并且能够很好的针对特定系统的需求进行验证,但是成本较高,需要投入大量的人力、时间。
[0005]自动验证通过工具来自动进行验证,能够有效的降低人力和资金成本,其基础为形式化验证,常见的形式化验证方法包括推理验证和模型验证。推理验证是构建一个形式化的公理系统,使用严格的推导来验证软件的正确性;模型检测是以有限自动机为形式化模型,通过穷尽系统状态空间进行相关性质的验证。模型验证与推理验证现在相对比较成熟,但是要求系统需求被很好的形式化定义,对于输入的需求有严格的要求。
[0006]人工审查需要投入大量人力;自动化验证要求严格的形式化,要求用户经过良好的培训,花费较多的时间才能进行需求的开发,很难适应特定项目特点。
[0007]RUCM是一种用例建模方法,它提出了一个用例规约模板来描述用例场景,并且附加了一些限制规则,使得在能够保留部分自然语言的灵活性的条件下,有部分的限制来降低自然语言的二义性。既保留了自然语言的部分灵活性又有合理的限制使得用户容易理解,容易编写,从而可以很好的解决在需求建模、需求验证方面需要投入大量时间和人力的问题。RUCM方法已经通过实验证明了其容易使用,描述的需求容易理解的优点,并且由于RUCM定义的元模型很好的捕获了 RUCM需求中的概念,使得元模型能够很好的被用于生成分析模型,生成测试用例。
[0008]但是,目前的RUCM对于自动化验证的方法来说,形式化程度不够,而严格的形式化为需求人员建模带来了挑战。
[0009]针对自然语言描述的需求验证,目前通用的验证过程主要包括以下内容:
[0010]1.为需求文档定义一个样式、一个结构和一种语言;
[0011]2.选择要检查的属性;
[0012]3.定义一种或多种模型,使得上述属性能够被检查;
[0013]4.预处理需求文档:将需求文档转换成一个有规则的形式;
[0014]5.解析需求的自然语言描述文字,使得需求成为一个能够被分析的形式;
[0015]6.用解析出的信息构造前面定义的模型;
[0016]7.检查模型是否满足选择的要验证的属性;
[0017]8.评估结果,对应的修改需求。
[0018]从上述描述中可以看出,验证过程活动较多,需要定义需求的格式样式,处理需求文档,生成模型,之后才能对生成的模型进行属性的检查,从而进行验证,复杂的过程也会使得需要投入大量的成本。通用的验证方法不能发现个性项目的问题,需求描述方法的局部修改使得验证工具需要进行较大的改动。

【发明内容】

[0019]鉴于上述的分析,本发明旨在提供一种基于RUCM的需求验证方法,用以解决现有技术中RUCM对于自动化验证的方法来说,形式化程度不够,而严格的形式化为需求人员建模带来了挑战;同时,通用的验证方法不能发现个性项目的问题,需求描述方法的局部修改使得验证工具需要进行较大的改动的问题。
[0020]本发明的目的主要是通过以下技术方案实现的:
[0021]一种基于RUCM的需求验证方法,具体包括以下步骤:
[0022]步骤1、需求描述服务器根据输入的需求,采用RUCM方法生成半形式化的需求表达方式;
[0023]步骤2、验证内容定义服务器对需验证的内容进行定义,即定义要验证的目标;
[0024]步骤3、解析服务器解析需求描述服务器生成的需求表达方式的自然语言描述文字,在元模型中定义RUCM模型中的元素,将需求以RUCM元模型实例的方式表现出来;
[0025]步骤4、自动化验证引擎基于验证内容定义服务器定义的需验证的内容,对解析服务器生成的RUCM元模型实例进行自动化验证;
[0026]步骤5、评估服务器对步骤4的自动化验证结果进行评估,如果评估结果不满足要求,则对应修改需求,重复上述步骤。
[0027]其中,所述步骤I进一步包括:
[0028]对RUCM中的表示条件和状态的句式进行句子模式和条件状态表达式的形式化定义,为用户提供表达该类句型的方法;
[0029]在模式和形式化定义时,结合条件状态表达的词库,提出多种可自动解析的句子模式和多个形式化定义的用词。
[0030]3、根据权利要求1所述的基于RUCM的需求验证方法,其中,所述步骤2中验证内容定义服务器对需验证的内容进行定义进一步包括以下三个方面:
[0031]3)需求中的模板内容完整性,满足格式定义,语句模式正确,关键字使用正确;
[0032]4)用例模板内部元素之间一致性,包括:用例基本信息的描述,包括和其它用例的依赖关系,用例的输入数据、输出数据,参与者等;对于参与者与系统之间的交互流的描述和用例基本信息中定义的一致;
[0033]3)分支、条件结构,包括:分支流程入口 /出口正确的标明;条件判断结构完整正确。
[0034]其中,所述步骤4中自动化验证引擎包括遍历验证模块、语句分析模块、规则解析模块和规则执行模块。
[0035]其中,
[0036]遍历验证模块对关键字使用和语句模式正确性进行检查,为之后的验证活动做保障;
[0037]语句分析模块通过关键字和定义的相关词库来识别句子的类别,为之后验证句子模式,格式定义做准备;
[0038]规则解析模块对规则库和用户定义的规则进行语法检查,并解析为规则执行模块能够识别的规则验证代码;
[0039]规则执行模块,对所有元模型实例用规则解析模块生成的规则验证代码对需求进行自动化验证。
[0040]其中,所述步骤4进一步包括以下步骤:
[0041]遍历验证模块遍历所有用例的用例规约模板;在遍历过程中调用语句分析模块来分析每个句子的类别;规则解析模块从规则库中提取规则,解析为规则执行模块可执行的规则验证代码并发送给规则验证模块;规则验证模块加载形式化的需求和验证规则代码对需求进行自动验证,输出验证结果。
[0042]本发明有益效果如下:
[0043]省略了基于自然语言验证活动中的定义模型,预处理需求文档,解析出模型的活动,使得验证活动更简单。采用的RUCM用例建模方法使得自动化验证方法对于输入需求的形式化程度没有过分的要求,节约了建模的成本。在保证自然语言描述需求的部分灵活性的前提下,实现自动化验证,减少人力,节约成本。
[0044]验证的内容能够减少需求中的部分二义性、不一致性、不完整性等方面的问题,使得需求能够更好的被不同的相关人员理解。验证规则中对于格式、模式等方面的验证,通过保证这些内容的正确,减少需求中的二义性问题。另外通过对不一致性和不完整在用例规约中的具体分析,设计出的关于条件、结构正确完整的规则验证,能够发现部分不一致性、不完整性方面的问题。
[0045]可定制可扩展的验证引擎使得能够满足用户针对特定项目的部分验证需求,并且能够随着RUCM方法或更多的验证需求进行扩展。
[0046]本发明的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
【附图说明】
[0047]附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表不相同的部件。
[0048]图1为本发明【具体实施方式】方法流程图。
【具体实施方式】
[0049]下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
[0050]一种基于RUCM的需求验证方法,具体包括以下步骤:
[0051]步骤1、在需求描述服务器中输入需求,由需求描述服务器采用RUCM方法生成半形式化的需求表达方式。
[0052]所述验证过程省去了通用验证过程中预处理需求文档和解析构造模型的活动。通过借助RUCM已经定义好的结构化的用例模板与限制规则,使得需求在建模时就已经成为一个有规则的形式,而不需要重新定义需求文档的样式、格式语言,处理的活动;并且借用RUCM方法中的元模型可以使得需求在建立时自动映射为其对应的形式化表达方式的优点,借助需求的元模型实例进行验证规则的形式化表达,省略了验证过程中解析模型的活动,最终可以在解析需求的自然语言描述文字后,就为所关注的验证规则提供了足够的信息,从而成为能够进行自动化验证的基础。
[0053]所述步骤进一步包括,针对验证内容中需要对需求的条件分支结构进行验证的要求,对RUCM中的表示条件和状态的句式进行句子模式和条件状态表达式的形式化定义,为用户提供表达该类句型的方法,使得句子结构清晰,容易理解。在模式和形式化定义时,不采取单一的形式化定义,而是结合条件状态表达的词库,提出多种可自动解析的句子模式和多个形式化定义的用词。
[0054]步骤2、验证内容定义服务器对需验证的内容进行定义,即定义要验证的目标。
[0055]所述要验证的目标包括以下三个方面:
[0056]I)需求中的模式、格式定义
[0057]对需求中的模式、格式定义进行验证,使得用户能够更好的关注于需求的捕获,自动地验证这些问题,包括模板内容完整性,满足格式定义,语句模式正确,关键字使用正确几个方面。
[0058]其中,模板内容完整包括:数据都有定义,每个分支流要明确指明分支的来源,置条件不能为空。满足格式定义包括:条件语句的
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1