Figure 8: Pre-implementation FURs (Source: [16])
Figure 9: Post- implementation FURs (Source: [16])
圖中所有顯示的工作產品,應該可以得到度量的必須信息。
度量時間的最早點(Earliest point of time for measurement)
Garmus和 Herron [03] 說過,DeMarco’s Bang和3-D功能點方法需要對系統過程的詳細認識,但是在初期不可能充分計算系統過程(如系統的狀態和轉換過程),對這兩種方法來說, 計算功能點越早越困難。因此它們必須在比 Mark II功能點、特征點和IFPUG功能點使用的軟件生命周期更后的階段度量,其中Mark II功能點、特征點和IFPUG功能點可以在相同的系統詳情水平,得到相同精確程度的功能點,但是不幸的是他們需要的詳情業只有經過大約15-40 %的開發時間后才可能有。
早期估計(Earlier estimations)
Boehm指出越早度量項目就可能越早在控制之下[19]。
一般都相信只有在設計階段才可能進行功能點計算,但是有規則可以使得更早得到功能點數據(在IFPUG4.0支持下)。有時用啟發式規則。但在真正進行這種可能新得計算往往發現是又不可能,根據一般模型的適用性,在需求收集階段,功能點計算可能只是一個更好或者更差估計。當所有商業需求終結時,可能有準確的功能點計算。為了克服這個時間點遲后問題,有人提出了早期功能點方法。Meli總結了應用這種方法的結果[31][33]。他發現方法在軟件項目沒有所有詳細資料(功能說明書)時估計功能點值早期功能點是一種非常有用的方法,它能是一種正式標準的計算。
但重要的是需要考慮這種方法的效力,這種方法的系統是根據實際計算案例來設置的,它的效果只是用一種不變的確認來保證。但依照資料,早期功能點方法已經完善地比較有效,在大多情況它估計的數值在實際功能點數值+/-10%內。
另外一種早期估計的方法是早期全面功能點方法。這種方法基于早期功能點分析并且現在正在開發完善。
利用UML進行度量(Measurement using UML)
有幾種利用UML元素進行估計功能規模的方法已經被提出和討論。其中一種是Stutzke被提出來的用來估計特征點的方法[44]。他參考結合了以前別人的工作成果如Reifer’s模型(1990)、類點方法(the Class Points Method,被Fischmann/McRitchie 提出)和南非方法(the South African Method 被Meyerson提出)。但他認為不是所有的問題都解決了,可能問題是:
對象模型的重用部分需要多少工作量 ,
特別的分析方法是怎樣影響工作量的 ,
將設計的對象轉換為執行代碼需要多少工作量 。
Longstreet給出了一些怎么用用例度量功能點的例子[20]。他聲明每一步必須分析它是否是一個事務或者是一個數據類型。他還列出了采用用例進行功能點計算的風險:
在用例中沒有標識清楚必須的事務,
在用例中可能沒有正確標識事務,
在用例中沒有清楚定義屬性數,
屬性數不能固定到一個實體上。
但他, Longstreet [36], 聲明功能點分析可以非常容易的適用于用例方法。
Meli 提出用例已經變成一個捕獲用戶需求的一般方法,因為用例是從用戶的角度描述功能,他們應該很容易轉換成功能點[37]。但這個事實需要一項一項確認,既然功能轉換和用例的“解剖”水平可能不同,進一步的研究應提供些這種潛在關系的統計證據。
從源代碼進行后期計算(Post-calculation from source code)
一個最后重要的考慮是希望從源代碼進行后期計算功能點 。既然有方法已經從源代碼實現功能業務內容自動度量,后期計算也是可能。
文章來源于領測軟件測試網 http://www.kjueaiud.com/