基于體系結(jié)構(gòu)逆向的構(gòu)件化軟件演化歷史恢復(fù)研究
發(fā)布時(shí)間:2021-01-11 19:11
軟件演化指的是軟件在其生命周期內(nèi)不斷更新變化的過(guò)程,是軟件的本質(zhì)特征之一,其貫穿于整個(gè)軟件的生命周期之內(nèi)。通常,軟件通常通過(guò)持續(xù)不斷的演化來(lái)滿足需求的變化、硬軟件環(huán)境的變化等。為了更好地管理軟件的演化,越來(lái)越多的軟件演化管理模型被提了出來(lái),現(xiàn)存的軟件演化管理模型或版本管理系統(tǒng)中存儲(chǔ)的軟件大多是以文件或者項(xiàng)目為單位,而這些模型缺乏軟件組成構(gòu)件的演化歷史信息,這使得軟件演化管理人員無(wú)法直觀有效地了解以及管理軟件的演化。因此如何通過(guò)挖掘這些軟件演化過(guò)程中留下的歷史信息,得到軟件及其組成構(gòu)件的演化歷史關(guān)系是一個(gè)值得解決的問(wèn)題。為此,本文通過(guò)定義軟件演化二叉樹(shù)的概念,表示一個(gè)軟件及其組成構(gòu)件的演化歷史,并提出了一種基于軟件體系結(jié)構(gòu)逆向技術(shù)恢復(fù)出軟件系統(tǒng)的體系結(jié)構(gòu)及其組成構(gòu)件演化二叉樹(shù)的方法。該方法主要包括:1、利用軟件的源代碼以及體系結(jié)構(gòu)逆向技術(shù)恢復(fù)出軟件系統(tǒng)的(原子)構(gòu)件和軟件體系結(jié)構(gòu)(本文將軟件體系結(jié)構(gòu)看作一種特殊的復(fù)合構(gòu)件)。2、度量出原子構(gòu)件的三維屬性包括(構(gòu)件中類(lèi)的個(gè)數(shù)、類(lèi)文件的個(gè)數(shù)以及類(lèi)文件的大小的總和)以及復(fù)合構(gòu)件的五維屬性包括(復(fù)合構(gòu)件中原子構(gòu)件的個(gè)數(shù)、原子構(gòu)件的大小總和、體系結(jié)...
【文章來(lái)源】:江西師范大學(xué)江西省
【文章頁(yè)數(shù)】:76 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1?Bunch工具進(jìn)行體系結(jié)構(gòu)逆向流程圖??從圖中可以看出,在使用Bunch工具之前,需要依靠源代碼分析工具@]分析??
?/??圖3-2劃分好簇的類(lèi)的關(guān)系依賴圖示??如圖3-2所示的類(lèi)的關(guān)系依賴圖中,右邊的橢圓表示JDK中的類(lèi)的集合,??左邊的矩形表示組成該系統(tǒng)版本的類(lèi)集合,矩形中的A、B、C三個(gè)圓形表示經(jīng)??過(guò)軟件體系結(jié)構(gòu)逆向工具得到的三個(gè)類(lèi)簇,圓角矩形Cl、C2、Q、......、(:12表??示的是12個(gè)類(lèi),這12個(gè)類(lèi)分別位于簇A、B、C和JDK中,類(lèi)之間的有向邊表??示兩個(gè)類(lèi)之間存在依賴關(guān)系。??顯而易見(jiàn),從類(lèi)的關(guān)系依賴圖中只能獲取到系統(tǒng)版本中所包含的類(lèi),以及這??些類(lèi)之間的功能需求關(guān)系和類(lèi)所組成的簇等信息,而無(wú)法獲取到對(duì)應(yīng)的系統(tǒng)版本??的版本信息和不同的系統(tǒng)版本之間的演化信息。??每個(gè)系統(tǒng)版本都可以通過(guò)逆向得到一個(gè)類(lèi)的關(guān)系依賴圖,而類(lèi)的關(guān)系依賴圖??通過(guò)體系結(jié)構(gòu)逆向工具可以將圖劃分為一個(gè)個(gè)簇。在使用某個(gè)系統(tǒng)版本的類(lèi)的關(guān)??系依賴圖以及該系統(tǒng)版本的源代碼逆向生成所有的原子構(gòu)件時(shí),首先,把類(lèi)的關(guān)??系依賴圖中的每個(gè)簇都逆向成為一個(gè)原子構(gòu)件
B?/?System?/??圖3-2劃分好簇的類(lèi)的關(guān)系依賴圖示??如圖3-2所示的類(lèi)的關(guān)系依賴圖中,右邊的橢圓表示JDK中的類(lèi)的集合,??左邊的矩形表示組成該系統(tǒng)版本的類(lèi)集合,矩形中的A、B、C三個(gè)圓形表示經(jīng)??過(guò)軟件體系結(jié)構(gòu)逆向工具得到的三個(gè)類(lèi)簇,圓角矩形Cl、C2、Q、......、(:12表??示的是12個(gè)類(lèi),這12個(gè)類(lèi)分別位于簇A、B、C和JDK中,類(lèi)之間的有向邊表??示兩個(gè)類(lèi)之間存在依賴關(guān)系。??顯而易見(jiàn),從類(lèi)的關(guān)系依賴圖中只能獲取到系統(tǒng)版本中所包含的類(lèi),以及這??些類(lèi)之間的功能需求關(guān)系和類(lèi)所組成的簇等信息,而無(wú)法獲取到對(duì)應(yīng)的系統(tǒng)版本??的版本信息和不同的系統(tǒng)版本之間的演化信息。??每個(gè)系統(tǒng)版本都可以通過(guò)逆向得到一個(gè)類(lèi)的關(guān)系依賴圖,而類(lèi)的關(guān)系依賴圖??通過(guò)體系結(jié)構(gòu)逆向工具可以將圖劃分為一個(gè)個(gè)簇。在使用某個(gè)系統(tǒng)版本的類(lèi)的關(guān)??系依賴圖以及該系統(tǒng)版本的源代碼逆向生成所有的原子構(gòu)件時(shí)
【參考文獻(xiàn)】:
期刊論文
[1]擴(kuò)充CDL支持基于構(gòu)件的系統(tǒng)組裝與演化[J]. 鐘林輝,謝冰,邵維忠. 計(jì)算機(jī)研究與發(fā)展. 2002(10)
[2]青鳥(niǎo)軟件配置管理系統(tǒng)JBCM及相關(guān)工具[J]. 鐘林輝,謝冰,邵維忠. 計(jì)算機(jī)工程. 2000(11)
[3]軟件配置管理系統(tǒng)HSCMS[J]. 曹化工,朱順炎,秦友淑. 計(jì)算機(jī)工程與應(yīng)用. 1997(07)
本文編號(hào):2971321
【文章來(lái)源】:江西師范大學(xué)江西省
【文章頁(yè)數(shù)】:76 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
圖2-1?Bunch工具進(jìn)行體系結(jié)構(gòu)逆向流程圖??從圖中可以看出,在使用Bunch工具之前,需要依靠源代碼分析工具@]分析??
?/??圖3-2劃分好簇的類(lèi)的關(guān)系依賴圖示??如圖3-2所示的類(lèi)的關(guān)系依賴圖中,右邊的橢圓表示JDK中的類(lèi)的集合,??左邊的矩形表示組成該系統(tǒng)版本的類(lèi)集合,矩形中的A、B、C三個(gè)圓形表示經(jīng)??過(guò)軟件體系結(jié)構(gòu)逆向工具得到的三個(gè)類(lèi)簇,圓角矩形Cl、C2、Q、......、(:12表??示的是12個(gè)類(lèi),這12個(gè)類(lèi)分別位于簇A、B、C和JDK中,類(lèi)之間的有向邊表??示兩個(gè)類(lèi)之間存在依賴關(guān)系。??顯而易見(jiàn),從類(lèi)的關(guān)系依賴圖中只能獲取到系統(tǒng)版本中所包含的類(lèi),以及這??些類(lèi)之間的功能需求關(guān)系和類(lèi)所組成的簇等信息,而無(wú)法獲取到對(duì)應(yīng)的系統(tǒng)版本??的版本信息和不同的系統(tǒng)版本之間的演化信息。??每個(gè)系統(tǒng)版本都可以通過(guò)逆向得到一個(gè)類(lèi)的關(guān)系依賴圖,而類(lèi)的關(guān)系依賴圖??通過(guò)體系結(jié)構(gòu)逆向工具可以將圖劃分為一個(gè)個(gè)簇。在使用某個(gè)系統(tǒng)版本的類(lèi)的關(guān)??系依賴圖以及該系統(tǒng)版本的源代碼逆向生成所有的原子構(gòu)件時(shí),首先,把類(lèi)的關(guān)??系依賴圖中的每個(gè)簇都逆向成為一個(gè)原子構(gòu)件
B?/?System?/??圖3-2劃分好簇的類(lèi)的關(guān)系依賴圖示??如圖3-2所示的類(lèi)的關(guān)系依賴圖中,右邊的橢圓表示JDK中的類(lèi)的集合,??左邊的矩形表示組成該系統(tǒng)版本的類(lèi)集合,矩形中的A、B、C三個(gè)圓形表示經(jīng)??過(guò)軟件體系結(jié)構(gòu)逆向工具得到的三個(gè)類(lèi)簇,圓角矩形Cl、C2、Q、......、(:12表??示的是12個(gè)類(lèi),這12個(gè)類(lèi)分別位于簇A、B、C和JDK中,類(lèi)之間的有向邊表??示兩個(gè)類(lèi)之間存在依賴關(guān)系。??顯而易見(jiàn),從類(lèi)的關(guān)系依賴圖中只能獲取到系統(tǒng)版本中所包含的類(lèi),以及這??些類(lèi)之間的功能需求關(guān)系和類(lèi)所組成的簇等信息,而無(wú)法獲取到對(duì)應(yīng)的系統(tǒng)版本??的版本信息和不同的系統(tǒng)版本之間的演化信息。??每個(gè)系統(tǒng)版本都可以通過(guò)逆向得到一個(gè)類(lèi)的關(guān)系依賴圖,而類(lèi)的關(guān)系依賴圖??通過(guò)體系結(jié)構(gòu)逆向工具可以將圖劃分為一個(gè)個(gè)簇。在使用某個(gè)系統(tǒng)版本的類(lèi)的關(guān)??系依賴圖以及該系統(tǒng)版本的源代碼逆向生成所有的原子構(gòu)件時(shí)
【參考文獻(xiàn)】:
期刊論文
[1]擴(kuò)充CDL支持基于構(gòu)件的系統(tǒng)組裝與演化[J]. 鐘林輝,謝冰,邵維忠. 計(jì)算機(jī)研究與發(fā)展. 2002(10)
[2]青鳥(niǎo)軟件配置管理系統(tǒng)JBCM及相關(guān)工具[J]. 鐘林輝,謝冰,邵維忠. 計(jì)算機(jī)工程. 2000(11)
[3]軟件配置管理系統(tǒng)HSCMS[J]. 曹化工,朱順炎,秦友淑. 計(jì)算機(jī)工程與應(yīng)用. 1997(07)
本文編號(hào):2971321
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2971321.html
最近更新
教材專(zhuān)著