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