用例點(diǎn)方法(UseCase Point)是一種估算軟件開發(fā)項(xiàng)目工作量和成本十分有用的模型:您可以使用它來精確指定并記錄用例事務(wù)的數(shù)量。本文向您展示了怎樣使用該模型來計(jì)算事務(wù)數(shù)量以估算成本。
在啟動(dòng)一個(gè)新的軟件開發(fā)計(jì)劃時(shí),需做出的一個(gè)重要決策便是它的開發(fā)成本是多少。估算成本是系統(tǒng)分析員、項(xiàng)目管理員和軟件工程師長期以來一直面臨的一個(gè)問題。首先一個(gè)問題是得到項(xiàng)目準(zhǔn)確的范圍。系統(tǒng)應(yīng)該能夠有哪些功能?獲取用例中的功能性需求,能夠以一種用戶和其他領(lǐng)域內(nèi)專家理解的方式交流需求。在項(xiàng)目的早期計(jì)劃階段,完成一個(gè)用例模型,它包含了所有角色的列表(用戶或者外部系統(tǒng)),以及系統(tǒng)中用例,它們的名字,以及一個(gè)簡單的介紹。獲取這些信息能夠在項(xiàng)目的早期階段中更容易的對(duì)系統(tǒng)的規(guī)模達(dá)成一致意見。
我們將會(huì)在下面介紹到的用例點(diǎn)方法,是一種十分有前途的估算成本方法,能夠很好的配合用例方法以描述需求。它的基礎(chǔ)是用例事務(wù)的概念,大小度量的最小單位。不幸的是,對(duì)于用例事務(wù)有很多偏離方向的假設(shè)。
在本文中,我們將會(huì)詳細(xì)介紹并看它們的實(shí)際工作性能。從用例點(diǎn)方法的概述開始,接著是在什么分辨率下用例事務(wù)工作狀態(tài)最好。我們還知道用例事務(wù)是怎樣與用例相關(guān)的其他概念相聯(lián)系的。我們以怎樣計(jì)算它們的討論結(jié)束本文。
使用用例點(diǎn)
用例點(diǎn)方法是一種估算軟件開發(fā)活動(dòng)的廣泛記載的方法。但是,任何估算都不應(yīng)該單獨(dú)自己使用,而應(yīng)該與其他方法結(jié)合使用。這里我們處理用例點(diǎn)。圖 1 顯示了主要的概念。它的基礎(chǔ)是用例模型,它由角色和用例組成。識(shí)別的用例的數(shù)量是所謂未調(diào)整用例點(diǎn)計(jì)算的最重要部分。系統(tǒng)的規(guī)模是通過根據(jù)技術(shù)復(fù)雜性因素進(jìn)行調(diào)整,獲取系統(tǒng)技術(shù)屬性估算,來從未調(diào)整的用例點(diǎn)處計(jì)算得來的。
一旦您對(duì)系統(tǒng)的規(guī)模做出了估算,那么您可以開始估算效果了。通過從團(tuán)隊(duì)以及其他環(huán)境下的影響中,計(jì)算環(huán)境因子(EF)。一個(gè)非常重要的環(huán)境因子是需求的穩(wěn)定性。您還需要查看每一個(gè)用例點(diǎn)需要多少個(gè)小時(shí)(H)。最后,現(xiàn)在用例點(diǎn)模型中添加未計(jì)算的補(bǔ)充的效果(SE)(例如項(xiàng)目管理時(shí)間,集成測試等),然后估算就完成了。
用例的權(quán)重,由用戶與。
根據(jù)用戶點(diǎn)方法,對(duì)用例分配權(quán)重的標(biāo)準(zhǔn)是:
·簡單用例:1 到 3 個(gè)事務(wù),權(quán)重=5
·一般用例:4 到 7 個(gè)事務(wù),權(quán)重=10
·復(fù)雜用例:多于 7 個(gè)事務(wù),權(quán)重=15
因此,對(duì)用于計(jì)算事務(wù)的事務(wù)和策略的本質(zhì)的估算,能極大程度的影響估算。
什么是用例事務(wù)?
事務(wù)(用例)的概念能夠幫助處理不同長度以及大小的用例描述。用例描述可以簡潔的書寫,或者詳細(xì)的書寫,這取決于使用的用例模板,采用的方法,涉及到的業(yè)務(wù)背景,或者個(gè)人對(duì) Requirements Specifier 的設(shè)置。在一個(gè)用例流程里的步驟的數(shù)量,描述了角色與系統(tǒng)之間的關(guān)系,也能夠發(fā)生很大的改變。您可以通過檢查并計(jì)算用例描述中涉及到的用例事務(wù)來檢查并計(jì)算用例事務(wù),來進(jìn)行測試。如果兩個(gè)測試描述擁有相同數(shù)量的獨(dú)特事務(wù),那么它們可以擁有相同的大小。
用例事務(wù)是一個(gè)“環(huán)形的路線”
Ivar Jacobson,用例的發(fā)明者,將用例事務(wù)描述成從用戶到系統(tǒng),再到用戶的“環(huán)形路線”;在系統(tǒng)等待一個(gè)新的輸入時(shí)事務(wù)就完成了。換句話說,在一次事務(wù)中,用戶運(yùn)行輸入系統(tǒng)的一些操作。此時(shí)系統(tǒng)發(fā)生反應(yīng)。它處理輸入并將處理的結(jié)果返回給用戶。當(dāng)用戶對(duì)結(jié)果做出反應(yīng)時(shí),一個(gè)新的事務(wù)開始了,它反過來由可以作為系統(tǒng)的輸入。
用例事務(wù)不總是一個(gè)用例步驟
Jacobson 的話還包含了另外一層意思:用例事務(wù)并不是定義為“用例流程中的步驟”。只是對(duì)由一個(gè)“環(huán)形路線”組成的用例流程自身,這種定義