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