您的位置:軟件測試 > 軟件項(xiàng)目管理 > 項(xiàng)目計(jì)劃 >
基于用例的工作量估計(jì)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/5/10 14:54:36 ] 推薦標(biāo)簽:

假設(shè)更大的聚合也是可能的,但是我實(shí)在不想再考慮了!

每個用例的工作量
通過對每一層的額定的規(guī)模的工作量估計(jì),我們可以對每個用例的工作量有一些深入了解。使用 Estimate Professional? 工具 (基于 COCOMO 2 和 Putnam's SLIM 模型),將語言設(shè)置為 C++(其他成本驅(qū)動因素設(shè)置為額定值),然后計(jì)算每一個示例系統(tǒng)類型在每個額定規(guī)模點(diǎn)的工作量(假設(shè) 10 個外部用例),得到表 1。表中描述的 L1 和 L2 范圍考慮到了單個用例的復(fù)雜度――使用 COCOMO 的代碼復(fù)雜性矩陣通過類比進(jìn)行估計(jì)。在 L2 層,我相信復(fù)雜性在被納入系統(tǒng)類型的特征時復(fù)雜程度發(fā)生變化,因此一個更高層次的復(fù)雜命令和控制系統(tǒng)用例,將包含在一個較低的層次上復(fù)雜性的混合。在一個按照 log-log 比例的圖上繪制這些數(shù)據(jù),得到圖 2。

圖 2: 用例工作量規(guī)模圖

從中我們可以看到,150-350 小時/用例(10 2.17-10 2.54)這個原來的 Objectory 數(shù)字在 L1 層上很適合,例如,這些用例可以通過類的協(xié)作來實(shí)現(xiàn)――因此存在一些理由來支持這個數(shù)字。然而,它不足以在分析中用來描述所有項(xiàng)目--我的一位同事曾在電子郵件與我交流時說:它太"片面" 了。

工作量估計(jì)
當(dāng)前的實(shí)際系統(tǒng)不能與這些槽(slot)一一匹配。所以,為了幫助了解應(yīng)該如何描述一個系統(tǒng),我們將使用從該方法種得出的模糊的界限并將它們繪制出來:

圖 3: 每個層次的規(guī)模范圍

從圖 3 中,我們可以看到一個超過 2.2 萬 slocs 的系統(tǒng)可能是在第一層描述,用例的數(shù)量在 2 到 30 之間。在這個規(guī)模上,更高的用例數(shù)量表明用例的粒度太細(xì)了。

規(guī)模在 2.2 萬 和 5.4 萬 slocs 之間的系統(tǒng),應(yīng)該使用一層用例和兩層用例的混合,用例的數(shù)量在 4(都在第二層)和 76 都在第一層)之間,正如上圖所表明的那樣,一般不會出現(xiàn)極限值。

規(guī)模在 5.4 萬和 11 萬 slocs 之間的系統(tǒng),一個結(jié)構(gòu)好的系統(tǒng)完全在第二層進(jìn)行描述是可能的,用例的數(shù)量在 10 到 20 之間;混合起來可能是 L1/L2/L3(1 到 160 個用例,一般不會出現(xiàn)極限值)。

規(guī)模在 11 萬 和 37 萬 slocs 之間的系統(tǒng),可能在第二層和第三層之間,用例的數(shù)量在 3(全部在第三層)到 66(全在部第二層)之間。

規(guī)模在 37 萬 和 54 萬 slocs之間的系統(tǒng),如果完全在第三層進(jìn)行描述,那么用例的數(shù)量在 9 到 12之間;混合情況可能是 L2/L3/L4(1 到 100 個用例,一般不會出現(xiàn)極限值)。

規(guī)模在 54 萬 和 260 萬 slocs 之間的系統(tǒng),可能在第三層和第四層之間,用例的數(shù)量在 2(全部在第四層)到 60(全部在第三層)之間。

規(guī)模超過 260 萬 slocs 的系統(tǒng),在第四層的用例數(shù)量應(yīng)該在 8 左右。

多少用例才是足夠的?
從一些經(jīng)驗(yàn)法則中可以得到一些有趣的觀察結(jié)果。有一個問題經(jīng)常被問及--多少用例是過量的呢?這個問題實(shí)際上意味著在捕獲需求的過程中多少是過量。答案似乎是多于 70 個,甚至對于大的系統(tǒng)來說,70 這個數(shù)字也表明對于設(shè)計(jì)來說粒度太細(xì)了。在 5 到 40 之間是非常合適的,但是這只是數(shù)量,而并沒有考慮到層次,不能用來估計(jì)規(guī)模和工作量。這是初始的數(shù)量,對于特殊的層次是合適的。如果一個大型超級系統(tǒng)被分解為系統(tǒng),系統(tǒng)又被分解為子系統(tǒng),以此類推,那么需要數(shù)以百計(jì)的用例。如果直到類的層次達(dá)到后才開發(fā)用例,那么終的數(shù)量可能是上百個甚至是上千個(對于一個 140 人-年的項(xiàng)目,或者對于每個用例有15個功能點(diǎn)這樣的項(xiàng)目來說是 600 個用例)。然而,作為一個純粹的獨(dú)立于設(shè)計(jì)的用例分解來說,這并不會發(fā)生。這些用例起源于 Jacobson 97 中描述的過程,Jacobson 97 中系統(tǒng)層次上的用例被劃分為分配給子系統(tǒng)的行為,其中可以為子系統(tǒng)編寫更低層次的用例(將其他子系統(tǒng)作為參與者)。

工作量估計(jì)的過程
如何進(jìn)行估計(jì)呢?這里有許多先決條件:如果不能理解問題的領(lǐng)域、不了解系統(tǒng)的規(guī)模和系統(tǒng)構(gòu)架,以及在哪一階段進(jìn)行估計(jì),那么不能夠進(jìn)行基于用例的估計(jì)。
第一次粗略的估計(jì)可以根據(jù)專家的觀點(diǎn)或者更正式的采用 Wideband Delphi 技術(shù)(該技術(shù)是Rand 組織在 1948 年發(fā)明的,請參考Boehm 81 的描述)。這將使得評估者可以將系統(tǒng)在圖 3 所示的規(guī)模范圍中對號入卒。這種部署將提供用例數(shù)量的范圍,并且表明表達(dá)式的層次(L1, L1/L2 等等)。然后評估者必須基于對現(xiàn)有構(gòu)架知識和領(lǐng)域中的理解來決定這些用例是否適合某一層(是否毫不相關(guān)),或者是不同層次的混合(以事件流的方式來表達(dá))。

上一頁12345下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd