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

Java程序度量工具的實現及案例探討

2013-11-15 02:07:24朱云娜
電子測試 2013年17期
關鍵詞:程序方法

朱云娜

(遼寧廣播電視大學 110034)

0 引言

在軟件工程與技術領域中,傳統的軟件度量技術與面向對象的軟件度量技術之間,最大的不同之處主要表現在面向對象的度量技術在實現定量測量的過程中,需要對于類之間的耦合程度以及類的復雜度、內聚力、繼承層次復雜度等進行研究。在面向對象的軟件度量體系中,雖然能夠應用傳統方法進行軟件體系中某一模塊復雜度的定量測量與度量實現,但是對于軟件體系中的某些定義的還需要進行補充。結合當前軟件工程以及技術的發展應用情況,國內外已經存在有一些進行計算機程度復雜度計算應用的軟件工具,像SafePro/Eval等軟件工具就能夠實現對于C++以及ADA等語言程序中McCabe以及Halstead、MOOSE、MOOD等計算機程序復雜度的計算測量。此外,在軟件工具的設計開發中,通過應用CK度量套件中的度量方法,并利用Delphi進行設計開發出針對Java語言程序的度量工具,在我國也有實現,同時,再加上我國這一時期設計開發出的通過VC++的應用進行McCabe、Halstead復雜度的軟件工具,這兩種軟件工具均在不具有跨平臺性的情況下,都涉及到對于計算機數據庫的相關操作。最后,在這一時期,國外的Shimba以及Jstyle則是針對Java語言程序的開發設計的兩個度量工具,在實際應用中具有不能夠實現Halstead復雜度計算的局限性。

1 度量工具的度量算法與度量標準分析

在面向對象的軟件度量技術中,面向對象程序的基本單位是類,因此,在面向對象的度量計算中,主要是進行類的規模以及類的層次、類的協作、個體類的度量計算。通常情況下,在進行程序規模的度量計算中多采用行數度量法;對于類之間的繼承層次復雜性度量計算,則多采用DIT以及NOC度量法進行度量計算;對于類之間的通信復雜性則多是采用RFC度量法進行度量計算;此外,對于類的邏輯復雜性的度量計算則采用的是WMC度量法;最后,應用McCabe以及Halstead度量法進行方法復雜性的度量計算。

首先,在進行程序規模的度量中,主要是通過對于程序規模的度量,實現對于程序復雜性的度量評價,通常情況下,多采用的是行數度量法,也就是通過對于程序的源代碼行數情況進行統計,實現對于程序規模以及程序復雜性的度量。通常情況下,在相關研究中顯示,小于100條語句的小程序出錯率與可執行代碼的行數之間具有一定的線性關聯,往往隨著程序的增大,程序出錯率會呈現出非線性增長變化。因此,使用行數度量法能夠非常直觀的實現對于程序規模與復雜性的度量。

其次,在進行類之間的繼承層次復雜性度量計算中,Java語言程序對于類之間的繼承層次要求使用單繼承機制實現,也就是說Java語言程序中,類繼承樹都只存在有一個根結點,不管是J2SE提供的類,還是程序員開發設計的類都繼承于這個根結點。由于在進行類之間的繼承層次復雜性度量計算中,主要是進行程序開發員所開發程序的復雜度度量計算,因此,多使用DIT以及NOC兩種度量方法進行類之間繼承層次復雜度的計算,其中,DIT度量法主要是進行繼承樹的深度度量計算,也就是進行從結點到樹根之間最大距離的度量計算;而NOC度量法則是進行直接從屬于某類的子類總數的度量計算。

再次,在進行類之間的通信復雜性度量計算中,類的響應集合RFC通常多包含類中被調用的其他類的方法,能夠實現對于潛在類之間的通信度量,因此,對于類之間的通信復雜度多使用RFC度量法進行計算。具體度量計算過程如下,假設某類的方法為M1、M2、M3……Mn,{Ri}表示某類中方法i調用的方法集合,{M}表示某類的所有方法的集合,則有RS={M}∪alli{Ri};RFC=|RS|。

在進行類的邏輯復雜性的度量計算中,類的加權方法數WMC主要是對于類所包含的方法數的體現與反映,或者是對于類之間方法的邏輯復雜性進行度量,因此,對于類之間的邏輯復雜性的度量計算多是采用WMC度量法進行。

最后,在進行方法的邏輯復雜性度量計算中,多是使用McCabe以及Halstead度量法進行度量計算。首先,McCabe度量法在進行方法的邏輯復雜性度量計算中,是通過模塊的控制流量圖,實現對于模塊結構復雜性的度量確定,主要是通過下列計算公式(1)進行度量計算實現。

在上述計算公式中,V(G)表示的是強連通有向圖G中的環數情況,m則表示G中的弧數,n表示G中的結點數,p則是G中強連通分量的個數。其次,應用Halstead度量法進行方法的邏輯復雜性度量計算時,Halstead軟件工具主要是進行軟件規模的度量,也就是根據軟件的詞匯量的相關信息進行軟件長度的預測,從而實現對于軟件級別等的度量實現。應用Halstead度量法進行度量計算中,主要是根據Halstead度量軟件工具中的一系列度量值,通過軟件程序代碼中出現的不同操作符個數以及不同操作數個數、操作符總數、操作數總數等參數,根據計算公式進行度量計算。

2 Java程序度量工具的設計與案例探討

2.1 Java程序度量工具的設計

本文中所分析探討以及設計實現的Java程序度量工具是在對于SafePro/Eval所支持開發的度量工具以及測試工具QE-SAT的集成應用上設計實現的,其中,QE-SAT工具能夠對于Java程序項目中的源代碼進行分析,并實現動態以及靜態的測試。在QESAT工具對于Java程序項目源代碼的靜態以及動態測試中,靜態測試是進行被測試程序的程序結構以及復雜度信息的分析,而動態測試則是進行程序項目源代碼中語句以及分支、方法、類的覆蓋等測試實現,同時動態測試還能夠實現對于程序執行頻度的分析測試。Java程序度量工具在通過上述設計組成工具的度量計算后,將計算所得的復雜度信息顯示在QE-SAT工具中的圖形顯示界面中,以實現對于Java程序結構與復雜度的度量測試。如下圖1所示,為Java程序度量工具中靜態分析器的結構示意圖。

圖1 Java程序度量工具中靜態分析器的結構示意圖

根據上示靜態分析器的總體結構示意圖可以看出,Java程序度量工具中的靜態分析器主要由Java語法分析器以及符號表、復雜度信息分析器、語法樹四個結構部分組成。Java程序度量工具在度量計算中,Java程序中的源文件在通過語法分析器進行分析后,形成符號表以及語法樹,然后再通過復雜度信息分析器對于語法樹的各節點進行分析,同時根據符號表中相關的標識符的相關定義信息,將分支作為基本單元結構對于其中的變量操作信息進行提取,以實現對于程序結構與復雜度的度量計算,計算結果將以XML格式存入到計算機的信息庫中,以輸出應用。在Java程序度量工具中,靜態分析器中的語法分析器是基于Java語言并根據相關語法自動生成的一種語法分析器,在對于這種自動生成語法分析器修改的基礎上,最終形成靜態分析器中的語法分析器。

2.2 案例探討

Java程序度量工具在進行代碼分析時具有較為突出的輔助作用,下文將以Java程序度量工具對于QE-SAT測量工具中jstaticdata數據包源代碼的分析為例,進行探討說明。為運行QE-SAT工具情況下,對被測數據包中的源代碼靜態分析后,生成信息顯示界面。在上述QE-SAT靜態分析器分析顯示的結果中,用戶在項目視圖或者是類視圖中進行類或者是方法的名稱選擇,就能夠通過信息視圖得知所選擇的類與方法的相對應各種度量值。

3 結束語

總之,Java程序度量工具在進行軟件程序開發設計中,具有幫助程序員分析代碼、及時發現軟件程序代碼中的問題,實現程序的優化,因此,進行Java程序度量工具的實現以及案例探討,具有積極的作用與價值意義。

[1]王樹森,顧慶,陳燾,陳道蓄.基于復雜網絡的大型軟件系統度量[J].計算機科學.2009(2).

[2]姜元鵬,張永平,姜淑娟.測試Java異常處理機制的方法[J].計算機工程與設計.2010(20).

[3]黃沛杰,楊銘銓.代碼質量靜態度量的研究與應用[J].計算機工程與應用.2011(23).

[4]徐軍,張嬡,葉澄清.Java多線程動態測試中的插裝[J].計算機工程與應用.2011(19).

[5]李必信,楊朝暉,譚毅,朱平,李宣東,鄭國梁.一種基于切片技術度量Java耦合性的框架[J].計算機學報.2011(3).

猜你喜歡
程序方法
學習方法
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 中文字幕久久亚洲一区| 国产成年女人特黄特色毛片免| 国产精品福利导航| 亚洲精品在线影院| 亚洲成年人片| 成人福利在线视频免费观看| 日韩成人高清无码| 欧美激情综合| 91成人在线免费观看| 亚洲天堂日本| 高清精品美女在线播放| 色老头综合网| 亚洲免费黄色网| 国产成人一区二区| 亚洲国产成人精品青青草原| 九九热这里只有国产精品| 香蕉视频国产精品人| 丰满人妻中出白浆| 99视频精品全国免费品| 欧美成人午夜视频免看| 老司机aⅴ在线精品导航| 国产精品露脸视频| 精品无码国产自产野外拍在线| 免费毛片网站在线观看| 国外欧美一区另类中文字幕| 久久网欧美| 91精品国产91久久久久久三级| 五月综合色婷婷| 国产成人精品第一区二区| 91色在线观看| 美女国内精品自产拍在线播放| 青青操国产| 一级毛片基地| 99久久国产综合精品2023| 欧美天堂在线| 性色一区| 国产精品lululu在线观看 | 无码精品国产dvd在线观看9久| 国产高清国内精品福利| 亚洲精品天堂在线观看| 亚洲国产精品不卡在线| 精品久久国产综合精麻豆| 国产成人亚洲无码淙合青草| 美女裸体18禁网站| 一本色道久久88亚洲综合| 激情六月丁香婷婷| 久久99精品久久久大学生| 国产玖玖玖精品视频| 黄色网页在线观看| 亚洲第一成人在线| 亚洲第一视频网| 嫩草国产在线| 91福利免费| 性色在线视频精品| 成人日韩视频| 欧美视频免费一区二区三区 | 无码免费视频| 国产欧美日本在线观看| 91网址在线播放| 欧美国产综合色视频| 91青青在线视频| 午夜无码一区二区三区在线app| 国产亚洲精| 亚洲免费毛片| 重口调教一区二区视频| 国产欧美日韩专区发布| 国产综合亚洲欧洲区精品无码| www.99在线观看| 中文字幕资源站| 狠狠干欧美| 色网在线视频| 超薄丝袜足j国产在线视频| 久久成人国产精品免费软件| 亚洲一区二区三区麻豆| 亚洲中久无码永久在线观看软件| 婷婷六月综合网| 福利视频一区| 精品一区二区无码av| 波多野结衣视频网站| 欧美三级自拍| yjizz国产在线视频网| 国产精品亚洲а∨天堂免下载|