一种基于半结构化自然语言EARS需求模板的扩展方法

文档序号:30616912发布日期:2022-07-02 01:15阅读:297来源:国知局
一种基于半结构化自然语言ears需求模板的扩展方法
技术领域
:1.本发明涉及自然语言处理
技术领域
:,具体涉及一种基于半结构化自然语言ears需求模板的扩展方法。
背景技术
::2.在软件工程中,软件需求规范(srs)是定义软件及其功能的文档,srs通常是用自然语言(nl)编写。nl是沟通和记录系统需求的最常见方式,但nl需求文档中可能出现的一些问题:如歧义、模糊性、复杂性、重复、需求的不恰当、不可测试性等。需求模板定义了用nl编写的需求应该具有的结构,因此半结构化自然语言描述的需求具有nl的优点和具有良好定义的结构的优点。为了减少甚至消除这些问题,提高需求描述的质量,引入了半结构化的自然语言ears(简单的需求语法),然而ears主要是针对系统本身而言的,缺少与用户及外界的交互的需求描述方法。3.现有技术提出了ears的高级版本(advancedears简称adv-ears),一种半结构化自然语言语法来描述功能需求,从而支持用例模型中用例和参与者的派生,但adv-ears只关注功能性需求,缺少对非功能行需求的表达。技术实现要素:4.本技术实施例的目的是针对现有技术的不足,提供一种基于半结构化自然语言ears需求模板的扩展方法,该方法能够处理更多不同类型的需求,特别是非功能需求。通用性强,适用范围广。5.本技术实施例提供以下技术方案:一种基于半结构化自然语言ears需求模板的扩展方法,包括如下步骤:6.对半结构化自然语言ears进行扩展,并命名为ears_nfr,得到半结构化自然语言ears_nfr需求模板;7.构建所述半结构化自然语言ears_nfr需求模板的框架;8.对输入所述框架中的自然语言需求进行检查并修改,使该自然语言需求符合所述半结构化自然语言ears_nfr需求模板。9.进一步地,使用xtext构建所述半结构化自然语言ears_nfr需求模板的框架。10.进一步地,所述半结构化自然语言ears_nfr需求模板描述的需求包括:无所不在需求、事件驱动需求、不想要的行为需求、状态驱动需求、可选的特性需求、复杂需求和并行事件需求。11.进一步地,所述的使用xtext构建所述半结构化自然语言ears_nfr需求模板的框架的过程包括:12.按照所述半结构化自然语言ears_nfr需求模板,在xtext工具中用xtextgrammerlanguage进行描述,自动生成所述半结构化自然语言ears_nfr需求模板的框架xtextartifacts。13.进一步地,所述的对输入的自然语言需求进行检查并修改的过程具体包括:14.检查输入的自然语言需求是否符合所述半结构化自然语言ears_nfr需求模板,若不符合,则对不符合所述半结构化自然语言ears_nfr需求模板的自然语言需求进行错误标记,用户根据错误标记修改需求语句,直至该自然语言需求符合所述半结构化自然语言ears_nfr需求模板。15.进一步地,所述的检查输入的自然语言需求是否符合所述半结构化自然语言ears_nfr需求模板的过程中,对输入的自然语言需求中的语法进行突出显示、对需求的关键字进行颜色标注。16.与现有技术相比,本发明实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:本发明实施例能够处理更多不同类型的需求,特别是非功能需求,通用性强,适用范围广。附图说明17.为了更清楚地说明本技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。18.图1是本发明实施例的方法流程示意图;19.图2是本发明实施例中使用xtext工具对ears_nfr语法描述的部分示意图;20.图3是本发明实施例的装置示意图。具体实施方式21.下面结合附图对本技术实施例进行详细描述。22.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。23.如图1所示,本发明实施例提供了一种车辆识别码的识别方法,该方法主要是对半结构化自然语言ears进行扩展,并命名为ears_nfr,得到半结构化自然语言ears_nfr需求模板;使用xtext构建所述半结构化自然语言ears_nfr需求模板的框架;对输入所述框架中的自然语言需求进行检查并修改,使该自然语言需求符合所述半结构化自然语言ears_nfr需求模板。24.ears需求主要是针对系统本身而言的需求描述,比较简单,易用,主要用在飞机发动机需求规范文档。而有些需求需要人机之间的交互,对性能、速度等方面有一定的要求,因此通过本发明实施例对半结构化自然语言ears进行扩展,并命名为ears_nfr,在ears的基础上,增加和细分需求内容,以满足通用性需求。25.xtext是一个用于开发编程语言和领域特定语言(dsl)的框架。该框架允许定义语言的语法,xtext包含一个语言基础设施,还可以得到一个解析器、编译器,相当于一个完整的基于eclipse的集成开发环境。preconditions》,《ifpreconditions》,the《system/entityname》shall/can/must《system/entityresponse》《detailsfortheresponse》;44.c)在某种特定状态下,触发某个事件时,系统/实体响应,用while...,when...表示,模板形式为:45.《whileinaspecificstate》,《whenpreconditions》,the《system/entityname》shall/can/must《system/entityresponse》《detailsfortheresponse》;46.(8)并行事件需求:事件的响应之间用and/or连接,模板形式为:《optionalpreconditions》《optionaltrigger》the《system/entityname》shallresponse1and/orresponse2.或者《optionalpreconditions》《optionaltrigger》the《system/entityname》shall《functionalitys》:《functionality1》and《functionality2》,47.例如:thedbmsshalllocatedwiththeproductonthesamemachineorlocatedonadifferentmachineonthecomputernetwork.48.thedisplayshallhavetworegions:left2/3ofthedisplayisgraphicalandright1/3ofthedisplayisadatatable;49.其中系统响应的细节描述具体包括:50.a)描述非功能需求如安全性和可行性时,描述表示两者之间的范围,如需要限定系统响应的时间段范围,通常用between...and...表示,例如:thesystemshallbeavailableforusebetweenthehoursof8amand6pm;51.b)描述非功能需求如性能需求时,描述频率用every后跟时间表示,描述速率用within后跟时间或nomorethan,atleast,atmost后跟时间表示,例如:thesystemshallrefreshthedisplayevery60seconds.therecycledpartsauditreportshallbereturnedtotheuserwithin10seconds;52.c)与外部环境交互时。描述通过某种方法或途径去完成系统的响应,或者系统/实体的响应活动由某人执行,由关键字by表示,例如:thefinalversionofthesystemshallsuccessfullypassindependentauditperformedbyacertifiedauditor;53.d)描述数据或事件的来源,在from后加具体来源,例如:thesystemshalldisplaydatafromthesyncmatrix1.0andexercisemanagementtool1.0applications;另外还有关键字in,under,on来描述与外部连接的交互。54.e)描述目的时,用to/inorderto/sothat表示,例如wherebeneficiaryisasmoker,thecheckingofunderwritingshallinvokeerrorhandlertosetahighvaluepremium。55.f)描述一些系统或其他实体的多个行为有先后次序执行的需求,即一个时间完成后,才能执行另一事件,由关键字before,after表示,例如:“allusersshallreceivetrainingbeforethesystemisdeployed.”。56.步骤102、使用xtext构建所述半结构化自然语言ears_nfr需求模板的框架。如图2所示,包括以下过程:57.1.1、model为dsl模型的根节点,也是解析器的起始位置,包含了若干个描述需求的语句reqdes;58.1.2、需求语句reqdes是没有前置条件的需求语句unconrequirement和有前置条件的需求语句conrequirement;59.1.3、没有前置条件的需求语句unconrequirement的模板,包括:60.1.3.1、需求名requirementname和无前置条件的需求语句,中间用“:”隔开;61.1.3.2、无前置条件的需求语句需求语句结构:系统或实体的名称sysorentity+情态动词modalvp+系统的响应response+响应的细节detailsforresponse(可选);62.1.4、有前置条件的需求语句conrequirement的模板,包括:63.1.4.1、需求名requirementname和有前置条件的需求语句,中间用“:”隔开;64.1.4.2、有前置条件的需求语句需求语句结构:前置条件condition+系统或实体的名称sysname+情态动词modalvp+系统的响应response+响应的细节detailsforresponse(可选);65.1.5、modalvp有3种“shall”、“can”和“must”,并表示成关键字;66.1.6、前置条件有4种conwhen、conwhile、conwhere和conif;67.1.7、表示事件驱动前置条件conwhen,以“when/when”为关键字,后跟可选的条件和触发事件的触发器pretrigger;68.1.8、表示不想要行为发生的前置条件conif,以“if/if...,then”为关键字,中间是意外行为,包括故障、干扰、与预期用户行为的偏差以及交互系统的任何意外行为,触发pretrigger系统的响应;69.1.9、表示状态驱动前置条件conwhile,以“while/while/during/during”为关键字,后跟处于某种状态state;70.1.10、表示状态驱动前置条件conwhere,以“where/where”为关键字,后跟包含特定功能feature;71.1.11、系统响应的细节detailsforresponse,包括有两种parallelrequirements和details,其中parallelrequirements描述同一system/entityname具有并行功能,用关键字and/or连接,details细化系统的响应,一般形式的介词,后跟描述时间、人物、事件的词;72.2、右键运行生成xtextartifacts。73.步骤103、对输入所述框架中的自然语言需求进行检查并修改,使该自然语言需求符合所述半结构化自然语言ears_nfr需求模板。74.对输入的自然语言需求检查是否符合所述半结构化自然语言ears_nfr需求模板,即对输入的需求语句进行语法突出显示、对需求元素进行着色,比如关键字用特殊颜色标注,对不符合所述半结构化自然语言ears_nfr需求模板的需求语句错误标记,内容辅助功能,对输入的自然语言需求描述检查是否符合ears_nfr模板,具体包括如下过程:75.(1)检查输入的自然语言需求描述是否符合ears_nfr模板;76.(2)对需求的关键字进行颜色标注,对不符合ears_nfr模板的需求进行错误提示,用户根据错误提示修改需求语句,直到需求符合ears_nfr模板。77.半结构化自然语言ears需求模板与半结构化自然语言ears_nfr需求模板所描述的需求对比如表1所示。78.表1:[0079][0080]如图3所示,本发明实施例还提供了基于半结构化自然语言ears需求模板的扩展装置200,包括:需求模板生成模块201、框架构建模块202和判断模块203。需求模板生成模块201与框架构建模块202通信连接,需求模板生成模块201用于对半结构化自然语言ears进行扩展,并命名为ears_nfr,得到半结构化自然语言ears_nfr需求模板;框架构建模块202,用于使用xtext构建所述半结构化自然语言ears_nfr需求模板的框架;框架构建模块202与判断模块203通信连接,判断模块203用于用于对输入所述框架中的自然语言需求进行检查并修改,使该自然语言需求符合所述半结构化自然语言ears_nfr需求模板。[0081]本发明实施例的基于半结构化自然语言ears需求模板的扩展装置200在半结构化自然语言ears基础上,做了进一步扩展,为了能够处理更多不同类型的需求,即既能描述功能的需求也能描述非功能的需求,更加通用,用xtext构建了半结构化语言模型框架。[0082]本发明实施例还提供一种电子设备。本实施例的电子设备可以是服务器。本发明实施例提供的电子设备可以执行基于半结构化自然语言ears需求模板的扩展方法的处理流程。[0083]另外,本发明实施例还提供一种机器可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现上述实施例所述的基于半结构化自然语言ears需求模板的扩展方法。[0084]在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。[0085]另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元模块的形式实现。[0086]上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0087]本领域技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。[0088]以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本
技术领域
:的技术人员在本技术揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1