999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向對象軟件度量方法及自動化度量工具研究

2009-01-22 02:24:20
企業技術開發·中旬刊 2009年8期

魏 崢

摘要:度量技術是保證軟件質量的重要手段,它定量地反映了軟件某一方面的特征。隨著面向對象技術的發展,傳統的結構化度量不再適合面向對象的軟件,面向對象度量是對象技術不可分割的一部分,基于對象技術的軟件度量成為必然的需求,從而面向對象軟件設計度量的研究與實現是文章研究的內容。文章在現有度量公式的基礎上,利用正則表達式,可以簡單度量出Java源代碼的復雜度屬性。

關鍵詞:軟件度量;面向對象;度量工具

中圖分類號:TP311.5

文獻標識碼:A

文章編號:1006-8937(2009)16-0116-02

1軟件度量的背景和意義

軟件度量(software measurement)是對軟件開發項目、過程及其產品進行數據定義、收集以及分析的持續性定量化過程,目的在于對此加以理解、預測、評估、控制和改善。沒有軟件度量,就不能從軟件開發的暗箱中跳將出來。通過軟件度量可以改進軟件開發過程,促進項目成功,提高軟件質量。

隨著面向對象開發方法和面向對象設計語言的廣泛使用,用戶采用面向對象技術開發的軟件系統和產品日益增多,有關面向對象軟件度量的研究也受到軟件界的重視,面向對象技術采用數據抽象、封裝、繼承、多態性、信息隱藏、重用機制等。為提高軟件的可重用性,增強可維護性、可靠性,提高生產效率等方面提供了可能。

2面對對象軟件度量

2.1度量的定義

度量(Metrics)的定義是:“度量是一個函數,它的輸入是軟件數據,輸出是單一的數值,能用以解釋軟件所具有的一個給定屬性對軟件質量影響的程度。”軟件質量度量是對影響軟件質量的屬性所進行的定量測量。

人們已經提出的軟件度量包括軟件復雜性度量、模塊性度量、可修改性度量、可移植性度量、可擴充性度量、可靠性度量、可維護性度量等等。盡管在IEEE的定義中,“軟件數據”沒明確提出,但如果評測一個軟件產品,則這個被評測的產品就是輸入的軟件數據,這些軟件數據均可以形式地予以定義。

2.2面向對象軟件度量模型

傳統的非面向對象的軟件度量較多的關心軟件復雜度的度量。通過軟件復雜性折射軟件的質量。面向對象的方法學的出現帶來了軟件開發的革命,也帶來了面向對象軟件度量的革命。針對面向對象的軟件生命周期和質量保證,F.B.Abem非形式的提出了七條標準:①度量應該形式化定義;②度量應該與系統大小無關;③度量應該選擇合適的刻度類型;④度量應該在生命周期的早期就可用;⑤度量應該具有可擴展性;⑥度量應該易于計算;⑦度量應該獨立于語言。

Abreu的七條標準對開發針對面向對象的度量具有一定的意義。近幾年來涌現了大量面向對象的軟件度量模型,比較有影響的如:C&K度量集,MOOD度量集,MOOD2度量集等。

3Java軟件的度量工具的設計思想與開發

3.1Java軟件度量工具(Metric Tool)的設計

所謂Java軟件的質量度量,就是對Java程序源代碼進行分析度量。Java軟件的度量工具設計的總體思路將遵從面向對象設計的基本原則,如圖1。

文章設計的軟件度量工具是一個基于C&K和MOOD理論的度量工具,該工具可以運行在Windows XP上,其主要功能就是通過對用戶Java源程序的掃描,計算出C&K度量指標:方法數、繼承類的總數,接口總數,繼承樹深度(DIT)、孩子數目(NOC)、每個類的加權方法(WMC);MOOD度量指標:方法繼承因子(MIF)、多態因子(PF)。通過所該工具得到的度量數據,可以幫助開發人員及時地了解程序的復雜性,估計出程序的穩定性及可維護性,指導測試人員進行有效的測試。

3.2實現功能模塊的簡述

查看度量結果有兩個入口,首先是本地工程度量,其次是歷史工程查看。

3.2.1本地工程度量(XML信息庫的創建)

由于我們設計的度量工具以xml作為信息庫,因此度量某工程首先必須把需要度量的信息存入xml信息庫中,實現的步驟如下:

①選擇工程目錄,遍歷整個工程目錄,提取出.java的文件名。②得到的.java的輸出流(BufferedReader),將其傳人語法分析器中,返回List集合類,該集合存放著XClass對象。由從該XClass對象中可以提取出這個類的繼承類、實現的接口、方法個數、方法名稱、變量個數及名稱、子類的個數、繼承數的深度等信息。③將得到的XClass傳入XML創建類(XmlFileCreate)中,該類通過傳入的信息返回要一定格式的Document,通過idom來構建xml信息庫。JDOM是一個開源項目,它基于樹型結構,利用純JAVA的技術對XML文檔實現解析、生成、序列化以及多種操作。JDOM直接為JAVA編程服務。它利用更為強有力的JAVA語言的諸多特性(方法重載、集合概念以及映射),把SAX和DOM的功能有效地結合起來。在使用設計上盡可能地隱藏原來使用XML過程中的復雜性。④將得到的Document寫入創建的XML文件中,存放在工程目錄xmlfile文件夾下面,該文件默認以工程名稱+時間作為文件名,來避免出現相同的文件名,名字規范如下:softmeasure-2008-05-31 18:36:50.xml。⑤歷史文件的管理。包括歷史文件的修改名稱、刪除、查看度量結果。

3.2.2度量計算器的實現

度量計算器讀取xml信息庫的結果,根據度量模型對相關度量指標進行計算。度量計算器只和知識庫交換,不受外界環境的影響,這是知識庫的隔離變化和分析器的適應變化發揮功效的體現。度量計算器套用C&K和MOOD度量集給出了一些計算公式,來實現軟件工程的度量。

3.2.3度量結果的展示

①窗口視圖展現。度量結果的展示由三個窗口視圖JInteranlFrame和中間JTabbedPane組成。三個窗口視圖分別是項目視圖、類視圖、信息視圖。類視圖:以樹的形式展現了類的信息,包括繼承類、實現接口、方法體及名稱;信息視圖:以JTable顯示有C&K、MOOD套件度量出的信息、以及其他類的信息;項目視圖:以樹的形式展現了工程目錄所有java文件。樹的結構按工程目錄一>包名稱一>類名稱,該樹添加了一個鼠標事件監聽器。②中間區域信息的展現。中間信息區域為一個JTabbedPane面板,有4中的tab頁的類型,報表的實現一JFmeChart包來實現,JFreeChart目前是最好的java圖形解決方案,基本能夠解決目前的圖形方面的需求,本系統中用到了餅圖和柱狀圖的實現。③XML信息庫的讀取和存放。對XML信息庫的讀取同樣是用jdom包實現,讀取到的信息則將其存在Map集合類中,以key值作為包名,值是一個以類名為key值,TreeNode類為value值的HashMap。④面板工廠管理。由于系統面板比較多,所以采用工廠模式對面板進行管理,使得代碼更加清晰易懂。⑤程序截圖,如圖2所示。

3.3Java軟件度量工具開發平臺與工具的介紹

Eclipse平臺:Eclipse是一個開放源代碼的、基于Java的可擴展開發平臺。Eclipse是一個開發源碼項目,可擴展性很好,而且任何人都可以免費得到,并可以在此基礎上開發各自的插件,開源插件和商業插件都可以用來擴充Eclipse。因此越來越受人們關注。

4結語

面向對象軟件度量及其自動化的研究具有廣闊的應用前景。面向對象軟件的度量目前只是處于探討階段,尚沒有從面向對象軟件的特點挖掘出具有理論價值和實用價值的度量方法和準則。以上的度量方法只是對面向對象技術中某一方面特有的內部屬性進行了評估,還不能將它們與整個系統的件復雜性對應起來。即使不精確,也有一定的參考價值,因此,我們所設計出的度量工具也正基于這些度量集來實現。

主站蜘蛛池模板: 欧美国产日韩在线播放| 午夜老司机永久免费看片| 国内毛片视频| 亚洲欧美日韩成人高清在线一区| 91热爆在线| 亚洲国产成人精品无码区性色| 国产午夜精品鲁丝片| 成人在线观看一区| 久久情精品国产品免费| 亚洲中文字幕无码爆乳| a级毛片免费网站| 狂欢视频在线观看不卡| 亚洲国产一成久久精品国产成人综合| AV老司机AV天堂| 在线国产综合一区二区三区| 成人亚洲视频| 国产麻豆91网在线看| 无码视频国产精品一区二区| 欧美人人干| 亚洲中文字幕久久无码精品A| 久久综合国产乱子免费| 亚洲91在线精品| 特级欧美视频aaaaaa| 亚洲va精品中文字幕| 久久精品无码一区二区日韩免费| 91福利免费视频| 精品国产自在在线在线观看| 免费观看国产小粉嫩喷水| 国产精品xxx| 欧美中出一区二区| 亚洲欧洲日韩国产综合在线二区| 久久青草精品一区二区三区| 欧美国产精品拍自| 婷婷色婷婷| 人妻丝袜无码视频| 福利视频一区| 精品成人免费自拍视频| 日本国产精品一区久久久| av尤物免费在线观看| 国产老女人精品免费视频| 亚洲午夜福利在线| 久久久久无码国产精品不卡| 中国精品自拍| 欧美在线视频不卡| 日本在线亚洲| 99久久国产综合精品2020| 国产亚卅精品无码| 欧美a在线看| 亚洲第一香蕉视频| 免费看av在线网站网址| 国产91丝袜在线播放动漫| A级全黄试看30分钟小视频| 色国产视频| 成人亚洲天堂| 国产精品露脸视频| 国产在线精品美女观看| 丁香婷婷激情网| 欧美日韩精品一区二区在线线| 色婷婷亚洲综合五月| 国产午夜精品一区二区三| 亚洲午夜福利精品无码| 日韩大片免费观看视频播放| 色综合色国产热无码一| 在线观看国产精品第一区免费| 国产福利免费视频| 丰满人妻久久中文字幕| 亚洲男人天堂久久| 亚洲视频a| 人妻无码中文字幕第一区| 亚洲欧美极品| 午夜激情婷婷| 亚洲最黄视频| 毛片大全免费观看| 免费AV在线播放观看18禁强制| 中文无码日韩精品| 亚洲性视频网站| 国产精品久久久久久影院| 亚洲国产中文综合专区在| 国产精品999在线| 国产精品页| 秋霞午夜国产精品成人片| 亚洲男人的天堂久久精品|