專利名稱:一種通信設(shè)備及其軟件升級(jí)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及重構(gòu)識(shí)別技術(shù)領(lǐng)域,尤其涉及一種通信設(shè)備及其軟件升級(jí)的方法。
技術(shù)背景
在通信設(shè)備軟件的生命周期中,需要不斷對(duì)軟件進(jìn)行升級(jí)、更改,以適應(yīng)新的需求。而對(duì)軟件的更改往往都是在一些外部壓力下進(jìn)行的,如客戶或行業(yè)競(jìng)爭(zhēng)。這些更改勢(shì)必會(huì)破壞程序原有的結(jié)構(gòu),提高程序復(fù)雜度,降低代碼的質(zhì)量。結(jié)果導(dǎo)致軟件的維護(hù)成本顯著提高,對(duì)軟件的升級(jí)將變得更加困難。
任何軟件開發(fā)方法和工具都不能避免這個(gè)問題,為了解決這個(gè)難題,需要一種技術(shù)能夠降低軟件復(fù)雜度,提高軟件的內(nèi)部質(zhì)量。重構(gòu)就是解決該問題的一項(xiàng)重要技術(shù)手段, 識(shí)別程序中哪些地方存在壞味道Bad Smells (如重復(fù)的代碼、過長(zhǎng)的函數(shù)、過長(zhǎng)的類等)、 哪些代碼需要被重構(gòu)是重構(gòu)的難點(diǎn)。目前采用的重構(gòu)技術(shù)主要有以下幾種
1)靜態(tài)分析技術(shù)
靜態(tài)分析技術(shù)是Kamiya首先提出的一種自動(dòng)識(shí)別克隆代碼的技術(shù),這是自動(dòng)化識(shí)別重構(gòu)對(duì)象的雛形。主要是通過一些規(guī)則,把源程序轉(zhuǎn)換成token序列,然后分析這些 token,從中找出克隆的代碼。根據(jù)這種靜態(tài)分析的思想,開發(fā)出能夠自動(dòng)識(shí)別克隆代碼的工具一 CCFinder,這是一種早期的自動(dòng)識(shí)別重構(gòu)對(duì)象的工具。
靜態(tài)分析只能靜態(tài)的對(duì)現(xiàn)有代碼進(jìn)行分析,而不能分析程序運(yùn)行流的狀態(tài),故能識(shí)別出一些克隆代碼或不合理的代碼,而不能直接支持重構(gòu)。這需要加入經(jīng)驗(yàn)分析,進(jìn)一步識(shí)別出可利用何種重構(gòu)技術(shù)來對(duì)現(xiàn)有代碼進(jìn)行調(diào)整。
2)動(dòng)態(tài)分析技術(shù)
Kataoka利用動(dòng)態(tài)分析技術(shù),開發(fā)出能夠自動(dòng)檢測(cè)程序中不變量的工具-Daikon。 它指導(dǎo)目標(biāo)程序去跟蹤一些興趣變量(包括方法、類、變量等程序元素),然后在這些變量上運(yùn)行一些測(cè)試套件,最后推斷出哪些變量是不變量。
動(dòng)態(tài)分析技術(shù)雖然加入程序運(yùn)行時(shí)信息,但它限于識(shí)別不變量的重構(gòu),對(duì)其他重構(gòu)沒有很好的支持。而這種重構(gòu)技術(shù)在應(yīng)用過程,對(duì)于降低軟件復(fù)雜度,提高軟件的內(nèi)部質(zhì)量的支持不是很理想,對(duì)軟件的改善效果不明顯。
3)可視化技術(shù)
可視化技術(shù)可以輔助維護(hù)人員識(shí)別程序中哪些地方應(yīng)該被重構(gòu)。具體為根據(jù)不同需求,把程序在不同層次進(jìn)行抽象,然后在這個(gè)抽象層次上發(fā)現(xiàn)潛在的“壞味道”,但它不能直接識(shí)別重構(gòu)對(duì)象,而僅能向維護(hù)人員提供一種特殊的程序表示。Simon利用基于度量的可視化技術(shù),把程序的內(nèi)聚度在2D圖上抽象出來,輔助維護(hù)人員識(shí)別重構(gòu)對(duì)象。Bohnet把組件之間的交互(如調(diào)用關(guān)系)可視化在3D空間,在不同的抽象層次(從函數(shù)間的交互到系統(tǒng)間的交互)上分析組件之間的交互,維護(hù)人員可以在這個(gè)三維空間觀察組件間的交互, 從而識(shí)別不合理的調(diào)用關(guān)系。
可視化技術(shù)能夠直觀的識(shí)別不良代碼,給維護(hù)人員重構(gòu)建議,但使用該技術(shù)的條件比較嚴(yán)格,需要較高的硬件配置,而且欠缺實(shí)時(shí)性,需要大量的分析時(shí)間。 發(fā)明內(nèi)容
本發(fā)明提供一種通信設(shè)備及其軟件升級(jí)的方法,用以在自動(dòng)化優(yōu)化程序結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn)軟件升級(jí),降低軟件升級(jí)的復(fù)雜度及提高軟件升級(jí)效率。
本發(fā)明提供一種通信設(shè)備軟件升級(jí)的方法,包括
確定目標(biāo)程序中耦合度高于設(shè)定值的各對(duì)程序元素分別作為關(guān)注點(diǎn);
以任一對(duì)關(guān)注點(diǎn)涉及的程序元素為節(jié)點(diǎn),根據(jù)所涉及的程序元素間的依賴關(guān)系確定出節(jié)點(diǎn)之間的帶方向箭頭的邊,由所述節(jié)點(diǎn)及邊構(gòu)造出程序依賴根據(jù)構(gòu)造的程序依賴圖,以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片和后向切片,得到每個(gè)關(guān)注點(diǎn)的切片后的程序依賴根據(jù)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的程序元素,并對(duì)需要進(jìn)行重構(gòu)的程序元素進(jìn)行重構(gòu);
對(duì)完成程序元素重構(gòu)的目標(biāo)程序進(jìn)行升級(jí)。
本發(fā)明還提供一種通信設(shè)備,包括
關(guān)注點(diǎn)確定單元,用于確定耦合度高于設(shè)定值的一對(duì)程序元素分別作為關(guān)注點(diǎn);
依賴圖構(gòu)造單元,用于根據(jù)確定的每個(gè)關(guān)注點(diǎn),按照自底向上的順序,構(gòu)造出面向所述關(guān)注點(diǎn)的程序依賴切片單元,用于根據(jù)構(gòu)造的程序依賴圖,以確定的每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片和后向切片,得到切片后的程序依賴識(shí)別單元,用于根據(jù)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的重構(gòu)對(duì)象,并對(duì)需要進(jìn)行重構(gòu)的程序元素進(jìn)行重構(gòu);
升級(jí)單元,用于對(duì)完成程序元素重構(gòu)的目標(biāo)程序進(jìn)行升級(jí)。
利用本發(fā)明提供的通信設(shè)備及其軟件升級(jí)方法具有以下有益效果
1)以耦合度高的程序元素為關(guān)注點(diǎn)進(jìn)行分析,與內(nèi)聚度相比,耦合度更能反映程序中元素間的交互關(guān)系,從而更有利于分析類之間的重構(gòu),因此為從整體上提高了軟件升級(jí)效率提供了基礎(chǔ);
2)通過程序依賴圖的構(gòu)造,根據(jù)不同的依賴關(guān)系,可以識(shí)別出不同的重構(gòu)對(duì)象,從而使得該方法具有很大的可擴(kuò)展性,從而使重構(gòu)應(yīng)用的程序元素類型多,重構(gòu)效果好,則可以全面提高軟件升級(jí)效率;
3)因?yàn)橐肓顺绦蚯衅夹g(shù),所以提高了度量的準(zhǔn)確性,使得度量結(jié)果更準(zhǔn)確,從而優(yōu)化程序結(jié)構(gòu)的準(zhǔn)確度高,克服軟件升級(jí)過程中的兼容性問題。
圖1為本發(fā)明實(shí)施例通信設(shè)備軟件升級(jí)方法流程圖2為本發(fā)明實(shí)施例目標(biāo)程序中方法內(nèi)依賴圖3為本發(fā)明實(shí)施例目標(biāo)程序中方法間依賴圖4為本發(fā)明實(shí)施例目標(biāo)程序中類依賴圖5為本發(fā)明實(shí)施例中目標(biāo)程序后向切片結(jié)果圖6為本發(fā)明實(shí)施例中目標(biāo)程序前向切片結(jié)果圖;圖7為本發(fā)明實(shí)施例中通信設(shè)備結(jié)構(gòu)圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明提供的通信設(shè)備及其軟件升級(jí)方法和進(jìn)行更詳細(xì)地說明。識(shí)別通信設(shè)備程序中哪些地方存在壞味道、哪些代碼需要被重構(gòu)是重構(gòu)的難點(diǎn), 因?yàn)閷?duì)于壞味道的理解取決于很多因素,在很大程度上存在主觀性。因此,如何自動(dòng)識(shí)別重構(gòu)對(duì)象是限制重構(gòu)技術(shù)發(fā)展的瓶頸,也就使得軟件升級(jí)的兼容性差及升級(jí)效率低。本文在一些簡(jiǎn)單重構(gòu)識(shí)別的基礎(chǔ)上,提供了一種基于識(shí)別重構(gòu)對(duì)象的通信設(shè)備軟件升級(jí)方法,在構(gòu)建依賴圖的基礎(chǔ)上,定義了基于切片的重構(gòu)識(shí)別技術(shù),進(jìn)而來識(shí)別程序中的“壞味道”。如圖1所示,本發(fā)明提供的通信設(shè)備軟件升級(jí)方法包括以下步驟步驟101,確定目標(biāo)程序中耦合度高于設(shè)定值的各對(duì)程序元素分別作為關(guān)注點(diǎn);具體地,耦合度通過交互次數(shù)來衡量,可以通過執(zhí)行程序代碼,統(tǒng)計(jì)程序元素同其他程序元素間的交互次數(shù),如果兩個(gè)程序元素間的交互次數(shù)超過設(shè)定值,則說明耦合度高于設(shè)定值,可以將這兩個(gè)程序元素作為關(guān)注點(diǎn)。步驟102,以任ー對(duì)關(guān)注點(diǎn)涉及的程序元素為節(jié)點(diǎn),根據(jù)所涉及的程序元素間的依賴關(guān)系確定出節(jié)點(diǎn)之間的帶方向箭頭的邊,由所述節(jié)點(diǎn)及邊構(gòu)造出程序依賴圖;具體地,程序依賴圖程序依賴圖由節(jié)點(diǎn)和邊組成,節(jié)點(diǎn)代表程序中的程序元素,邊代表程序元素間的關(guān)系,通過箭頭指示依賴關(guān)系,程序元素可以程序中變量、方法、類等,程序元素間的關(guān)系包括數(shù)據(jù)依賴關(guān)系和控制依賴關(guān)系。步驟103,根據(jù)構(gòu)造的程序依賴圖,以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片和后向切片,得到每個(gè)關(guān)注點(diǎn)的切片后的程序依賴圖;進(jìn)行前向切片和后向切片,可以刪除一些不影響程序執(zhí)行軌跡的節(jié)點(diǎn)和邊,從而得到影響程序執(zhí)行軌跡的程序依賴圖。步驟104,根據(jù)每個(gè)關(guān)注點(diǎn)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的程序元素, 并對(duì)需要進(jìn)行重構(gòu)的程序元素進(jìn)行重構(gòu);步驟105,對(duì)完成程序元素重構(gòu)的目標(biāo)程序進(jìn)行升級(jí)。本發(fā)明實(shí)施例提供的通信設(shè)備軟件升級(jí)方法,重構(gòu)過程中以耦合度高的程序元素為關(guān)注點(diǎn)進(jìn)行分析,與內(nèi)聚度相比,耦合度更能反映程序中元素間的交互關(guān)系,從而更有利于分析類之間的重構(gòu),因此為從整體上提高了軟件升級(jí)效率提供了基礎(chǔ);通過程序依賴圖的構(gòu)造,根據(jù)不同的依賴關(guān)系,可以識(shí)別出不同的重構(gòu)對(duì)象,從而使得該方法具有很大的可擴(kuò)展性,從而使重構(gòu)應(yīng)用的程序元素類型多,重構(gòu)效果好,則可以全面提高軟件升級(jí)效率; 因?yàn)橐肓顺绦蚯衅寄?,所以提高了度量的?zhǔn)確性,使得度量結(jié)果更準(zhǔn)確,從而優(yōu)化程序結(jié)構(gòu)的準(zhǔn)確度高,克服軟件升級(jí)過程中的兼容性問題。下面給實(shí)例代碼為例給出本發(fā)明通信設(shè)備軟件升級(jí)方法優(yōu)選實(shí)施方式,該代碼示例包含了本發(fā)明實(shí)施例處理對(duì)象的各種特征,可輔助對(duì)相關(guān)概念的理解。該實(shí)例代碼如下
權(quán)利要求
1.一種通信設(shè)備軟件升級(jí)的方法,其特征在于,包括確定目標(biāo)程序中耦合度高于設(shè)定值的各對(duì)程序元素分別作為關(guān)注點(diǎn); 以任一對(duì)關(guān)注點(diǎn)涉及的程序元素為節(jié)點(diǎn),根據(jù)所涉及的程序元素間的依賴關(guān)系確定出節(jié)點(diǎn)之間的帶方向箭頭的邊,由所述節(jié)點(diǎn)及邊構(gòu)造出程序依賴圖;根據(jù)構(gòu)造的程序依賴圖,以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片和后向切片,得到每個(gè)關(guān)注點(diǎn)的切片后的程序依賴圖;根據(jù)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的程序元素,并對(duì)需要進(jìn)行重構(gòu)的程序元素進(jìn)行重構(gòu);對(duì)完成程序元素重構(gòu)的目標(biāo)程序進(jìn)行升級(jí)。
2.如權(quán)利要求1所述的方法,其特征在于,所述涉及到的程序元素間的依賴關(guān)系包括數(shù)據(jù)依賴關(guān)系,所述數(shù)據(jù)依賴關(guān)系包括設(shè)變量ν和語句節(jié)點(diǎn)Iii為關(guān)注點(diǎn),若變量ν在語句節(jié)點(diǎn)Iii的定義是語句節(jié)點(diǎn)的一個(gè)可到達(dá)定義,則語句節(jié)點(diǎn)η」數(shù)據(jù)依賴于語句節(jié)點(diǎn)η”所述程序依賴圖中語句節(jié)點(diǎn)η」和語句節(jié)點(diǎn)Iii間的箭頭方向是從語句節(jié)點(diǎn)r^.指向語句節(jié)點(diǎn)IV
3.如權(quán)利要求1所述的方法,其特征在于,所述涉及到的程序元素間的依賴關(guān)系包括控制依賴關(guān)系,所述控制依賴關(guān)系包括在條件語句的條件體內(nèi),語句S對(duì)判斷謂詞語句P具有控制依賴關(guān)系,所述程序依賴圖中語句S節(jié)點(diǎn)和語句P節(jié)點(diǎn)之間的箭頭從判斷謂詞語句P指向語句S ;在循環(huán)語句的循環(huán)體內(nèi),語句S對(duì)判斷謂詞語句P具有控制依賴關(guān)系,所述程序依賴圖中語句S節(jié)點(diǎn)和語句P節(jié)點(diǎn)之間的箭頭從判斷謂詞語句P指向語句S。
4.如權(quán)利要求1所述的方法,其特征在于,以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行后向切片,具體包括從關(guān)注點(diǎn)開始,在所述程序依賴圖中沿著除參數(shù)輸出邊以外的邊反向遍歷,并標(biāo)記所有達(dá)到的節(jié)點(diǎn)和邊;從反向遍歷被標(biāo)記的節(jié)點(diǎn)和邊開始,沿著除參數(shù)輸入邊以外的邊反向遍歷,標(biāo)記到達(dá)的節(jié)點(diǎn)的邊;所有被標(biāo)記的節(jié)點(diǎn)和邊的集合組成所述關(guān)注點(diǎn)的后向切片; 以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片,具體包括 從關(guān)注點(diǎn)開始,沿著除參數(shù)輸出邊以外的邊正向遍歷,并標(biāo)記所有達(dá)到的節(jié)點(diǎn)和邊; 從正向遍歷被標(biāo)記的節(jié)點(diǎn)和邊開始,沿著除參數(shù)輸入邊以外的邊正向遍歷,標(biāo)記到達(dá)的節(jié)點(diǎn)的邊;所有被標(biāo)記的節(jié)點(diǎn)和邊的集合組成所述關(guān)注點(diǎn)的前向切片。
5.如權(quán)利要求1所述的方法,其特征在于,根據(jù)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的程序元素,具體包括根據(jù)每個(gè)關(guān)注點(diǎn)切片后的程序依賴圖,確定該關(guān)注點(diǎn)對(duì)應(yīng)的程序元素對(duì); 確定該對(duì)程序元素分別作為關(guān)注點(diǎn)的切片后的程序依賴圖中,該對(duì)程序元素間的交互所經(jīng)歷的節(jié)點(diǎn)和邊數(shù),在所經(jīng)歷的節(jié)點(diǎn)和邊數(shù)超過設(shè)定數(shù)量時(shí),確定該對(duì)程序元素需要重構(gòu)。
6.如權(quán)利要求1所述的方法,其特征在于,所述作為關(guān)注點(diǎn)的程序元素為變量、方法或類。
7.一種通信設(shè)備,其特征在于,包括關(guān)注點(diǎn)確定單元,用于確定目標(biāo)程序中耦合度高于設(shè)定值的各對(duì)程序元素分別作為關(guān)注占-I—I— ^ \\\ 依賴圖構(gòu)造單元,用于以任一對(duì)關(guān)注點(diǎn)涉及的程序元素為節(jié)點(diǎn),根據(jù)所涉及的程序元素間的依賴關(guān)系確定出節(jié)點(diǎn)之間的帶方向箭頭的邊,由所述節(jié)點(diǎn)及邊構(gòu)造出程序依賴圖;切片單元,用于根據(jù)構(gòu)造的程序依賴圖,以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片和后向切片,得到每個(gè)關(guān)注點(diǎn)的切片后的程序依賴圖;識(shí)別單元,用于根據(jù)根據(jù)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的程序元素,并對(duì)需要進(jìn)行重構(gòu)的程序元素進(jìn)行重構(gòu);升級(jí)單元,用于對(duì)完成程序元素重構(gòu)的目標(biāo)程序進(jìn)行升級(jí)。
8.如權(quán)利要求7所述的通信設(shè)備,其特征在于,依賴圖構(gòu)造單元確定的所述涉及到的程序元素間的依賴關(guān)系包括數(shù)據(jù)依賴關(guān)系,所述數(shù)據(jù)依賴關(guān)系包括設(shè)變量ν和語句節(jié)點(diǎn)Iii為關(guān)注點(diǎn),若變量ν在語句節(jié)點(diǎn)Iii的定義是語句節(jié)點(diǎn)的一個(gè)可到達(dá)定義,則語句節(jié)點(diǎn)η」數(shù)據(jù)依賴于語句節(jié)點(diǎn)η”所述程序依賴圖中語句節(jié)點(diǎn)η」和語句節(jié)點(diǎn)Iii間的箭頭方向是從語句節(jié)點(diǎn)r^.指向語句節(jié)點(diǎn)IV
9.如權(quán)利要求7所述的通信設(shè)備,其特征在于,依賴圖構(gòu)造單元確定的所述涉及到的程序元素間的依賴關(guān)系包括控制依賴關(guān)系,所述控制依賴關(guān)系包括在條件語句的條件體內(nèi),語句S對(duì)判斷謂詞語句P具有控制依賴關(guān)系,所述程序依賴圖中語句S節(jié)點(diǎn)和語句P節(jié)點(diǎn)之間的箭頭從判斷謂詞語句P指向語句S ;在循環(huán)語句的循環(huán)體內(nèi),語句S對(duì)判斷謂詞語句P具有控制依賴關(guān)系,所述程序依賴圖中語句S節(jié)點(diǎn)和語句P節(jié)點(diǎn)之間的箭頭從判斷謂詞語句P指向語句S。
10.如權(quán)利要求7所述的通信設(shè)備,其特征在于,切片單元以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行后向切片,具體包括從關(guān)注點(diǎn)開始,在所述程序依賴圖中沿著除參數(shù)輸出邊以外的邊反向遍歷,并標(biāo)記所有達(dá)到的節(jié)點(diǎn)和邊;從反向遍歷被標(biāo)記的節(jié)點(diǎn)和邊開始,沿著除參數(shù)輸入邊以外的邊反向遍歷,標(biāo)記到達(dá)的節(jié)點(diǎn)的邊;所有被標(biāo)記的節(jié)點(diǎn)和邊的集合組成所述關(guān)注點(diǎn)的后向切片; 以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片,具體包括 從關(guān)注點(diǎn)開始,沿著除參數(shù)輸出邊以外的邊正向遍歷,并標(biāo)記所有達(dá)到的節(jié)點(diǎn)和邊; 從正向遍歷被標(biāo)記的節(jié)點(diǎn)和邊開始,沿著除參數(shù)輸入邊以外的邊正向遍歷,標(biāo)記到達(dá)的節(jié)點(diǎn)的邊;所有被標(biāo)記的節(jié)點(diǎn)和邊的集合組成所述關(guān)注點(diǎn)的前向切片。
11.如權(quán)利要求7所述的通信設(shè)備,其特征在于,識(shí)別單元根據(jù)切片后的程序依賴圖, 識(shí)別需要進(jìn)行重構(gòu)的程序元素,具體包括根據(jù)每個(gè)關(guān)注點(diǎn)切片后的程序依賴圖,確定該關(guān)注點(diǎn)對(duì)應(yīng)的程序元素對(duì); 確定該對(duì)程序元素分別作為關(guān)注點(diǎn)的切片后的程序依賴圖中,該對(duì)程序元素間的交互所經(jīng)歷的節(jié)點(diǎn)和邊數(shù),在所經(jīng)歷的節(jié)點(diǎn)和邊數(shù)超過設(shè)定數(shù)量時(shí),確定該對(duì)程序元素需要重構(gòu)。
全文摘要
本發(fā)明公開了一種通信設(shè)備及其軟件升級(jí)的方法,該方法包括確定目標(biāo)程序中耦合度高于設(shè)定值的各對(duì)程序元素分別作為關(guān)注點(diǎn);以任一對(duì)關(guān)注點(diǎn)涉及的程序元素為節(jié)點(diǎn),根據(jù)所涉及的程序元素間的依賴關(guān)系確定出節(jié)點(diǎn)之間的帶方向箭頭的邊,由所述節(jié)點(diǎn)及邊構(gòu)造出程序依賴圖;根據(jù)構(gòu)造的程序依賴圖,以每個(gè)關(guān)注點(diǎn)為起點(diǎn),分別按照切片準(zhǔn)則進(jìn)行前向切片和后向切片,得到對(duì)應(yīng)關(guān)注點(diǎn)的切片后的程序依賴圖;根據(jù)切片后的程序依賴圖,識(shí)別需要進(jìn)行重構(gòu)的程序元素。本發(fā)明以耦合度為切入點(diǎn)構(gòu)造依賴圖,與內(nèi)聚度相比,耦合度更能反映程序中元素間的交互關(guān)系,從而更有利于分析類之間的重構(gòu),引入切片技術(shù)增加了度量的準(zhǔn)確性。
文檔編號(hào)G06F9/445GK102541592SQ201110424629
公開日2012年7月4日 申請(qǐng)日期2011年12月16日 優(yōu)先權(quán)日2011年12月16日
發(fā)明者張重峰 申請(qǐng)人:上海大唐移動(dòng)通信設(shè)備有限公司, 大唐移動(dòng)通信設(shè)備有限公司