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