一种基于流程模型的需求验证方法技术

技术编号:13768278 阅读:40 留言:0更新日期:2016-09-29 02:52
本发明专利技术涉及一种基于流程模型的软件需求验证方法,所述方法包括以下步骤:步骤S1、根据规则对象的类别将规则加载进规则库中;步骤S2、根据需求生成流程模型;步骤S3、找出流程模型中的模型元素;步骤S4、依据规则约束对模型元素进行判定。所述方法具有以下技术效果:省略了基于自然语言验证活动中的定义模型,预处理需求文档,解析出模型的活动,使得验证活动更简单;使得自动化验证方法对于输入需求的形式化程度没有过分的要求,节约了建模的成本;在保证自然语言描述需求的部分灵活性的前提下,实现自动化验证,减少人力,节约成本。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种基于流程模型的需求验证方法
技术介绍
需求描述了软件系统的行为、特性或属性,是用户和开发人员之间的桥梁,准确、完整的需求是指导系统后续建模、分析、开发和测试的根本依据,在需求工程中,需求验证是确保需求质量的重要的活动。目前需求验证活动分为人工审查和自动化验证。人工审查通过人工检查,结合问题清单的方式来检查需求。能够很好的检查出需求中的问题,对于需求的形式化程度要求不高,并且能够很好的针对特定系统的需求进行验证,但是成本较高,需要投入大量的人力、时间。自动化验证通过和需求描述方法相对应的自动验证工具来进行需求的验证,能够有效的降低人力和资金成本。其基础为形式化验证,常见的形式化验证方法包括推理验证和模型验证。推理验证是构建一个形式化的公理系统,使用严格的推导来验证软件的正确性;模型检测是以有限自动机为形式化模型,通过穷尽系统状态空间进行相关性质的验证。模型验证与推理验证现在相对比较成熟,已经有了很多相关的工具,但是他们都要求系统需求被很好的形式化定义,对于输入的需求有严格的要求。人工审查需要投入大量的人力,形式化验证对于二义性等问题解决效果很好,但是严格的形式化定义要求用户经过良好的培训,花费较多
的时间才能进行需求的开发。目前,针对自然语言描述的需求验证,有研究提出了一种验证过程,主要包括以下内容:1.为需求文档定义一个样式、一个结构和一种语言。2.选择要检查的属性。3.定义一种或多种模型,使得上面关注的属性能够被检查。4.预处理需求文档:将需求文档转换成一个有规则的形式。5.解析需求的自然语言描述文字,使得需求成为一个能够被分析的形式。6.用解析出的信息构造前面定义的模型。7.检查模型是否满足选择的要验证的属性。8.评估结果,对应的修改需求。这个验证检查需要提供足够详细的信息来帮助需求工程人员识别和修改发现的问题。从上述描述中可以看出,验证过程活动较多,需要定义需求的格式样式,处理需求文档,生成模型,之后才能对生成的模型进行属性的检查,从而进行验证,复杂的过程也会使得需要投入大量的成本。在当前众多的需求建模方法中,RUCM是一种用例建模方法,它提出了一个用例规约模板来描述用例场景,并且附加了一些限制规则,使得在能够保留部分自然语言的灵活性的条件下,有部分的限制来降低自然语言的二义性。RUCM方法已经通过实验证明了其容易使用,描述的需求容易理解的优点。并且由于RUCM定义的元模型很好的捕获了RUCM需求中的概念,使得元模型能够很好的被用于生成分析模型,生成测试用例。基于规则的需求验证方法主要结合了RUCM方法的特点研究其验证目标,形式化。该方法的验证流程是:在验证执行前根据规则对象的类别将规则加载进相应的规则容器中,在验证执行时,基于模型遍历算法找
到每一个模型元素,依据模型元素的类别选择相应类别的规则,依据规则的约束对模型元素进行判定。基于规则的需求验证方法,由于是在RUCM方法描述的基础上提出验证规则从而达到需求的验证,导致其提出的规则局限于RUCM方法的描述方式,这也就制约了其验证能力。即使提出新的规则,这些规则也还是针对RUCM最基本的表达方式提出的,仍然具有一定的局限性,例如:1.未能定义面向用例规约的流程模型元模型;2.未能将RUCM需求模型转换为流程模型。3.未能针对嵌入式软件需求描述对应的流程模型提出自然语言描述的规则;4.未能解决验证规则的形式化表达问题;5.未能解决基于流程模型的RUCM方法中需求的自动化验证。
技术实现思路
鉴于上述的分析,本专利技术旨在提供一种基于流程模型的软件需求验证方法,用以解决现有技术中缺少需求自动验证的问题。本专利技术的目的主要是通过以下技术方案实现的:一种基于流程模型的软件需求验证方法,其特征在于,具体包括以下步骤:步骤S1、根据规则对象的类别将规则加载进规则库中;步骤S2、根据需求生成流程模型;步骤S3、找出流程模型中的模型元素;步骤S4、依据规则约束对模型元素进行判定。所述步骤S2进一步包括以下子步骤:子步骤S21、从数据模型和控制模型的基本元素角度确定流程模型的
组成元素;子步骤S22、依照RUCM需求模型的组成元素,进一步分析和细分流程模型的组成元素,完善原模型;子步骤S23、根据模型转换算法,建立流程模型和RUCM需求模型之间的映射,将RUCM需求模型转换为流程模型。所述步骤S3进一步包括:对步骤S2生成的流程模型进行遍历,找到模型元素。所述步骤S3进一步包括以下子步骤:1)取出流程模型的路径集合属性,如果为空,遍历结束;2)取出路径集合中的一个成员,也就是一条路径,并从路径集合中除掉;3)取出路径的节点集合属性;4)取出节点结合中的第一个元素,也就是路径的起点;5)取出节点的下一个元素直到该节点是路径的终点;6)当路径集合为空,遍历完成。所述步骤S4进一步包括:规则加载模块依据步骤3找到得的模型元素的类别从规则库中选择相应类别的规则进行加载,依据规则的约束对模型元素进行判定。在执行步骤S1之前,还包括以下步骤:预处理需求文档得到以RUCM方法描述的需求和解析构造模型,即RUCM需求模型。本专利技术有益效果如下:省略了基于自然语言验证活动中的定义模型,预处理需求文档,解析出模型的活动,使得验证活动更简单;使得自动化验证方法对于输入需求的形式化程度没有过分的要求,节约了建模的成本;在保证自然语言描述需求的部分灵活性的前提下,实现自动化验证,减少人力,节约成本;能够减少需求中在功能性需求中的部分二义性、不一致性、不完整性等方面的问题以及在实时性和安全性需求描述中的部分问题,使得需求能够更好的被不同的相关人员理解;更能发现一些全局性的需求描述错误;能够满足用户针对特定项目的部分验证需求,并且能够随着RUCM方法或更多的验证需求进行扩展。本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分的从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。附图说明附图仅用于示出具体实施例的目的,而并不认为是对本专利技术的限制,在整个附图中,相同的参考符号表示相同的部件。图1为本专利技术具体实施例的方法流程图。具体实施方式下面结合附图来具体描述本专利技术的优选实施例,其中,附图构成本申请一部分,并与本专利技术的实施例一起用于阐释本专利技术的原理。本实施例公开了一种基于流程模型的软件需求验证方法,通过调用验证引擎进行模型遍历、规则加载和执行,达到自动验证的目的。步骤S1、根据规则对象的类别将规则加载进相应的规则容器中;其中,所述规则以OCL语言形式存储在规则库中,具体如下:从嵌入式软件的需求模型对应的流程模型的角度提出规则,而基于规则的需求验证方法中,验证引擎的核心与规则二者是独立的,所以可以设计新的规则,然后利用引擎执行验证。实时性和安全性是嵌入式软件中比较核心的两个方面,所以在嵌入式软件的需求验证中是两个重要的验证问题,所述规则需要从嵌入式软件的功能性、安全性和实时性三个角度进行限定:功能性需求定义了系统的功能或者系统的组成部分,这里所关注的功能性问题是需求功能性描述是否规范。安全性需求侧重的是保障系统的安全性,这里所本文档来自技高网
...

【技术保护点】
一种基于流程模型的软件需求验证方法,其特征在于,具体包括以下步骤:步骤S1、根据规则对象的类别将规则加载进规则库中;步骤S2、根据需求生成流程模型;步骤S3、找出流程模型中的模型元素;步骤S4、依据规则约束对模型元素进行判定。

【技术特征摘要】
1.一种基于流程模型的软件需求验证方法,其特征在于,具体包括以下步骤:步骤S1、根据规则对象的类别将规则加载进规则库中;步骤S2、根据需求生成流程模型;步骤S3、找出流程模型中的模型元素;步骤S4、依据规则约束对模型元素进行判定。2.根据权利要求1所述的基于流程模型的软件需求验证方法,其特征在于,所述步骤S2进一步包括以下子步骤:子步骤S21、从数据模型和控制模型的基本元素角度确定流程模型的组成元素;子步骤S22、依照RUCM需求模型的组成元素,进一步分析和细分流程模型的组成元素,完善原模型;子步骤S23、根据模型转换算法,建立流程模型和RUCM需求模型之间的映射,将RUCM需求模型转换为流程模型。3.根据权利要求1所述的基于流程模型的软件需求验证方法,其特征在于,所述步骤S3进一步包括:对步骤S2生成的流程模型进行遍历,找到模型元素。4.根据权...

【专利技术属性】
技术研发人员:吴际赵晶鑫杨海燕刘超
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

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

1