国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

目標(biāo)模型中目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn)

2015-04-10 05:09何成萬葉水琴
關(guān)鍵詞:機(jī)票規(guī)則自動(dòng)

何成萬,葉水琴

1.智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室(武漢工程大學(xué)),湖北 武漢 430205;2.武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430205

目標(biāo)模型中目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn)

何成萬1,2,葉水琴1,2

1.智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室(武漢工程大學(xué)),湖北 武漢 430205;2.武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北 武漢 430205

為了發(fā)現(xiàn)需求工程中層次目標(biāo)模型的目標(biāo)關(guān)系,提出了一種利用XML文件存儲(chǔ)目標(biāo)模型的目標(biāo)關(guān)系發(fā)現(xiàn)方法.首先從軟件系統(tǒng)需求文檔中提取目標(biāo),使用AND\OR樹對(duì)目標(biāo)進(jìn)行分解,根據(jù)目標(biāo)之間的關(guān)系建立層次目標(biāo)模型,將建立好的目標(biāo)模型存儲(chǔ)為XML文件;然后按照規(guī)則文件規(guī)范給出目標(biāo)關(guān)系規(guī)則文件,使用轉(zhuǎn)換程序?qū)⒁?guī)則文件自動(dòng)生成目標(biāo)關(guān)系查詢文件;最后在XML開發(fā)工具中運(yùn)行查詢文件即可得到目標(biāo)關(guān)系查詢結(jié)果.通過實(shí)例機(jī)票預(yù)訂管理系統(tǒng)詳細(xì)的描述了目標(biāo)發(fā)現(xiàn)方法的過程,在Altova XMLSpy開發(fā)環(huán)境中給出了父目標(biāo)和非功能目標(biāo)的查詢實(shí)現(xiàn).實(shí)驗(yàn)結(jié)果表明將層次目標(biāo)模型保存在XML文件中有利于目標(biāo)模型中信息的提取,使用XQuery能實(shí)現(xiàn)對(duì)目標(biāo)模型XML文件中目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn).

目標(biāo)模型;規(guī)則;目標(biāo)關(guān)系

0 引言

面向目標(biāo)的需求分析方法是需求獲取和組織的重要方法之一.在面向目標(biāo)的需求分析方法中,使用目標(biāo)來判斷系統(tǒng)需求是否完整[1].如果需求描述能滿足目標(biāo),則說明該需求是完整,否則,需求不是完整的.在需求工程領(lǐng)域,有很多面向目標(biāo)的分析方法.最常見的兩個(gè)目標(biāo)分析方法是KAOS方法[2]和I*框架[3].除了這兩個(gè)方法,近年來出現(xiàn)了GONFR[4],Goal Process Requirement Net框架[5],Hierarchical Goal Model[6]等目標(biāo)方法.這些目標(biāo)方法首先從需求文檔中提取出初始目標(biāo),然后對(duì)初始目標(biāo)進(jìn)行細(xì)化和抽象,最后構(gòu)建成目標(biāo)模型.隨著面向目標(biāo)需求分析方法的發(fā)展,面向目標(biāo)的需求分析方法越來越被重視.為了在需求的后續(xù)階段更方便的使用目標(biāo)模型,如何存儲(chǔ)目標(biāo)模型和獲取目標(biāo)模型中的目標(biāo)關(guān)系成為關(guān)鍵問題.

EXtensible Markup Language(XML)是一套定義語義標(biāo)記的規(guī)范,可以定義與特定領(lǐng)域有關(guān)的結(jié)構(gòu)化標(biāo)記[7].XML Schema是一種定義和檢驗(yàn)XML文件格式的模式.XPath和XQuery是標(biāo)準(zhǔn)的XML文件查詢語言[8-9],用來描述選擇XML文檔元素的要求.

針對(duì)需求階段的層次目標(biāo)模型存儲(chǔ)及目標(biāo)關(guān)系發(fā)現(xiàn)問題,本文在分析目標(biāo)模型[6,10]的基礎(chǔ)上,使用XML文件存儲(chǔ)需求階段的目標(biāo)模型,實(shí)現(xiàn)了目標(biāo)模型中目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn).

1 目標(biāo)模型

文獻(xiàn)[6]提出了一種層次目標(biāo)模型,并給出了目標(biāo)模型以及其形式化定義,該目標(biāo)模型的最大特點(diǎn)是層次性,如圖1所示[6].在該目標(biāo)模型圖中,功能性目標(biāo)對(duì)應(yīng)需求中的功能需求,包括業(yè)務(wù)目標(biāo)、用戶目標(biāo)和原子目標(biāo).最高層次的目標(biāo)稱為業(yè)務(wù)目標(biāo),用六邊形表示,最低層的目標(biāo)稱為原子目標(biāo),即不可再分解的目標(biāo),用矩形表示,中間層的目標(biāo)稱為用戶目標(biāo),用圓角矩形表示.軟目標(biāo)對(duì)應(yīng)的是非功能需求,用橢圓形表示.

目標(biāo)模型呈現(xiàn)出來的是一個(gè)層次形狀的目標(biāo)關(guān)系圖,為了方便后面對(duì)目標(biāo)模型的處理,將目標(biāo)模型存儲(chǔ)為一定形式的文件是有必要的.XML是一套定義語義標(biāo)記的規(guī)范,也是一種元標(biāo)記語言,可以定義與特定領(lǐng)域有關(guān)的結(jié)構(gòu)化標(biāo)記.目標(biāo)模型的最大特點(diǎn)是層次性,樹結(jié)構(gòu)的XML文檔也是樹型層次結(jié)構(gòu),使用XML文件存儲(chǔ)目標(biāo)模型,目標(biāo)模型中的層次關(guān)系依然清晰可見.XML支持自定義標(biāo)簽,這一點(diǎn)使得XML文件可以準(zhǔn)確的描述目標(biāo)模型的特性.除此之外,樹結(jié)構(gòu)的XML文檔的查詢使用XPath和XQuery很容易實(shí)現(xiàn),即提取目標(biāo)模型中的信息很方便.因此,使用XML文件存儲(chǔ)目標(biāo)模型是一種比較好的方式.

圖1 目標(biāo)模型Fig.1 Goal model

將目標(biāo)模型存儲(chǔ)至XML文件中,其映射關(guān)系如表1所示.

表1 目標(biāo)模型到XML文件的映射Table 1 Map goal model to XML file

使用XML文件存儲(chǔ)目標(biāo)模型,需要先定義目標(biāo)模型的XML Schema.在XML Schema文件中,定義了目標(biāo)元素,該目標(biāo)元素有目標(biāo)分解Decompose、目標(biāo)層次GoalLevel和是否與軟目標(biāo)有關(guān)聯(lián)LinkNFR3個(gè)屬性,包含目標(biāo)名稱和目標(biāo)2個(gè)子元素.Decompose屬性用來表示目標(biāo)的分解方式,GoalLevel屬性用來表示目標(biāo)的層次,LinkNFR屬性表示目標(biāo)是否與軟目標(biāo)(SoftGoal)有鏈接.其中目標(biāo)分解Decompose、目標(biāo)層次GoalLevel兩個(gè)屬性是必選的,LinkNFR屬性是可選的.子元素目標(biāo)名稱用來顯示目標(biāo)名,子元素目標(biāo)用來表示當(dāng)前目標(biāo)包含的子目標(biāo).

2 目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn)

目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn)方法過程如圖2所示.開發(fā)人員首先要為系統(tǒng)需求建立目標(biāo)模型,然后將建立好的目標(biāo)模型存儲(chǔ)為XML文件,按照給出目標(biāo)關(guān)系的查詢規(guī)則文件使用轉(zhuǎn)換程序自動(dòng)生成XQuery查詢程序,通過該查詢文件對(duì)XML目標(biāo)模型進(jìn)行信息處理,得到目標(biāo)關(guān)系查詢結(jié)果,實(shí)現(xiàn)目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn).

圖2 目標(biāo)關(guān)系的發(fā)現(xiàn)過程Fig.2 The process of discovery of goal relation

其中,查詢規(guī)則文件goalquery.rules的格式定義如下:

為了避免重復(fù)的編寫目標(biāo)查詢文件,給出了查詢文件的自動(dòng)生成算法.根據(jù)規(guī)則文件生成目標(biāo)查詢文件,其過程算法描述如下:

本文使用Java語言實(shí)現(xiàn)了該算法,通過讀取規(guī)則文件中的目標(biāo)模型和規(guī)則信息,和查詢文件框架組合成完整的查詢文件.

表2給出了幾種常見目標(biāo)關(guān)系.

表2 目標(biāo)關(guān)系Table 2 Goal relation

Altova XMLSpy是一個(gè)XML編輯工具[11],使用它可以對(duì)XML及其相關(guān)文件進(jìn)行編輯、調(diào)試和運(yùn)行.根據(jù)規(guī)則文件生成的關(guān)系查詢文件可以直接在Altova XMLSpy中運(yùn)行,并得出結(jié)果.

3 實(shí)例應(yīng)用

通過機(jī)票預(yù)訂管理系統(tǒng)描述上述方法的應(yīng)用.該系統(tǒng)通過機(jī)票預(yù)訂服務(wù)商為用戶提供機(jī)票查詢和預(yù)訂服務(wù)[12].功能需求包括:支持客戶查詢機(jī)票、訂票與退票;實(shí)現(xiàn)客戶積分管理;機(jī)票銷售的統(tǒng)計(jì)分析報(bào)表;自動(dòng)完成與航空公司及銀行間的清算;軟目標(biāo)主要包括:審計(jì)、安全性、易用性與可靠性.

3.1 目標(biāo)模型的建立與存儲(chǔ)

Altova XMLSpy是一個(gè)英文的XML集成開發(fā)工具,為了避免出現(xiàn)字符編碼的問題,使用英文來來描述機(jī)票預(yù)訂管理系統(tǒng)目標(biāo)模型.

根據(jù)機(jī)票預(yù)訂管理系統(tǒng)需求描述,提取出初步目標(biāo),包括功能性目標(biāo)與非功能性目標(biāo).功能性目標(biāo)有:機(jī)票管理,銀行清算,航空公司清算,退票,積分管理,機(jī)票查詢,訂票,銷售報(bào)表統(tǒng)計(jì);非功能性目標(biāo)有:審計(jì),安全性,易用性,可靠性.

然后,對(duì)初步目標(biāo)進(jìn)行抽象或者分解,確定目標(biāo)之間的關(guān)系,根據(jù)目標(biāo)之間的關(guān)系建立機(jī)票預(yù)訂管理系統(tǒng)目標(biāo)模型.建立的目標(biāo)模型如圖3所示[6].

使用XML文件存儲(chǔ)目標(biāo)模型時(shí),機(jī)票管理作為XML文件根元素,依次存儲(chǔ)每個(gè)目標(biāo).每個(gè)目標(biāo)Goal的信息包括目標(biāo)名稱,目標(biāo)層次,分解關(guān)系,非功能目標(biāo)的關(guān)聯(lián)和子目標(biāo).例如銀行清算Bank account settled目標(biāo)的XML標(biāo)記描述,從中可以知道銀行清算Bank account settled是一個(gè)用戶目標(biāo),其分解屬性為AND,子目標(biāo)有發(fā)送銀行請(qǐng)求Request sent to bank、銀行確定支付金額Count settle amount of bank、轉(zhuǎn)賬Transfer、異常提示Exception prompted和日志記錄Log.同銀行清算Bank account settled目標(biāo)一樣,其子目標(biāo)也有完整的信息描述.

3.2 實(shí)驗(yàn)結(jié)果

上一節(jié)中給出了幾種常見的目標(biāo)關(guān)系,事實(shí)上目標(biāo)之間有很多有意義的關(guān)系,如相同語義的目標(biāo),這些目標(biāo)是可以相互替換的.下面介紹父目標(biāo)和非功能目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn).

(1)父目標(biāo)

查詢目標(biāo)模型文件GoalModel.xml中目標(biāo)Log的所有父目標(biāo).其規(guī)則文件goal.rules描述如下:

使用規(guī)則轉(zhuǎn)換程序把goal.rules規(guī)則文件轉(zhuǎn)換成goal.xquery文件,生成的代碼如下所示:

圖3 機(jī)票預(yù)訂管理系統(tǒng)Fig.3 The ticket booking management system

在Altova XMLSpy中運(yùn)行g(shù)oal.xquery文件,得到的結(jié)果有Bank account settled、Airline company account settled、Unsubscribe和Book.

(2)非功能目標(biāo)

查詢目標(biāo)模型文件GoalModel.xml中的所有非功能目標(biāo).其規(guī)則文件goal.rules描述如下:

使用規(guī)則轉(zhuǎn)換程序把goal.rules規(guī)則文件轉(zhuǎn)換成goal.xquery文件,運(yùn)行g(shù)oal.xquery文件,得到的結(jié)果有Exception prompted、Log、Login和Query results showed四個(gè).

4 結(jié)語

通過對(duì)需求階段的目標(biāo)模型的存儲(chǔ)和目標(biāo)之間的關(guān)系進(jìn)行研究和實(shí)驗(yàn),結(jié)果表明:使用XML文件存儲(chǔ)目標(biāo)模型能體現(xiàn)目標(biāo)之間的層次關(guān)系,存儲(chǔ)為XML文件的目標(biāo)模型提取信息很方便.使用XQuery能實(shí)現(xiàn)目標(biāo)模型中目標(biāo)關(guān)系的自動(dòng)發(fā)現(xiàn).

現(xiàn)階段目標(biāo)模型到XML文件的轉(zhuǎn)換是人工完成的,如果模型比較復(fù)雜,這將很耗費(fèi)時(shí)間.目標(biāo)模型到XML文件的自動(dòng)轉(zhuǎn)換將是以后的研究方向.

致謝

感謝國家自然科學(xué)基金委員會(huì)、湖北省教育廳對(duì)本研究的支持和資助.

[1]王守信,張莉,王帥,等.一種目標(biāo)可滿足性定性、定量表示與推理方法[J].軟件學(xué)報(bào),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的橫切關(guān)注點(diǎn)識(shí)別方法[J].武漢工程大學(xué)學(xué)報(bào),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*的面向目標(biāo)的需求分析方法的研究[D].合肥:合肥工業(yè)大學(xué)計(jì)算機(jī)與信息學(xué)院,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].北京信息科技大學(xué)學(xué)報(bào),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]何成萬,焦素廷,李?。С謪f(xié)同工作的加解密系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].武漢工程大學(xué)學(xué)報(bào),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]譚慶平,毛新軍,董威.軟件工程實(shí)踐教程[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

國家自然科學(xué)基金項(xiàng)目(61272115,60873024);湖北省教育廳重點(diǎn)研究項(xiàng)目(D20121508);湖北省教育廳優(yōu)秀中青年團(tuán)隊(duì)項(xiàng)目(T201206)

何成萬(1967-),男,湖北荊門人,教授,博士.研究方向:軟件工程.

猜你喜歡
機(jī)票規(guī)則自動(dòng)
撐竿跳規(guī)則的制定
數(shù)獨(dú)的規(guī)則和演變
自動(dòng)捕盜機(jī)
讓規(guī)則不規(guī)則
讓小鴨子自動(dòng)轉(zhuǎn)身
自動(dòng)搖擺的“蹺蹺板”
TPP反腐敗規(guī)則對(duì)我國的啟示
關(guān)于自動(dòng)駕駛
虛擬體驗(yàn)式營(yíng)銷對(duì)顧客在線行為的作用機(jī)制--以線上機(jī)票銷售為例
Unit?。保抵仉y點(diǎn)解析
滨州市| 吉木萨尔县| 汶上县| 抚远县| 和政县| 东兰县| 霍山县| 罗定市| 时尚| 乳山市| 乌恰县| 辉南县| 盱眙县| 五莲县| 莆田市| 黄梅县| 大余县| 平阳县| 青龙| 永平县| 辛集市| 乌什县| 揭阳市| 安溪县| 从江县| 虹口区| 江安县| 榆社县| 蓝山县| 洮南市| 定安县| 育儿| 乌审旗| 平果县| 南华县| 和政县| 宁城县| 新民市| 民和| 桃园市| 长宁县|