軟件規(guī)模度量是軟件項(xiàng)目成本評(píng)估、軟件項(xiàng)目工作量估算和合理策劃項(xiàng)目進(jìn)度的基礎(chǔ)。軟件規(guī)模度量的方法有多種,今天我們來(lái)了解一下其中的用例點(diǎn)方法。
  
  用例點(diǎn)方法(use case point method,UCP),是由Gustav Karner在1993年針對(duì)FPA(function point access)方法而提出的一種改進(jìn)方法,是在面向?qū)ο箝_(kāi)發(fā)方法中基于用例估算軟件項(xiàng)目規(guī)模及工作量的一種方法。UCP的基本思想是利用已經(jīng)識(shí)別出的用例和執(zhí)行者,根據(jù)他們的復(fù)雜度分類計(jì)算用例點(diǎn)。

UCP估算法主要由4個(gè)步驟:

  1、角色復(fù)雜度等級(jí)劃分及計(jì)數(shù)。

  在UCP估算方法中,角色被劃分為簡(jiǎn)單(Simple)、中等(Average)、復(fù)雜(Complex)三個(gè)等級(jí)。其中,通過(guò)已定義的API或接口與系統(tǒng)進(jìn)行交互的用例角色復(fù)雜度等為簡(jiǎn)單,權(quán)重為1;通過(guò)某種協(xié)議(如TCP/IP)與系統(tǒng)進(jìn)行交互的用例角色復(fù)雜度等為中等,權(quán)重為2;系統(tǒng)的最終用戶(即人)通過(guò)GUI或Web界面與系統(tǒng)交互則復(fù)雜度等級(jí)為復(fù)雜,權(quán)重為3。計(jì)算未調(diào)整的用例角色(Unadjusted Actor Weight,UAW),即將每一個(gè)等級(jí)的用例角色數(shù)匯總,并乘以對(duì)應(yīng)的等級(jí)權(quán)重,最終求和。

  2、用例復(fù)雜度等級(jí)劃分計(jì)數(shù)。

  基于每個(gè)用例的事務(wù)數(shù)目(不包括擴(kuò)展事務(wù))對(duì)用例復(fù)雜度劃分為簡(jiǎn)單(Simple)、中等(Average)、復(fù)雜(Complex)三個(gè)等級(jí)。用例事務(wù)數(shù)小于3,用例的復(fù)雜度等級(jí)為簡(jiǎn)單,權(quán)重為5;用例事務(wù)數(shù)在4和7之間(包含4和7),用例的復(fù)雜度等級(jí)為中等,權(quán)重為10;用例事務(wù)數(shù)大于7,用例的復(fù)雜度等級(jí)為復(fù)雜,權(quán)重為15。計(jì)算未調(diào)整用例數(shù)(Unadjusted Use Case Weight,UUCW),即將每一個(gè)等級(jí)的用例匯總,并乘以對(duì)應(yīng)的等級(jí)權(quán)重,最終求和。

  3、計(jì)算未調(diào)整用例點(diǎn)數(shù)。

  將UAW和UUCW相加得出未調(diào)整用例點(diǎn)(Unadjusted Use Case Point,UUCP)。

  4、使用技術(shù)復(fù)雜度因子(Technical Complex Factor,TCF)和環(huán)境復(fù)雜度因子(Environment Complexity Factor,ECF)調(diào)整UUCP,得出UCP。根據(jù)項(xiàng)目的復(fù)雜度不同,可以將TCF和ECF中每項(xiàng)因子賦予0~5間的任意值。任一因子賦予的分值越高,該因子對(duì)項(xiàng)目的影響越大或關(guān)聯(lián)性越強(qiáng)。TCF和ECF因子描述及權(quán)重見(jiàn)表1、表2.

TCF因子及對(duì)應(yīng)的權(quán)重
ECF因子及對(duì)應(yīng)的權(quán)重
  計(jì)算TCF:為表1中T1~T13各項(xiàng)因子打分,再將每項(xiàng)因子得分與其對(duì)應(yīng)權(quán)重相乘,然后求和得到TCF。

  計(jì)算ECF:為表2中E1~E8各項(xiàng)因子打分,再將每項(xiàng)因子得分與其對(duì)應(yīng)權(quán)重相乘,然后求和得到ECF。

  計(jì)算軟件規(guī)模UCP

          UCP=TCF  X  ECF  X  UUCP