目标模型中目标关系的自动发现

2015-04-10 05:09何成万叶水琴
武汉工程大学学报 2015年4期
关键词:机票规则自动

何成万,叶水琴

1.智能机器人湖北省重点实验室(武汉工程大学),湖北 武汉 430205;2.武汉工程大学计算机科学与工程学院,湖北 武汉 430205

目标模型中目标关系的自动发现

何成万1,2,叶水琴1,2

1.智能机器人湖北省重点实验室(武汉工程大学),湖北 武汉 430205;2.武汉工程大学计算机科学与工程学院,湖北 武汉 430205

为了发现需求工程中层次目标模型的目标关系,提出了一种利用XML文件存储目标模型的目标关系发现方法.首先从软件系统需求文档中提取目标,使用AND\OR树对目标进行分解,根据目标之间的关系建立层次目标模型,将建立好的目标模型存储为XML文件;然后按照规则文件规范给出目标关系规则文件,使用转换程序将规则文件自动生成目标关系查询文件;最后在XML开发工具中运行查询文件即可得到目标关系查询结果.通过实例机票预订管理系统详细的描述了目标发现方法的过程,在Altova XMLSpy开发环境中给出了父目标和非功能目标的查询实现.实验结果表明将层次目标模型保存在XML文件中有利于目标模型中信息的提取,使用XQuery能实现对目标模型XML文件中目标关系的自动发现.

目标模型;规则;目标关系

0 引言

面向目标的需求分析方法是需求获取和组织的重要方法之一.在面向目标的需求分析方法中,使用目标来判断系统需求是否完整[1].如果需求描述能满足目标,则说明该需求是完整,否则,需求不是完整的.在需求工程领域,有很多面向目标的分析方法.最常见的两个目标分析方法是KAOS方法[2]和I*框架[3].除了这两个方法,近年来出现了GONFR[4],Goal Process Requirement Net框架[5],Hierarchical Goal Model[6]等目标方法.这些目标方法首先从需求文档中提取出初始目标,然后对初始目标进行细化和抽象,最后构建成目标模型.随着面向目标需求分析方法的发展,面向目标的需求分析方法越来越被重视.为了在需求的后续阶段更方便的使用目标模型,如何存储目标模型和获取目标模型中的目标关系成为关键问题.

EXtensible Markup Language(XML)是一套定义语义标记的规范,可以定义与特定领域有关的结构化标记[7].XML Schema是一种定义和检验XML文件格式的模式.XPath和XQuery是标准的XML文件查询语言[8-9],用来描述选择XML文档元素的要求.

针对需求阶段的层次目标模型存储及目标关系发现问题,本文在分析目标模型[6,10]的基础上,使用XML文件存储需求阶段的目标模型,实现了目标模型中目标关系的自动发现.

1 目标模型

文献[6]提出了一种层次目标模型,并给出了目标模型以及其形式化定义,该目标模型的最大特点是层次性,如图1所示[6].在该目标模型图中,功能性目标对应需求中的功能需求,包括业务目标、用户目标和原子目标.最高层次的目标称为业务目标,用六边形表示,最低层的目标称为原子目标,即不可再分解的目标,用矩形表示,中间层的目标称为用户目标,用圆角矩形表示.软目标对应的是非功能需求,用椭圆形表示.

目标模型呈现出来的是一个层次形状的目标关系图,为了方便后面对目标模型的处理,将目标模型存储为一定形式的文件是有必要的.XML是一套定义语义标记的规范,也是一种元标记语言,可以定义与特定领域有关的结构化标记.目标模型的最大特点是层次性,树结构的XML文档也是树型层次结构,使用XML文件存储目标模型,目标模型中的层次关系依然清晰可见.XML支持自定义标签,这一点使得XML文件可以准确的描述目标模型的特性.除此之外,树结构的XML文档的查询使用XPath和XQuery很容易实现,即提取目标模型中的信息很方便.因此,使用XML文件存储目标模型是一种比较好的方式.

图1 目标模型Fig.1 Goal model

将目标模型存储至XML文件中,其映射关系如表1所示.

表1 目标模型到XML文件的映射Table 1 Map goal model to XML file

使用XML文件存储目标模型,需要先定义目标模型的XML Schema.在XML Schema文件中,定义了目标元素,该目标元素有目标分解Decompose、目标层次GoalLevel和是否与软目标有关联LinkNFR3个属性,包含目标名称和目标2个子元素.Decompose属性用来表示目标的分解方式,GoalLevel属性用来表示目标的层次,LinkNFR属性表示目标是否与软目标(SoftGoal)有链接.其中目标分解Decompose、目标层次GoalLevel两个属性是必选的,LinkNFR属性是可选的.子元素目标名称用来显示目标名,子元素目标用来表示当前目标包含的子目标.

2 目标关系的自动发现

目标关系的自动发现方法过程如图2所示.开发人员首先要为系统需求建立目标模型,然后将建立好的目标模型存储为XML文件,按照给出目标关系的查询规则文件使用转换程序自动生成XQuery查询程序,通过该查询文件对XML目标模型进行信息处理,得到目标关系查询结果,实现目标关系的自动发现.

图2 目标关系的发现过程Fig.2 The process of discovery of goal relation

其中,查询规则文件goalquery.rules的格式定义如下:

为了避免重复的编写目标查询文件,给出了查询文件的自动生成算法.根据规则文件生成目标查询文件,其过程算法描述如下:

本文使用Java语言实现了该算法,通过读取规则文件中的目标模型和规则信息,和查询文件框架组合成完整的查询文件.

表2给出了几种常见目标关系.

表2 目标关系Table 2 Goal relation

Altova XMLSpy是一个XML编辑工具[11],使用它可以对XML及其相关文件进行编辑、调试和运行.根据规则文件生成的关系查询文件可以直接在Altova XMLSpy中运行,并得出结果.

3 实例应用

通过机票预订管理系统描述上述方法的应用.该系统通过机票预订服务商为用户提供机票查询和预订服务[12].功能需求包括:支持客户查询机票、订票与退票;实现客户积分管理;机票销售的统计分析报表;自动完成与航空公司及银行间的清算;软目标主要包括:审计、安全性、易用性与可靠性.

3.1 目标模型的建立与存储

Altova XMLSpy是一个英文的XML集成开发工具,为了避免出现字符编码的问题,使用英文来来描述机票预订管理系统目标模型.

根据机票预订管理系统需求描述,提取出初步目标,包括功能性目标与非功能性目标.功能性目标有:机票管理,银行清算,航空公司清算,退票,积分管理,机票查询,订票,销售报表统计;非功能性目标有:审计,安全性,易用性,可靠性.

然后,对初步目标进行抽象或者分解,确定目标之间的关系,根据目标之间的关系建立机票预订管理系统目标模型.建立的目标模型如图3所示[6].

使用XML文件存储目标模型时,机票管理作为XML文件根元素,依次存储每个目标.每个目标Goal的信息包括目标名称,目标层次,分解关系,非功能目标的关联和子目标.例如银行清算Bank account settled目标的XML标记描述,从中可以知道银行清算Bank account settled是一个用户目标,其分解属性为AND,子目标有发送银行请求Request sent to bank、银行确定支付金额Count settle amount of bank、转账Transfer、异常提示Exception prompted和日志记录Log.同银行清算Bank account settled目标一样,其子目标也有完整的信息描述.

3.2 实验结果

上一节中给出了几种常见的目标关系,事实上目标之间有很多有意义的关系,如相同语义的目标,这些目标是可以相互替换的.下面介绍父目标和非功能目标关系的自动发现.

(1)父目标

查询目标模型文件GoalModel.xml中目标Log的所有父目标.其规则文件goal.rules描述如下:

使用规则转换程序把goal.rules规则文件转换成goal.xquery文件,生成的代码如下所示:

图3 机票预订管理系统Fig.3 The ticket booking management system

在Altova XMLSpy中运行goal.xquery文件,得到的结果有Bank account settled、Airline company account settled、Unsubscribe和Book.

(2)非功能目标

查询目标模型文件GoalModel.xml中的所有非功能目标.其规则文件goal.rules描述如下:

使用规则转换程序把goal.rules规则文件转换成goal.xquery文件,运行goal.xquery文件,得到的结果有Exception prompted、Log、Login和Query results showed四个.

4 结语

通过对需求阶段的目标模型的存储和目标之间的关系进行研究和实验,结果表明:使用XML文件存储目标模型能体现目标之间的层次关系,存储为XML文件的目标模型提取信息很方便.使用XQuery能实现目标模型中目标关系的自动发现.

现阶段目标模型到XML文件的转换是人工完成的,如果模型比较复杂,这将很耗费时间.目标模型到XML文件的自动转换将是以后的研究方向.

致谢

感谢国家自然科学基金委员会、湖北省教育厅对本研究的支持和资助.

[1]王守信,张莉,王帅,等.一种目标可满足性定性、定量表示与推理方法[J].软件学报,2011,22(4):593-608.

WANG Shou-xin,Zhang Li,WANG Shui,et al.Quali-tative and quantitative representing and reasoning for goal satisfiability[J].Journal of Software,2011,22(4):593-608

[2]涂成茂,何成万.一种基于KAOS和XML的横切关注点识别方法[J].武汉工程大学学报,2011,33(9):101-104.

TU Cheng-mao,HE Cheng-wan.Method based on KAOS and XML for identification of crosscutting concern[J].Journal of Wuhan Institute of technology,2011,33(9):101-104.(in Chinese)

[3]管彪.基于i*的面向目标的需求分析方法的研究[D].合肥:合肥工业大学计算机与信息学院,2005.

GUAN Biao.Research on goal-rriented requirement analysis methodology based ON i*[D].Hefei:Hefei University of Technology,2005.(in Chinese)

[4]郑丽伟.NFROnto:一种非功能需求本体元模型[J].北京信息科技大学学报,2012,27(6):78-83.

ZHENG Li-wei.NFROnto:An ontology meta model of software non-functional requirement[J].Journal of Beijing Information Science and Technology University,2012,27(6):78-83.(in Chinese)

[5]HE C W,TU C M.GPRN:a hierarchical framework for aspect-oriented requirement modeling[J].International Journal of Digital Content Technology and its Applications,2011,5(2):165-172.

[6]HE C W,TU C M.AspectQuery:a method for identification of crosscutting concerns in the requirement phase[J].The Institute of Electronics,Information and Communication Engineers,2013,E96-d(4):897-905.

[7]何成万,焦素廷,李健.支持协同工作的加解密系统设计与实现[J].武汉工程大学学报,2009,31(3):74-75.

HE Cheng-wan,JIAO Su-ting,LI Jian.Design and realization of encryption[J].Journal of Wuhan Institute of technology,2009,31(3):74-75.(in Chinese)

[8]ZHANG S Q,LIU S L,GAO B,et al.Research of WebInformationAutomaitcExtractionBasedon XPATH[C]//2011 4th IEEE International Conference on Computer Science and Information Technology, Chengdu:Published by Institute of Electrical and Electronics Engineers Inc,2011:161-164.

[9]JU J J,WEI Y S.An Effective Strategy of XQuery on Relational Database[C]//2011 International Conference on Computer.Electrical,and System Sciences,and Engineering.Wuhan:Published by Institute of Electrical and Electronics Engineers Inc,2011:35-38.

[10]GIL A,ARAUJO J.AspectKAOS:Integrating Early-Aspects into KAOS[C]//Proceedings of the 15th Workshop on Early Aspects,EA'09,Colocated with the 8th International Conference on Aspect-Oriented Software Development.AOSD09Charlottesville:Published by Association for Computing Machinery,2009:31-36.

[11]Altova.XMLSpy[EB/OL].http://www.altova.com/.2015-03-26.(in Chinese)

[12]谭庆平,毛新军,董威.软件工程实践教程[M].北京:高等教育出版社,2009.

TAN Qing-pin,MAO Xin-jun,DONG Wei.Practical tutorial for software engineering[M].Beijing:Higher Education Press,2009.(in Chinese)

Automatic discovery of goal relationship in goal model

HE Cheng-wan1,2,YE Shui-qin1,2
1.Hubei Key Laboratory of Intelligent Robot(Wuhan Institute of Technology),Wuhan 430205,China;2.School of Computer Science and Engineering,Wuhan Institute of Technology,Wuhan 430205,China

To discover the relationship between goals in hierarchical goal model in requirements engineering,a method for discovering goal relationship using XML file to store goal model was proposed.First,the goals were extracted from requirements document of a software system and were decomposed using AND/OR tree;hierarchical goal model was established based on the relation among goals.Second,a rule file of goal relation was given according to the specification of rule file and was transformed into a query file using conversion program.Finally,the query result of goal relation was obtained by running the query file in XML development tool.The process of the proposed method was illustrated by a case study of a ticket booking management system.The query realization of father goal and non-functional was got in Altova XMLSpy development environment.The results indicate that storing goal model into XML file is beneficial to get information in goal model,and using XQuery can realize the discovery of goal relationship in goal model.

goal model;XML;rule file;goal relationship

TP311.5

A

10.3969/j.issn.1674-2869.2015.04.011

1674-2869(2015)04-0051-05

本文编辑:陈小平

2015-03-26

国家自然科学基金项目(61272115,60873024);湖北省教育厅重点研究项目(D20121508);湖北省教育厅优秀中青年团队项目(T201206)

何成万(1967-),男,湖北荆门人,教授,博士.研究方向:软件工程.

猜你喜欢
机票规则自动
撑竿跳规则的制定
数独的规则和演变
自动捕盗机
让规则不规则
让小鸭子自动转身
自动摇摆的“跷跷板”
TPP反腐败规则对我国的启示
关于自动驾驶
虚拟体验式营销对顾客在线行为的作用机制--以线上机票销售为例
Unit 15重难点解析