国产久草深夜福利精品_精品国产看高清国产毛片_成年日韩片av在线网站_亚洲国产综合777_免费高清一级在线观看_欧美色图中文字幕_老中医用嘴排阴毒 小雨_99精品无码视频在线播放_久久久精品强暴视频_国产aⅴ一区最新精品

軟件復(fù)雜度概述
電子元件,電子元器件深圳市創(chuàng)唯電子有限公司
您現(xiàn)在的位置: 首頁 > 電子技術(shù)
軟件復(fù)雜度概述  2012/3/1
在硬件的可靠性設(shè)計(jì)中,有一條基本原則“簡(jiǎn)單就是可靠”。這個(gè)原則同樣也適合軟件,與功能的增多或增強(qiáng)相伴的是不斷升級(jí)與補(bǔ)丁�,F(xiàn)在已經(jīng)有若干種軟件復(fù)雜性的度量方法可供參考,其中McCabeQA是比較出色和實(shí)用的方法,它能夠計(jì)算出多種軟件復(fù)雜度,由此可對(duì)軟件進(jìn)行檢查、分析和查明那些可能導(dǎo)致錯(cuò)誤的代碼。復(fù)雜度70年代,軟件系統(tǒng)已經(jīng)變得極其復(fù)雜,無論是開發(fā)還是維護(hù)都是一項(xiàng)成本高昂的工作。人們意識(shí)到必須使軟件模塊化,以便于開發(fā)、
  在硬件的可靠性設(shè)計(jì)中,有一條基本原則“簡(jiǎn)單就是可靠”。這個(gè)原則同樣也適合軟件,與功能的增多或增強(qiáng)相伴的是不斷升級(jí)與補(bǔ)丁�,F(xiàn)在已經(jīng)有若干種軟件復(fù)雜性的度量方法可供參考,其中McCabe QA是比較出色和實(shí)用的方法,它能夠計(jì)算出多種軟件復(fù)雜度,由此可對(duì)軟件進(jìn)行檢查、分析和查明那些可能導(dǎo)致錯(cuò)誤的代碼。

 復(fù)雜度

70年代,軟件系統(tǒng)已經(jīng)變得極其復(fù)雜,無論是開發(fā)還是維護(hù)都是一項(xiàng)成本高昂的工作。人們意識(shí)到必須使軟件模塊化,以便于開發(fā)、測(cè)試和維護(hù)。為此,成立于1976的McCabe&Associates公司開發(fā)出了McCabe Cyclomatic Complexity Metric(圈復(fù)雜度)技術(shù)對(duì)軟件進(jìn)行結(jié)構(gòu)測(cè)試。Metric以軟件復(fù)雜度測(cè)量的數(shù)目為基礎(chǔ),能幫助工程師識(shí)別難于測(cè)試和維護(hù)的模塊,圈復(fù)雜度已經(jīng)成為評(píng)估軟件質(zhì)量的一個(gè)重要標(biāo)準(zhǔn)。人們可以用圈復(fù)雜度對(duì)軟件的復(fù)雜度和質(zhì)量進(jìn)行衡量,來安排工程進(jìn)度,在成本、進(jìn)度和性能之間尋求平衡。

復(fù)雜度的種類

有模塊、類和程序三類復(fù)雜度。模塊復(fù)雜度包含了關(guān)于模塊的復(fù)雜度信息;類復(fù)雜度是針對(duì)那些使用McCabe面向?qū)ο筇匦缘某绦?它包含了關(guān)于類的復(fù)雜度信息;程序復(fù)雜度包含了關(guān)于程序的復(fù)雜度信息。

集成復(fù)雜度報(bào)告

對(duì)應(yīng)于三種復(fù)雜度的是三種復(fù)雜度報(bào)告。如果一個(gè)報(bào)告的復(fù)雜度信息不只一種,那么就把這些復(fù)雜度信息組合成新的報(bào)告。

集成復(fù)雜度信息只收集一個(gè)部件及其下級(jí)的信息。例如:如果一個(gè)程序級(jí)報(bào)告包含一個(gè)類復(fù)雜度,那么只報(bào)告組成程序的類的信息,而不包含類組成的信息。

 McCabe復(fù)雜度

McCabe復(fù)雜度是對(duì)軟件結(jié)構(gòu)進(jìn)行嚴(yán)格的算術(shù)分析得來的,實(shí)質(zhì)上是對(duì)程序拓?fù)浣Y(jié)構(gòu)復(fù)雜性的度量,明確指出了任務(wù)復(fù)雜部分。McCabe復(fù)雜度包括:圈復(fù)雜度、基本復(fù)雜度、模塊設(shè)計(jì)復(fù)雜度、設(shè)計(jì)復(fù)雜度、集成復(fù)雜度、行數(shù)、規(guī)范化復(fù)雜度、全局?jǐn)?shù)據(jù)復(fù)雜度、局部數(shù)據(jù)復(fù)雜度、病態(tài)數(shù)據(jù)復(fù)雜度。

McCabe復(fù)雜度的用途

在軟件工程中,有三種使用McCabe復(fù)雜性度量的方式。

作為測(cè)試的輔助工具。McCabe復(fù)雜性度量的結(jié)果等于通過一個(gè)子程序的路徑數(shù),因而需要設(shè)計(jì)同樣多的測(cè)試案例以覆蓋所有的路徑。如果測(cè)試案例數(shù)小于復(fù)雜性數(shù),則有三種情況一是需要更多的測(cè)試;二是某些判斷點(diǎn)可以去掉;三是某些判斷點(diǎn)可用插入式代碼替換。

作為程序設(shè)計(jì)和管理指南。在軟件開發(fā)中,需要一種簡(jiǎn)單的方式指出可能出問題的子程序。保持子程序簡(jiǎn)單的通用方法是設(shè)置一個(gè)長(zhǎng)度限制,例如50行或2頁,但這實(shí)際上是在缺乏測(cè)試簡(jiǎn)明性的有效方法時(shí)無可奈何的替代方法。不少人認(rèn)為McCabe度量就是這樣一種簡(jiǎn)明性度量。但是要注意,McCabe度量數(shù)大的程序,不見得結(jié)構(gòu)化就不好。例如,Case語句是良結(jié)構(gòu)的,但可能有很大的McCabe度量數(shù)(依賴于語句中的分支數(shù)),這可能是由于問題和解決方案所固有的復(fù)雜性所決定的。使用者應(yīng)當(dāng)自己決定如何使用McCabe度量所提供的信息。

作為網(wǎng)絡(luò)復(fù)雜性度量的一種方法。Hall和Preiser提出了一種組合網(wǎng)絡(luò)復(fù)雜性度量,用于度量可能由多個(gè)程序員組按模塊化原理建立的大型軟件系統(tǒng)的復(fù)雜性。他們提出的組合度量公式為

式中C1,...,Ck是各個(gè)模塊的復(fù)雜性;CN是網(wǎng)絡(luò)復(fù)雜性;W1和W2為權(quán)值。

McCabe復(fù)雜度即可用于度量各個(gè)模塊的復(fù)雜性,也可用于度量網(wǎng)絡(luò)復(fù)雜性。

 Cyclomatic Complexity (v(G))圈復(fù)雜度

與《軟件復(fù)雜度概述》相關(guān)列表
電話:400-900-3095
QQ:800152669
庫存查詢
Copyright(C) 2011-2021 Szcwdz.com 創(chuàng)唯電子 版權(quán)所有 備案號(hào):粵ICP備11103613號(hào)
專注電子元件代理銷售  QQ:800152669  電子郵件:[email protected]  電話:400-900-3095