
本發(fā)明涉及rucm建模
技術(shù)領(lǐng)域:
,尤其涉及一種基于本體的rucm模型一致性檢查方法。
背景技術(shù):
:大多數(shù)軟件需求規(guī)格說明是通過自然語言撰寫的。在軟件需求規(guī)格說明文檔中,大部分領(lǐng)域概念是通過自然語言定義和描述的,軟件需求的具體需求項也是通過自然語言撰寫的。因此,在這些需求描述中,往往存在模棱兩可或含糊不清的表述,這種不確定的表述往往在不同項目中會出現(xiàn)分歧和誤解,很有可能導(dǎo)致軟件項目的失敗。在撰寫軟件需求規(guī)格說明時,除了使用傳統(tǒng)的純自然語言描述的形式以外,一種基于規(guī)則約束自然語言的結(jié)構(gòu)化用例描述模板(rucm建模)的方法也被廣泛使用。該方法定義了描述軟件需求用例規(guī)則模板,對特定的規(guī)則描述模板中包含的說明項是自然語言描述的。在rucm(reatrictedusecasemodeling)建模方法中,需求描述采用具有限制的自然語言和用例規(guī)約模板來描述。由于軟件需求分析師在使用rucm建模方法過程中,缺少對軟件需求的領(lǐng)域知識的了解,最后形成的軟件需求規(guī)格說明往往會出現(xiàn)不一致的領(lǐng)域相關(guān)的錯誤。對于同樣的功能,不同的軟件需求分析師,根據(jù)對軟件需求的領(lǐng)域知識的了解的信息不對等和不完備,最終撰寫的軟件需求文檔可能會存在很大的不一致問題。技術(shù)實現(xiàn)要素:鑒于上述的分析,本發(fā)明旨在提供一種基于本體的rucm模型一致性檢查方法,用以解決現(xiàn)有的軟件需求分析師在撰寫軟件需求中存在的需求不一致的問題。所述方法結(jié)合本體模型表達的領(lǐng)域知識,分析包含自然語言描述的需求文本和rucm模型描述的用例需求的軟件需求的一致性、完整性。所述本體是對領(lǐng)域中包含的知識進行特定抽象表達。在計算機科學(xué)研究領(lǐng)域上,所述本體模型是按照領(lǐng)域中的概念、概念間的關(guān)系、概念屬性抽象出現(xiàn)實的模型。本發(fā)明的目的主要是通過以下技術(shù)方案實現(xiàn)的:包括如下步驟:步驟s1、建立用于rcum模型檢驗的本體模型庫;步驟s2、建立步驟s1中的本體模型庫到rucm模型的概念映射關(guān)系,形成關(guān)系映射模板;步驟s3、根據(jù)所述步驟s2建立的映射關(guān)系定義相應(yīng)的一致性檢驗規(guī)則,通過規(guī)則自動檢測rucm需求中描述的不一致,從而形成相應(yīng)的評估報告。所述步驟s1包括如下子步驟:步驟s101、通過分析領(lǐng)域相關(guān)的背景材料,形成抽象的領(lǐng)域概念,構(gòu)建領(lǐng)域相關(guān)的本體概念庫;步驟s102、結(jié)合軟件需求所需要實現(xiàn)的目標軟件系統(tǒng)的領(lǐng)域背景分析核心概念之間的關(guān)系,得到本體關(guān)系庫;步驟s103、根據(jù)領(lǐng)域核心概念之間的關(guān)系,添加領(lǐng)域概念特定屬性得到本體概念屬性庫;步驟s104、根據(jù)上述的本體概念庫、本體關(guān)系庫和本體概念屬性庫,形成本體模型的模板集合,然后將模板集合整合形成用于rucm模型檢驗的本體模型庫即領(lǐng)域本體庫。所述步驟s2包括如下子步驟:步驟s201、確定和標注本體的核心概念屬性;步驟s202、識別和標注軟件需求的概念;步驟s203、在標注好本體的核心概念屬性和軟件需求的概念的基礎(chǔ)上,得到兩者之間的對應(yīng)規(guī)則。所述步驟s3包括如下子步驟:步驟s301、根據(jù)所述步驟s2建立的映射關(guān)系定義相應(yīng)的一致性檢驗規(guī)則;步驟s302、設(shè)計相應(yīng)的分析需求的算法,自動形成相應(yīng)的評估報告。本發(fā)明對傳統(tǒng)的rucm模型進行了擴展。針對本體模型中包含三類元素:概念、概念之間的關(guān)系和概念屬性,分別設(shè)計了擴展支持本體模型檢查的rucm模型,形成ontorucm(ontology-basedrucm)模型。所述ontorucm模型的建模工具框架在基礎(chǔ)層復(fù)用了eclipse集成開發(fā)環(huán)境的三項技術(shù)。第一,框架復(fù)用了eclipse的工作臺,功能包括提供基本圖形界面元素和文件資源管理功能,即workbenchui和workspace兩個eclipse核心模塊;第二,框架復(fù)用了eclipse的插件開發(fā)環(huán)境pde,以實現(xiàn)元模型層面和編輯器層面的動態(tài)擴展功能;第三,框架復(fù)用了eclipse建??蚣躤mf的部分功能,以實現(xiàn)模型文件與其他工具的兼容性。ontorucm模型在擴展層提供相應(yīng)的擴展類庫,用于增加一致性檢查的擴展點。最上層的編輯器層則是使用了編輯器和插件相互獨立的架構(gòu)方式,最終形成ontorucm模型的設(shè)計整體架構(gòu)。本發(fā)明有益效果如下:本發(fā)明通過rucm擴展的用戶定義需求模型到本體的映射關(guān)系的定義,明確了檢驗規(guī)則的相關(guān)重要特性,利用領(lǐng)域知識來檢驗用戶的需求;規(guī)范化rucm軟件需求的一致性和完整性的檢查方法,為軟件需求的一致性檢測手段提供了一個自動化實現(xiàn)的手段。本發(fā)明的其他特征和優(yōu)點將在隨后的說明書中闡述,并且,部分的從說明書中變得顯而易見,或者通過實施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點可通過在所寫的說明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來實現(xiàn)和獲得。附圖說明附圖僅用于示出具體實施例的目的,而并不認為是對本發(fā)明的限制,在整個附圖中,相同的參考符號表示相同的部件。圖1為基于本體的rucm模型一致性檢查過程圖圖2為領(lǐng)域本體庫的建立過程圖圖3為ontorucm需求建模工具架構(gòu)圖圖4為基于本體的rucm模型一致性規(guī)則工具實現(xiàn)方案圖具體實施方式下面結(jié)合附圖來具體描述本發(fā)明的優(yōu)選實施例,其中,附圖構(gòu)成本申請一部分,并與本發(fā)明的實施例一起用于闡釋本發(fā)明的原理。本發(fā)明為了自動化解決目前軟件需求的不一致及軟件需求和領(lǐng)域知識相違背的相關(guān)問題,公開了一種需求模型一致性的檢查方法。所述方法結(jié)合本體模型表達的領(lǐng)域知識,分析包含自然語言描述的需求文本和rucm模型描述的用例需求的軟件需求的一致性、完整性。所述本體是對領(lǐng)域中包含的知識進行特定抽象表達。本實施例提供的一致性檢查方法,如圖1所示,包括如下步驟:步驟s1、建立用于rcum模型檢驗的本體模型庫。所述本體模型庫的具體建立步驟,如圖2所示,包括如下子步驟:步驟s101、通過分析領(lǐng)域相關(guān)的背景材料,形成抽象的領(lǐng)域核心概念,構(gòu)建領(lǐng)域相關(guān)的本體概念庫。通常軟件工程的項目會伴隨著使用大量的特定領(lǐng)域相關(guān)知識和概念。標準的領(lǐng)域材料包括介紹該領(lǐng)域知識的教科書、領(lǐng)域內(nèi)相關(guān)標準文集、規(guī)范等。如:嵌入式操作系統(tǒng)相關(guān)的,需要對操作系統(tǒng)領(lǐng)域的教科書、維基百科以及相關(guān)的標準和規(guī)范進行分析,得出操作系統(tǒng)領(lǐng)域的核心概念,如進程,線程和分區(qū)等。抽象得出的核心概念構(gòu)建領(lǐng)域相關(guān)的本體概念庫。本體概念庫的形成可以采用nlp處理提取概念和手工添加概念的方式。步驟s102、結(jié)合軟件需求所需要實現(xiàn)的目標軟件系統(tǒng)的領(lǐng)域背景分析核心概念之間的關(guān)系,得到本體關(guān)系庫。本體關(guān)系庫描述了領(lǐng)域中核心概念之間相互的依賴關(guān)系。如嵌入式操作系統(tǒng),該領(lǐng)域比較典型的關(guān)系有:函數(shù)之間的使用調(diào)用關(guān)系、進程和操作系統(tǒng)之間的資源關(guān)聯(lián)關(guān)系、內(nèi)核會包含分區(qū),這種“包含”就是內(nèi)核和分區(qū)的關(guān)系等。步驟s103、根據(jù)領(lǐng)域核心概念之間的關(guān)系,添加領(lǐng)域概念特定屬性得到本體概念屬性庫。概念屬性是概念的附加信息,起到對概念的解釋和補充作用,用來為檢驗一致性提供附加的信息和標準。例如,在操作系統(tǒng)領(lǐng)域中,給進程添加“必需”這樣的屬性,表示進程在所有操作系統(tǒng)中都是重要的核心概念。圖形界面并不算操作系統(tǒng)都需要具備的,所以可以將圖形界面添加“非必需”這樣的屬性,表示圖形界面只是操作系統(tǒng)的附屬的核心概念。步驟s104、根據(jù)上述的本體概念庫、本體關(guān)系庫和本體概念屬性庫,形成本體模型的模板集合,然后將模板集合整合形成用于rucm模型檢驗的本體模型庫即領(lǐng)域本體庫。本發(fā)明所使用的表達領(lǐng)域知識的本體模型包含領(lǐng)域概念、領(lǐng)域概念關(guān)系和領(lǐng)域概念屬性這三個部分。根據(jù)本發(fā)明的特點,形成的最終本體庫的需要有建立和表示的方法。本發(fā)明設(shè)計建立的本體概念元素可以使用下表中模板表示。從而形成本體模型的視圖。表1本體元素列舉概念節(jié)點描述領(lǐng)域中的相關(guān)概念概念之間的關(guān)系描述概念之間的關(guān)系概念節(jié)點屬性描述概念節(jié)點的其它屬性,用于軟件需求分析推導(dǎo)步驟s2、建立步驟s1中的本體模型庫到rucm模型的概念映射關(guān)系,形成關(guān)系映射模板。具體包括如下子步驟:步驟s201、確定和標注本體的核心概念屬性。針對領(lǐng)域本體中的全部概念,并不是所有概念都是等價的,在特定的軟件需求中,不同的概念之間需要標注不同的屬性,用于區(qū)分本體中定義的概念在軟件需求概念中的作用。步驟s202、識別和標注軟件需求的概念。一個軟件需求項的rucm用例比較復(fù)雜,不僅包括需求的數(shù)據(jù)流,還包含數(shù)據(jù)處理之間的控制流。所以,采取擴展rucm的語義這種方式,將rucm用例中使用或出現(xiàn)的概念通過擴展的方式標記出來。步驟s203、在標注好本體的核心概念屬性和軟件需求的概念的基礎(chǔ)上,得到兩者之間的對應(yīng)規(guī)則。所述對應(yīng)規(guī)則有下面兩種方式:1.所述本體模型中概念和所述軟件需求的概念用詞完全一致可以判定是同一概念;2.所述本體模型中概念之間關(guān)系和軟件需求中的概念的上下文中動詞多處出現(xiàn)一致可以判定很大幾率上是統(tǒng)計概念,本發(fā)明采用目前常用自然語言分詞的工具來識別。本發(fā)明對傳統(tǒng)的rucm模型進行了擴展。考慮到本體模型中包含三類元素:概念、概念之間的關(guān)系和概念屬性。針對這三類元素分別設(shè)計了擴展支持本體模型檢查的rucm模型,以后稱擴展后的rucm模型為ontorucm(ontology-basedrucm)。所述ontorucm模型中包含對本體中概念識別的支持,針對本體中概念的可以擴展附件模板的附屬模板,模板包含rucm中具體使用的概念的名字、概念的描述、概念的依賴和概念對于本體的節(jié)點引用。針對于本體中的概念的擴展見表2。添加所述ontorucm模板后,可以將rucm模板中使用的領(lǐng)域概念和本體模型關(guān)聯(lián)起來,這樣的軟件需求可以作為本體識別分析的依據(jù)。所述ontorucm模板需要包含對本體中概念之間的關(guān)系識別的支持,需要將概念識別的關(guān)系進行標注。標注好的模板就可以作為本體中關(guān)系的推導(dǎo)的識別依據(jù),結(jié)合表2中的基于本體的rucm擴充視圖ontorucm模板來表示本體中的映射關(guān)系?;诒倔w模型的rucm模型分析的擴展增加了所述ontorucm模型擴展的可用性。表2擴展的ontorucm模板對應(yīng)rucm建模方法已經(jīng)有相關(guān)人員做了具體的研究和工具的實現(xiàn)。本發(fā)明中所提出的ontorucm模型是傳統(tǒng)rucm建模方法的擴展,不僅包括了對于模板的附件擴展,還要求用戶在撰寫rucm需求的同時增加本體概念的標記。這種實際工具編寫根據(jù)圖3中架構(gòu)來實現(xiàn),如圖2所示,ontorucm模型的建模工具框架在基礎(chǔ)層復(fù)用了eclipse集成開發(fā)環(huán)境的三項技術(shù)。第一,框架復(fù)用了eclipse的工作臺,功能包括提供基本圖形界面元素和文件資源管理功能,即workbenchui和workspace兩個eclipse核心模塊;第二,框架復(fù)用了eclipse的插件開發(fā)環(huán)境pde,以實現(xiàn)元模型層面和編輯器層面的動態(tài)擴展功能;第三,框架復(fù)用了eclipse建??蚣躤mf的部分功能,以實現(xiàn)模型文件與其他工具的兼容性。ontorucm模型在擴展層提供相應(yīng)的擴展類庫,用于增加一致性檢查的擴展點。最上層的編輯器層則是使用了編輯器和插件相互獨立的架構(gòu)方式,最終形成ontorucm模型的設(shè)計整體架構(gòu)。步驟s3、根據(jù)所述步驟s2建立的映射關(guān)系定義相應(yīng)的一致性檢驗規(guī)則,通過規(guī)則自動檢測rucm需求中描述的不一致,從而形成相應(yīng)的評估報告。具體包括如下子步驟:步驟s301、根據(jù)所述步驟s2建立的映射關(guān)系定義相應(yīng)的一致性檢驗規(guī)則。本發(fā)明中軟件需求的rucm模型包含了軟件需求中的概念到本體模型的引用,然后使用本體概念到軟件需求的對應(yīng)規(guī)則。這樣的分析規(guī)則主要包含以下的相關(guān)特性的定義:一致性。所述一致性是指在同一領(lǐng)域中,一個概念,或者兩個或多個相同概念術(shù)語不能被混淆使用,如一個概念的標準全稱,及其縮寫,以及多種不同的別名或者譯名不能混淆使用。不相同的概念在使用時引用的關(guān)系必須一致。完整性。所述完整性描述是指領(lǐng)域中的核心概念在軟件需求中是否被完整描述。同時,軟件需求中使用概念同時沒有添加概念的關(guān)系也會被認為不完整?;诒倔w模型分析軟件需求的指標包括需求的一致性和完整性,所述兩項檢驗指標是建立在一致性檢驗規(guī)則和完整性檢驗規(guī)則上的。1.軟件需求一致性規(guī)則軟件需求的一致性描述的是領(lǐng)域中相同概念在軟件需求不能被混淆使用,不相同的概念在使用時引用的關(guān)系必須一致?!癖倔w模型的同一概念,rucm模型在使用時不能出現(xiàn)不一致詞匯●本體模型的概念關(guān)系,rucm模型在使用時不能誤用●rucm模型中對本體模型中同一概念的引用必須完全規(guī)約到一類2.軟件需求完整性規(guī)則本體中描述的領(lǐng)域知識可以將特定領(lǐng)域中的核心概念的全集標注出來。本體模型中的領(lǐng)域概念具有不同的屬性?!駌ucm模型中引用的領(lǐng)域概念,都應(yīng)在領(lǐng)域本體中有定義●本體模型中概念的關(guān)系流,rucm模型中概念在使用時必須要完整引用。由于領(lǐng)域本體是對特定領(lǐng)域的所有核心概念的抽象,而需求信息庫是對系統(tǒng)需求的所表達內(nèi)容的抽象。在所述兩種抽象當中要建立相應(yīng)的分析算法才能檢測出系統(tǒng)需求中的缺陷和不足。分析軟件需求的規(guī)則的原則主要是包含了檢驗需求的一致性和檢驗需求的完整性的規(guī)則。所述需求的一致性的規(guī)則主要是解決需求信息庫在使用領(lǐng)域本體中出現(xiàn)的同一概念必需要在確保概念不被誤用,防止需求信息庫中的概念混淆。所述需求的完整性的規(guī)則主要是解決領(lǐng)域本體中的核心概念在需求文檔中必需要有相關(guān)的描述,否則,可以認為需求文檔只是針對領(lǐng)域的特定部分,不具有完整性。所述需求的規(guī)則還可以在后續(xù)的工作中細化和完善。步驟s302、設(shè)計相應(yīng)的分析需求的算法,自動形成相應(yīng)的評估報告?;谒龇治鲂枨蟮南嚓P(guān)規(guī)則,本發(fā)明設(shè)計了相應(yīng)的分析需求的算法,在建立好的領(lǐng)域本體和需求信息庫中做分析,自動檢測rucm需求中描述的不一致,從而形成相應(yīng)的評估報告。所述需求信息庫是包括對自由文本需求和rucm需求模型這兩類軟件需求提取生成的需求信息的集合。所述分析需求的算法采用以下三步:1.對需求信息庫進行遍歷,查找不符合規(guī)則的需求。2.對領(lǐng)域本體進行遍歷,查找需求信息庫中不完整的需求。3.統(tǒng)計查找到的需求并生成相應(yīng)的分析需求的報告。所述分析需求的算法還可以在后續(xù)中根據(jù)具體本體模型和需求信息庫的細節(jié)進行優(yōu)化。本發(fā)明提供一種針對所述相關(guān)需求的算法的工具實現(xiàn)設(shè)計實施例,如圖4所示,所述算法工具的輸入是軟件需求和領(lǐng)域本體;所述軟件需求包含自由文本需求和rucm模型;所述自由文本需求是每個需求項中對于需求的綜述,規(guī)則庫是預(yù)定義的校驗規(guī)則,規(guī)則庫中包含的規(guī)則和用戶自定義規(guī)則一同在規(guī)則解析器中解析,然后校驗文本規(guī)則定義器輸出的分析過濾后的自由文本需求;所述自由文本需求通過文本規(guī)則定義器定義后輸出的半形式化需求輸出的通用需求格式,通過句式規(guī)則生成半形式化的需求作為規(guī)則執(zhí)行器輸入的一部分;所述rucm模型通過ucmeta轉(zhuǎn)化器的擴充,到模型生成器形成可以被規(guī)則執(zhí)行器識別的ontorucm模型,作為規(guī)則執(zhí)行器輸入的另一部分;所述領(lǐng)域文本的構(gòu)建過程,領(lǐng)域文本經(jīng)概念分析規(guī)則器后得到領(lǐng)域概念文本通用格式文件,經(jīng)關(guān)系分析規(guī)則器后得到領(lǐng)域關(guān)系文本通用格式文件,兩者共同構(gòu)成領(lǐng)域本體知識,作為規(guī)則執(zhí)行器的另一輸入;所述規(guī)則執(zhí)行器通過規(guī)則自動檢測rucm需求中描述的不一致,所述規(guī)則執(zhí)行器中包括的驗證算法是對規(guī)則執(zhí)行器輸入的需求一致性驗證的校驗,分析算法是對需求規(guī)則之間的引用的分析的查找和評估,進而輸出分析結(jié)果,形成相應(yīng)的評估報告。綜上所述,本發(fā)明實施例提供了一種需求模型一致性的檢查方法,所述方法通過rucm擴展的用戶定義需求模型到本體的映射關(guān)系的定義,明確了檢驗規(guī)則的相關(guān)重要特性,利用領(lǐng)域知識來檢驗用戶的需求;規(guī)范化rucm軟件需求的一致性和完整性的檢查方法,為需求的一致性檢測手段提供了一個自動化實現(xiàn)的手段。以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本
技術(shù)領(lǐng)域:
的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。當前第1頁12