您當前的位置:首頁 > 資訊中心 > 精益軟件度量 > 精益軟件度量-8.3.2 用例點

精益軟件度量-8.3.2 用例點

 ? 2016-10-09 00:00:00

  8.3.2 用例點(User Case Point)

  用例是當前使用相當廣泛的需求分析和記錄方法。很多用例分析的實 踐者在分析、估算和計劃時,把關注點放在了代表了業務價值的基本單元 的層面上,也就是Alistair Cockbum1描述的概要、用戶目標和子功能三層用例結構里中間一層 用戶目標層用例(user goal-level use case)。在這個層面上,用例跟敏捷開發中的用戶故事的拆分方式和粒度非常相似,強調的 都是端到端的用戶價值和交互。

  很多使用類瀑布模型團隊,在項目初期的一個重要的工作便是把特性、 子特性,以用例的方式描述出來。這個時候用例點分析法能夠幫助團隊細 化預算過程中的估算,驗證前期項目定義中的假設,識別項目的風險。用 例描述的功能拆分如圖8-4所示。

精益軟件度量

  我們用 Gautam Baneijee 在他的文章 “Use Case Points - An Estimation Approach”里描述的方式2,以Big Bank的在線黃金投資為例,介紹在用例 點(User Case Point)的計算。用例點的計算分成以下4個步驟。

  (1) 根據系統用例的數量和復雜度計算UseCase權重,

  Cockbum,2000 Banerjee, 2001?

  在前面所舉的Big Bank的例子中,黃金投資下面的即時交易和委托 交易分別都是在特性層面。

  用例名稱:即時買入。

  主要actor:交易用戶。

  級別:Actor goal。

  前置條件:

  (1 )用戶已經登錄系統;

  (2) 用戶開通了黃金交易服務;

  (3) 用戶進入了黃金交易頁面。

  成功條件:

  用戶黃金賬戶黃金數額以交易額度增加,用戶資金賬戶存款扣除相 應的交易額度。

  主要成功場景:

  (1 )用戶選擇即時買入;

  (2) 系統顯示當前交易價格;

  (3) 用戶提交購買黃金數量;

  (4) 系統校驗交易金額是否超過用戶資金賬戶存款;

  (5 )系統從用戶資金賬戶扣除交易金額;

  (6)系統增加用戶的黃金賬戶中持有額度。

  延伸場景:

  4a-交易金額超過用戶資金賬戶存款;

  4al-系統提示用戶交易額度超過資金賬戶額度;

  根據用例里的步驟數量:主要場景里有6個步驟,延伸場景里的兩個 步驟只是主要場景里第四步的結果,沒有什么額外的工作量,所以在估 算的時候可以忽略。根據表8-1所示,6個步驟代表了這是一個平均(4-7) 復雜度的用例,所以用例權重為10。

精益軟件度量

  用同樣的方法得到各個用例的權重,我們假設這個版本所有用例的 權重加起來是100,這個數字也叫Unadjusted Use Case Weight (UUCW)。

  (2 )識別跟系統交互的外部actor,根據actor的數量和復雜度計算得到

  Actor權重。

  這個案例版本涉及的特性里,有3個actor跟系統交互,見表8-2。

  (1) 交易用戶:這是一個權重為3的復雜actor2.黃金交易網關:這 是個平均類型的actor,權重為2。

  (2) 儲畜賬戶接口 :這是個平均類型的actor,權重為2。

  我們使用Gautam Baneijee給出的actor的權重列表,得到的Unad?justed Actor Weight (UAW) 為 7: UAW =3+2+2 =7。

精益軟件度量

  用例權重(UUCW)和Actor權重相加,得到未調整的用例點(Unadjusted Use Case Points - UUCP )?? UUCP =UUCW +UAW = 100 + 7 = 107。

  (3) 對于沒有以用例方式記錄下來的非功能性需求,我們也需要納入考 慮,并計算得出技術復雜度因子。

  用例點方法列出了 13個影響技術復雜度的因素,并一一賦予了權重。 對于一個特定的系統而言,軟件跟每個因素的相關性決定了這一個因素對 項目工作量的影響,相關性程度分為0 (不相關)到5 (非常重要)幾個不 同的等級。

  一個大型在線金融交易系統在性能目標、安全性上會有比較高的要求, 而對部署環境可控、系統的可移植性和硬件兼容性上就不是主要的考慮因 素。相反,對于一個客戶端的辦公軟件而言,可移植性和硬件兼容性則是 應影響產品市場接受度的關鍵因素,需要在這個領域投入足夠的工作量, 以確保必要的水平。此外,對于生命周期長或是變更頻繁的軟件產品,易 于擴展和修改才能使團隊保持穩定的開發節奏;對于需要支持多種類型的 硬件平臺、為不同大型客戶提供定制的電信產品線,則在代碼復用上的要 求就格外突出。

精益軟件度量

精益軟件度量

  (4) 考慮產品開發環境因素,如:人員、工具、技術棧等,計算出環境 因子。跟技術復雜度因子類似,環境因素有8個相關因子。

  Big Bank這個在線理財產品(見表8-4)的開發人員都是銀行內部IT 團隊成員,因此對本組織的開發流程和實踐還是比較熟悉的,不過由于 本次開發要引入一些新的實踐,在這方面的評估結果是中等(3分);使 用成熟的開發技術,開發人員對技術棧還是比較熟悉(4分);編程語言 是java,在商用軟件開發中,難度一般(2分);這次是個新產品,團隊 的熱情還是很高的(5分)……

精益軟件度量

  (5) 匯總起來。

  Big Bank的這個版本的用例點數是:

  UCP =UUCW * TCF * EF = 107 * 0.975* 0.875 = 91.3

  (6) 用例點跟成本和工作量的換算。

  這個數值也是一個相對大小,要換算成具體的成本,例如人天,雖然 有文章給出了一個點對應20?28小時的數值,但我還是推薦使用團隊的經 驗數據或是歷史數據來評估點數和人天之間的轉換參數。

  用例點估算小結:

  研究表明,忽略第三步(技術復雜度因子)對估算的準確度影響不大, 主要因為當把用例分析到了一定的程度時(這種程度通常是編寫用例所需要 的),表中所列的大多數技術因素己經被納入到了需求分析結果所列出的功能 當中,比如可用性、易于安裝調試、第三方使用訪問,等等?,而第四步(環 境因子)分析使得估算數據跟具體團隊、個人相關,跟軟件本身的規模并不相 關,因此經過環境因素調整過的數據,作為歷史數據的參考意義其實有限。

  
100期30选5