亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

查詢源代碼的方法和裝置與流程

文檔序號:11620485閱讀:368來源:國知局
查詢源代碼的方法和裝置與流程

本申請涉及計算機技術(shù)領(lǐng)域,尤其涉及一種查詢源代碼的方法和裝置以及查詢軟件模型中的功能單元的方法和裝置。



背景技術(shù):

軟件模型中的功能單元和源代碼間存在天生的對應(yīng)關(guān)系。在一些場景下,需要根據(jù)軟件模型中的功能單元確定對應(yīng)的源代碼,或者,根據(jù)源代碼確定對應(yīng)的軟件模型中的功能單元。例如,在通過軟件模型中的功能單元和源代碼相互驗證的場景下,需要軟件模型中的功能單元和源代碼間的相互追蹤。

相關(guān)技術(shù)中,可以采用rationalrose追蹤軟件模型中的功能單元和源代碼間的關(guān)系。其中,rationalrose是rational公司出品的一種面向?qū)ο蟮慕y(tǒng)一建模語言的可視化建模工具。用于可視化建模和公司級水平軟件應(yīng)用的組件構(gòu)造。但是,rationalrose的實施流程非常繁瑣。



技術(shù)實現(xiàn)要素:

本申請旨在至少在一定程度上解決相關(guān)技術(shù)中的技術(shù)問題之一。

為此,本申請的一個目的在于提出一種查詢源代碼的方法和裝置。

本申請的另一個目的在于提出一種查詢軟件模型中的功能單元的方法和裝置。

為達到上述目的,本申請第一方面實施例提出的查詢源代碼的方法,預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,所述方法包括:獲取軟件模型中的功能單元的標識信息;根據(jù)所述對應(yīng)關(guān)系,確定所獲取的功能單元的標識信息對應(yīng)的源代碼的內(nèi)容標識。

本申請第一方面實施例提出的查詢源代碼的方法,通過預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,可以根據(jù)該對應(yīng)關(guān)系查詢到與軟件模型中的功能單元對應(yīng)的源代碼,因此,可以便捷的確定與軟件模型中的功能單元對應(yīng)的源代碼。

為達到上述目的,本申請第二方面實施例提出的查詢軟件模型中的功能單元的方法,包括:在源代碼的注解中,獲取軟件模型中的功能單元的標識信息,其中,所述源代碼的注解中預(yù)先被添加了與所述源代碼對應(yīng)的軟件模型中的功能單元的標識信息;顯示所述標識信息。

本申請第二方面實施例提出的查詢軟件模型中的功能單元的方法,通過在源代碼的注解中添加軟件模型中的功能單元的標識信息,從而可以從注解中獲取軟件模型中的功能單元的標識信息,因此,可以便捷的確定與源代碼對應(yīng)的軟件模型中的功能單元。

為達到上述目的,本申請第三方面實施例提出的查詢源代碼的裝置,預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,所述裝置包括:獲取模塊,用于獲取軟件模型中的功能單元的標識信息;確定模塊,用于根據(jù)所述對應(yīng)關(guān)系,確定所獲取的功能單元的標識信息對應(yīng)的源代碼的內(nèi)容標識。

本申請第三方面實施例提出的查詢源代碼的裝置,通過預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,可以根據(jù)該對應(yīng)關(guān)系查詢到與軟件模型中的功能單元對應(yīng)的源代碼,因此,可以便捷的確定與軟件模型中的功能單元對應(yīng)的源代碼。

為達到上述目的,本申請第四方面實施例提出的查詢軟件模型中的功能單元的裝置,包括:獲取模塊,用于在源代碼的注解中,獲取軟件模型中的功能單元的標識信息,其中,所述源代碼的注解中預(yù)先被添加了與所述源代碼對應(yīng)的軟件模型中的功能單元的標識信息;顯示模塊,用于顯示所述標識信息。

本申請第四方面實施例提出的查詢軟件模型中的功能單元的裝置,通過在源代碼的注解中添加軟件模型中的功能單元的標識信息,從而可以從注解中獲取軟件模型中的功能單元的標識信息,因此,可以便捷的確定與源代碼對應(yīng)的軟件模型中的功能單元。

本申請附加的方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本申請的實踐了解到。

附圖說明

本申請上述的和/或附加的方面和優(yōu)點從下面結(jié)合附圖對實施例的描述中將變得明顯和容易理解,其中:

圖1是本申請一個實施例提出的查詢源代碼的方法的流程示意圖;

圖2是本申請實施例中一種軟件模型的示意圖;

圖3是本申請實施例中一種vp鏈接的示意圖;

圖4是本申請一個實施例提出的查詢軟件模型中的功能單元的方法的流程示意圖;

圖5是本申請實施例中一種源代碼的注解的示意圖;

圖6是本申請一個實施例提出的信息查詢方法的流程示意圖;

圖7是本申請一個實施例提出的查詢源代碼的裝置的結(jié)構(gòu)示意圖;

圖8是本申請另一個實施例提出的查詢源代碼的裝置的結(jié)構(gòu)示意圖;

圖9是本申請一個實施例提出的查詢軟件模型中的功能單元的裝置的結(jié)構(gòu)示意圖;

圖10是本申請另一個實施例提出的查詢軟件模型中的功能單元的裝置的結(jié)構(gòu)示意圖。

具體實施方式

下面詳細描述本申請的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的模塊或具有相同或類似功能的模塊。下面通過參考附圖描述的實施例是示例性的,僅用于解釋本申請,而不能理解為對本申請的限制。相反,本申請的實施例包括落入所附加權(quán)利要求書的精神和內(nèi)涵范圍內(nèi)的所有變化、修改和等同物。

圖1是本申請一個實施例提出的查詢源代碼的方法的流程示意圖。

本實施例以軟件模型側(cè)的執(zhí)行為例。

軟件模型的生成工具有多種,本實施例以可視化范例(visualparadigm)(縮寫為vp)為例。vp是一款功能強大、跨平臺、使用最便捷、直觀的統(tǒng)一建模語言(unifiedmodelinglanguage,uml)建模工具。

軟件模型是一種抽象模型,本實施例中以uml圖為例。

相應(yīng)的,軟件模型中的功能單元例如包括:uml圖中的連接線。

具體的,本實施例的執(zhí)行主體可以是設(shè)置在軟件模型的生成工具中的插件。本實施例中,以該插件稱為vp插件為例。

本實施例中,預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系。

參見圖1,本實施例的方法包括:

s11:獲取軟件模型中的功能單元的標識信息。

其中,當軟件模型的生成工具是vp時,上述的標識信息具體是vp鏈接。

采用vp生成的一種軟件模型可以如圖2所示。如圖2所示,采用vp生成的軟件模型由一系列的統(tǒng)一建模語言(unifiedmodelinglanguage,uml)圖組成,uml圖由元素(如圖2中的a、b這些點)和連接線(如a和b之間的線)組成。

因此,本實施例中,以軟件模型中的功能單元是連接線為例。

在vp中,當開發(fā)人員右鍵點擊一條連接線后,會顯示一個包含多個選項的菜單,該菜單中的一項是“上下文”,當開發(fā)人員將光標移動到“上下文”這一選項后,會顯示“上下文”這一選項的下一級菜單,該下一級菜單中包括“相關(guān)元素/展示鏈接(relatedelements/showlink…)”這一選項,當開發(fā)人員點擊“relatedelements/showlink…”這一選項后,會跳出該連接線的vp鏈接。

例如,當開發(fā)人員點擊a和b之間的“查詢資產(chǎn)信息”這一連接線后,可以跳出如圖3所示的vp鏈接31。

當需要查看軟件模型中某個連接線對應(yīng)的源代碼時,則開發(fā)人員可以采用上述方式使得該連接線的vp鏈接顯示出來。

在vp鏈接顯示后,開發(fā)人員可以采用復(fù)制或逐字符輸入的方式將vp鏈接輸入到vp插件中,使得vp插件獲取到軟件模型的vp鏈接。

s12:根據(jù)所述對應(yīng)關(guān)系,確定所獲取的功能單元的標識信息對應(yīng)的源代碼的內(nèi)容標識。

由于預(yù)先建立有上述的對應(yīng)關(guān)系,因此,可以根據(jù)該對應(yīng)關(guān)系確定與上述的標識信息對應(yīng)的源代碼的內(nèi)容標識。

進一步的,vp插件可以從服務(wù)器獲取上述的源代碼的內(nèi)容標識。

其中,vp插件獲取到vp鏈接后,可以將vp鏈接發(fā)送給服務(wù)器。

服務(wù)器是能夠與vp插件和源代碼插件都進行通信的一種設(shè)備,且該設(shè)備可以對應(yīng)存儲軟件模型的標識信息與源代碼的內(nèi)容標識。服務(wù)器可以位于本地或遠端。

服務(wù)器中保存類似<vp鏈接1,源代碼的內(nèi)容標識1>這種對應(yīng)關(guān)系,因此,當處理器接收到vp鏈接后,可以根據(jù)上述的對應(yīng)關(guān)系確定vp鏈接對應(yīng)的源代碼的內(nèi)容標識。源代碼的內(nèi)容標識例如包括:類名和方法名等。

可以理解的是,上述以vp鏈接與源代碼的內(nèi)容標識之間是一對一的對應(yīng)關(guān)系為例,可以理解的是,也可以是一個vp鏈接對應(yīng)多個源代碼的內(nèi)容標識,或者,多個vp鏈接對應(yīng)同一個源代碼的內(nèi)容標識。

服務(wù)器獲取到源代碼的內(nèi)容標識后,可以將該內(nèi)容標識發(fā)送給vp插件。

進一步的,當vp插件確定源代碼的內(nèi)容標識后,可以將其顯示給用戶。

之后,用戶可以根據(jù)顯示的內(nèi)容標識,在源代碼的生成工具中根據(jù)所述內(nèi)容標識打開源代碼。

例如,vp插件接收到服務(wù)器發(fā)送的源代碼的內(nèi)容標識后,可以將其顯示給開發(fā)人員。

開發(fā)人員在獲取到顯示信息后,可以使用源代碼的生成工具,根據(jù)顯示的源代碼的內(nèi)容標識,打開對應(yīng)的具體的源代碼。例如,源代碼的生成工具中有根據(jù)內(nèi)容標識打開源代碼的選項,通過該選項可以打開源代碼。

本實施例中,通過預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,可以根據(jù)該對應(yīng)關(guān)系查詢到與軟件模型中的功能單元對應(yīng)的源代碼,因此,可以便捷的確定與軟件模型對應(yīng)的源代碼。

圖4是本申請一個實施例提出的查詢軟件模型中的功能單元的方法的流程示意圖。

本實施例以源代碼側(cè)的執(zhí)行為例。

源代碼的生成工具有多種,例如,eclipse、intellijidea等。

其中,eclipse是一個開放源代碼的、基于java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。

intellijidea是java語言開發(fā)的集成環(huán)境,在業(yè)界被公認為最好的java開發(fā)工具之一,尤其在智能代碼助手、代碼自動提示、重構(gòu)等方面的功能可以說是超常的。intellijidea是jetbrains公司的產(chǎn)品。

具體的,本實施例的執(zhí)行主體可以是設(shè)置在源代碼的生成工具中的插件。本實施例中,以該插件稱為eclipse插件為例。

參見圖4,本實施例的方法包括:

s41:在源代碼的注解中,獲取軟件模型中的功能單元的標識信息,其中,所述源代碼的注解中預(yù)先被添加了與所述源代碼對應(yīng)的軟件模型中的功能單元的標識信息。

其中,開發(fā)人員可以在生成軟件模型和源代碼時,采用上述方法獲取軟件模型中的功能單元的vp鏈接,并在軟件模型中的功能單元對應(yīng)的源代碼的注解(如javaannotation)中加入vp鏈接。

例如,參見圖5,開發(fā)人員會獲知軟件模型中的功能單元與源代碼的對應(yīng)關(guān)系,在vp中顯示軟件模型中的功能單元的vp鏈接后,開發(fā)人員可以將該vp鏈接添加到該軟件模型對應(yīng)的源代碼的注解51中。

可以理解的是,當該源代碼對應(yīng)多個功能單元時,則可以在該源代碼的注解51中添加多個vp鏈接。

當待檢測的源代碼確定后,開發(fā)人員可以在eclipse插件中輸入待檢測的源代碼的內(nèi)容標識,如類名或方法名等,eclipse插件可以根據(jù)該內(nèi)容標識找到對應(yīng)的源代碼,并從該源代碼的注解中獲取到vp鏈接。

s42:顯示所述標識信息。

進一步的,eclipse插件獲取到vp鏈接后,可以將其顯示給開發(fā)人員。

開發(fā)人員在獲取到顯示信息后,可以使用軟件模型的生成工具,根據(jù)顯示的軟件模型的標識信息,打開對應(yīng)的具體的軟件模型中的功能單元。例如,軟件模型的生成工具中有根據(jù)標識信息打開軟件模型中的功能單元的選項,通過該選項可以打開軟件模型中的功能單元。

本實施例中,通過在源代碼的注解中添加軟件模型中的功能單元的標識信息,從而可以從注解中獲取軟件模型中的功能單元的標識信息,因此,可以便捷的確定與源代碼對應(yīng)的軟件模型中的功能單元。

圖6是本申請一個實施例提出的信息查詢方法的流程示意圖。

本實施例中,以軟件模型的生成工具是vp,源代碼的生成工具是eclipse為例。

參見圖6,本實施例的方法包括:

s601:vp生成軟件模型,并顯示軟件模型中的功能單元的vp鏈接。

例如,如上所示,可以通過開發(fā)人員右鍵點擊,從而顯示出圖3所示的vp鏈接。

s602:將vp鏈接添加到軟件模型中的功能單元對應(yīng)的源代碼的注解中。

例如,如上所示,可以通過開發(fā)人員的人工填寫,如圖5所示,將vp鏈接添加到注解中。

s603:源代碼在被存儲后,eclipse插件將源代碼的內(nèi)容標識和注解中的vp鏈接發(fā)送給處理器。

例如,將源代碼存儲到數(shù)據(jù)倉庫后,eclipse插件將上述的內(nèi)容標識和vp鏈接對應(yīng)發(fā)送給處理器。

s604:處理器對應(yīng)存儲源代碼的內(nèi)容標識與vp鏈接。

通過s601-s604,可以將源代碼與軟件模型中的功能單元通過處理器關(guān)聯(lián)。

之后可以根據(jù)上述的關(guān)聯(lián)關(guān)系,進行軟件模型中的功能單元與源代碼之間的互相查詢。

例如,當需要在軟件模型側(cè),查詢對應(yīng)的源代碼時,可以執(zhí)行s605-s610,或者,當需要在源代碼側(cè)查詢對應(yīng)的軟件模型中的功能單元時,可以執(zhí)行s611-s612。

s605:vp插件獲取待檢測的vp鏈接。

s606:vp插件將vp鏈接發(fā)送給服務(wù)器。

s607:服務(wù)器根據(jù)vp鏈接與源代碼的內(nèi)容標識的對應(yīng)關(guān)系,確定對應(yīng)的內(nèi)容標識。

s608:vp插件接收服務(wù)器發(fā)送的內(nèi)容標識。

s609:vp插件顯示內(nèi)容標識。

s610:eclipse根據(jù)開發(fā)人員輸入的內(nèi)容標識,打開對應(yīng)的源代碼。

通過s605-s610,可以由軟件模型中的功能單元查詢到對應(yīng)的源代碼。

s611:eclipse插件從待檢測的源代碼的注解中獲取vp鏈接,并進行顯示。

s612:vp根據(jù)開發(fā)人員輸入的vp鏈接,打開對應(yīng)的軟件模型中的功能單元。

通過s611-s612,可以由源代碼追蹤到對應(yīng)的軟件模型中的功能單元。

可以理解的是,本實施例中未特殊說明的內(nèi)容可以參見上述實施例中的相關(guān)描述,在此不再詳細說明。

本實施例中,通過vp顯示軟件模型中的功能單元的vp鏈接,并將vp鏈接添加到源代碼的注解中,可以便捷的實現(xiàn)軟件模型中的功能單元與源代碼之間的查詢。

圖7是本申請一個實施例提出的查詢源代碼的裝置的結(jié)構(gòu)示意圖。

本實施例的裝置可以具體是軟件模型的生成工具中的插件。

本實施例中,預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,

參見圖7,本實施例的裝置70包括:獲取模塊71和確定模塊72。

獲取模塊71,用于獲取軟件模型中的功能單元的標識信息;

確定模塊72,用于根據(jù)所述對應(yīng)關(guān)系,確定所獲取的功能單元的標識信息對應(yīng)的源代碼的內(nèi)容標識。

一些實施例中,參見圖8,所述確定模塊72包括:

發(fā)送單元721,用于將所述標識信息發(fā)送給服務(wù)器,所述服務(wù)器中保存所述對應(yīng)關(guān)系,以使所述服務(wù)器根據(jù)所述對應(yīng)關(guān)系獲取與所述標識信息對應(yīng)的源代碼的內(nèi)容標識;

接收單元722,用于接收所述服務(wù)器發(fā)送的所述源代碼的內(nèi)容標識。

一些實施例中,參見圖8,該裝置70還包括:

顯示模塊73,用于顯示所述源代碼的內(nèi)容標識。

一些實施例中,當所述軟件模型的生成工具是vp時,所述標識信息是vp鏈接。

一些實施例中,所述服務(wù)器中保存的所述對應(yīng)關(guān)系是由設(shè)置在源代碼的生成工具中的插件上傳的,所述插件從所述源代碼的注解中獲取所述標識信息,其中,當軟件模型的生成工具顯示所述標識信息后,所述標識信息被添加到所述注解中。

可以理解的是,本實施例的裝置與上述的軟件模型側(cè)的方法實施例對應(yīng),具體內(nèi)容可以參見上述實施例中的相關(guān)描述,在此不再詳細說明。

本實施例中,通過預(yù)先建立有軟件模型中的功能單元的標識信息與源代碼的內(nèi)容標識之間的對應(yīng)關(guān)系,可以根據(jù)該對應(yīng)關(guān)系查詢到與軟件模型中的功能單元對應(yīng)的源代碼,因此,可以便捷的確定與軟件模型中的功能單元對應(yīng)的源代碼。

圖9是本申請一個實施例提出的查詢軟件模型中的功能單元的裝置的結(jié)構(gòu)示意圖。

本實施例的裝置可以具體是源代碼的生成工具中的插件。

參見圖9,本實施例的裝置90包括:獲取模塊91和顯示模塊92。

獲取模塊91,用于在源代碼的注解中,獲取軟件模型中的功能單元的標識信息,其中,所述源代碼的注解中預(yù)先被添加了與所述源代碼對應(yīng)的軟件模型中的功能單元的標識信息;

顯示模塊92,用于顯示所述標識信息。

一些實施例中,參見圖10,該裝置90還包括:

發(fā)送模塊93,用于當所述源代碼被存儲后,將所述源代碼的內(nèi)容標識和注解中的軟件模型的功能單元的標識信息發(fā)送給服務(wù)器,以使所述服務(wù)器對應(yīng)存儲所述源代碼的內(nèi)容標識與所述軟件模型的功能單元的標識信息。

可以理解的是,本實施例的裝置與上述的源代碼側(cè)的方法實施例對應(yīng),具體內(nèi)容可以參見上述實施例中的相關(guān)描述,在此不再詳細說明。

本實施例中,通過在源代碼的注解中添加軟件模型中的功能單元的標識信息,從而可以從注解中獲取軟件模型中的功能單元的標識信息,因此,可以便捷的確定與源代碼對應(yīng)的軟件模型中的功能單元。

需要說明的是,在本申請的描述中,術(shù)語“第一”、“第二”等僅用于描述目的,而不能理解為指示或暗示相對重要性。此外,在本申請的描述中,除非另有說明,“多個”的含義是指至少兩個。

流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本申請的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本申請的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。

應(yīng)當理解,本申請的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn):具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(pga),現(xiàn)場可編程門陣列(fpga)等。

本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。

此外,在本申請各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機可讀取存儲介質(zhì)中。

上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點包含于本申請的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。

盡管上面已經(jīng)示出和描述了本申請的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本申請的限制,本領(lǐng)域的普通技術(shù)人員在本申請的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1