[發(fā)明專利]一種通信設(shè)備及其軟件升級(jí)的方法有效
| 申請(qǐng)?zhí)枺?/td> | 201110424629.5 | 申請(qǐng)日: | 2011-12-16 |
| 公開(kāi)(公告)號(hào): | CN102541592A | 公開(kāi)(公告)日: | 2012-07-04 |
| 發(fā)明(設(shè)計(jì))人: | 張重峰 | 申請(qǐng)(專利權(quán))人: | 大唐移動(dòng)通信設(shè)備有限公司;上海大唐移動(dòng)通信設(shè)備有限公司 |
| 主分類號(hào): | G06F9/445 | 分類號(hào): | G06F9/445 |
| 代理公司: | 北京同達(dá)信恒知識(shí)產(chǎn)權(quán)代理有限公司 11291 | 代理人: | 劉松 |
| 地址: | 100083*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 通信 設(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í)將變得更加困難。
任何軟件開(kāi)發(fā)方法和工具都不能避免這個(gè)問(wèn)題,為了解決這個(gè)難題,需要一種技術(shù)能夠降低軟件復(fù)雜度,提高軟件的內(nèi)部質(zhì)量。重構(gòu)就是解決該問(wèn)題的一項(xiàng)重要技術(shù)手段,識(shí)別程序中哪些地方存在壞味道Bad?Smells(如重復(fù)的代碼、過(guò)長(zhǎng)的函數(shù)、過(guò)長(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ò)一些規(guī)則,把源程序轉(zhuǎn)換成token序列,然后分析這些token,從中找出克隆的代碼。根據(jù)這種靜態(tài)分析的思想,開(kā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ù)來(lái)對(duì)現(xiàn)有代碼進(jìn)行調(diào)整。
2)動(dòng)態(tài)分析技術(shù)
Kataoka利用動(dòng)態(tài)分析技術(shù),開(kāi)發(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)沒(méi)有很好的支持。而這種重構(gòu)技術(shù)在應(yīng)用過(guò)程,對(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圖上抽象出來(lái),輔助維護(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í)方法具有以下有益效果:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于大唐移動(dòng)通信設(shè)備有限公司;上海大唐移動(dòng)通信設(shè)備有限公司,未經(jīng)大唐移動(dòng)通信設(shè)備有限公司;上海大唐移動(dòng)通信設(shè)備有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110424629.5/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:一種幾何文具尺
- 下一篇:一種能迅速固定繪圖紙的機(jī)械制圖繪圖板
- 通信裝置、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信設(shè)備、通信方法、通信電路、通信系統(tǒng)
- 通信設(shè)備、通信系統(tǒng)、通信方法、通信程序、通信電路
- 通信終端、通信系統(tǒng)、通信方法以及通信程序
- 通信終端、通信方法、通信裝備和通信系統(tǒng)
- 通信裝置、通信程序、通信方法以及通信系統(tǒng)
- 通信裝置、通信系統(tǒng)、通信方法及計(jì)算機(jī)可讀取的記錄介質(zhì)
- 傳感設(shè)備、檢索設(shè)備和中繼設(shè)備
- 簽名設(shè)備、檢驗(yàn)設(shè)備、驗(yàn)證設(shè)備、加密設(shè)備及解密設(shè)備
- 色彩調(diào)整設(shè)備、顯示設(shè)備、打印設(shè)備、圖像處理設(shè)備
- 驅(qū)動(dòng)設(shè)備、定影設(shè)備和成像設(shè)備
- 發(fā)送設(shè)備、中繼設(shè)備和接收設(shè)備
- 定點(diǎn)設(shè)備、接口設(shè)備和顯示設(shè)備
- 傳輸設(shè)備、DP源設(shè)備、接收設(shè)備以及DP接受設(shè)備
- 設(shè)備綁定方法、設(shè)備、終端設(shè)備以及網(wǎng)絡(luò)側(cè)設(shè)備
- 設(shè)備、主設(shè)備及從設(shè)備
- 設(shè)備向設(shè)備轉(zhuǎn)發(fā)
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法





