[薦]功能點估算(CMMI-FP)有實例介紹_第1頁
[薦]功能點估算(CMMI-FP)有實例介紹_第2頁
[薦]功能點估算(CMMI-FP)有實例介紹_第3頁
[薦]功能點估算(CMMI-FP)有實例介紹_第4頁
[薦]功能點估算(CMMI-FP)有實例介紹_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、* *功能點估算(CMMI-FP)功能點估算法是軟件項目管理眾多知識中比較有技術(shù)含量的一個。在軟件項目管理中項目計劃制定的優(yōu)劣直接關(guān)系到項目的成敗,項目計劃中對項目范圍的估算又尤為重要。如果項目負(fù)責(zé)人對項目的規(guī)模沒有一個比較客觀的認(rèn)識,沒有對工作量、所需資源、完工時間等因素進行估算,那么項目計劃也就沒有存在的意義。一、 功能點估算法的特點項目范圍的估算在CMMI的“MA”度量分析管理和“ PP”項目計劃中均有 涉及。對軟件項目范圍的估算有很多種方法,常見的是 LOC代碼行和FP功能 點法。它們之間的區(qū)別和關(guān)系如下:? 功能點估算法常用在項目開始或項目需求基本明確時使用,這時進行估算其結(jié)果的準(zhǔn)確

2、性比較高。假如這個時候使用LOC 代碼行估算法,則誤差會比較大。? 使用功能點估算法無需懂得軟件使用何種開發(fā)技術(shù)。LOC 代碼行估算法則與軟件開發(fā)技術(shù)密切相關(guān)。? 功能點估算法是以用戶為角度進行估算,LOC 代碼行估算法則是以技術(shù)為角度進行估算。? 通過一些行業(yè)標(biāo)準(zhǔn)或企業(yè)自身度量的分析,功能點估算法是可以轉(zhuǎn)換為LOC 代碼行的。在項目剛開始的時候進行功能點估算可以對項目的范圍進行預(yù)測。在項目開發(fā)的過程中由于需求的變更和細(xì)化可能會導(dǎo)致項目范圍的蔓延,計算出來的結(jié)果會與當(dāng)初 估計的不同。因此,在項目結(jié)束時還需要對項目的范圍情況重新進行 估算,這個時候估算的結(jié)果才能最準(zhǔn)確反映項目的規(guī)模。功能點分析的

3、步驟本文將以國際標(biāo)準(zhǔn) IFPUG (International Function Point Users Group組織提供的功能點估算法 V4.1.1為基礎(chǔ)進行講解。如下圖所示,首先大家應(yīng)該了解功能點估算法的使用步驟。目的邊界人則互功能點分析 數(shù)據(jù)類型功能點分析未調(diào)整的功能點敢重調(diào)整后的功能點教堂調(diào)整因子圖i功能點估算法的步驟具體步驟包括:1 .識別功能點的類型。2 .識別待估算應(yīng)用程序的邊界和范圍3 .計算數(shù)據(jù)類型功能點所提供的未調(diào)整的功能點數(shù)量。4 . 計算人機交互功能所提供的未調(diào)整的功能點數(shù)量。5 . 確定調(diào)整因子。6 . 計算調(diào)整后的功能點數(shù)量。3、 識別項目的類型國際 IFPUG

4、組織將軟件項目分為三類,功能點估算法適用于任何一類項目:? 新開發(fā)項目? 二次開發(fā)的項目? 功能增強的項目4、 識別項目的范圍和邊界使用UML的“UseCase”用例圖是以用戶角度進行識別項目范圍和邊界的最好方法,在畫用例圖時就必須明確系統(tǒng)的邊界。通過系統(tǒng)的邊界,我們可以知道 哪些功能要計算功能點,哪些功能點是外部系統(tǒng)負(fù)責(zé)計算的。以圖2 為例:一個外貿(mào)訂單系統(tǒng)只包含錄入、修改、刪除、查詢和統(tǒng)計訂單的功能,而匯率查詢轉(zhuǎn)換服務(wù)是不屬于該系統(tǒng)的。應(yīng)用程序邊界的識別規(guī)則大家一定要牢記,不能從技術(shù)角度去思考,必須從用戶角度來定義;如果項目牽扯到多個系統(tǒng),那么必須將這多個系統(tǒng)的邊界全部描述清楚。外跟訂單系

5、統(tǒng)圖2外貿(mào)訂單系統(tǒng)用例圖五、功能點估算分類功能點估算法將功能點分為以下 5類:1. ILF : Internal Logical File 內(nèi)部邏輯文件2. EIF: External Interface File 外部接 口文件3. EI: External Input 外部輸入4. EO: External Output外部輸出5. EQ: External Inquiry外部查詢其中,ILF和EIF屬于數(shù)據(jù)類型的功能點,EI、EO、EQ屬于人機交互事務(wù)類 型的功能點以外貿(mào)訂單系統(tǒng)項目為例:? 錄入訂單、修改訂單、刪除訂單是EI;? 查詢訂單是EO? 統(tǒng)計訂單是EQ? 匯率查詢轉(zhuǎn)換系統(tǒng)為E

6、IF? 訂單和客戶是ILF6、 識別功能點的重要原則ILF、EIF要與EI、EO、EQ分開計算。對ILF和EIF復(fù)雜度的計算可以簡單理解為對數(shù)據(jù)庫復(fù)雜度的計算。對EI、 EO、 EQ 復(fù)雜度的計算可以理解為對程序開發(fā)復(fù)雜度的計算。一般軟件項目都是由數(shù)據(jù)和程序構(gòu)成的,因此計算ILF、EIF和計算EI、EO、EQ之間沒有任何關(guān)系。7、 內(nèi)部邏輯文件與外部接口文件ILF 內(nèi)部邏輯文件內(nèi)部邏輯文件是指一組以用戶角度識別的、在應(yīng)用程序邊界內(nèi)且被維護的邏輯相關(guān)數(shù)據(jù)或控制信息。ILF 的主要目的是通過應(yīng)用程序的一個或多個基本處理過程來維護數(shù)據(jù)。EIF 外部接口文件外部接口文件是指一組在應(yīng)用程序邊界內(nèi)被查詢,

7、但在其他應(yīng)用程序中被維護的、以用戶角度來識別的、邏輯上相關(guān)的數(shù)據(jù)。因此,一個應(yīng)用程序中的EIF必然是 其他應(yīng)用程序中的ILF。EIF的主要目的是為邊界內(nèi)的應(yīng)用程序提供一個或多個通過基礎(chǔ)操作過程來引用的一組數(shù)據(jù)或信息。EIF所遵循的規(guī)則:? 從用戶角度出發(fā)識別的一組邏輯數(shù)據(jù)。? 這組數(shù)據(jù)是在應(yīng)用程序外部,并被應(yīng)用程序引用的。? 計算功能點的這個應(yīng)用程序并不維護該EIF。? 這組數(shù)據(jù)是作為另一個應(yīng)用程序中的ILF 被維護的。8、 ILF 和 EIF 的復(fù)雜性計算ILF 和 EIF 的復(fù)雜性是取決于 RET (Record element type )和 DET (Data element type

8、 )的數(shù)量。DET 是一個以用戶角度識別的、非重復(fù)的、有業(yè)務(wù)邏輯意義的字段。DET 計算的規(guī)則如下:? 通過一個基本處理過程的執(zhí)行,對ILF 進行維護,或從ILF/EIF 中返回一個特定的、用戶可識別的、非重復(fù)的字段,那么每個這樣的字段算一個DET。例如:添加一個外貿(mào)訂單時需要保存“訂單號碼、訂單日期、地址、郵編”,那么對于ILF 訂單來說它的DET 就是 4 個。再如:保存訂單時還會保存訂單的明細(xì)。訂單的明細(xì)往往作為一個子表進行保存,那么“訂單號碼”在主表和子表中都同時存在(主外鍵)。但以用戶角度來識別時,存盤操作是一個最小的單位,那么訂單號碼只能算做一個DET。? 當(dāng)兩個應(yīng)用程序維護和/或

9、引用相同的ILF/EIF, 但是每個應(yīng)用程序分別維護/引用它們相應(yīng)的DET時,這些DET在這兩個應(yīng)用程序的維護/引用中 將單獨計算。例如,一個應(yīng)用程序的兩個“Elementary Process ”基本處理過程都需要使用到“地址”的信息,地址信息又可以細(xì)分為“國家、城市、街道、郵編”。那么對于其中一個基本處理過程來說,它將整 個地址信息作為一個整體進行處理,只算一個DET;另外一個基本處理過程使用每個地址的詳細(xì)信息,那么 DET就 是 4 個。RET計算的規(guī)則如下:RET是指一個EIF/ILF中用戶可以識別的DET的集合。如果把DET簡單理解 為字段的話,那RET就可以簡單理解為數(shù)據(jù)庫中的表。

10、 RET在ILF/EIF中分為 兩種類型:可選的(Optional )和必選的(Mandatory )。計算RET的規(guī)則為 以下兩點:? 在一個 ILF/EIF 中每一個可選或必選的集合都被計算為一個RET。? 如果一個ILF/EIF 沒有子集合,則ILF/EIF 被計算為一個RET。例如:在外貿(mào)訂單系統(tǒng)中添加一個訂單時會保存“訂單信息、客戶的 ID、部門的ID”。那么訂單系統(tǒng)ILF中的RET為:1 .訂單信息(必選的)2 .客戶信息(必選的)3 .部門信息(可選的)因此ILF中RET的個數(shù)為3個ILF/EIF復(fù)雜度的矩陣如下:119 個 DET2050 個 DET超過51個DET1 個 RE

11、T低低中等25 個 RET低中等高6個以上RET中等高高軟件項目管理中的功能點估算法將功能點分為5類:ILF (Internal Logical File內(nèi)部邏輯文件)、EIF ( External Interface File ,外部接口文件)、EI (ExternalInput,外部輸入)、EO (External Output ,外部輸出)和 EQ (External Inquiry ,外部查詢)。其中,ILF和EIF屬于數(shù)據(jù)類型的功能點,EI、EO、EQ屬于事務(wù) 類型的功能點。九、EI、EO、EQ的比較EI是處理來自應(yīng)用程序邊界外部的一組數(shù)據(jù)輸入,它的主要目的是維護一個 或多個ILF,

12、以及/或者更改系統(tǒng)的行為。EO是輸送數(shù)據(jù)到應(yīng)用程序邊界外部的過程。它的主要目的是通過邏輯處理過 程向用戶呈現(xiàn)信息。該處理過程必須包含至少一個數(shù)學(xué)公式或計算方法,或生成 派生數(shù)據(jù)。一個EO也可以維護一個或多個ILF,并/或改變系統(tǒng)行為。EQ是向應(yīng)用程序邊界外發(fā)送數(shù)據(jù)基本處理的過程。其主要目的是從ILF或EIF中通過恢復(fù)數(shù)據(jù)信息來向用戶呈現(xiàn)。該處理邏輯 不包括任何數(shù)學(xué)公式 或計算 方法,也不會生成任何派生數(shù)據(jù)。EQ不會維護任何一個ILF,也不會改變應(yīng)用 程序的系統(tǒng)行為。EO和EQ的共同點是,其主要目的都是通過基本操作過程展現(xiàn)數(shù)據(jù)給用戶EI、EO、EQ的比較見下表。表1 EI、EO、EQ的主要目的目

13、的EIEOEQ改變應(yīng)用程序的屬性或行為主要目的次要目的不允許維護一個或多個ILF主要目的次要目的不允許顯示信息給用戶次要目的主要目的主要目的表2 EI、EO、EQ的主要行為F-jEIEOEQ數(shù)學(xué)公式或計算被執(zhí)行可以至少選擇一次/、可以至少一個ILF被修改至少選擇一次至少選擇一次/、可以至少一個ILF或EIF被引用可選可選必選數(shù)據(jù)被重新恢復(fù)可選可選必選派生數(shù)據(jù)被創(chuàng)建可選至少選擇一次可選應(yīng)用程序的行為或?qū)傩员恍薷闹辽龠x擇一次至少選擇一次可選準(zhǔn)備或呈現(xiàn)信息到系統(tǒng)邊界外可選必選必選接受進入系統(tǒng)邊界內(nèi)的數(shù)據(jù)的能力必須可選可選十、事務(wù)類型功能點的計算規(guī)則在IFPUG的定義中有一個重要的單詞“ Elemen

14、tary Process ”基本處理過程。該過程對用戶來說是一個有意義的、最小的活動單位,并且是一個自包含的活動。功能點的分類,EI、EO、EQ的識別者B是基于“Elementary Process基本處理過程的十一、EI 的計算規(guī)則1. 從應(yīng)用邊界之外收到數(shù)據(jù)。2. 如果進入系統(tǒng)邊界內(nèi)的數(shù)據(jù)不是一個改變系統(tǒng)行為的控制信息,那么至少一個ILF應(yīng)該被改變。3. 對于已識別的處理過程,至少滿足下面三個條件之一。? 該基本處理過程的邏輯與本應(yīng)用系統(tǒng)中其它基本處理過程的邏輯不同。該基本處理過程應(yīng)該具有唯一性。例如: 不能存在兩個完全一模一樣的存盤操作。? 在應(yīng)用程序邊界內(nèi),該基本處理過程所使用的這組數(shù)

15、據(jù)應(yīng)該與其他基本處理過程所使用的數(shù)據(jù)不同。? 在應(yīng)用程序邊界內(nèi),基本處理過程所引用的ILF 或 EIF 是不同于其它基本處理過程所引用的ILF 或 EIF。十二、EO 和 EQ 通用計算規(guī)則必須全部滿足以下內(nèi)容才能被視為一個EO 或 EQ:1. 從外部發(fā)送數(shù)據(jù)或控制信息到應(yīng)用程序邊界內(nèi)。2. 為了識別這個過程,以下三點必須滿足一個:? 該基本處理過程邏輯上必須是唯一的,該唯一性是指其在應(yīng)用程序中與其他 EO 或 EQ 在邏輯性上保持唯一。? 該基本處理過程所使用的數(shù)據(jù)應(yīng)該是唯一的,該唯一性是指其在應(yīng)用程序中與其他EO 或 EQ 所使用的數(shù)據(jù)不同。?該基本處理過程所引用的ILF或EIF文件應(yīng)該是

16、唯一的,該唯一性是指其在應(yīng)用程序中與其他EO 或 EQ 所引用的ILF 或 EIF 文件不同。十三、EO 補充的計算規(guī)則除了要滿足上面的通用規(guī)則外,還要滿足下面其中一條:? 在基本操作過程中至少包含一個數(shù)學(xué)公式或計算方法? 在基本操作過程中要產(chǎn)生派生數(shù)據(jù)? 在基本操作過程中至少要維護一個ILF? 在基本操作過程中要改變系統(tǒng)的行為。十四、EQ 補充的計算規(guī)則除了要滿足上面的通用規(guī)則外,還要滿足下面其中一條:?基本操作過程從ILF或EIF中獲取數(shù)據(jù)。? 基本操作過程不能包含數(shù)學(xué)公式或計算方法。? 基本操作過程不能生成派生數(shù)據(jù)? 基本操作過程不能維護任何一個ILF? 基本操作過程不能改變系統(tǒng)的行為十

17、五、EI、 EQ 和 EO 的技術(shù)復(fù)雜性計算復(fù)雜性取決于FIRs和DETs的數(shù)量。FTR是被一個事物讀取或維護的ILF,或者是被一個事物讀取的EIF。EI 中識別FTR 規(guī)則? 每一個 ILF 應(yīng)該算做一個FTR。? 通過EI讀取的每個ILF或EIF都應(yīng)該計算為一個FTR。? 既被 EI 維護又被讀取的ILF 僅計算為一個FTR。EI 中識別 DET 規(guī)則? 在 EI 的過程中,以用戶角度識別的、通過應(yīng)用系統(tǒng)邊界輸入系統(tǒng)內(nèi)部的非重復(fù)字段,應(yīng)算作一個DET。? 在 EI 的過程中,只要沒有通過系統(tǒng)邊界輸入,即使它存在于系統(tǒng)內(nèi)的一個 ILF 中,也不能算為一個DET。例如,外貿(mào)訂單系統(tǒng)中,訂單的金

18、額是被單價和數(shù)量自動計算的,那么金額是沒有通過系統(tǒng)邊界輸入的,因此在EI 操作中就不應(yīng)該算做一個DET。? 在應(yīng)用程序的EI 操作時,系統(tǒng)提示的錯誤信息或完成操作的信息,應(yīng)該被分別計算為一個DET。例如, 在網(wǎng)站注冊用戶信息時,由于輸入錯誤系統(tǒng)會顯示提示信息,那么這些提示信息應(yīng)該被逐個計算為一個DET。再如, 當(dāng) EI 操作完成時系統(tǒng)提示并顯示出來的信息,應(yīng)該被計算為一個DET。? 在 EI 操作中,如果遇到主外鍵的字段,應(yīng)該算作一個DET。EO 和 EQ 計算 FTR 的規(guī)則1. 通用規(guī)則:? 每個在EO/EQ處理過程中讀取的ILF和EIF算一個FTR2. EO 額外的FTR 計算規(guī)則? 在

19、EO處理過程中每個被維護的ILF算一個FTR? 在 EO 處理過程中既被讀取又被維護的ILF 算一個FTR十六、EO 和 EQ 計算 DET 的通用規(guī)則? 用戶可識別的非重復(fù)字段,進入應(yīng)用邊界并指明處理什么、何時處理或處理方式,并且由EO/EQ 返回或產(chǎn)生,那么這樣的每個字段算一個DET。例如,報表中的每個字段都是一個DET。? 在應(yīng)用邊界內(nèi)以用戶角度識別的非重復(fù)字段算一個DET。例如,在報表中起到解釋或備注作用的文字信息,不管是一個字、一個詞或一段話,都當(dāng)作一個DET。再如,某種編號或日期,即使它被物理存儲在不同字段中,但從用戶角度看是一個整體的信息,因此被算作一個DET。還有,在餅圖中百分

20、比和分類算作不同的DET?在EO或EQ操作中,如果對系統(tǒng)進行輸入或讀取操作時,相同的字段只 計算一個DET。例如,在報表查詢時,輸入的字段在報表上也有顯示,那么將算作同一個DET?在應(yīng)用程序的EO或EQ操作時,系統(tǒng)提示的錯誤信息或完成操作的信息, 應(yīng)該被計算為DET。例如,用戶查詢一個列表時被拒絕,那么拒絕的提示信息就算為一個DET。?在EO或EQ操作中如果遇到主外鍵的字段,應(yīng)該算作一個 DET。?在EO或EQ過程中,只要沒有通過系統(tǒng)邊界輸入,就算它存在于系統(tǒng)內(nèi) 的一個ILF中,也不能算為一個DET。例如,在公司發(fā)工資的時候,員工對應(yīng)的狀態(tài)信息被更新,但這個狀態(tài)信息的更新是沒有通過系統(tǒng)邊界輸入

21、的,因此也不能算做一個DET。?頁面的標(biāo)題等類似信息不計算 DET。?系統(tǒng)字段生成的記號不能被算作一個 DETo例如,頁碼、位置信息、時間、上一頁和下一頁等信息,都不能算作一個DET十七、日復(fù)雜度計算矩陣14 個 DET515 個 DET多于16個DET01 個 FTR低低中等2 個 FTR低中等高2 個 FRT中等高高十八、 EO和EQ復(fù)雜度計算矩陣15 個 DET619 個 DET多于20個DET01 個 FTR低低中等23 個 FTR低中等高多于4個FTR中等高高未調(diào)整前功能點對應(yīng)矩陣EI、EO、EQ、ILF和EIF技術(shù)復(fù)雜度對應(yīng)的功能點如下表所示:低高EI346457EOEQ346IL

22、F71015EIF5710用功能點估算法計算軟件項目功能點時會用到調(diào)整因子(或稱調(diào)整系數(shù))。 功能點的調(diào)整系數(shù)是通過通用系統(tǒng)特性及其影響程度來評定的,對每個常規(guī)系統(tǒng)特性的評估由其影響程度(DI )而定,分為0 5 級:0 毫無影響1 偶然影響2 適度影響3 一般影響4 重要影響5 強烈影響然后依次對以下14 個系統(tǒng)常規(guī)特性進行打分,并帶入以下計算公式算出功能點的調(diào)整因子。Value Adjustment Factor=( sum of (DI) * 0.01 ) + 0.65十九、計算調(diào)整因子1 . 數(shù)據(jù)通訊數(shù)據(jù)通訊指的是應(yīng)用程序直接與處理器通訊的程度。通常我們都是通過某種通訊手段來實現(xiàn)在一個

23、應(yīng)用中所使用的數(shù)據(jù)或者控制信息。連接到本地控制器上的終端被認(rèn)為是通訊設(shè)施,協(xié)議則指兩個系統(tǒng)或設(shè)備之間進行通訊時使用的一種約定。所有的數(shù)據(jù)通訊鏈接都需要某種協(xié)議。0應(yīng)用程序是單純的批處理或者PC stand-alone1應(yīng)用程序是一種批處理過程,但是包含遠(yuǎn)程數(shù)據(jù)的錄入或遠(yuǎn)程打印2應(yīng)用程序是一種批處理過程,但是包含遠(yuǎn)程數(shù)據(jù)的錄入和遠(yuǎn)程打印3應(yīng)用程序包括在線數(shù)據(jù)收集或者包括批處理或查詢系統(tǒng)的遠(yuǎn)程處理的前端應(yīng)用4應(yīng)用程序不單只是前端應(yīng)用,但是僅支持一種遠(yuǎn)程處理通訊協(xié)議5應(yīng)用程序不單只是前端應(yīng)用,還支持多于一種的遠(yuǎn)程處理通訊協(xié)議2 .分布式數(shù)據(jù)處理分布式數(shù)據(jù)處理是應(yīng)用在內(nèi)部組件之間傳遞信息的程度。這個特

24、性是在應(yīng)用邊界內(nèi)體現(xiàn)的。0應(yīng)用程序/、支持組件之間的數(shù)據(jù)傳輸和處理功能1應(yīng)用程序為用戶可能進行的處理準(zhǔn)備數(shù)據(jù)(例如使用電子表格或者數(shù)據(jù)庫等)2應(yīng)用程序所準(zhǔn)備的數(shù)據(jù)是為了在系統(tǒng)另外一個組件上傳輸和處理,并非為終端用戶所處理。3分布式處理和數(shù)據(jù)傳輸是在線的,并且是單向的4分布式處理和數(shù)據(jù)傳輸是在線的,并且是雙向的5由系統(tǒng)中最恰當(dāng)?shù)慕M件動態(tài)地執(zhí)行處理功能3 .性能性能是吞吐量、處理時間等指標(biāo)對開發(fā)的影響。用戶所提出的性能要求將直接影響到系統(tǒng)的設(shè)計、實施、安裝和支持。0用戶沒有提出性能方面的要求1用戶提出了性能和設(shè)計方面的要求,但/、需要采取特定措施2響應(yīng)時間和吞吐量在系統(tǒng)峰值時是關(guān)鍵的,但是不需要米

25、取相應(yīng)的CPU使用方面的特殊設(shè)計。處理的最后期限是在下一個工作日。3在任何時候響應(yīng)時間和吞吐量打勺是關(guān)鍵的,但是不需要米取相應(yīng)的CPU使用方面的特殊設(shè)計。處理的完成期限比較嚴(yán)格。4除了上面一項的要求外,由于對需求的要求比較嚴(yán)格,在設(shè)計階段就要進行性能分析。5除了上面一項的要求之外,在設(shè)計和實施階段需要使用性能分析工具來判斷性能要求的完成情況。4 .大業(yè)務(wù)量配置大業(yè)務(wù)量配置是指計算機資源對應(yīng)用開發(fā)的影響程度。大業(yè)務(wù)量的運行配置對設(shè)計有特殊要求,是必須考慮的一個系統(tǒng)特性。0沒有提出明確的運行方面的限制1有運行方面的限制,但是不需要采取特別的措施以滿足運行限制2提出了 一些安全和時間方面的限制3應(yīng)用

26、程序的某些部分對處理器有特定的要求4提出的運行限制對應(yīng)用的中央處理器或者專用處理器有特殊的要求5除上面一項之外,還對應(yīng)用的分布式組件提出了限制5 .事務(wù)處理率事務(wù)處理率是業(yè)務(wù)交易處理速度對系統(tǒng)的設(shè)計、實施、安裝和支持等的影響。0預(yù)計不會出現(xiàn)周期性的高峰事務(wù)處理期1預(yù)計會有周期性的高峰事務(wù)處理期(例如:每月、每季、每年)2預(yù)計每周都會出現(xiàn)高峰事務(wù)處理期3預(yù)計每天都會出現(xiàn)高峰事務(wù)處理期4用戶在應(yīng)用程序需求或者服務(wù)級別協(xié)議中對事務(wù)率要求很高,因此必須在設(shè)計階段進行性能分析。5用戶在應(yīng)用程序需求或者服務(wù)級別協(xié)議中對事務(wù)率要求很高,因此必須進行性能分析并在設(shè)計、開發(fā)和安裝階段中使用到性能分析工 具。6

27、.在線數(shù)據(jù)輸入在線數(shù)據(jù)輸入是指數(shù)據(jù)通過交互的方式輸入系統(tǒng)的程度。系統(tǒng)中包括在線數(shù)據(jù)輸入和控制信息功能。0所有事務(wù)都是批處理的11%7%的事務(wù)是以交互式的方式進行數(shù)據(jù)錄入28%15%的事務(wù)是以交互式的方式進行數(shù)據(jù)錄入316%23%的事務(wù)是以交互式的方式進行數(shù)據(jù)錄入424%30%的事務(wù)是以交互式的方式進行數(shù)據(jù)錄入530%以上的事務(wù)是以交互式的方式進行數(shù)據(jù)錄入7 .最終用戶效率最終用戶效率是指對應(yīng)用的人文因素及使用的便捷程度等的考慮程度。如下功能設(shè)計是針對最終用戶效率的:? 頁面導(dǎo)航?菜單?在線幫助或文檔?光標(biāo)自動跳轉(zhuǎn)?可以滾動?在線遠(yuǎn)程打印?預(yù)定義的功能鍵?在線做批量提交任務(wù)?光標(biāo)可以選取界面上的

28、數(shù)據(jù)?用戶使用大量反白顯示、重點顯示、下劃線或其他的標(biāo)識?在線copy用戶文檔?鼠標(biāo)拖動功能?彈出窗體?使用最少的界面完成某種商業(yè)功能?雙語言支持(如果選擇了這個就算 4項)?語言支持(如果選擇了這個就算 6項)0以上的一個都不包括1包括以上的13個2包括以上的45個3包括以上的6個或以上,但是沒有用戶對于效率的要求4包括以上的6個或以上,對用戶使用效率后較圖要求,因而必須考慮用戶方面的設(shè)計(例如,最少擊鍵次數(shù)、盡可能提供默認(rèn)值、模版的使用)5包括以上的6個或以上,用戶對效率的要求使得開發(fā)人員必須使用特定的工具和流程以判定用戶對效率的要求已經(jīng)被達(dá)成8 .在線更新在線更新是指內(nèi)部邏輯文件ILF被

29、在線更新的程度。應(yīng)用系統(tǒng)提供在線更新 內(nèi)部邏輯文件的功能。0沒肩在線更新1包含13個控制文件的在線更新。更新的流量低,恢復(fù)容易。2包含對4個以上控制文件的在線更新。更新的流量低,恢復(fù)容易。3包含對主要ILF的更新。4除了 3之外,在設(shè)計和實施中要考慮對數(shù)據(jù)丟失的防范。5除了 4之外,大量的數(shù)據(jù)恢復(fù)工作要考慮成本因素,同時包含了高度自動化的恢復(fù)流程。9 .復(fù)雜處理復(fù)雜處理描述了邏輯處理對應(yīng)用開發(fā)的影響程度。它包含以下要素:?敏感控制(例如特殊的審核過程)和/或程序特定的安全處理?大量的邏輯處理?大量的數(shù)學(xué)處理?因為例外處理造成的需要重新處理的情況(例如,由 TP中斷、數(shù)據(jù)值缺少和驗證失敗導(dǎo)致的A

30、TM事務(wù))?多種可能的輸入/輸出造成的復(fù)雜處理0上面一個都不滿足1只滿足一個2只滿足兩個3滿足三個4滿足四個5都滿足10 .可復(fù)用性應(yīng)用系統(tǒng)中的應(yīng)用和代碼經(jīng)過特殊設(shè)計、開發(fā)和支持,可以在其他應(yīng)用系統(tǒng) 中復(fù)用。0沒后可復(fù)用的代碼1代碼在應(yīng)用之內(nèi)復(fù)用2應(yīng)用中被其他用戶復(fù)用的部分不足 10%3應(yīng)用中被不止一個用戶使用的部分超過 10%4應(yīng)用遵從一種易于復(fù)用的方式被打包和文檔化。 用戶在源代碼級客戶化該應(yīng)用。5應(yīng)用按照一種易于復(fù)用的方式被打包和文檔化。用戶使用用戶參數(shù)來對該應(yīng)用進行客戶化。11 .易安裝性易安裝性指應(yīng)用系統(tǒng)的轉(zhuǎn)換和安裝容易度對開發(fā)的影響程度。系統(tǒng)測試階段提供了轉(zhuǎn)換和安裝計劃/轉(zhuǎn)換工具。

31、0用戶對安裝沒有特定的要求1用戶對安裝沒有特定的要求,但有特定的安裝環(huán)境要求2用戶提出了安裝和轉(zhuǎn)化的要求,轉(zhuǎn)化/安裝指南被經(jīng)過測試提供給用戶。但是轉(zhuǎn)化的影響對該應(yīng)用/、重要。3用戶提出了安裝和轉(zhuǎn)化的要求,轉(zhuǎn)化/安裝指南被經(jīng)過測試提供給用戶。轉(zhuǎn)化的影響對該應(yīng)用來說是重要的。4除了 2的要求之外,需要提供經(jīng)過測試的自動化的安裝和轉(zhuǎn)化工目口。5除了 3的要求之外,需要提供經(jīng)過測試的自動化的安裝和轉(zhuǎn)化工且。/、12 .易操作性易操作性指的是應(yīng)用對運行的影響程度,如有效啟動、備份和恢復(fù)規(guī)程的影響。易操作性是應(yīng)用提供的一種特性,它最小化了手工操作的要求。0用戶沒有指定除正常備份程序外的其它特定操作1提供高

32、效的啟動、備份和恢復(fù)進程,但需要人手操作2提供高效的啟動、備份和恢復(fù)進程,不需要人手操作(當(dāng)作兩項計算)3應(yīng)用程序?qū)Υ艓У男枨笞钚』?應(yīng)用程序?qū)τ部截愄幚淼男枨笞钚』?程序設(shè)計成無人操作模式。無人操作模式的意思是除了啟動和關(guān)閉 之外,/、需要對系統(tǒng)進行操作。程序的其中一個功能就是錯誤自動 恢復(fù)。13 .多場地多場地指應(yīng)用系統(tǒng)經(jīng)特殊設(shè)計、開發(fā)可以在多個組織、多個地點應(yīng)用的程度0用戶需求不含多場地和組織的要求1考慮了多場地的要求,但是設(shè)計要求應(yīng)用在/、同的場地使用相同的軟硬件環(huán)境2考慮了多場地的要求,但是設(shè)計要求應(yīng)用在/、同的場地使用類似的軟硬件環(huán)境3考慮了多場地的要求,同時設(shè)計支持應(yīng)用在不同的場

33、地使用不同的軟硬件環(huán)境4在1或者2的要求之上,提供了經(jīng)過測試的多場地的文檔和支持計劃5在3的要求之上,提供了經(jīng)過測試的多場地的文檔和支持計劃14 .支持變更支持變更是指應(yīng)用在設(shè)計上考慮支持處理邏輯和數(shù)據(jù)結(jié)構(gòu)變化的程度??梢跃哂腥缦碌奶匦裕?提供可以處理簡單要求的彈性查詢和報告功能,如對一個ILF進行與(或)邏輯?提供可以處理一般復(fù)雜度要求的彈性查詢和報告功能,如對多于一個的ILF進行與(或)邏輯(當(dāng)作兩項計算)?提供可以處理復(fù)雜要求的彈性查詢和報告功能,如對一個或多個ILF進行與(或)邏輯的組合(當(dāng)作三項計算)?業(yè)務(wù)控制數(shù)據(jù)被保存到用戶通過在線交互進程維護的表中,但變更只會在第二個工作日生效?

34、業(yè)務(wù)控制數(shù)據(jù)被保存到用戶通過在線交互進程維護的表中,且變更即時生效0一個都不滿足1合計滿足一個2合計滿足二個3合計滿足三個4合計滿足四個5合計滿足五個二十、計算調(diào)整后的功能點個數(shù)國際IFPUG組織將軟件項目分為三類,功能點估算法適用于任何一類項目,其計算公式中的術(shù)語請詳見表1。?功能點的原始計算公式:FP Count =UFP * VAF? 新開發(fā)項目有時新開發(fā)的軟件項目也需要與其他現(xiàn)存的軟件系統(tǒng)進行整合。例如:一個 企業(yè)新開發(fā)的MIS內(nèi)部管理系統(tǒng)經(jīng)常會與財務(wù)系統(tǒng)進行整合。這時除了考慮本身項目的功能點個數(shù)外,還要考慮系統(tǒng)整合或數(shù)據(jù)遷移部分的工作量。因此,其功能點計算公式如下:FP Count

35、= (UFP+CFP) * VAF?二次開發(fā)的項目有時新開發(fā)的軟件項目是在原有基礎(chǔ)上進行二次開發(fā)的,只是為了增加一些新功能。因此,其功能點計算公式如下:FP Count = ADD * VAF?功能增強的項目功能增強項目的功能點估算比較復(fù)雜。在計算功能點前大家需要計算有哪些是新增加的功能,哪些是被修改的功能,哪些是屬于數(shù)據(jù)遷移或系 統(tǒng)整合的功能。然后計 算新系統(tǒng)技術(shù)復(fù)雜度的調(diào)整因子“ VAFA”,并 在此基礎(chǔ)上計算系統(tǒng)功能點的數(shù)量。 當(dāng)然,此類項目也會去掉一些原有功 能,那么在原有系統(tǒng)的技術(shù)復(fù)雜度基礎(chǔ)上 重新計算功能點的調(diào)整因子“VAFB”,再計算所去掉功能貢獻的功能點數(shù)量。因此,其功能點計算

36、 公式如下:FP Count = (ADD+CHGA+CFP )* VAFA+ (DEL * VAFB )?表1功能點技術(shù)公式術(shù)語術(shù)語英文中文含義ADDAdded functionality1被添加的功能點個數(shù)CFPConversion functionality被轉(zhuǎn)換的功能點個數(shù)CHGAUFP of changed functionality after enhancement功能增強后所改動的功能所貢獻的未調(diào)整的功能點個數(shù)DELDeleted functionality被刪除的功能點個數(shù)UFPUnadjusted functional point count未調(diào)整的功能點個數(shù)VAFValu

37、e adjustment factorVAF= (sum of (DI) * 0.01 ) + 0.65功能點的調(diào)整因子的計算公式VAF= (sum of (DI) * 0.01 ) + 0.65VAFAValue adjustment factor after enhancement功能增強后的功能點調(diào)整因子VAFBValue adjustment factor before enhancement功能增強前的功能點調(diào)整因子二十一、功能點估算實例分析以員工管理系統(tǒng)為例,詳細(xì)說明如何利用功能點估算法計算業(yè)務(wù)復(fù)雜度。在員工管理系統(tǒng)中添加一個員工資料, 會使用到員工的一般信息、教育情況、 工作經(jīng)歷

38、和家屬信息。員工隸屬于某個部門,在本系統(tǒng)中會有一個對部門進行維 護的功能。員工的工資則由另外一個財務(wù)系統(tǒng)提供。因此,其用例圖如下所示:員工管理系統(tǒng)/ 乂吵啊)戌部門信里)則】吵 飛、皿.、(琳員工信勺部門空)圖1員工管理系統(tǒng)用例圖假設(shè)員工基本信息如下所示:?員工ID (標(biāo)簽控件)?員工名稱?性別?生日? 婚否?所屬部門ID (標(biāo)簽控件)?所屬部門名稱?受教育的時間財務(wù)系統(tǒng)學(xué)校名稱?所學(xué)專業(yè)?工作時間?工作單位?工作部門?工作職務(wù)?親屬的姓名?之間關(guān)系?親屬年齡?工作單位假設(shè)部門信息如下所示:? 部門 ID (標(biāo)簽控件)? 部門名稱假設(shè)工資表信息如下所示:? 員工 ID (標(biāo)簽控件)? 員工姓名? 金額? 單位ILF 和 EIF 的功能點數(shù)本范例識別出來ILF和EIF功能點個數(shù)如下表所示ILF內(nèi)部邏輯文件RETDET個數(shù)復(fù)雜度未調(diào)整的FP

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論