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

一種基于UML的Java類復雜性度量方法

2007-12-31 00:00:00
計算機應用研究 2007年7期

摘要:軟件產品復雜度在軟件度量領域是一個非常重要的方面。軟件開發的成本、進度和潛伏的錯誤數量均與復雜度有密切的關聯。由于OOA和OOD被廣泛運用,度量面向對象的軟件復雜性成為必然的需求。UML是一種面向對象分析與設計的建模語言,已經被接受為工業標準。為此,提出了一種適用于Java語言的根據UML類圖對類的復雜性進行度量的方法,并用Weyuker提出的復雜性度量的評價標準對其進行了評價。

關鍵詞:復雜性度量;面向對象;統一建模語言;Java

中圖分類號:TP311文獻標志碼:A

文章編號:1001-3695(2007)07-0180-03

0引言

20世紀80年代后,面向對象方法和技術已受到計算機領域的專家、學者、研究人員和工程人員越來越廣泛的重視。相繼出現的一系列描述能力強、執行效率高的編程語言,標志著面向對象的方法與技術開始走向實用。90年代以來,面向對象的開發方法學研究越來越活躍,各種成果大量涌現并被應用于實際開發中,特別是Visual C++、Delphi、Java等功能更強、效率更高、使用方便的面向對象語言的出現,使得面向對象方法和技術成為主流。

軟件開發過程是高度智力活動,如何高質量、高效地開發軟件,不僅是軟件開發商關心的,也是從事軟件開發技術與方法研究的專家、學者努力的目標。軟件度量理論、方法的發展正是順應了這種要求。

統一建模語言(UML)由Rational公司提出[1],它結合了Rumbaugh、Booch和Jacobson提出的三種面向對象分析與設計方法的優點,被OMG接受而成為事實上的面向對象建模語言的工業標準,并得到了廣泛的應用。在軟件的分析和設計階段利用UML對類的復雜性進行度量,這種早期的度量可以給項目開發帶來一些有用的信息,避免在軟件開發的后期對軟件的開發方案和設計原則進行重大調整。由于Internet的崛起和普及,Internet上的網際程序語言Java已頗受矚目。Java是一種具備有異質平臺執行能力、多線程,且支持網絡、WWW與圖形用戶界面的純粹面向對象編程語言。由于它的許多先進功能而被視為是WWW上的最佳網際用語言之一。以Java做WWW上系統開發工具已經成為發展的趨勢[2]。由于Java具有典型的面向對象的特征,選擇Java語言作為研究對象,開發針對Java語言的軟件度量方法既有代表意義又有實際價值。

1面向對象度量的一些相關工作

面向對象的軟件開發方法與傳統的軟件開發方法之間存在較大的差異,因此要根據面向對象系統的特點來定義新的度量準則,或對傳統的軟件度量準則進行擴展以適應面向對象系統的度量。許多研究人員對面向對象的度量方法進行了研究。Morris[3]最早提出了對面向對象軟件開發度量的一些度量準則。但這些準則沒有經過驗證。D.R.Morea等人[4]提出了對面向對象圖形信息系統進行度量的三個度量準則,缺點是他們沒有提供形式化和可測試的定義。S.R.Chidamber等人[5]提出了對面向對象設計進行度量的六個準則,它們是:①每個類的方法權重和(Weighted Methods per Class,WMC)。類中所有方法的復雜性之和。②繼承樹的深度(Depth of Inheritance Tree,DIT),即類的繼承樹的深度。在多重繼承的情況下,它是從葉子節點到根節點的路徑最大長度。③子類的個數(Number of Children,NOC)。在繼承的情況下,一個類的直接子類的個數。④類耦合度(Coupling Between Object classes,CBO)。某一個類與其他類之間的耦合計數。⑤類的響應度(Response For a Class,RFC)。接受外部的消息而在類中激發的方法數。⑥類內方法間的聚合缺乏度(Lack of Cohesion in Methods,LCOM)。采用了兩個項目中的類庫,利用該度量方法得到一些經驗數據。V.L.Basili等人[6]對Chidamber的度量方法進行了驗證。Li[7]指出了Chidamber度量準則中的一些缺點,并提出了另外一套度量準則:①祖先類的個數(Number of Ancestor Classes,NAC)。一個類所繼承的全部祖先類的數目。②子孫類的個數(Number of Descendent Classes,NDC)。一個類在繼承樹中所有子孫類的個數。③類中局部方法的個數(Number of Local Methods,NLM)。在類中定義的且可由外部訪問的方法數(即可見性為Public的方法數)。④類方法的復雜性(Class Method Complexity,CMC)。類中所有方法的結構復雜性之和。⑤抽象數據類型之間的耦合(Coupling through Abstract data Type,CAT)。在類的數據成員申明中作為抽象數據類型被使用的類的個數。⑥消息傳遞之間的耦合(Coupling Through Message passing,CTM)。從類中發送出的不同類型的消息減去傳送到在類的內部生成的對象消息。

2基于UML的類復雜性度量

UML是一個對面向對象分析和設計方法進行建模的描述語言。它包括用例的描述、類的靜態描述、類間關系的靜態描述、類的動態描述、類之間交互的動態描述以及系統描述等各個組成部分。這里主要討論對類的復雜性進行度量,主要關注UML中的類圖。

UML中的類圖主要是對類進行靜態的描述,它可以描述Java語言中類的屬性以及方法。為了正確地實現Java語言的度量,必須對Java語言文法進行深入研究分析。在對Java語言屬性、方法和類的文法充分分析的基礎上,從中可以導出兩個度量準則(圖1):①類中屬性的個數;②類中方法的個數。

度量準則1類中屬性的加權值(Weighted Number of Attribute,WNOA) 

定義類的屬性的加權值被定義為從祖先類中繼承的屬性的加權值、實現祖先接口時接口中定義的常量屬性的加權值和各類特有的屬性個數之和。

式中,p為繼承的屬性數目;r為接口實現時的屬性數目;q是該類中特有的屬性數目。wi為繼承的屬性對類復雜性的貢獻的權重;wf為接口實現時的屬性對類復雜性的貢獻的權重。wi、wf應該取小于1的正數。

注意:在類的繼承關系中,祖先類的可見性為Public和Protect的屬性在子類中可用,而可見性為Private的屬性在子類中不可用,因此p只包括那些可見性為Public和Protect的屬性。祖先類包括該類的直接父類和祖先父類。祖先接口包括該類的直接父接口和祖先父接口。

度量準則2類中方法的加權值(Weighted Number of Method,WNOM)

定義WNOM為從父類中繼承的方法的加權值和該類中特有的方法個數之和。

3對以上度量準則的評價

E.J. Weyuker[8]提出了對復雜性度量進行評價的九個特性。在這些特性被提出來之后,有許多研究人員對其提出了批評,N.E. Fenton[9]提出Weyuker的特性不能確定對復雜性有一個單一的確定的認識。Zuse批評Weyuker提出的特性與尺度理論不一致[10]。Cherniavsky等人提出Weyuker的特性只是一個好的度量準則所具有的必要條件而不是充分條件[5]。但E.J. Weyuker的形式化的分析方法包容了以前非正規的對復雜性度量進行評價的特性,并為對復雜性度量進行評價提供了一定的理論基礎。在文中仍然采用Weyuker的評價特性對提出的度量準則進行評價。S.R. Chidamber等人[5]提出在評價面向對象的復雜性度量時,要對Weyuker提出的度量準則進行調查,從而給出以下六個評價特性:

(1)給定類P和Q以及度量準則f,存在f(P)≠f(Q)。它指出對于一個度量準則來說,并不是每一個類的復雜性度量均產生相同的結果,否則將失去度量的意義。

(2)存在不同的類P和Q,使f(P)=f(Q)。

對于特性(3),假定P和Q是兩個完成相同功能的類,但其屬性可能會不一致,比如說某一屬性并不是類的屬性,而是為了完成某一功能所加入的變量(如信號量等);而另一個完成相同功能的類則不使用這樣的方式來完成相應的功能。它們兩者的度量結果可能會產生差異,因此度量準則1滿足這一特性。

對于特性(4),將P與Q進行合并得到一新類,則其屬性的個數不會小于合并前的兩個類。度量準則1滿足這一特性。

對于特性(3),假定P和Q是兩個完成相同功能的類,但其方法可能會不一致,如若P類中的方法A調用了方法B從而完成某一個操作;但在類Q中為了完成相同類型的操作,可能不把B設計為方法,而是將它放在了方法A中,這樣雖然它們實現了相同的功能,但兩者的度量結果可能會產生差異。因此度量準則2滿足這一特性。

對于特性(4),將P與Q進行合并得到一新類,則其方法的個數不會小于合并前的兩個類,度量準則2滿足這一特性。

4結束語

在對Java語言文法作了詳細的分析以后,本文提出了兩個根據UML對Java類的復雜性進行度量的度量準則,并用Weyuker提出的復雜性度量的評價標準對其進行了評價。該方法應用于面向對象分析和設計階段,并可與某些利用UML的Case工具相集成,在設計階段自動給出度量的結果供設計人員或項目管理人員在進行決策時使用。UML得到了工業界的認可并被廣泛使用,因此這套度量方法的應用前景十分廣闊。本文僅討論了對類的復雜性度量的準則。對于某些類組合成的子系統或系統的復雜性并沒有進行討論。由于類之間存在各種各樣的動態關系(消息傳遞、激活等),在以后的工作中可以進一步對類間的動態關系進行研究,歸納出一定的度量準則,使該理論能得到進一步的補充和完備。另外度量準則1和2中的各個權值文中并沒有給出,這些權值的確定需要大量的統計和調查工作,這也是今后所要解決的問題之一。

參考文獻:

[1]UML Proposal to the Object Management Group.version 1.1,Rational corporation[EB/OL].[1997-09].http://www.rational.om/uml.

[2]邢大紅,李家偉,張順國,等.Java語言的度量及工具實現[J].計算機工程,2001,27(9):51-52.

[3]MORRIS K. Metrics for object-oriented software development[D].Cambridge,MA:MIT Sloan school of Management,1988.

[4]MOEAU D R, DOMINICK W D. Object oriented graphical information systems:research plan and evaluation metrics[J]. The Journal of Systems and Software,1989,10:23-28.

[5]CHIDAMBER S R, KEMERER C F.A metrics suite for object oriented design[J].IEEE Transaction on Software Engineering,1994,20(6):476-493.

[6]BASILI V L, BRIAND L, MELO W L. A validation of object-oriented metrics as quality indicators[J].IEEE Transaction on Software Engineering,1988,10:751-761.

[7]LI Wei. Another metrics suite for object-oriented programming[J].The Journal of System and Software,1998,44:155-162.

[8]WEYUKER E J. Evaluating software complexity measures[J].IEEE Transaction on Software Engineering,1988,14(9):1357-1365.

[9]FENTON N E.Software metrics: a rigorous approach[M]. New York:Chapman Hall,1991.

[10]倫立軍,丁雪梅,李英梅.程序復雜性度量的一種新方法[J].計算機應用研究,2004,21(2):37-39.

注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”

主站蜘蛛池模板: 国产成人AV综合久久| 91av国产在线| 婷婷六月综合网| 一级毛片视频免费| 亚洲综合在线最大成人| 亚洲成人网在线观看| 国产91导航| 亚洲性影院| 亚洲码在线中文在线观看| 日韩午夜福利在线观看| 99视频精品全国免费品| 国产精品无码一区二区桃花视频| 精品国产91爱| 欧美.成人.综合在线| 成人国产免费| 久久婷婷色综合老司机| 亚州AV秘 一区二区三区| 欧美日韩午夜| 青青草原国产av福利网站| 亚洲AV成人一区二区三区AV| 国产精品自拍露脸视频| 青青国产视频| 国产91麻豆免费观看| 久久人搡人人玩人妻精品 | 免费Aⅴ片在线观看蜜芽Tⅴ| 亚洲码在线中文在线观看| 国产99视频精品免费观看9e| 99这里只有精品6| 日本一区高清| 人妻少妇乱子伦精品无码专区毛片| 国产91视频免费| 亚洲开心婷婷中文字幕| 亚洲男人天堂2018| 99久久精品国产自免费| 无码区日韩专区免费系列| 国产精品视频久| 日韩 欧美 国产 精品 综合| 亚洲成人网在线播放| 91麻豆精品国产91久久久久| 999国产精品永久免费视频精品久久 | 精品福利视频导航| 日韩毛片基地| 亚洲综合18p| 欧美精品三级在线| 国产一区二区免费播放| 亚洲欧美另类日本| 亚洲h视频在线| 99er这里只有精品| 午夜电影在线观看国产1区| 99久久国产自偷自偷免费一区| 99久久成人国产精品免费| 18禁黄无遮挡免费动漫网站| 一级毛片免费观看不卡视频| 精品久久久久成人码免费动漫| 91精品国产无线乱码在线| 國產尤物AV尤物在線觀看| 在线欧美日韩国产| 亚洲av色吊丝无码| 久久亚洲国产一区二区| 毛片免费在线视频| 亚洲精品国产自在现线最新| 爆乳熟妇一区二区三区| 有专无码视频| 日韩乱码免费一区二区三区| 色噜噜狠狠狠综合曰曰曰| 自拍亚洲欧美精品| 国产h视频在线观看视频| 激情午夜婷婷| 久久综合九色综合97婷婷| 在线观看亚洲天堂| а∨天堂一区中文字幕| 国产亚洲欧美在线人成aaaa| 日韩人妻精品一区| 国产精品对白刺激| 无码中文字幕乱码免费2| 久久99国产综合精品1| 精品久久久久久中文字幕女 | 国产免费久久精品99re丫丫一| 国产免费黄| 人妻精品全国免费视频| 91av成人日本不卡三区| 国产91在线免费视频|