[發(fā)明專利]基于圖模型的軟件項目語義信息表示及檢索方法在審
| 申請?zhí)枺?/td> | 201410156422.8 | 申請日: | 2014-04-18 |
| 公開(公告)號: | CN103927360A | 公開(公告)日: | 2014-07-16 |
| 發(fā)明(設計)人: | 謝冰;朱子驍;華哲邦 | 申請(專利權(quán))人: | 北京大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京天奇智新知識產(chǎn)權(quán)代理有限公司 11340 | 代理人: | 王海洋 |
| 地址: | 100080*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 模型 軟件 項目 語義 信息 表示 檢索 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及一種軟件項目語義信息的表示及檢索方法,尤其是涉及一種采用圖模型表示和檢索軟件項目語義信息的方法。
背景技術(shù)
在軟件開發(fā)中,軟件代碼、文檔等的存儲往往以傳統(tǒng)的文件系統(tǒng)、關(guān)系型數(shù)據(jù)庫等形式為主,對文檔中蘊含的語義信息不進行處理和明確的表示。但是,軟件代碼和文檔中提供了理解該軟件的重要資源,其中包含了軟件業(yè)務領(lǐng)域的需求分析、軟件的系統(tǒng)架構(gòu)、程序結(jié)構(gòu)、軟件功能的實現(xiàn)流程、軟件使用方法等信息,這些包含了描述軟件項目語義的信息,對于項目開發(fā)者理解軟件業(yè)務需求、參與代碼編寫都有重要作用。
目前,關(guān)于表示軟件項目資源中的語義信息的現(xiàn)有技術(shù)主要有基于NOSQL(Not?Only?SQL)數(shù)據(jù)庫的表示方式和基于語義網(wǎng)表技術(shù)的表示方式,但是這些技術(shù)的局限之處在于語義網(wǎng)的描述框架的使用和構(gòu)造存在一定難度,尚未有軟件工程領(lǐng)域的應用技術(shù)。
因此,對軟件構(gòu)件、軟件系統(tǒng)或項目的代碼、文檔等資源進行深入分析,對其中蘊含的軟件項目語義信息進行清晰合理的展示,進而幫助軟件復用者、開發(fā)者更容易地理解軟件項目,是一項亟待解決的問題,對于軟件開發(fā)效率的提高具有重要意義。。
發(fā)明內(nèi)容
本發(fā)明主要是解決現(xiàn)有技術(shù)中所存在的缺乏有效表示軟件項目文檔中所蘊含的豐富語義信息的表示和處理方法等問題,提供了一種軟件項目語義信息的表示方法,該方法可以對代碼、文檔等各類軟件資源中蘊含的語義信息進行整合、關(guān)聯(lián)、存儲和查詢,以幫助軟件開發(fā)者、復用者對軟件項目資源進行更深入的理解,并幫助解決實際開發(fā)中可能遇到的問題。
本發(fā)明還有一目的是解決現(xiàn)有技術(shù)中所存在的缺乏有效查找軟件項目中與語義相關(guān)的文檔代碼等問題,提供了一種對基于圖模型表示的軟件項目語義信息進行檢索的方法。該方法將圖模型查詢技術(shù)、文本索引檢索技術(shù)、關(guān)聯(lián)定位技術(shù)相結(jié)合,能基于軟件項目語義信息快速進行檢索。
本發(fā)明的上述技術(shù)問題主要是通過下述技術(shù)方案得以解決的:
一種基于圖模型的軟件項目語義信息表示方法,包括:
抽取軟件項目信息的步驟:從軟件項目資源中抽取結(jié)構(gòu)化信息本體和無結(jié)構(gòu)信息本體;
存儲結(jié)構(gòu)化信息本體的步驟:將結(jié)構(gòu)化信息本體以圖數(shù)據(jù)庫形式進行表示和存儲;
存儲無結(jié)構(gòu)信息的步驟:以文件形式存儲無結(jié)構(gòu)信息本體,并建立結(jié)化信息本體和無結(jié)構(gòu)信息本體之間的關(guān)聯(lián)關(guān)系。
優(yōu)化的,上述的一種基于圖模型的軟件項目語義信息表示方法,所述抽取軟件項目信息的步驟進一步包括以下子步驟:
步驟2.1:將結(jié)構(gòu)化信息本體構(gòu)建成一個抽象語法樹,結(jié)構(gòu)化信息本體的每個元素都對應一個抽象語法樹上的結(jié)點;
步驟2.2:根據(jù)步驟2.1中構(gòu)建的語法樹上的結(jié)點所包含的具體元素內(nèi)容,構(gòu)建抽象語法樹各結(jié)點之間的關(guān)系;
步驟2.3:將步驟2.1中構(gòu)建的語法樹上的結(jié)點和步驟2.2中構(gòu)建的各結(jié)點之間的關(guān)系儲存在數(shù)據(jù)庫中。
優(yōu)化的,上述一種基于圖模型的軟件項目語義信息表示方法,所述結(jié)構(gòu)化信息本體是項目代碼,所述步驟2.2中構(gòu)建的抽象語法樹各結(jié)點之間的關(guān)系是項目代碼中的繼承、包含、依賴、調(diào)用、實現(xiàn)關(guān)系中的一種或多種。
優(yōu)化的,上述一種基于圖模型的軟件項目語義信息表示方法,所述存儲結(jié)構(gòu)化信息本體的步驟進一步包括以下子步驟:
步驟4.1:為每一類結(jié)構(gòu)化信息本體建立圖數(shù)據(jù)庫中的本體類型以及每一類本體包含的具體屬性;
步驟4.2:對于每一個結(jié)構(gòu)化信息本體,在圖數(shù)據(jù)庫中建立相應的實體,并存儲其具體的屬性值;
步驟4.3:為每一類結(jié)構(gòu)化信息本體之間的關(guān)系建立圖數(shù)據(jù)庫中的關(guān)系類型以及每一類關(guān)系包含具體的屬性;
步驟4.4:為每一個結(jié)構(gòu)化信息本體之間的關(guān)系,在圖數(shù)據(jù)庫中建立相應的關(guān)系,并存儲其具體的屬性值,關(guān)系兩端是步驟4.2中建立的實體。
優(yōu)化的,上述一種基于圖模型的軟件項目語義信息表示方法,所述存儲無結(jié)構(gòu)信息的步驟進一步包括以下子步驟:
步驟5.1:在圖數(shù)據(jù)庫中建立用來表示無結(jié)構(gòu)本體的文檔類型以及用來表示結(jié)構(gòu)化信息本體和無結(jié)構(gòu)信息本體之間關(guān)聯(lián)的關(guān)系類型;
步驟5.2:將無結(jié)構(gòu)信息按照步驟5.1所建立的文檔類型進行存儲并建立表示無結(jié)構(gòu)文本與該無結(jié)構(gòu)文本在圖模型庫中存儲的無結(jié)構(gòu)信息本體之間對應關(guān)系的索引表;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京大學,未經(jīng)北京大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410156422.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





