[發明專利]一種檢測軟件系統的模塊化水平的方法和裝置在審
| 申請號: | 201610539860.1 | 申請日: | 2016-07-11 |
| 公開(公告)號: | CN107608872A | 公開(公告)日: | 2018-01-19 |
| 發明(設計)人: | 晏迪 | 申請(專利權)人: | 北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 中原信達知識產權代理有限責任公司11219 | 代理人: | 張一軍,姜勁 |
| 地址: | 100195 北京市海淀區杏石口路6*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 檢測 軟件 系統 模塊化 水平 方法 裝置 | ||
1.一種檢測軟件系統的模塊化水平的方法,所述軟件系統包括多個模塊,所述方法的特征在于包括:
掃描該軟件系統的靜態代碼,對所述軟件系統的每個模塊識別該模塊中的方法,從而建立該模塊的模塊方法集,所述模塊方法集包括方法標識;
在所述軟件系統的設定的運行時段期間,統計所述軟件系統各方法之間的調用并建立該軟件系統的方法調用網絡;
根據選擇的社團劃分算法把所述方法調用網絡劃分為多個社團,并確定每個社團的社團方法集,其中在所述社團之內的方法之間調用較多,而所述社團之間的方法調用較少;
根據所述模塊方法集和所述社團方法集,計算每個模塊的模塊化水平得分。
2.根據權利要求1所述的方法,其特征在于,
在識別模塊中的方法時,如果兩個方法名稱相同,但參數類型或參數個數不同,則把該兩個方法識別為不同的方法,賦予不同的方法標識。
3.根據權利要求1所述的方法,其特征在于,
所述方法調用網絡是有向圖并且包括節點和有向邊,每個節點表示一方法,每個有向邊連接兩個節點并且該有向邊的方向表示該兩個節點之間的調用關系,每個有向邊具有權值用于表示調用次數。
4.根據權利要求1所述的方法,其特征在于,所述社團劃分算法基于設定的模塊度來選擇。
5.根據權利要求1所述的方法,其特征在于,對所述軟件系統的每個模塊,該模塊的模塊化水平得分通過下述公式計算:
模塊化水平得分=Max/Sum,
其中Max是該模塊中方法屬于同一社團的最多方法數,Sum是該模塊的模塊方法集中的方法總數。
6.根據權利要求1所述的方法,其特征在于,計算每個模塊的模塊化水平得分之后,還包括:
參照所劃分的社團,通過對所述軟件系統的模塊進行重構來重新布局方法,以提高所述軟件系統的模塊化水平。
7.一種檢測軟件系統的模塊化水平的裝置,所述軟件系統包括多個模塊,所述裝置的特征在于包括:
靜態掃描單元,用于掃描該軟件系統的靜態代碼,對所述軟件系統的每個模塊識別該模塊中的方法,從而建立該模塊的模塊方法集,所述模塊方法集包括方法標識;
網絡構建單元,用于在所述軟件系統的設定的運行時段期間,統計所述軟件系統各方法之間的調用并建立該軟件系統的方法調用網絡;
社團劃分單元,用于根據選擇的社團劃分算法把所述方法調用網絡劃分為多個社團,并確定每個社團的社團方法集,其中在所述社團之內的方法之間調用較多,而所述社團之間的方法調用較少;
得分計算單元,用于根據所述模塊方法集和所述社團方法集,計算每個模塊的模塊化水平得分。
8.根據權利要求7所述的裝置,其特征在于,所述靜態掃描單元在識別模塊中的方法時,如果兩個方法名稱相同,但參數類型或參數個數不同,則把該兩個方法識別為不同的方法,賦予不同的方法標識。
9.根據權利要求7所述的裝置,其特征在于,
所述方法調用網絡是有向圖并且包括節點和有向邊,每個節點表示一方法,每個有向邊連接兩個節點并且該有向邊的方向表示該兩個節點之間的調用關系,每個有向邊具有權值用于表示調用次數。
10.根據權利要求7所述的裝置,其特征在于,所述社團劃分算法基于設定的模塊度來選擇。
11.根據權利要求7所述的裝置,其特征在于,所述得分計算單元還用于:
對所述軟件系統的每個模塊,該模塊的模塊化水平得分通過下述公式計算:
模塊化水平得分=Max/Sum,
其中Max是該模塊中方法屬于同一社團的最多方法數,Sum是該模塊的模塊方法集中的方法總數。
12.根據權利要求7所述的裝置,其特征在于,還包括:
模塊優化單元,用于在計算每個模塊的模塊化水平得分之后,參照所劃分的社團,通過對所述軟件系統的模塊進行重構來重新布局方法,以提高所述軟件系統的模塊化水平。
13.一種檢測軟件系統的模塊化水平的裝置,所述軟件系統包括多個模塊,所述裝置的特征在于包括:
存儲器和處理器,其中,
所述存儲器存儲指令;
所述處理器執行所述指令用于:
掃描該軟件系統的靜態代碼,對所述軟件系統的每個模塊識別該模塊中的方法,從而建立該模塊的模塊方法集,所述模塊方法集包括方法標識;
在所述軟件系統的設定的運行時段期間,統計所述軟件系統各方法之間的調用并建立該軟件系統的方法調用網絡;
根據選擇的社團劃分算法把所述方法調用網絡劃分為多個社團,并確定每個社團的社團方法集,其中在所述社團之內的方法之間調用較多,而所述社團之間的方法調用較少;
根據所述模塊方法集和所述社團方法集,計算每個模塊的模塊化水平得分。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司,未經北京京東尚科信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610539860.1/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種信息處理方法及電子設備
- 下一篇:軟件測試方法和系統及測試平臺





