在軟件開發中,軟件度量的根本目的是為了管理的需要。利用度量來改進軟件過程。人們是無法管理不能度量的事物。在軟件開發的歷史中,我們可以意識到,在60年代末期的大型軟件所面臨的軟件危機反映了軟件開發中管理的重要性。而對于管理層人員來說:沒有對軟件過程的可見度就無法管理;而沒有對見到的事物有適當的度量或適當的準則去判斷、評估和決策,也無法進行優秀的管理。我們說軟件工程的方法論主要在提供可見度方面下工夫。但僅僅是方法論的提高并不能使其成為工程學科。這就需要使用度量。度量是一種可用于決策的可比較的對象。度量已知的事物是為了進行跟蹤和評估。對于未知的事物,度量則用于預測。本專題將討論軟件度量的一些基本問題。但應認識到軟件度量的成果是非常初步的,還需要大量工作才可能真正地做到實用化,但它的實用化成就將對軟件的高質量和高速發展有不可估量的影響。那么, 一、什么是度量呢? 1、度量概念:度量存在于左右我們生活的很多系統的核心之中。在經濟領域,度量決定著價格和付款的增加;在雷達系統中,度量使我們能透過云層探測到飛機;在醫療系統中,度量使得能夠診斷某些特殊疾病;在天氣預測系統中,度量是天氣預報的基礎;沒有度量,技術的發展根本無法進行。度量的正式定義是: 度量 是指在現實的世界中,把數字或符號指定給實體的某一屬性,
以便以這種方式來根據已明確的規則來描述它們.
因此,度量關注的是獲取關于實體屬性的信息。一個實體可以是一個實物,如人或房間;或者是一個事件,如旅行;或軟件項目的測試階段。屬性是我們所關注的實體的特征或特性,如血壓的高度(人)、時間(測試階段)、范圍或顏色(房間)、花銷(旅行) 等。因此,說"度量事物"或"度量屬性"的說法是不完全正確的;應該說"度量事物的屬性"。"度量房間"的說法是模糊的;我們可以說度量它的長度、范圍和溫度等。同樣說"度量溫度"的說法也是模糊的,應該說:我們度量的是某一特定地理位置和特定情況下的溫度。===> 2
2、工程學科需要度量軟件工程要的是有模型和理論支持的方法。
如在設計電路的時候我們應用歐姆定律。這個定律描述了電路中電阻、電流和電壓三者之間的關系。但是這些理論已超出了一般意義上的科學方法的范疇,在這種范疇里最基本的東西是度量。度量除了在發展一個理論的過程中起作用外,我們使用度量并應用它們。因此設計一個特定電流和電阻的電路時我們就知道需要多大的電壓。
如果沒有度量,我們很難想象關于電子、機械、及普通工程的定律能得到發展。但事實上現在在軟件工程的主流里度量卻被忽略了。
現在的情況是:
■當我們在設計和開發軟件產品的時候,我們并未能制定出度量的目標。例如:我們保證說我們將使用戶界面友好、可靠、易于維護;而并未使用度量的術語來詳細說明它們的具體含義。Gilb曾經說過:所謂模糊目標定理,就是沒有明確目標的項目將不能明確地達到它的目標。
■我們未能對構成軟件項目實際費用的各個不同的部分進行有效的度量。譬如:通常我們并不知道,和測試階段相比,設計階段花費時間多大。
■我們并未試圖使我們開發的產品的各種質量合格。因此我們未能使用術語(如:在一段時間里使用故障的可能性、把產品安裝到新環境中需花費的工作量等)向潛在的用戶說明產品的可靠性很高。
■我們總是試圖說服自己使用另一種新的革新的開發技術和方法進行軟件開發
事實上,我們在軟件度量方面做的工作很少很少,而且所作的度量方面的工作也與一般科學意義上的度量相分離。我們經常會看到諸如此類的話:"軟件的費用有80%花費在維護上。"或"軟件每一千行程序中平均有55個Bugs。"。但是這些話并沒有告訴我們這樣的結果是怎樣產生的、試驗是怎樣設計、執行的、度量的是那個實體、及錯誤的框架是什么等等。沒有這些東西,我們就不能在我們自己的環境中客觀地進行反復度量,重現度量的結果以獲得與工業標準的真實比較。因此,歸因于度量不充分的問題的產生是由于缺乏嚴格的度量方法造成的。
文章來源于領測軟件測試網 http://www.kjueaiud.com/