[發(fā)明專利]一種檢測(cè)軟件系統(tǒng)的模塊化水平的方法和裝置在審
| 申請(qǐng)?zhí)枺?/td> | 201610539860.1 | 申請(qǐng)日: | 2016-07-11 |
| 公開(公告)號(hào): | CN107608872A | 公開(公告)日: | 2018-01-19 |
| 發(fā)明(設(shè)計(jì))人: | 晏迪 | 申請(qǐng)(專利權(quán))人: | 北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 中原信達(dá)知識(shí)產(chǎn)權(quán)代理有限責(zé)任公司11219 | 代理人: | 張一軍,姜?jiǎng)?/td> |
| 地址: | 100195 北京市海淀區(qū)杏石口路6*** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 檢測(cè) 軟件 系統(tǒng) 模塊化 水平 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)和計(jì)算機(jī)軟件技術(shù)領(lǐng)域,特別地涉及一種檢測(cè)軟件系統(tǒng)的模塊化水平的方法和裝置。
背景技術(shù)
軟件系統(tǒng)中良好的模塊化設(shè)計(jì),一直是軟件設(shè)計(jì)人員討論的熱門話題。因?yàn)槟K化的軟件系統(tǒng),具有更強(qiáng)的健壯性,同時(shí)在系統(tǒng)的維護(hù)及升級(jí)上成本也較低。但是一直以來(lái),缺乏一種有效的方法對(duì)軟件系統(tǒng)的模塊化程度進(jìn)行檢測(cè)及優(yōu)化。
在現(xiàn)有軟件系統(tǒng)開發(fā)過程中,軟件設(shè)計(jì)人員根據(jù)系統(tǒng)的功能在邏輯上對(duì)系統(tǒng)進(jìn)行模塊劃分,各個(gè)模塊完成相應(yīng)的功能。但是軟件系統(tǒng)的模塊劃分都是軟件設(shè)計(jì)人員根據(jù)自己的經(jīng)驗(yàn)來(lái)設(shè)計(jì),模塊化水平依賴于設(shè)計(jì)人員。對(duì)于一些持續(xù)集成的系統(tǒng)來(lái)講,系統(tǒng)的模塊化水平更是會(huì)發(fā)生很大的變化?,F(xiàn)有軟件系統(tǒng)中模塊的形成流程見圖1所示,主要包括以下幾個(gè)步驟:
步驟S1:根據(jù)軟件系統(tǒng)的功能劃分各個(gè)模塊;
步驟S2:對(duì)各個(gè)模塊中的代碼結(jié)構(gòu)進(jìn)行設(shè)計(jì);
步驟S3:根據(jù)功能實(shí)現(xiàn)各個(gè)模塊中的代碼。
但是,現(xiàn)有技術(shù)更多是關(guān)注系統(tǒng)功能上的模塊劃分,只是人為的在邏輯上劃分,不同的系統(tǒng)之間因?yàn)樵O(shè)計(jì)人員的不同,模塊化程度的差異也較大。對(duì)于這樣的劃分,無(wú)法衡量整個(gè)系統(tǒng)在運(yùn)行期間,是否具有較高的模塊化特性,同時(shí)缺乏一種對(duì)于系統(tǒng)模塊化水平的檢測(cè)及優(yōu)化方法。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供一種檢測(cè)軟件系統(tǒng)的模塊化水平的方法和裝置,能夠?qū)ΜF(xiàn)有系統(tǒng)的模塊化水平進(jìn)行檢測(cè)及優(yōu)化。
為實(shí)現(xiàn)上述目的,根據(jù)本發(fā)明的一個(gè)方面,提供了一種檢測(cè)軟件系統(tǒng)的模塊化水平的方法。
一種檢測(cè)軟件系統(tǒng)的模塊化水平的方法,所述軟件系統(tǒng)包括多個(gè)模塊,所述方法包括:掃描該軟件系統(tǒng)的靜態(tài)代碼,對(duì)所述軟件系統(tǒng)的每個(gè)模塊識(shí)別該模塊中的方法,從而建立該模塊的模塊方法集,所述模塊方法集包括方法標(biāo)識(shí);在所述軟件系統(tǒng)的設(shè)定的運(yùn)行時(shí)段期間,統(tǒng)計(jì)所述軟件系統(tǒng)各方法之間的調(diào)用并建立該軟件系統(tǒng)的方法調(diào)用網(wǎng)絡(luò);根據(jù)選擇的社團(tuán)劃分算法把所述方法調(diào)用網(wǎng)絡(luò)劃分為多個(gè)社團(tuán),并確定每個(gè)社團(tuán)的社團(tuán)方法集,其中在所述社團(tuán)之內(nèi)的方法之間調(diào)用較多,而所述社團(tuán)之間的方法調(diào)用較少;根據(jù)所述模塊方法集和所述社團(tuán)方法集,計(jì)算每個(gè)模塊的模塊化水平得分。
可選地,在識(shí)別模塊中的方法時(shí),如果兩個(gè)方法名稱相同,但參數(shù)類型或參數(shù)個(gè)數(shù)不同,則把該兩個(gè)方法識(shí)別為不同的方法,賦予不同的方法標(biāo)識(shí)。
可選地,所述方法調(diào)用網(wǎng)絡(luò)是有向圖并且包括節(jié)點(diǎn)和有向邊,每個(gè)節(jié)點(diǎn)表示一方法,每個(gè)有向邊連接兩個(gè)節(jié)點(diǎn)并且該有向邊的方向表示該兩個(gè)節(jié)點(diǎn)之間的調(diào)用關(guān)系,每個(gè)有向邊具有權(quán)值用于表示調(diào)用次數(shù)。
可選地,所述社團(tuán)劃分算法基于設(shè)定的模塊度來(lái)選擇。
可選地,對(duì)所述軟件系統(tǒng)的每個(gè)模塊,該模塊的模塊化水平得分通過下述公式計(jì)算:模塊化水平得分=Max/Sum,其中Max是該模塊中方法屬于同一社團(tuán)的最多方法數(shù),Sum是該模塊的模塊方法集中的方法總數(shù)。
可選地,計(jì)算每個(gè)模塊的模塊化水平得分之后,還包括:參照所劃分的社團(tuán),通過對(duì)所述軟件系統(tǒng)的模塊進(jìn)行重構(gòu)來(lái)重新布局方法,以提高所述軟件系統(tǒng)的模塊化水平。
根據(jù)本發(fā)明的另一方面,提供了一種檢測(cè)軟件系統(tǒng)的模塊化水平的裝置。
一種檢測(cè)軟件系統(tǒng)的模塊化水平的裝置,所述軟件系統(tǒng)包括多個(gè)模塊,所述裝置包括:靜態(tài)掃描單元,用于掃描該軟件系統(tǒng)的靜態(tài)代碼,對(duì)所述軟件系統(tǒng)的每個(gè)模塊識(shí)別該模塊中的方法,從而建立該模塊的模塊方法集,所述模塊方法集包括方法標(biāo)識(shí);網(wǎng)絡(luò)構(gòu)建單元,用于在所述軟件系統(tǒng)的設(shè)定的運(yùn)行時(shí)段期間,統(tǒng)計(jì)所述軟件系統(tǒng)各方法之間的調(diào)用并建立該軟件系統(tǒng)的方法調(diào)用網(wǎng)絡(luò);社團(tuán)劃分單元,用于根據(jù)選擇的社團(tuán)劃分算法把所述方法調(diào)用網(wǎng)絡(luò)劃分為多個(gè)社團(tuán),并確定每個(gè)社團(tuán)的社團(tuán)方法集,其中在所述社團(tuán)之內(nèi)的方法之間調(diào)用較多,而所述社團(tuán)之間的方法調(diào)用較少;得分計(jì)算單元,用于根據(jù)所述模塊方法集和所述社團(tuán)方法集,計(jì)算每個(gè)模塊的模塊化水平得分。
可選地,所述靜態(tài)掃描單元在識(shí)別模塊中的方法時(shí),如果兩個(gè)方法名稱相同,但參數(shù)類型或參數(shù)個(gè)數(shù)不同,則把該兩個(gè)方法識(shí)別為不同的方法,賦予不同的方法標(biāo)識(shí)。
可選地,所述方法調(diào)用網(wǎng)絡(luò)是有向圖并且包括節(jié)點(diǎn)和有向邊,每個(gè)節(jié)點(diǎn)表示一方法,每個(gè)有向邊連接兩個(gè)節(jié)點(diǎn)并且該有向邊的方向表示該兩個(gè)節(jié)點(diǎn)之間的調(diào)用關(guān)系,每個(gè)有向邊具有權(quán)值用于表示調(diào)用次數(shù)。
可選地,所述社團(tuán)劃分算法基于設(shè)定的模塊度來(lái)選擇。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司,未經(jīng)北京京東尚科信息技術(shù)有限公司;北京京東世紀(jì)貿(mào)易有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610539860.1/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 檢測(cè)裝置、檢測(cè)方法和檢測(cè)組件
- 檢測(cè)方法、檢測(cè)裝置和檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法以及記錄介質(zhì)
- 檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)和檢測(cè)方法
- 檢測(cè)裝置、檢測(cè)設(shè)備及檢測(cè)方法
- 檢測(cè)芯片、檢測(cè)設(shè)備、檢測(cè)系統(tǒng)
- 檢測(cè)組件、檢測(cè)裝置以及檢測(cè)系統(tǒng)
- 檢測(cè)裝置、檢測(cè)方法及檢測(cè)程序
- 檢測(cè)電路、檢測(cè)裝置及檢測(cè)系統(tǒng)
- 一種基于應(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)軟件的裝置與方法





