以便以這種方式來根據已明確的規則來描述它們.
因此,度量關注的是獲取關于實體屬性的信息。一個實體可以是一個實物,如人或房間;或者是一個事件,如旅行;或軟件項目的測試階段。屬性是我們所關注的實體的特征或特性,如血壓的高度(人)、時間(測試階段)、范圍或顏色(房間)、花銷(旅行) 等。因此,說"度量事物"或"度量屬性"的說法是不完全正確的;應該說"度量事物的屬性"。"度量房間"的說法是模糊的;我們可以說度量它的長度、范圍和溫度等。同樣說"度量溫度"的說法也是模糊的,應該說:我們度量的是某一特定地理位置和特定情況下的溫度。===> 2
2、工程學科需要度量軟件工程要的是有模型和理論支持的方法。
如在設計電路的時候我們應用歐姆定律。這個定律描述了電路中電阻、電流和電壓三者之間的關系。但是這些理論已超出了一般意義上的科學方法的范疇,在這種范疇里最基本的東西是度量。度量除了在發展一個理論的過程中起作用外,我們使用度量并應用它們。因此設計一個特定電流和電阻的電路時我們就知道需要多大的電壓。
如果沒有度量,我們很難想象關于電子、機械、及普通工程的定律能得到發展。但事實上現在在軟件工程的主流里度量卻被忽略了。
現在的情況是:
■當我們在設計和開發軟件產品的時候,我們并未能制定出度量的目標。例如:我們保證說我們將使用戶界面友好、可靠、易于維護;而并未使用度量的術語來詳細說明它們的具體含義。Gilb曾經說過:所謂模糊目標定理,就是沒有明確目標的項目將不能明確地達到它的目標。
■我們未能對構成軟件項目實際費用的各個不同的部分進行有效的度量。譬如:通常我們并不知道,和測試階段相比,設計階段花費時間多大。
■我們并未試圖使我們開發的產品的各種質量合格。因此我們未能使用術語(如:在一段時間里使用故障的可能性、把產品安裝到新環境中需花費的工作量等)向潛在的用戶說明產品的可靠性很高。
■我們總是試圖說服自己使用另一種新的革新的開發技術和方法進行軟件開發
事實上,我們在軟件度量方面做的工作很少很少,而且所作的度量方面的工作也與一般科學意義上的度量相分離。我們經常會看到諸如此類的話:"軟件的費用有80%花費在維護上。"或"軟件每一千行程序中平均有55個Bugs。"。但是這些話并沒有告訴我們這樣的結果是怎樣產生的、試驗是怎樣設計、執行的、度量的是那個實體、及錯誤的框架是什么等等。沒有這些東西,我們就不能在我們自己的環境中客觀地進行反復度量,重現度量的結果以獲得與工業標準的真實比較。因此,歸因于度量不充分的問題的產生是由于缺乏嚴格的度量方法造成的。
除了傳統的對計算機硬件的性能進行度量外,對算法的復雜性的度量一直是計算機科學的重要組成部分。但是,這種度量方法只適用于小程序,而對大型、復雜的軟件來說它卻無能為力了。這就屬于軟件工程的范疇了。如果我們不承認度量將會一個更重要的作用的話,軟件危機將在隨后的幾年里依然存在
三、軟件度量研究的范疇
現在我們已經知道軟件工程需要度量。如何進行度量是的重要性是顯而易見的。首先我們必須弄清楚"軟件度量"是一個包含很多完全不同的活動的術語。它主要包括:
費用和工作量估計模型和度量
生產率度量模型和標準
質量控制和保證
數據收集
質量模型和度量
可靠性模型
性能評價和模型
算法/計算復雜性度量
結構和復雜性度量
GQM法(Goal/Question/Metric)
其他等
在本專題中,我們將對上面這幾個方面進行簡要介紹以便使讀者對當前正在使用的方法和技術有一個大致了解。這些方面排列的順序不是任意的。它反映了進行軟件度量時從高層次、高目標到它們所依賴的最基本的東西的順序
文章來源于領測軟件測試網 http://www.kjueaiud.com/