為了能更好地理解和掌握軟件功能點(diǎn)估算的一些規(guī)則,,本文通過(guò)介紹一個(gè)需求實(shí)例來(lái)展開(kāi)軟件功能點(diǎn)估算的介紹,,歡迎各位專家批評(píng)指正。新增需求:實(shí)現(xiàn)一個(gè)訂單的錄入,,更新,,刪除、查詢,、打印,、導(dǎo)出功能,其中用戶界面如下,。訂單明細(xì)包含了訂購(gòu)的具體產(chǎn)品及數(shù)量的情況,,明細(xì)記錄數(shù)原則不限。導(dǎo)出,、打印,、更新、刪除訂單記錄應(yīng)先從圖2的查詢界面查出記錄,,再鼠標(biāo)雙擊某記錄進(jìn)入圖1的增,、刪、改界面,,也可以選擇修改或刪除菜單后輸入訂單號(hào)進(jìn)入圖1的增,、刪,、改界面,新增時(shí)訂單編號(hào)自動(dòng)產(chǎn)生,,更新時(shí)訂單編號(hào)不能修改,。訂單的明細(xì)記錄在增、刪,、改界面可進(jìn)行刪除或添加處理,,要添加時(shí)通過(guò)鼠標(biāo)定位在編輯區(qū)按右鍵選擇添加功能,然有會(huì)彈出一個(gè)產(chǎn)品列表來(lái)供操作者選擇,,材料代碼和材料名稱及單價(jià)是通過(guò)選擇后自動(dòng)添加的,,不能人工修改,操作者只能修改訂單數(shù)量,,要?jiǎng)h除時(shí)也通過(guò)鼠標(biāo)定位在編輯區(qū)的某產(chǎn)品上按右鍵選擇刪除功能即可,。打印版面通過(guò)打印模板定制并打印到打印機(jī)、導(dǎo)出版面也通過(guò)excel模板定制并輸出到excel文件,。 其他說(shuō)明: 1,、用戶表和產(chǎn)品數(shù)據(jù)表本次不變,訂單功能開(kāi)發(fā)僅僅是引用這些數(shù)據(jù),。 2,、暫不考慮其它特殊業(yè)務(wù)邏輯和權(quán)限,如:不寫(xiě)日志,、功能按鈕不根據(jù)權(quán)限加以屏蔽,。 功能界面情況如下: 圖1:增、刪,、改界面 圖2:查詢界面 功能點(diǎn)分析: 1,、首先我們來(lái)確定本功能涉及到哪些用戶數(shù)據(jù)(ILF,EIF) 因?yàn)樾略鲂枨笫怯唵喂芾恚视唵涡畔儆谝粋€(gè),,另外在需求中提到用戶表和產(chǎn)品數(shù)據(jù)表本次不變,,訂單功能開(kāi)發(fā)僅僅是引用這些數(shù)據(jù),所以用戶信息和產(chǎn)品信息也是系統(tǒng)的ILF或EIF,,只不過(guò)本次新增需求時(shí)不計(jì)算它的ILF或EIF功能點(diǎn),,因?yàn)樗鼪](méi)有改變,相信引用它的方式與以前一樣,,但在EI,、EO、EQ中引用需要考慮其FTR復(fù)雜度,。另外,,需求又要求打印和導(dǎo)出需要使用版面模板,故應(yīng)該有三個(gè)模本文件。訂單類型沒(méi)有提及需要?jiǎng)討B(tài)從系統(tǒng)內(nèi)部獲取,,根據(jù)一般經(jīng)驗(yàn)應(yīng)該是一個(gè)在程序中做死的下拉選擇列表,,到此這個(gè)新增需求涉及的ILF,EIF應(yīng)為如下內(nèi)容:
2、然后我們?cè)賮?lái)確定本功能涉及到哪些用戶事務(wù)(EI,、EO,、EQ) 通過(guò)需求描述和界面我們不難發(fā)現(xiàn),,它們有新增,、查詢、修改,、刪除,、打印和導(dǎo)出功能,只不過(guò)導(dǎo)出又分查詢結(jié)果導(dǎo)出和訂單導(dǎo)出,,因?yàn)樗鼈兊膬?nèi)容和版面都不同,,而查詢結(jié)果沒(méi)有提及需要打印輸出,故無(wú)查詢結(jié)果打印功能,,查詢又分批量查詢和根據(jù)訂單號(hào)查詢,。再分析我們又會(huì)發(fā)現(xiàn)客戶名稱是通過(guò)下拉列表選擇的,而需求明確提到有一客戶信息供引用,,故界面中出現(xiàn)的客戶名稱選擇應(yīng)是一個(gè)EQ,盡管在兩個(gè)界面都出現(xiàn),,但它們的輸入、輸出和處理都一樣故只算一個(gè),。另外,,產(chǎn)品添加時(shí)也是通過(guò)彈出一個(gè)產(chǎn)品列表來(lái)選擇的,故產(chǎn)品列表提取也是一個(gè)EQ,。訂購(gòu)時(shí)間,、訂單類型不是從系統(tǒng)內(nèi)部動(dòng)態(tài)獲取的過(guò)只能算DET。 到此這個(gè)新增需求涉及的EI,、EO,、EQ應(yīng)為如下內(nèi)容:
3、分析完五大估算要素(EIF,、ILF,、EI、EO,、EQ)后,,下面我們就來(lái)分析ILF的復(fù)雜度,即它的DET和RET。 訂單信息: 從需求文字和界面中只能分析出訂單編號(hào),、訂單名稱,、訂單類型、客戶名稱,、發(fā)送地址,、訂購(gòu)時(shí)間、材料代碼,、訂購(gòu)數(shù)量八個(gè)屬性,,其中材料代碼、訂購(gòu)數(shù)量屬于可重復(fù)的屬性,,故屬于一個(gè)RET,,因此本信息有2個(gè)RET,8個(gè)DET,。 查詢結(jié)果導(dǎo)出excel模板: 從需求文字和界面中只能分析出訂單編號(hào),、訂單名稱、訂單類型,、客戶名稱,、發(fā)送地址、訂購(gòu)時(shí)間六個(gè)屬性,,并且無(wú)子邏輯,,因此本信息只有1個(gè)RET,6個(gè)DET,。 訂單導(dǎo)出excel模板 從需求文字和界面中只能分析出訂單編號(hào),、訂單名稱、訂單類型,、客戶名稱,、發(fā)送地址、訂購(gòu)時(shí)間,、材料代碼,、材料名稱、單價(jià),、訂購(gòu)數(shù)量十個(gè)屬性,,其中材料代碼、材料名稱,、單價(jià),、訂購(gòu)數(shù)量屬于可重復(fù)的屬性,故屬于一個(gè)RET,,因此本信息有2個(gè)RET,,10個(gè)DET,。 訂單打印模板 從需求文字和界面中只能分析出訂單編號(hào)、訂單名稱,、訂單類型,、客戶名稱、發(fā)送地址,、訂購(gòu)時(shí)間,、材料代碼、材料名稱,、單價(jià),、訂購(gòu)數(shù)量十個(gè)屬性,其中材料代碼,、材料名稱,、單價(jià)、訂購(gòu)數(shù)量屬于可重復(fù)的屬性,,故屬于一個(gè)RET,,因此本信息有2個(gè)RET,,10個(gè)DET,。
EIF、ILF的復(fù)雜度分析 4,、分析完ILF的復(fù)雜度后,,接著分析EI、EO,、EQ的復(fù)雜度,,即它的DET和FTR。 訂單添加: 從需求文字和界面中可分析出訂單編號(hào),、訂單名稱,、訂單類型、客戶名稱,、發(fā)送地址,、訂購(gòu)時(shí)間、材料代碼+材料名稱+單價(jià),、訂購(gòu)數(shù)量,、保存按鈕九個(gè)DET,其中材料代碼+材料名稱+單價(jià),、訂購(gòu)數(shù)量屬于重復(fù)項(xiàng),,只計(jì)算一次,,材料代碼+材料名稱+單價(jià)是通過(guò)執(zhí)行查詢產(chǎn)品(EQ)信息后填入的,查詢產(chǎn)品信息已獨(dú)立算作一個(gè)EQ,,故其結(jié)果不算從內(nèi)到外穿越邊界,,而其材料代碼在保存時(shí)需寫(xiě)入訂單中,故只算一個(gè)DET,??蛻裘Q也是通過(guò)查詢客戶信息后填入的,故本功能實(shí)際只涉及9個(gè)DET和訂單信息一個(gè)ILF,。所以本功能是:9個(gè)DET,,1個(gè)FTR。 訂單修改: 從需求文字和界面中可分析出訂單編號(hào)(代表訂單查詢結(jié)果的DET),、訂單名稱,、訂單類型、客戶名稱,、發(fā)送地址,、訂購(gòu)時(shí)間、材料代碼+材料名稱+單價(jià),、訂購(gòu)數(shù)量,、保存按鈕九個(gè)DET,其中材料代碼+材料名稱+單價(jià),、訂購(gòu)數(shù)量屬于重復(fù)項(xiàng),,只計(jì)算一次,材料代碼+材料名稱+單價(jià)是通過(guò)查詢產(chǎn)品信息后填入的,,查詢產(chǎn)品信息已獨(dú)立算作一個(gè)EQ,,故其結(jié)果只算一個(gè)DET??蛻裘Q也是通過(guò)查詢客戶信息后填入的,,故本功能實(shí)際只涉及訂單信息一個(gè)ILF。所以本功能是:9個(gè)DET,,1個(gè)FTR,。 訂單刪除: 從需求文字和界面中可分析出訂單編號(hào)(代表訂單查詢結(jié)果的DET)、刪除按鈕2個(gè)DET,,其中其他屬性都是訂單查詢的結(jié)果,,只計(jì)一個(gè)DET,并且穿越外部到內(nèi)部的數(shù)據(jù)也只要是訂單編號(hào)即可,。修改的ILF也只是訂單信息,。所以本功能是:2個(gè)DET,1個(gè)FTR,。 訂單打印: 從需求文字和界面中可分析出訂單打印模板中的10個(gè)DET(穿越外部到內(nèi)部),、打印按鈕11個(gè)DET,。訪問(wèn)的ILF只有訂單打印模板,所以本功能是:11個(gè)DET,,1個(gè)FTR,。 訂單導(dǎo)出: 從需求文字和界面中可分析出訂單導(dǎo)出模板中的10個(gè)DET(穿越外部到內(nèi)部)、導(dǎo)出按鈕11個(gè)DET,。訪問(wèn)的ILF只有訂單導(dǎo)出模板,。所以本功能是:11個(gè)DET,1個(gè)FTR,。 根據(jù)訂單號(hào)查詢: 根據(jù)訂單號(hào)查詢有兩個(gè)地方調(diào)用,,一個(gè)是從菜單中選擇修改或刪除后會(huì)提示輸入訂單號(hào)時(shí)調(diào)用,還有一個(gè)是在批量查詢界面中鼠標(biāo)雙擊某記錄中調(diào)用,,因?yàn)樗鼈兊腄ET,、FTR以及處理邏輯都相同,故只算一個(gè)EQ,。從需求文字和界面中可分析出訂訂單編號(hào),、訂單名稱、訂單類型,、客戶名稱,、發(fā)送地址、訂購(gòu)時(shí)間,、材料代碼,、材料名稱,、單價(jià),、訂購(gòu)數(shù)量、確定/鼠標(biāo)雙擊按鈕11個(gè)DET,,其中材料代碼,、材料名稱、單價(jià),、訂購(gòu)數(shù)量屬于重復(fù)項(xiàng),,只計(jì)算一次。訪問(wèn)的ILF有訂單信息,、產(chǎn)品信息(因客戶名稱直接寫(xiě)入訂單中,,故這里不在考慮訪問(wèn)客戶信息ILF)。所以本功能是:11個(gè)DET,,2個(gè)FTR,。 訂單批量查詢: 從需求文字和界面中可分析出訂單號(hào)、訂單名稱,、客戶名稱,、訂單類型,、訂購(gòu)時(shí)間、發(fā)運(yùn)地址,、查詢按鈕7個(gè)DET,。訪問(wèn)的ILF只有訂單信息(因控制信息中的客戶名稱另算為一個(gè)EQ,故算一個(gè)DET,,不算訪問(wèn)FTR,,另外,過(guò)濾條件中的訂單編號(hào),、訂單名稱,、訂單類型、客戶名稱,、訂購(gòu)時(shí)間始,、訂購(gòu)時(shí)間終屬于重復(fù)字段)。所以本功能是:7個(gè)DET,,1個(gè)FTR,。 批量查詢結(jié)果導(dǎo)出: 從需求文字和界面中可分析出查詢結(jié)果導(dǎo)出excel模板中的6個(gè)DET(穿越外部到內(nèi)部)、導(dǎo)出按鈕7個(gè)DET,。訪問(wèn)的ILF只有查詢結(jié)果導(dǎo)出excel模板,。所以本功能是:7個(gè)DET,1個(gè)FTR,。 客戶查詢: 從需求文字和界面中可分析出客戶名稱,、選中鍵2個(gè)DET。訪問(wèn)的ILF只有客戶信息,。所以本功能是:2個(gè)DET,,1個(gè)FTR。 產(chǎn)品查詢: 從需求文字和界面中可分析出材料編號(hào),、材料名稱,、單價(jià)、選中鍵4個(gè)DET,。訪問(wèn)的ILF只有產(chǎn)品信息,。所以本功能是:4個(gè)DET,1個(gè)FTR,。
EI,、EO、EQ的復(fù)雜度分析 思考: 從以上分析發(fā)現(xiàn),,找全和找對(duì)軟件功能點(diǎn)估算的EIF,、ILF、EI,、EO和EQ五類要素最關(guān)鍵,,一般它們的復(fù)雜度都為簡(jiǎn)單,。而分析DET和RET或FTR的過(guò)程工作量大效果差,所以在時(shí)間緊任務(wù)重的情況下,,我們只要分析出EIF,、ILF、EI,、EO和EQ五類要素后采用快速估算法即可,。快速估算法就是把所有要素都定為簡(jiǎn)單或一般,。
|
|
來(lái)自: 迷途海馬 > 《IT服務(wù)》