在軟件開發(fā)中,軟件度量的根本目的是為了管理的需要。利用度量來改進(jìn)軟件過程。人們是無法管理不能度量的事物。在軟件開發(fā)的歷史中,我們可以意識到,在60年代末期的大型軟件所面臨的軟件危機反映了軟件開發(fā)中管理的重要性。而對于管理層人員來說:沒有對軟件過程的可見度就無法管理;而沒有對見到的事物有適當(dāng)?shù)亩攘炕蜻m當(dāng)?shù)臏?zhǔn)則去判斷、評估和決策,也無法進(jìn)行優(yōu)秀的管理。我們說軟件工程的方法論主要在提供可見度方面下工夫。但僅僅是方法論的提高并不能使其成為工程學(xué)科。這就需要使用度量。度量是一種可用于決策的可比較的對象。度量已知的事物是為了進(jìn)行跟蹤和評估。對于未知的事物,度量則用于預(yù)測。本專題將討論軟件度量的一些基本問題。但應(yīng)認(rèn)識到軟件度量的成果是非常初步的,還需要大量工作才可能真正地做到實用化,但它的實用化成就將對軟件的高質(zhì)量和高速發(fā)展有不可估量的影響。那么, 一、什么是度量呢? 1、度量概念:度量存在于左右我們生活的很多系統(tǒng)的核心之中。在經(jīng)濟領(lǐng)域,度量決定著價格和付款的增加;在雷達(dá)系統(tǒng)中,度量使我們能透過云層探測到飛機;在醫(yī)療系統(tǒng)中,度量使得能夠診斷某些特殊疾病;在天氣預(yù)測系統(tǒng)中,度量是天氣預(yù)報的基礎(chǔ);沒有度量,技術(shù)的發(fā)展根本無法進(jìn)行。度量的正式定義是: 度量 是指在現(xiàn)實的世界中,把數(shù)字或符號指定給實體的某一屬性,
以便以這種方式來根據(jù)已明確的規(guī)則來描述它們.
因此,度量關(guān)注的是獲取關(guān)于實體屬性的信息。一個實體可以是一個實物,如人或房間;或者是一個事件,如旅行;或軟件項目的測試階段。屬性是我們所關(guān)注的實體的特征或特性,如血壓的高度(人)、時間(測試階段)、范圍或顏色(房間)、花銷(旅行) 等。因此,說"度量事物"或"度量屬性"的說法是不完全正確的;應(yīng)該說"度量事物的屬性"。"度量房間"的說法是模糊的;我們可以說度量它的長度、范圍和溫度等。同樣說"度量溫度"的說法也是模糊的,應(yīng)該說:我們度量的是某一特定地理位置和特定情況下的溫度。===> 2
2、工程學(xué)科需要度量軟件工程要的是有模型和理論支持的方法。
如在設(shè)計電路的時候我們應(yīng)用歐姆定律。這個定律描述了電路中電阻、電流和電壓三者之間的關(guān)系。但是這些理論已超出了一般意義上的科學(xué)方法的范疇,在這種范疇里最基本的東西是度量。度量除了在發(fā)展一個理論的過程中起作用外,我們使用度量并應(yīng)用它們。因此設(shè)計一個特定電流和電阻的電路時我們就知道需要多大的電壓。
如果沒有度量,我們很難想象關(guān)于電子、機械、及普通工程的定律能得到發(fā)展。但事實上現(xiàn)在在軟件工程的主流里度量卻被忽略了。
現(xiàn)在的情況是:
■當(dāng)我們在設(shè)計和開發(fā)軟件產(chǎn)品的時候,我們并未能制定出度量的目標(biāo)。例如:我們保證說我們將使用戶界面友好、可靠、易于維護;而并未使用度量的術(shù)語來詳細(xì)說明它們的具體含義。Gilb曾經(jīng)說過:所謂模糊目標(biāo)定理,就是沒有明確目標(biāo)的項目將不能明確地達(dá)到它的目標(biāo)。
■我們未能對構(gòu)成軟件項目實際費用的各個不同的部分進(jìn)行有效的度量。譬如:通常我們并不知道,和測試階段相比,設(shè)計階段花費時間多大。
■我們并未試圖使我們開發(fā)的產(chǎn)品的各種質(zhì)量合格。因此我們未能使用術(shù)語(如:在一段時間里使用故障的可能性、把產(chǎn)品安裝到新環(huán)境中需花費的工作量等)向潛在的用戶說明產(chǎn)品的可靠性很高。
■我們總是試圖說服自己使用另一種新的革新的開發(fā)技術(shù)和方法進(jìn)行軟件開發(fā)
事實上,我們在軟件度量方面做的工作很少很少,而且所作的度量方面的工作也與一般科學(xué)意義上的度量相分離。我們經(jīng)常會看到諸如此類的話:"軟件的費用有80%花費在維護上。"或"軟件每一千行程序中平均有55個Bugs。"。但是這些話并沒有告訴我們這樣的結(jié)果是怎樣產(chǎn)生的、試驗是怎樣設(shè)計、執(zhí)行的、度量的是那個實體、及錯誤的框架是什么等等。沒有這些東西,我們就不能在我們自己的環(huán)境中客觀地進(jìn)行反復(fù)度量,重現(xiàn)度量的結(jié)果以獲得與工業(yè)標(biāo)準(zhǔn)的真實比較。因此,歸因于度量不充分的問題的產(chǎn)生是由于缺乏嚴(yán)格的度量方法造成的。
除了傳統(tǒng)的對計算機硬件的性能進(jìn)行度量外,對算法的復(fù)雜性的度量一直是計算機科學(xué)的重要組成部分。但是,這種度量方法只適用于小程序,而對大型、復(fù)雜的軟件來說它卻無能為力了。這就屬于軟件工程的范疇了。如果我們不承認(rèn)度量將會一個更重要的作用的話,軟件危機將在隨后的幾年里依然存在
三、軟件度量研究的范疇
現(xiàn)在我們已經(jīng)知道軟件工程需要度量。如何進(jìn)行度量是的重要性是顯而易見的。首先我們必須弄清楚"軟件度量"是一個包含很多完全不同的活動的術(shù)語。它主要包括:
費用和工作量估計模型和度量
生產(chǎn)率度量模型和標(biāo)準(zhǔn)
質(zhì)量控制和保證
數(shù)據(jù)收集
質(zhì)量模型和度量
可靠性模型
性能評價和模型
算法/計算復(fù)雜性度量
結(jié)構(gòu)和復(fù)雜性度量
GQM法(Goal/Question/Metric)
其他等
在本專題中,我們將對上面這幾個方面進(jìn)行簡要介紹以便使讀者對當(dāng)前正在使用的方法和技術(shù)有一個大致了解。這些方面排列的順序不是任意的。它反映了進(jìn)行軟件度量時從高層次、高目標(biāo)到它們所依賴的最基本的東西的順序
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學(xué)員考試保駕護航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
發(fā)表評論 查看完整評論 | |