一個實際的模型測量可維護性_第1頁
一個實際的模型測量可維護性_第2頁
一個實際的模型測量可維護性_第3頁
一個實際的模型測量可維護性_第4頁
一個實際的模型測量可維護性_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、一個實際模型的測量可維護性 -初步分析報告Ilja Heitlager 軟件改善小組荷蘭,i.heitlagersig.nl電子郵件:Joost維瑟軟件改善小組荷蘭,j.vissersig.nl電子郵件:Abstract-The數(shù)量的努力,需要保持一個軟件系統(tǒng)相關的技術素質(zhì)的源代碼該系統(tǒng)。模式模型軟件產(chǎn)品的質(zhì)量作為一種新型的可維護性道出了6個主要特征軟件產(chǎn)品的質(zhì)量,以適應、可變性,穩(wěn)定、可維護性的subcharacteristics一樣。值得一提的是,模式不能提供一個相互套估計可維護性措施體系的基礎上的源代碼。另一方面,維修性指標提出了計算一個單獨的數(shù)字,表示一個系統(tǒng)的可維護性。在本文中,我們

2、討論的幾個問題,和我們找出數(shù)量的要求完成的一個可維護性模型是可用的。我們勾畫出新的可維護性模型,大多數(shù)的這些問題,緩解,我們討論一下我們的經(jīng)驗和使用系統(tǒng)等管理咨詢活動。 1介紹。這個ISO / IEC模式1的基礎上介紹了模型的軟件產(chǎn)品質(zhì)量,剖析了整體觀念的品質(zhì)為6個主要characteristics1:功能、可靠性、可用性,效率高、可維護性、可移植性。這些特點,27 sub-characteristics進一步劃分。另外,這個標準提供了一個兩廂情愿的庫存的度量標準可以用來作為指標對這些特征2,3。識別和定義的軟件開發(fā)過程中質(zhì)量特性ISO質(zhì)量模型,提供了一個有用的框架參考和標準化的術語促成交流關

3、于軟件質(zhì)量。這個定義度量指導推演的評價特點的基礎上,對活動時間的努力相關的軟件產(chǎn)品,如影響分析,所犯的錯誤修正,或者測試。不幸的是,這些上市標準是不以系統(tǒng)本身的預測能力和缺乏。非正式地,他們說明天天氣預報今天是一樣的。一般來說,提出了評價指標的可維護性特征并不是衡量的維護、如下。這個系統(tǒng)的代碼和文檔,但對履行維修活動技術人員。事實上,這個分支中給出了所謂的內(nèi)部和外部的質(zhì)量,而另一個細分為使用質(zhì)量。也要看下面。許多軟件度量已經(jīng)提出的指標對于軟件產(chǎn)品質(zhì)量45。在特殊情況下,阿曼等。提出了維修性指標(MI)6,7:企圖客觀賦權法確定軟件系統(tǒng)的可維護性基于狀態(tài)的源代碼。為基礎的導彈作者在測量中進行的這

4、些結果與系統(tǒng)和校準的意見工程師,保持系統(tǒng)。這個結果系統(tǒng)進行擬合,以及功能推導。結果擬合函數(shù),然后推動維修性指標產(chǎn)生作用。隨后,小數(shù)量的改進。我們所使用的可維護性指數(shù)在我們的顧問實踐8在過去的四年中,與其他許多措施,并發(fā)現(xiàn)一些問題提出了自己的看法。雖然我們看到一個清晰的使用為確定的可維護性源代碼系統(tǒng)在一個或幾個簡單的理解度量標準,我們很難用維修性指標預期的效果。一個主要原因是一個特定的計算價值的MI不提供線索上什么特點有貢獻的可維護性,價值,也在什么采取行動來改善這個值。基于限制的度量標準,如糜,我們已經(jīng)形成了一個了解最少的要求這必須完成的實用型的可維護性那是建立在源代碼的分析。這些要求我們已經(jīng)

5、開始在頭腦制定和實施了可供選擇的可維護性模型。在另外一種模式,一個source-code精選集映射到。措施根據(jù)國際標準化組織(ISO)sub-characteristics模式的可維護性,下列務實映射和排名指南。本文的工作報告是初步的感覺我們可維護性模型仍在發(fā)展。在特殊情況下,調(diào)整,使模型的案例通過案例的基礎。雖然如此,實用價值的典范已經(jīng)證實在我們的練習,我們期望的一樣進一步改進的模型不但增加了學位的細節(jié)和精度。本文是結構化如下。在第二部分,我們簡述要旨這個模式,重點對軟件產(chǎn)品的質(zhì)量上的特性,可維護性。在第三節(jié),我們再次維修性指標及其局限性我們意識到,這是通向一段IVof最小要求以一個實際的可

6、維護性模型。在特定的模式,我們會想出概況,在簡化形式,在部分v第六章里,我們討論的該模型的優(yōu)點,我們素描關系實際的、更為復雜的模型,我們使用。我們分享一些經(jīng)驗和成果的應用在我們的管理咨詢實踐模型在第七章。在此次討論有關的工作,我們總結第九節(jié)中進行 二。模式的軟件。產(chǎn)品質(zhì)量 在1991年,國際共識的術語質(zhì)量特色為軟件產(chǎn)品評估根據(jù)國際標準化組織發(fā)表(ISO)。ISO / IEC是9126:1991軟件產(chǎn)品評估-質(zhì)量他們使用特點和指南9。期間,2001年至2004年,并擴展版本由國際標準化組織(ISO)出版,它由一個國際標準(是)和三個技術報告(TR)。9126-1質(zhì)量模型是1。9126-2TR2的

7、外部度量。9126-3TR3內(nèi)部度量。9126-4TR使用質(zhì)量指標:10國際標準躺在第一部分定義質(zhì)量模型。這個技術報告包含種植業(yè)存貨的措施(度量)來評價不同質(zhì)量模型中定義的特點。答:在軟件產(chǎn)品質(zhì)量的觀點模式區(qū)分三種不同品質(zhì)模式在軟件產(chǎn)品質(zhì)量的看法。內(nèi)部品質(zhì):關注系統(tǒng)的性能可以測量不執(zhí)行它。外部品質(zhì):關注系統(tǒng)的性能這可以在它的執(zhí)行。使用質(zhì)量:關注所經(jīng)歷的性質(zhì)(各類)用戶在操作和維護該系統(tǒng)公司內(nèi)部的質(zhì)量是影響外部質(zhì)量反過來影響使用質(zhì)量。軟件產(chǎn)品質(zhì)量特性的四須鲃中央的質(zhì)量模型的故障模式是它這些概念的內(nèi)部和外部的軟件產(chǎn)品的質(zhì)量為6個主要特征,進一步subdived進入subcharacteristic

8、s共有27質(zhì)量。該故障描述在圖1。在這篇文章中,我們是重點可維護性特性,分為:Analysability:或容易診斷困難識別系統(tǒng)的部分內(nèi)容被修改?多么容易可變性:做出困難或者改編而成的系統(tǒng)嗎?穩(wěn)定性:容易或困難的是保證系統(tǒng)一個一致的狀態(tài)在修改嗎?可:容易或困難的是測試該系統(tǒng)改造后?一致性:維修性容易或困難為使系統(tǒng)能符合標準和慣例對于可維護性嗎?在續(xù)集里,我們將不會住在過去的subcharacteristics。第三個視圖的質(zhì)量,即使用質(zhì)量,也不折斷根據(jù)同一層次。相反,四個特點在使用過程中質(zhì)量的有效性,區(qū)分。生產(chǎn)力、安全、滿意的服務。這些特征沒有細分。使用質(zhì)量仍然出去的范圍這篇論文的。c可維護性

9、的措施外部、內(nèi)部評估辦法,quality-inuse特征列在三個技術報告陪同這個標準的質(zhì)量模型。對于可維護性外部質(zhì)量的措施,16個特點是定義2,9內(nèi)部質(zhì)量的措施3。1)外部度量標準是:提出的外部通過測量性能計算的維護活動的技術人員。例如,來衡量可變的變化,時間的推移是實施建議。一個參數(shù)測量的平均時間現(xiàn)在的旋律,診斷之間的那一刻修正了一個缺陷??蓽y量,“隔”效率的建議措施,計算時間用來獲得肯定已經(jīng)不足修正。因此,可維護性的軟件產(chǎn)品估計的持續(xù)時間由計時維修任務二)內(nèi)部的度量標準:一些建議內(nèi)部度量標準是內(nèi)在的通過比較所需的特征和功能實施為止。例如,analysability、“活動錄制的措施,這是被

10、定義為建議數(shù)的比值數(shù)據(jù)之間的日志實施和數(shù)量的數(shù)據(jù),對嗎規(guī)格要求。其他內(nèi)部的度量標準基于測量的再次維修活動。例如,“變化影響的措施的可變性計算數(shù)字的修改和嗎許多問題引起的修改。三)批判:這些建議的內(nèi)部和外部的措施不是(只)基于直接觀察嗎軟件產(chǎn)品,而是觀察的互動產(chǎn)品及其環(huán)境:它的維護者,它的測試者,其管理者,或在產(chǎn)品的比較與它的規(guī)格,這本身就可以完全的日期,或不正確的。因此,通過觀察測量可維護性一個系統(tǒng)的源代碼,我們需要去別處。3. 重復維修性指標維修性指標6,7中提出了客觀賦權法確定軟件系統(tǒng)的可維護性基于狀態(tài)所對應的源代碼。基于狀態(tài)所對應的源代碼。analysability可變穩(wěn)定性可可維護性成

11、熟容錯recoverability可靠性內(nèi)部和外部的質(zhì)量適用性準確性互操作性安全功能,適應性,installability共生replacability可移植性收付可學習性可操作性吸引力可用性時間的行為,資源,位于效率,(MI)是一種復合數(shù),基于幾種不同的難度一個軟件系統(tǒng)。它是基于Halstead卷(高壓)。公制11,Cyclomatic復雜性(CC)12度量,平均每個模塊的行代碼的靈驗多種用途,隨意的百分比,注釋行/模塊(COM)。Halstead體積,反過來,是一種綜合度量的基礎在不同的操作符),(在來源代碼。完整的擬合函數(shù)。該擬合函數(shù)的數(shù)據(jù)收集在一個大量的系統(tǒng)、校準和專家的意見技術人員,

12、保持他們。更高的,維護的一個系統(tǒng)的多被認為是。在我們的軟件質(zhì)量顧問練習,我們有過計算機會??删S護性指數(shù)大、多樣的收藏的關鍵任務的軟件系統(tǒng)。這些系統(tǒng)開發(fā)不同使用許多不同的技術隊伍,為許多不同的目的。在此基礎上的經(jīng)驗,我們已經(jīng)確認了許多重要的局限性的語境中,心肌梗死軟件質(zhì)量的評價A答:根源分析自從錯過是一種復合數(shù),它是非常困難的確定什么原因為某一特定值。事實上,自擬合函數(shù)的導彈是基于統(tǒng)計相關性,可能就沒有因果關系在所有之間這個值的度量標準和價值的導彈來自他們。接受一個數(shù)值度量我們發(fā)現(xiàn),與實踐者,當他們可以大大增加確定什么變化引起了系統(tǒng)的改變公制。當(MI)有一個特別低價值,指示低維護性,目前還不清

13、楚什么步驟被增加。B乙平均復雜度這個指標之一是用來心肌梗死的平均水平Cyclomatic復雜性。我們覺得這是根本性的缺陷號碼。尤其對系統(tǒng)的復雜性,利用面向?qū)ο蠹夹g,每個模塊將跟隨一分力量法律分布。因此,平均復雜度必然會低(例如,因為所有的引領者和getters Java的系統(tǒng)有一個復雜的證據(jù)表明,而)維護方面的問題,將發(fā)生在少數(shù)的實用性那有異常高的復雜性。一般而言,使用通過對上的平均個人系統(tǒng)部件的措施傾向于面具在場的高危部分。C.計算這個Halstead體積度量,尤其是是困難的定義和計算。沒有兩廂情愿的定義什么是一種運算符或操作數(shù)的一種語言是這樣的如Java或C #。由于這樣那樣的原因,Hal

14、stead體積是一種度量,不是被廣泛接受的在軟件嗎工程領域(如見13、14因為評論)。即使一個清爽的概念界定的操作員和操作數(shù)將開放給所有主流語言Halstead度量仍將較為困難的計算。基本上,一個完整、準確的tokenization所有的程序需要進行計算,這些數(shù)字。對于某些語言是不夠的,tokenization和句法局部語義分析是必需的。D評論蘊涵使用線的數(shù)目的評論作為一種度量是一個完整的代碼段是更好的保持比一段代碼是不記錄所有。雖然這似乎是一種合乎邏輯的想法,我們發(fā)現(xiàn)線的數(shù)目,計數(shù)的評論,總的來說,沒有關系,可維護性。經(jīng)常不是簡單的代碼,評論已經(jīng)就此發(fā)表評論出去,即使它是自然語言文字有時指早

15、期版本的代碼。同樣,更多的文件一個特定的一段代碼可能被增加了,精確因為它比較復雜,因此更難維護。顯然,錯過了測量的評論,他們這一部分的可選。系統(tǒng)質(zhì)量特性中如可變源代碼的措施例如cyclomatic復雜性影響,指出可以用可引起圖2。我們提出的可維護性模型系統(tǒng)質(zhì)量特征映射定義標準ISO 9126-1到源代碼的措施。第一步,在該映射的鏈接,這些系統(tǒng)特點源代碼性質(zhì)。第二步提供了一個測量的特性一個或更多的源代碼的措施E收付-原因是沒有邏輯爭論的配方特定常數(shù)、變量、符號,它都是不一樣的。這個公式的發(fā)生是一個合適的給定數(shù)據(jù)設置。作為一個結果,公式是很難理解和解釋。為什么會有兩種體積公式及措施作為參數(shù)及氣體嗎

16、?為什么cyclomatic復雜性呢乘以0.23嗎?為什么有注釋行嗎出現(xiàn)在一個平方根與贖罪的功能嗎?溝通時,關于可維護性利益相關者之間的系統(tǒng),重復調(diào)用的實證研究的實驗一樣正當理由公式是一件令人失望的事比的啟示。F控制使用的是硬,無論是在管理水平以及對技術發(fā)展水平。我們發(fā)現(xiàn)缺乏控制的開發(fā)者覺得他們已經(jīng)結束了讓他們的價值的質(zhì)量(MI)不屑評估的目的。這直接影響管理驗收的價值。雖然有一個測量等作為MI聽候你顯然更有用什么也不知道關于你的系統(tǒng)的狀態(tài),這種缺乏旋鈕轉來影響值使得它并沒有人們想象的那么有用一種管理工具。四。要求和可維護性模型基于限制的度量標準,如糜,我們已經(jīng)形成了一個了解最少的要求這必須完

17、成的實用型的可維護性那是建立在源代碼的分析。特別是,我們想要的東西下列規(guī)定應由不同的措施在模型。應獨立技術一樣成為可能。結果是,他們可以應用到系統(tǒng)海港的各種語言和建筑。每一個步驟應該直截了當?shù)亩x那很容易計算。因此,小預付投資進行測量。每一個步驟應該簡單理解和解釋,同樣,非技術人員和管理應便于各利益相關者之間的交流在這個系統(tǒng)。這個措施應該能夠根源分析。通過給出清楚的線索關于因果關系code-level性質(zhì)和通信質(zhì)量,他們應該提供一個基礎作用。在續(xù)集里,我們將討論每個提出措施這些要求。v團體可維護性模型這些要求,我們已開始制定頭腦另一種可維護性模型,其中一組精心挑選的source-code映射到

18、。措施根據(jù)國際標準化組織(ISO)sub-characteristics模式的可維護性,下列務實映射和排名指南。這決不是一個完整和成熟的模式,而工作在進步。事實上,這個模型其實這里的穩(wěn)定的核心的模式演變情況案件的過程中,根據(jù)多年的軟件質(zhì)量咨詢。進化沒有停止,和調(diào)整改良,還在不斷產(chǎn)生,新情況我們見面時,我們獲得新知識,并回顧評估對各評價研究中我們完成了。在目前,我們分享當前的形勢,歡迎新老客戶光臨惠顧反饋學術社群。就像在圖二、可維護性模型系統(tǒng)可維護性特點,提出鏈接code-level措施在兩個步驟。首先,這些systemlevel地圖特征特性對水平的源代碼,例句。摘要基于刑法典的特點,提出了一種

19、系統(tǒng)連接性質(zhì),如復雜的源代碼。其次,每處房產(chǎn)的一個或多個源代碼的措施下定決心,如代碼復雜度是以條款cyclomatic的復雜性。下面我們將討論這兩種步驟進行更詳細的討論。A:系統(tǒng)特征映射到源代碼的性質(zhì)我們的源代碼,映射這些特性是系統(tǒng)特點上如圖3。這個觀念的源代碼單元中扮演著重要的角色這些特性的不同。通過一個單位,我們指的是最小的一段代碼,可以執(zhí)行測試。在Java或c#單元法,在一個單位是一個程序或功能。一種語言,如COBOL語言中,沒有更小比一個程序。單位進一步分解等部分或者段落標簽,而不是有效的代碼,有足夠的封裝測試被執(zhí)行或個別在不同的影響,源代碼性能可維護性一個軟件系統(tǒng)的特點,是這樣的整體

20、卷卷源碼的影響這個analysability系統(tǒng)。單位:復雜性的復雜性,源代碼的單位影響系統(tǒng)的多變性和電路的可測試性。復制源碼的程度:重復(也)克隆)的影響analysability叫做代碼和多變性。尺寸:大小的影響,他們的analysability單位因此,可與整個系統(tǒng)。單元測試:程度影響的單元測試analysability、穩(wěn)定、可測性的系統(tǒng)。這個列表的性質(zhì)并不打算是完整的,或者提供船艙建造成許多不漏水的各種通信特性。相反,他們的目的是提供一個最小的、無可非議估計的主要因果關系編碼性能和系統(tǒng)的特點。故意,我們只強調(diào)最具影響力的因果聯(lián)系源代碼性能和系統(tǒng)的特點。舉例來說,沒有一個關聯(lián)的可并不。

21、體積意思是在不影響,而是由前者那個的影響相對較小。我們使用的名次,下面簡單的規(guī)模性質(zhì)和特點:+ + / + / - o / - /?,F(xiàn)在我們將討論了各種code-level特性進行更詳細的討論對于每個提供直接測量和指南排名。B體積它是很直觀的總額系統(tǒng)中在任何測量的特征可維護性。一個較大的系統(tǒng)的要求,一般來說,一個更大的努力來維持。在特殊情況下,analysability低(高體積的原因很難理解)。1)行代碼:許多不同的度量標準用于測量體積。我們可以用一個簡單的線條代碼度量的靈驗多種用途,它們都全部行的源代碼那不是評論或空白行。在這樣的錯誤單一的編程語言,這項措施提供了充足的比較系統(tǒng)的理由和明確

22、的評級。例如,Java的系統(tǒng)KLOC 200小規(guī)模(+),而系統(tǒng)的13 MLOC或更多可能是非常大的()。2年經(jīng)人造成相反結果功能點:無論如何,符合我方要求,我們的方法是作為語言獨立的如可能,我們正確的表現(xiàn)力和生產(chǎn)率編程語言中。為了這個目的,我們利用餐桌的編程語言軟件生產(chǎn)率研究有限責任公司(15)。一套廣泛的編程這張桌子列出的語言,(我)有多少邏輯相對應一般的功能點(計劃),(2)有多少功能程序員可以分,每月平均時產(chǎn)生使用這種語言。這可以使我們使用下列的排名計劃: 因此,一個系統(tǒng)比男人年(我的)160非常大,是名列。對Java的系統(tǒng),這個意味著130萬行代碼的排名,產(chǎn)生一種同時,此值只存在于C

23、OBOL語言MLOC 2.6%。當一個系統(tǒng)在各種各樣的語言寫的程序,我們簡單翻譯每個分開的近數(shù)年,人類這些在一起,并進行排序根據(jù)第2欄目。不用說,這方法。排名系統(tǒng)不是非常準確,但是,它已經(jīng)變成了嗎對于我們的目的而言,準確。事實上,我們發(fā)現(xiàn)了我們的排名高可用的方案;它速度快、練習重復的、正確的,explainable、技術獨立。要求使根源分析不夠測量的體積。當一個系統(tǒng)被發(fā)現(xiàn)的大,是測量值本身并不是馬上注明原因和可能的解決方法。通過把系統(tǒng)成數(shù)個層次,或其他分區(qū),它是可能的去追捕那些驅(qū)動代碼的部分,膨脹。但是通常,卻并非如此,過度的體積簡單的結果可能會試圖將太多的功能,成為一個單一的系統(tǒng)。三)其他體

24、積的措施:除了行代碼,或男人月計算功能點,我們通過造成相反結果經(jīng)常使用輔助估價。例如,一些系統(tǒng)是有道理的,有些估計的功能大小,通過計算數(shù)據(jù)表和田地,屏幕或輸入田地、邏輯和物理文件等。我們使用相似評分方案之間的關系,這些措施。然而,通常是不容易的辦法計算,他們是相當特定語言,他們并未一般體積,但是功能強大的大小。我們把它們作為次要的措施。C.每單元之復雜性這個復雜的源代碼是指性質(zhì)的程度內(nèi)部錯綜復雜的源代碼單位,它是組成。復雜的單位都很難理解(分析)。而難以測試,即復雜性影響到了一個單位這個analysability和測系統(tǒng)。1)Cyclomatic單位:從復雜的單位最小的一個系統(tǒng),可被處以死刑的

25、測試獨立,是有道理的cyclomatic計算復雜度在每個單元。當我們先前討論過的、復雜遵循動力法則分布,計算平均對復雜的個體單位會給這一結果可以撫平眼角的實用性。總結復雜性的單位提供了一個復雜的整個系統(tǒng)。然而,這個金額已經(jīng)觀察到有強烈的關聯(lián)性體積等措施,因此總氣體,沒有什么意義作為衡量16的復雜性。通過對不同的方式復雜的單位需要被發(fā)現(xiàn)。到一個更有意義的集合體,我們采取以下分類單元的復雜性,規(guī)定該軟件工程研究所,考慮17。CC風險評估1-10簡單,沒有太多的風險11-20更復雜、中度風險21-50復雜、高的風險,非常高50無從風險因此,從cyclomatic每單位的復雜性,我們能做到這一點確定其

26、風險水平。我們現(xiàn)在的復雜性進行單位每個風險水平數(shù)百分比行代碼在單位在這一水平分類。舉例來說,如果在一個邏輯體系,一萬高風險單位一起金額近500名,然后總額計算的風險類別的5%。因此,我們計算相對音量系統(tǒng)地總結分布的代碼的行了不同的風險程度。這些復雜的風險的足跡“在圖4為兩種不同的系統(tǒng)。復雜的系統(tǒng)風險的足跡,我們決定它使用下列圖式復雜性評級。因此,被評為+ +,一個系統(tǒng)可以不超過25%中度風險的代碼,沒有任何代碼或非常高高的風險。被評為+時,系統(tǒng)會有不超過30%的代碼和中度風險、不超過5%高風險,沒有代碼具有很高的風險。一個系統(tǒng)50%以上的代碼中度風險或超過15%高或超過5%,具有很高的風險被評

27、為。舉例來說,這個系統(tǒng)的復雜性圖4的將被評為,因為它既打破15%的邊界對高危代碼和5%的邊界非常高的風險的代碼。rightmost剖面的評級,導致了-因為它打破了0%,而不是5%的邊界高風險的代碼。我們明確的界限是基于經(jīng)驗。期間,本課程評價的眾多的系統(tǒng),這些邊界原來分區(qū)分類系統(tǒng)的通信專家的意見。該評級方案語言獨立的、容易解釋和計算,對于我們的目的而言,準確。同樣,通過列舉了最復雜的單元,增加風險的來源、降低mainainability易追查。二)其他復雜的措施:在特定的情況下,我們使用相關配套措施的復雜性。這些包括:如fan-in結構指標,輸出端操作耦合和穩(wěn)定性源自這些措施。這些措施可以計算出

28、來在許多不同的方法,根據(jù)錯綜復雜的和一些單位,都考慮在內(nèi)。我們有沒有固定的、獨立于語種的評分方案,這些我們雇傭他們的措施,主要是作為補充到cyclomatic復雜性。D復制重復的代碼片斷(克隆)是一種代碼現(xiàn)象,出現(xiàn)在幾乎所有的系統(tǒng)。雖然出現(xiàn)少量的重復是自然的,過量的復制是不利于其可維護性,在特定的特點,analysability和多變性18。基本上,重復做了系統(tǒng)的大它需要。事實上,我們經(jīng)常分析系統(tǒng)這是(多)比我們預料的基礎上他們的功能。我們已經(jīng)發(fā)現(xiàn),測量的代碼復制出一個簡單的大得多一個系統(tǒng)。當然,以及其他因素也做出了巨大的貢獻一個系統(tǒng),包括比需要的缺乏使用圖書館的功能。許多不同的技術已經(jīng)提出了

29、尋找復制源碼,也稱為復制檢測(19)-(24)。大部分的這些技術已經(jīng)發(fā)展到優(yōu)化之間的平衡精度高,性能和語言獨立。我們已經(jīng)做了幾個這些尖端技術,但是我們已經(jīng)決定了非常簡單的方法測定代碼重復。一份6行:我們塊計算的代碼重復是所有的代碼更容易不止一次,在平等的代碼塊,但至少需6位線。當比較代碼行,我們忽視的前導空格。所以,如果一個單是重復很多次,但是前和不同的時間,我們都后不要算為復制。如果然而,一群六線看起來比不變一個地方,我們把它作為復制。除了清除前導空格,重復測量是一種精確的字符串匹配的重復。我們的結果的精度明顯低于一些更復雜的技術。然而,重復測量我們定義又是不難解釋和執(zhí)行,它語言是完全獨立的

30、,而且非常快。在實踐中,我們已經(jīng)發(fā)現(xiàn),準確度足夠供我們目的。我們的評估方案來復制如下: 因此,一個精心設計的系統(tǒng)應不超過5%的代碼重復。只有特別瘦系統(tǒng)顯示復制低于3%。當復制超過20%,源代碼侵蝕控制住了。重復測量允許根源分析來了最大的副本,這在一定程度上可以上市及配件在更多的重復發(fā)生的系統(tǒng)可以追蹤下來。然而,解決問題通常包含重復保理出比簡單的復制成碎片可重用的子程序。相反,一個更深層次的原因可能是禮物,如缺乏技能或支持工具、建筑或設計問題,或阻力的生產(chǎn)力獎勵。E單元大小除了復雜性的單位,大小的單位從哪一個系統(tǒng)可以揭示其組成可維護性。直觀、較大的單位都更加困難因為他們analysability

31、保持低而又低可作為評論,有較強的統(tǒng)計相關性早期存在之間的大小(例如氣體和cyclomatic復雜性。增值的運算單元尺寸除因此每單位的復雜性,很多可疑這個復雜的單位也將是巨大的。仍然,使用單位的大小作為衡量相輔相成的復雜性使得檢測大型機組與較低的計算復雜度。在我們的經(jīng)驗中,許多系統(tǒng)包含了大量的單位,它應考慮進行評估時可維護性嗎1)行代碼的測量單位:尺寸,我們又說了一遍使用一個簡單的代碼度量。這個風險類型和評分準則相似單位的復雜性,除了那個特定的閾值是不同的。F單元測試單元測試是小程序,由開發(fā)者,為自動測試代碼,一個單位的一段時間。對于許多語言,單元測試框架,可以是可得到的融入開發(fā)環(huán)境。JUnit

32、就是很好的例子為單元測試的code2,NUnit為。net的語言如C # 3。在場的一套廣泛的良好的單位在一個代碼庫中測試有顯著的正向影響可維護性。單元測試后,可提高單一按下按鈕就可以執(zhí)行,測試。單元測試加薪因為它們提供一個穩(wěn)定、安全套房的回歸為了防止網(wǎng)上修改時引入誤差制作出來的。單元測試也有很強的documentative自然,analysability十分有利。單元測試覆蓋率:1)可以測量單元測試覆蓋率用專用工具,如Clover4。這些工具并沒有這么做進行靜態(tài)分析代碼,而是一個動態(tài)分析涉及運行試驗。我們的評分方案為單元測試范圍如左: 因此,一個優(yōu)秀的集之間的單元測試,涵蓋了95所有代碼10

33、0%。下面是一個覆蓋60%認為貧窮。單元測試覆蓋率度量不履行我們的所有的一切要求。覆蓋分析工具,甚至是單元測試框架,并不是所有的語言,因此沒有語言獨立的措施。同樣,分析計算,因為沒有瑣碎的分析是動態(tài)的與需要一定程度的調(diào)整為每一個個體的系統(tǒng)。圖5。測繪源代碼財產(chǎn)成績回到系統(tǒng)的分數(shù)subcharacteristics為可維護性。導出了系統(tǒng)級分數(shù)sub-characteristic以加權平均得分的相關(如下)。帶有一個十字)代碼性質(zhì)。默認情況下,所有的重量是平等的。二)數(shù)量的斷言的語句:高水平的單元測試報道是容易獲得寫單元測試的質(zhì)量。一個測試,直接或間接調(diào)用的方法是,許多單位的名義上的測試,但有助于

34、高覆蓋率價值。同樣,一個測試中調(diào)用方法,但沒有檢查行為(即不含assert聲明),導致沒有實際測試覆蓋率度量。因此,在一些情況下,意識的開發(fā)者所涉及的范圍被測可能導致增加沒有“真正的”進行測試。增加在這種情況下,它是必要的也測量質(zhì)量的單元測試。估計單元測試的質(zhì)量,我們來數(shù)一數(shù)斷言的陳述。這又是一個非常簡單的措施,很容易實施,理解和解釋。我們目前沒有固定的評分方案的地方,但僅僅使用這項措施驗證范圍的措施。G代碼等級系統(tǒng)回映射個人得分后,我們抵達源代碼的性質(zhì)在一個得分的sub-characteristics的可維護性根據(jù)映射的聚集圖3。實例這樣的反向映射的source-code水平等級系統(tǒng)級評級是

35、在圖5?;旧?到達在一個系統(tǒng)級分數(shù),加權平均計算的各有關的論文根據(jù)得分的十字架標志在矩陣。這個重量都相等的默認情況下,但是不同的稱重方案可以應用時適當?shù)摹.斎?均可申請再次來到單一的評分為整體可維護性。為例圖5,這個分數(shù)會-,可憐的可維護性。我們不屬于多附加值這樣一個單一的分數(shù)。更確切的說,成績?yōu)楦鞣Nsub-characteristics傳達更多的信息,同時也可以追溯到一個明確的潛在code-level分數(shù)。相反,一個單獨的數(shù)字,如維修性指標,這允許根源分析,指出擴散值,政府采取措施提供了依據(jù),為提高可維護性在這個例子中,例如圖5,可憐的可測性(-)可以追溯到很高的復雜性()高單位的大小(-

36、),而現(xiàn)在,單元測試完成。Analysability仍然是平均水平(11),盡管高復雜性(),因為這個系統(tǒng)體積是相當?shù)?+)。提高可維護性,宜重構高度復雜的單位,它可以降低單位大小一樣好。VI。討論所提出的模型,介紹這里只有一個簡化的子集更加復雜了模型中,事實上我們咨詢實踐。這個實際模型包含更多的源代碼的性質(zhì)、尋址等問題,運用模塊化、建筑符合圖書館的框架和分離所關切的問題。同樣,那不是純粹的技術性能source-code相關考慮到,比如建立和部署過程和使用技術。這些包括測量和評定程序在check-lists及相關決策樹。在兩者之間的關系,提出了簡化模型和實際的我們使用,所有的潛在模型是選擇的措

37、施盡可能多的比賽制定的要求第四章。這些措施是容易計算和解釋。他們不包含模糊公式如配件函數(shù)的可維護性指標。幾乎所有的措施語言是完全獨立的,保證了他們適用于系統(tǒng),包括不同的技術混合物。收付的措施額定的可追溯性程序,允許根源分析問題的可維護性和提供了依據(jù)糾正行動。使用模式作為參考框架提出的模型是建立在兩廂情愿的術語軟件產(chǎn)品的質(zhì)量。從討論與開發(fā)商許多工業(yè)系統(tǒng)中,我們得知這個措施廣為接受的。因此,應用該模型不遭受的問題確認維修性指標。它不產(chǎn)生一個單獨的數(shù)字,它不是一種綜合指標。它促進原因分析優(yōu)于心肌梗死,因為它不使用平均水平。它可以很容易地解釋了兩個技術人員以及負責管理。它使用編號,即可很容易受到改變代

38、碼。初步調(diào)查結果表明這些變化在代碼使系統(tǒng)更加維護的,根據(jù)維護者的系統(tǒng)。七。一些實驗結果圖6。三種措施的現(xiàn)代化的、面向?qū)ο筌浖到y(tǒng)(Java和C #)。橫軸表示程度的重復。這個垂直軸的百分比表示cyclomatic密碼與復雜性20%以上。氣泡的大小顯示的體積。注意到系統(tǒng)的相媲美發(fā)現(xiàn)不同大小是明顯的復雜性和程度的重復這個簡單的辦法,我們已經(jīng)提出了行之有效的在練習。特別是,他們允許具有顯著的甚至在系統(tǒng)間差異的可維護性大小,用相關技術。這一點在圖6,體積、復雜性和復制繪出了對于一系列Java和c#系統(tǒng)。例如,對于這個兩個最大程度的不同系統(tǒng)之間的復制16%,而所占的比例,32%的代碼和cyclomati

39、c20余間復雜的變化性25%。在另一邊一方面,系統(tǒng)可以和復雜性(4%)是不同的在不同程度之間,38%的3%。八。相關的工作,模式的軟件產(chǎn)品的質(zhì)量評價已經(jīng)被稱為懷疑之Al-Kilidar魏厚仁(25)。他們的批評源于企圖適用的標準在一項實驗pair-design有關。一個重要的批評是下列事項:“ISO / IEC模式并沒有提供指導、啟發(fā)式算法,法則,或其他任何方式來顯示對交易的措施,如何減肥措施或即使如何簡單地整理他們?!蔽覀儓猿诌@種批評模型,并提出了本文試圖在提供這些失蹤的元素。Antonellis羅卓荊。26提出的一種面向?qū)ο笥成浯a度量上subcharacteristics可維護性根據(jù)國際

40、標準化組織(ISO)模式。這個度量方法從度量的Chidamber和Kemerer27。這個方法包括捕獲的重量為每一對度量從一個系統(tǒng),sub-characteristic專家。隨后,聚類分析結果進行了計算分發(fā)單位在一定數(shù)量的系統(tǒng)集群。這些星系團的分析提供了洞察可維護性方面存在的問題及其原因,并系統(tǒng)。我們目前正在調(diào)查是否該數(shù)據(jù)挖掘的方法嗎我們可以補充模型。Broy李瑋。m.北京:28有獨立開發(fā)出一種類似模型的可維護性保養(yǎng)活動嚴格分開的事實。系統(tǒng)這兩個行為和事實組織而成的層次樹木的葉子是有關通過加權)的矩陣原子事實表明,每個原子活動的影響。這個decompositon活動是基于IEEE 1219標準

41、的維修過程中,其分解的事實已開發(fā)和工業(yè)合作伙伴。一個簡化的模型,給出了全部。具體評級準則或重量。阿曼繆群。(29歲)提供了一個層次結構適度的可維護性屬性的基礎上,回顧35出版物。他們特殊的軟件度量這棵樹的樹葉的結合,并提出一個公式他們成一個單一的指標。沒有具體重量了列出的公式。更多的標準在試驗的基礎上,提出了多6,他們不僅包括源代碼度量,而且信息如發(fā)生變化時,發(fā)現(xiàn),與文檔。九。結論和未來的工作A總結: 模式是一種良好的參照系關于軟件產(chǎn)品質(zhì)量的交流,但下降短的實際可行的方案的質(zhì)量評估。在特殊情況下,根據(jù)伴隨的度量標準技術報告充其量能夠建立的程度一個系統(tǒng)的可維護性。浩瀚的文獻在軟件度量,另一方面,

42、提出了無數(shù)的方法提供了一種可測量軟件可翻譯及質(zhì)量的觀念。在特定的、維修性指標遭受嚴重不足,減輕對根源分析計算,語言的獨立性、易懂性、explainability、控制。我們認為一個精心挑選的選擇的措施和指南集合與評價,事實上,提供一個有用的代碼度量和之間的橋梁質(zhì)量特色的模式。我們已經(jīng)出現(xiàn)過這樣的一個選擇,我們的品質(zhì)評估軟件練習,形成穩(wěn)定的實際可用的核心可維護性模型。在課程的數(shù)十個軟件評估項目的關鍵業(yè)務進行工業(yè)軟件系統(tǒng),該模型進行了測定和雅致。B未來的工作范頓等。30,31提出使用Baysian信仰網(wǎng)(圣經(jīng)廣播網(wǎng)每天24小時)在軟件評價。約翰遜繆群。(32)使用BBNs延伸,叫做圖表、具體的影響

43、結合模式。潛在的想法是BBNs捕捉到的因果關系,不能被捕獲與傳統(tǒng)的統(tǒng)計方法對軟件度量。我們想了解我們的方法涉及到他們的嗎我們是否能在額定BBNs模式ISO是目前發(fā)展ISO 25000系列(平方)來補充和部分取代國際標準化組織(ISO)33歲的模式、34。這個系列的第一個部分是在意料之中的要在未來兩年內(nèi)發(fā)表。我們正在尋找期待這樣的發(fā)展,我們希望把新標準進入我們的可維護性模型。確認由于每約翰,米歇爾Kroon,Harro Stokman該軟件改進組織的貢獻模型的設計進行了闡述。參考1ISO國際質(zhì)量體系認證,“ISO / IEC 9126-1:軟件工程-產(chǎn)品質(zhì)量-第1部分:質(zhì)量模型、“瑞士日內(nèi)瓦,2

44、001。2“ISO / IEC TR 9126-2:軟件工程-產(chǎn)品質(zhì)量-第二部分:外部的度量標準,“瑞士日內(nèi)瓦,2003年。3“ISO / IEC TR 9126-3:軟件工程-產(chǎn)品質(zhì)量-第三部分:內(nèi)部的度量標準,“瑞士日內(nèi)瓦,2003年。4. . Pfleeger高手,軟件度量:嚴格,而又實用方法。美國波士頓,麻省大學出版社,1997年:2003,第2版,修訂后的印刷。5,一個框架Zuse軟件測試。霍桑、臺北、美國。沃爾特。1995公司,1997。6p . w .阿曼,Hagemeister期”,建設和測試多項式可維護性?!彪s志預測軟件系統(tǒng)軟件卷,第3期,頁。251-266,1994。7m.

45、 粉煤灰科爾曼Lowther,p . w .阿曼,“利用度量評估軟件系統(tǒng)的可維護性。國立成功大學電機工程研究所碩士論文,1995。電腦27歲,8號(2003年),頁。44-49,1994。8.范Deursen及庫佩斯,”一樣,“風險評價軟件,在ICSM 03:觸發(fā)。智力。會議在軟件維護。美國華盛頓特區(qū):學會,2003年3月,p。385。9ISO國際質(zhì)量體系認證,“ISO / IEC是模式:軟件產(chǎn)品評估-質(zhì)量特性他們使用和指導方針,“瑞士,日內(nèi)瓦大學出版社,1991年。10“ISO / IEC TR 9126-4:軟件工程-產(chǎn)品質(zhì)量-第四部分:使用質(zhì)量指標,在瑞士日內(nèi)瓦”,碩士論文,民國九十三年

46、。11,m. h Halstead軟件元素,科學。操作,編程系統(tǒng)。紐約,紐約:牛津大學出版社,2002年卷,第七卷。12,“復雜性度量邁克白?!避浖芯克T士論文,第2期,第4號(2003年),頁。308-320,1976年。13c瓊斯,“軟件度量:好的,壞的和失蹤,電腦,第27。9號(2003年),頁。98-100,1994。14Al-Qutaish Abran”,并分析和設計Halstead定義度量,”? 15)。研討會的軟件“2005年IWSM測量()。Shaker-Verlag,2005年,頁。337-352。(15)軟件生產(chǎn)率研究”,編程語言寫作”2006年2月2006b版本。16m. Shepperd批判”,作為一個軟件度量cyclomatic復雜性,以。英格。卷,第3期,第3卷,第2期,頁。30-36,1988年。17柳中明軟件工程學院,Cyclomatic軟件技術的復雜性,“路線圖”-/str/descriptions/cyclomatic.html。d,m. Kapser之高,“克隆”被認為是有害有害的。”工作會議上13 WCRE反向工程2006年)。電子計算機協(xié)會,2006年,頁。19-28。(19)學士。貝克,“尋找n

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論