基于多級劃分的大類圖拆分方法研究
發(fā)布時間:2022-01-08 21:41
過去幾十年中軟件數(shù)量和規(guī)模呈現(xiàn)爆發(fā)式增長,軟件維護已經(jīng)變成了 一個重要的問題。作為軟件開發(fā)的一個重要階段,軟件維護的作用越來越突出,面臨的問題也越來越大。由于軟件開發(fā)過程的不規(guī)范,很多軟件在開發(fā)時沒有設(shè)計軟件開發(fā)模型,對軟件維護人員來說工作變得十分困難。目前主流的逆向工程工具可以通過源代碼生成軟件對應的開發(fā)模型,其中類圖是最常用的模型。可讀性是UML類圖質(zhì)量的一項重要指標,目前逆向工程中生成的UML類圖的規(guī)模往往比較龐大,可讀性較差。本文提出了一種基于多級劃分的大類圖拆分方法。首先根據(jù)類目間的繼承、聚合、關(guān)聯(lián)、依賴對類目間的耦合的影響程度,提出了類目間耦合強度的計算方法,并將類圖轉(zhuǎn)化為反應耦合強度的加權(quán)圖,從而將類圖拆分問題轉(zhuǎn)化為加權(quán)圖的劃分問題。對多級劃分算法進行改進,使之能夠較好地對加權(quán)圖進行拆分。對加權(quán)圖進行壓縮,優(yōu)先將耦合度較大的節(jié)點合并,減小了加權(quán)圖的規(guī)模,同時隱藏了權(quán)值較大的邊,接著將加權(quán)圖劃分為k部分,將每個部分的節(jié)點按照壓縮的順序逐級拆解,并使用改進的多路KL算法進行優(yōu)化調(diào)整,盡可能使得耦合度較大的節(jié)點劃分到同一個部分,直到節(jié)點恢復到原來的數(shù)目。對于規(guī)模相對小一些的類圖...
【文章來源】:天津工業(yè)大學天津市
【文章頁數(shù)】:54 頁
【學位級別】:碩士
【部分圖文】:
圖1-1類圖實例??
網(wǎng)格最長維度的坐標軸上,這將形成一個網(wǎng)格節(jié)點的序,然后對有序表二分,將??網(wǎng)格劃分為了兩個子塊,然后對每個子塊遞歸的使用此方法,就可以完成對該網(wǎng)??格的多路劃分。如圖2-1所示,在左圖中,粗線首先對整個網(wǎng)格進行二分,然后??用細線對兩個子塊進行劃分,然后用虛線再對更小的子塊進行劃分。右圖采用深??色的邊框?qū)澐趾缶W(wǎng)格的每個子塊都標注了出來。CND算法簡單易行,劃分速??度快,但是CND算法最后生成的劃分其劃分質(zhì)量太差,CND算法可能生成子塊??9??
考慮更多維度則可以生成更好的劃分方案。SFC算法根據(jù)網(wǎng)格中節(jié)點的質(zhì)心位??置,使用一條空間填充曲線將它們排序%]。在對網(wǎng)格節(jié)點排序后,SFC算法將??對序表進行路劃分,圖2-2給出了?SFC算法對一個四叉樹網(wǎng)格進行8路劃分的??實例。??—....rh7??圖2-2?SFC算法劃分示意圖??SFC算法劃分效率很高,得到的劃分,通常情況下劃分質(zhì)量要優(yōu)于CND算??法和R1B算法的劃分質(zhì)量[38],但是由于SFC算法并沒有考慮圖中節(jié)點鏈接關(guān)系??以及權(quán)重,其本質(zhì)與CND算法和RIB算法一樣也是基于圖的幾何結(jié)構(gòu)進行劃分,??因此,對于很多應用來說,這種方法生成的劃分方案其結(jié)果仍然不理想。??2.3.2纟且合劃分法??幾何劃分法,在生成劃分時,將圖中在空間上距離近的節(jié)點劃分在一起,沒??有考慮到節(jié)點之間的關(guān)聯(lián),相反,組合劃分法將拓撲上高度連接的節(jié)點盡可能劃??分在一起,即僅使用圖的鄰接信息來計算劃分方案,而不適用節(jié)點的坐標信息。??與幾何劃分相比
【參考文獻】:
期刊論文
[1]軟件開發(fā)模型研究綜述[J]. 張友生,李雄. 計算機工程與應用. 2006(03)
[2]青鳥面向?qū)ο筌浖9ぞ叩难芯颗c實現(xiàn)[J]. 麻志毅,趙俊峰,孟祥文,張文娟. 軟件學報. 2003(01)
[3]面向?qū)ο筌浖攘考夹g(shù)研究[J]. 倫立軍,丁雪梅,李英梅. 計算機應用研究. 2002(12)
博士論文
[1]逆編譯中幾項關(guān)鍵技術(shù)研究[D]. 陳凱明.合肥工業(yè)大學 2004
[2]軟件逆向工程技術(shù)研究[D]. 陳昊鵬.西北工業(yè)大學 2002
本文編號:3577334
【文章來源】:天津工業(yè)大學天津市
【文章頁數(shù)】:54 頁
【學位級別】:碩士
【部分圖文】:
圖1-1類圖實例??
網(wǎng)格最長維度的坐標軸上,這將形成一個網(wǎng)格節(jié)點的序,然后對有序表二分,將??網(wǎng)格劃分為了兩個子塊,然后對每個子塊遞歸的使用此方法,就可以完成對該網(wǎng)??格的多路劃分。如圖2-1所示,在左圖中,粗線首先對整個網(wǎng)格進行二分,然后??用細線對兩個子塊進行劃分,然后用虛線再對更小的子塊進行劃分。右圖采用深??色的邊框?qū)澐趾缶W(wǎng)格的每個子塊都標注了出來。CND算法簡單易行,劃分速??度快,但是CND算法最后生成的劃分其劃分質(zhì)量太差,CND算法可能生成子塊??9??
考慮更多維度則可以生成更好的劃分方案。SFC算法根據(jù)網(wǎng)格中節(jié)點的質(zhì)心位??置,使用一條空間填充曲線將它們排序%]。在對網(wǎng)格節(jié)點排序后,SFC算法將??對序表進行路劃分,圖2-2給出了?SFC算法對一個四叉樹網(wǎng)格進行8路劃分的??實例。??—....rh7??圖2-2?SFC算法劃分示意圖??SFC算法劃分效率很高,得到的劃分,通常情況下劃分質(zhì)量要優(yōu)于CND算??法和R1B算法的劃分質(zhì)量[38],但是由于SFC算法并沒有考慮圖中節(jié)點鏈接關(guān)系??以及權(quán)重,其本質(zhì)與CND算法和RIB算法一樣也是基于圖的幾何結(jié)構(gòu)進行劃分,??因此,對于很多應用來說,這種方法生成的劃分方案其結(jié)果仍然不理想。??2.3.2纟且合劃分法??幾何劃分法,在生成劃分時,將圖中在空間上距離近的節(jié)點劃分在一起,沒??有考慮到節(jié)點之間的關(guān)聯(lián),相反,組合劃分法將拓撲上高度連接的節(jié)點盡可能劃??分在一起,即僅使用圖的鄰接信息來計算劃分方案,而不適用節(jié)點的坐標信息。??與幾何劃分相比
【參考文獻】:
期刊論文
[1]軟件開發(fā)模型研究綜述[J]. 張友生,李雄. 計算機工程與應用. 2006(03)
[2]青鳥面向?qū)ο筌浖9ぞ叩难芯颗c實現(xiàn)[J]. 麻志毅,趙俊峰,孟祥文,張文娟. 軟件學報. 2003(01)
[3]面向?qū)ο筌浖攘考夹g(shù)研究[J]. 倫立軍,丁雪梅,李英梅. 計算機應用研究. 2002(12)
博士論文
[1]逆編譯中幾項關(guān)鍵技術(shù)研究[D]. 陳凱明.合肥工業(yè)大學 2004
[2]軟件逆向工程技術(shù)研究[D]. 陳昊鵬.西北工業(yè)大學 2002
本文編號:3577334
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/3577334.html
最近更新
教材專著