關鍵字:預測性 度量
摘要
意識到傳統的軟件度量方法不能滿足面向對象軟件的生產力跟蹤和工作量預測的需要,PRICE Systems 開發了一種新的度量方法~預測性對象點。預測性對象點是特意為面向對象軟件設計的,是通過系統計算面向對象的特征進行度量。本文論述了傳統度量方法的問題,介紹了預測性對象點的形成,包括相關理論和數據,最后是用預測性對象點進行度量的一個例子。
前言
近年來,面向對象技術已經作為一種有優勢的軟件工程方法出現。和其他許多新技術一樣,面向對象方法的出現使得軟件開發人員和他們的經理們必須重新考慮估計他們開發項目的方法。傳統的軟件度量技術即使進行改善也無法滿足度量生產力和預測工作的需要。源代碼行和功能點方法都是程序需要將數據和過程分解開的時代特有產物。這和面向對象范疇有沖突。傳統的設計技術將數據和過程分離而面向對象技術將他們聯合在一起。如果要提供準確的工作預測或生產力跟蹤,面對對象度量方法必須有多個尺度(度量維)。計算交付給客戶的軟件具有功能數非常重要,但對象間交流的信息和通過繼承的重用對規模度量也非常重要。本文論述了預測性對象點(Predictive Object Points POPs),一種包含前面提到的面對對象3個尺度的度量方法。不像傳統的度量方法基于結構分析的數據和過程模型,POPs是基于對象和他們的特征。POPs綜合了文獻中幾種流行的度量方法,建立一種適合預測工作量和跟蹤生產力的方法。POPs方法的核心是每類加權方法數(Weighted Methods per Class WMC)。這種方法測量每個頂層類(或者說,每個在用戶的視野中清楚的對象)并且根據類的行為(方法)類型不同進行加權。一旦得到WMC的值,POPs方法將把它和有關按類分對象組的信息和對象類之間的關系進行聯合計算。接下來本文將論述POPs方法形成過程和有關工作研究結果,并且介紹一個預測性對象點方法應用的例證。通過對一個公用領域的面向對象項目的使用,能指導讀者認識計算預測性對象點的機理。
傳統的度量有什么錯誤
傳統的度量方法在一些度量過程中還占有一席之地。一些年來,軟件開發人員和軟件估計人員使用源代碼行(SLOC)或者功能點方法估計要建設的面向對象軟件項目的工作量,這不是因為他們選用的方法是最好的,但卻可能是最適合的,常常在組織面向對象過程不夠成熟時他們比較適合。相反地,當組織越來越善于設計和開發面向對象軟件時,這些傳統的方法變得越來越沒有用了,因為每個開發人員的代碼行變得和其他人員的不是很相似。變化的原因很明顯,他們已經停止了思考每一行代碼是怎樣和另一行代碼相匹配,停止了結構化分析,走向面向對象方法的道路。首先我們不妨想想傳統的程序方法和它是怎么發展的。最初,軟件開發人員被迫將的軟件方案完全分解,因為最早的程序語言需要辛苦地一步一步描寫要實現的每一個方案的動作。隨著編程的發展,越來越多的一步步描寫變成了一個簡單的編譯命令。但是還需要分解功能業務。 結構化分析需要開發人員按過程連續地思考和編程,編寫每一行代碼,每一個函數和每個子系統,每一個產品,都是一種單一連續思維。在這種對源代碼和函數單一的思想下,很容易想到像代碼行和功能點這樣度量方法。但面向對象技術要求人們完全轉變思想。一個方案不再根據需要實現它的步驟進行分解。它寧愿分解成一個個包含在方案的動作者,當然分解出來的動作者必須對方案有作用。方案空間分解為動作者和動作者的行為。既然動作者和他們的行為受他們內部之間相互作用或者環境的影響,所以每一行代碼的想法需要考慮許多可能的作用在動作者上的路徑;谶B續程序開發模型的度量方法將會錯過這種相互作用所導致的復雜性。
相關研究
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/