實用的軟件系統(tǒng)開發(fā)成本估算法-軟件成本管理(含例子)(20210425062415)_第1頁
實用的軟件系統(tǒng)開發(fā)成本估算法-軟件成本管理(含例子)(20210425062415)_第2頁
實用的軟件系統(tǒng)開發(fā)成本估算法-軟件成本管理(含例子)(20210425062415)_第3頁
實用的軟件系統(tǒng)開發(fā)成本估算法-軟件成本管理(含例子)(20210425062415)_第4頁
實用的軟件系統(tǒng)開發(fā)成本估算法-軟件成本管理(含例子)(20210425062415)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、軟件系統(tǒng)開發(fā)成本估算法功能點估算含例子目錄一、功能點估算法概念1二、功能點估算法的特點1三、功能點分析的步驟(含例子)13.1識別項目的類型23.2識別項目的范圍和邊界 2 3.3按不同功能點計算331功能點估算分類3.3.2識別功能點的重要原則43.3.3內(nèi)部邏輯文件與外部接口文件4334事務(wù)類型功能點的計算規(guī)則73.3.5計算調(diào)整因子123.3.6計算調(diào)整后的功能點個數(shù)20263.4總結(jié)功能點估算法概念功能點估算法是軟件項目管理眾多方法中比較有技術(shù)含量的一個,也是最實用的一個。在軟件項目管理中項目計劃制定的優(yōu)劣、合理直接關(guān)系到項目的成敗,項目計劃 中對項目范圍的估算又尤為重要。如果項目負責(zé)

2、人對項目的規(guī)模沒有一個比較客觀的認識,沒有對工作量、所需資 源、完工時間等因素進行估算,那么項目計劃也就沒有存在的意義。二、功能點估算法的特點項目范圍的估算在CMM的“ MA度量分析管理和“ PP項目計劃中均有涉 及。對 軟件項目范圍的估算有很多種方法,常見的是LOC代碼行和FP功能點法。它們之間 的區(qū)別和關(guān)系如下:這時進行估算功能點估算法常用在項目開始或項目需求基本明確時使用,其結(jié)果的準確性比較高。假如這個時候使用LOC弋碼行估算法,則誤差會比較 大。使用功能點估算法無需懂得軟件使用何種開發(fā)技術(shù)。LOC代碼行估算法則與軟件開發(fā)技術(shù)密切相關(guān)。功能點估算法是以用戶為角度進行估算,LOC代碼行估算

3、法則是以技術(shù)為角度進行估算。*通過一些行業(yè)標準或企業(yè)自身度量的分析,功能點估算法是可以轉(zhuǎn)換為LOC代碼 行的。在項目剛開始的時候進行功能點估算可以對項目的范圍進行預(yù)測。在項目開發(fā)計算出來的結(jié)的過程中由于需求的變更和細化可能會導(dǎo)致項目范圍的蔓延, 果會與當初 估計的不同。因此,在項目結(jié)束時還需要對項目的范圍情況重新進 行估 算,這個時候估算的結(jié)果才能最準確反映項目的規(guī)模。三、功能點分析的步驟(含例子)本文將以國際標準 IFPUG (International Function Point Users Group )組織提供的功能點估算法V4.1.1為基礎(chǔ)進行講解。如下圖所示,首先大家應(yīng)該了解功

4、能點估算法的使用步驟。爾定功能點識別項的類型f目的人抑交打功能點分析護未調(diào)整的數(shù)據(jù)類型功能點_1 如C功f黃分析釁翼功能點數(shù)璽調(diào)紳好圖1功能點估算法的步驟具體步驟包括:1. 識別功能點的類型。2. 識別待估算應(yīng)用程序的邊界和范圍。3.計算數(shù)據(jù)類型功能點所提供的未調(diào)整的功能點數(shù)量。4. 計算人機交互功能所提供的未調(diào)整的功能點數(shù)量。5. 確定調(diào)整因子。6. 計算調(diào)整后的功能點數(shù)量。3.1識別項目的類型國際IFPUG組織將軟件項目分為三類,功能點估算法適用于任何一類項目:新開發(fā)項目*二次開發(fā)的項目 功能增強的項目3.2識別項目的范圍和邊界使用UML勺UseCase用例圖是以用戶角度進行識別項目范圍和

5、邊界的 最好方 法,在畫用例圖時就必須明確系統(tǒng)的邊界。通過系統(tǒng)的邊界,我們可以知道 哪些功能要計算功能點,哪些功能點是外部系統(tǒng)負責(zé)計算的。以圖 2為例: 一個外貿(mào)訂單系統(tǒng)只包含錄入、修改、刪除、查詢和統(tǒng)計訂單的功能,而匯率查詢轉(zhuǎn)換 服務(wù)是不屬于該系統(tǒng)的。應(yīng)用程序邊界的識別規(guī)則大家一定要牢記,不能從技術(shù)角度去思考,必須從 用戶角度來定義;如果項目牽扯到多個系統(tǒng),那么必須將這多個系統(tǒng)的邊界全部描述清 楚。外貿(mào)訂爪系統(tǒng)兔入訂申客八資料堰改115use-End6刪陪訂單US何訓(xùn)訂單End2匯率査詢轉(zhuǎn)換統(tǒng)計幻單Aclar 1匯率系統(tǒng)圖2外貿(mào)訂單系統(tǒng)用例圖3.3按不同功能點計算331功能點估算分類功能點估

6、算法將功能點分為以下5類:1. ILF : Internal Logical File內(nèi)部邏輯文件2. EIF: External In terface File外部接口文件3. El: External In put 外部輸入4. EO: External Output 外部輸出5. EQ: External In quiry外部查詢其中,ILF和EIF屬于數(shù)據(jù)類型的功能點,El、EO EQ屬于人機交互事務(wù) 類型的 功能點。以外貿(mào)訂單系統(tǒng)項目為例:*錄入訂單、修改訂單、刪除訂單是EI ;*查詢訂單是EO*統(tǒng)計訂單是EQ*匯率查詢轉(zhuǎn)換系統(tǒng)為EIF*訂單和客戶是ILF332識別功能點的重要原則I

7、LF、EIF要與El、EO EQ分開計算。對ILF和EIF復(fù)雜度的計算可以簡單 理解為對數(shù) 據(jù)庫復(fù)雜度的計算。對El、EO EQ復(fù)雜度的計算可以理 解為對程序 開發(fā)復(fù)雜度的計算。 一般軟件項目都是由數(shù)據(jù)和程序構(gòu)成的,因此計算ILF、EIF和計算El、EO EQ之間沒有任何關(guān)系。3.3.3內(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)被查詢,但在其他應(yīng)用程序中被維護的、以 用戶角度來識

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

9、的字段。DET計算的規(guī)則如下:*通過一個基本處理過程的執(zhí)行,對ILF進行維護,或從ILF/EIF中返回一個特定的、 用戶可識別的、非重復(fù)的字段,那么每個這樣的字段算一個DET例如:添加一個外貿(mào)訂單時需要保存“訂單號碼、訂單日期、地址、郵編”, 那么對于ILF訂單來說它的DET就是4個。再如:保存訂單時還會保存訂單的明細。訂單的明細往往作為一個子表進行保 存,那么“訂單號碼”在主表和子表中都同時存在(主外鍵)。但以用戶角度來識別時,存當兩個應(yīng)用程序維護和/或引用相同的ILF/EIF,但是每個應(yīng)用程序分別 維護/引用它們相應(yīng)的DET寸,這些DET在這兩個應(yīng)用程序的維護/引用中 將單獨計算。例如,一

10、個應(yīng)用程序的兩個“ Elementary Process ”基本處理過程都需要使 用到“地址”的信息,地址信息又可以細分為“國家、城市、街道、郵編” o那么對于其中一個基本處理過程來說,它將整個地址信息作為一個整體進行處理,只算一個DET另外一個基本處理過程使用每個地址的詳細信息,那么DET就 是4個。RET計算的規(guī)則如下:RET是指一個EIF/ILF中用戶可以識別的DET的集合。如果把DET簡單 理解為字 段的話,那RET就可以簡單理解為數(shù)據(jù)庫中的表。RET在ILF /EIF中 分為兩種類型:可 選的(Optional )和必選的(Mandatory)。計算RET的規(guī)則 為以下兩點:*在一個

11、ILF/EIF中每一個可選或必選的集合都被計算為一個RET如果一個ILF/EIF沒有子集合,則ILF/EIF被計算為一個RET例如:在外貿(mào)訂單系統(tǒng)中添加一個訂單時會保存“訂單信息、客戶的ID、部 門的ID” o那么訂單系統(tǒng)ILF中的RET為:1. 訂單信息(必選的)2. 客戶信息(必選的)3. 部門信息(可選的)因此ILF中RET的個數(shù)為3個。ILF/EIF復(fù)雜度的矩陣如下:119 個 DET20-50 個 DET超過51個DET1 個 RET低低中等25個 RET低中等高6個以上RET中等高高軟件項目管理中的功能點估算法將功能點分為5類:ILF (Internal LogicalFile,內(nèi)

12、部邏輯文件)、EIF ( External In terface File,外部接口文件)、El (ExternalInput,夕卜部輸入)、E ( External Output,外部輸出)和 EQ ExternalInquiry,外部查詢)。其中,ILF和EIF屬于數(shù)據(jù)類型的功能點,El、EO EQ屬于事務(wù)類型 的功能點。El、EO EQ的比較EI是處理來自應(yīng)用程序邊界外部的一組數(shù)據(jù)輸入,它的主要目的是 維護一個 或多個ILF,以及/或者更改系統(tǒng)的行為。E0是輸送數(shù)據(jù)到應(yīng)用程序邊界外部的過程。它的主要目的是通過邏輯處 理過程向 用戶呈現(xiàn)信息。該處理過程必須包含至少一個數(shù)學(xué)公式或計算方法,或

13、 生成派生數(shù)據(jù)。一 個E0也可以維護一個或多個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)行為。E0和EQ的共同點是,其主要目的都是通過基本操作過程展現(xiàn)數(shù)據(jù)給用戶。EI、 EO EQ的比較見下表。表1 El、EO EQ的主要目的目的EIEOEQ改變應(yīng)用程序的屬性或行為主要目的次要目的不允許維護一個或多個ILF主要目的次要目的不允許顯示信息給用戶次要目的主要目的主要目的表2EL EO

14、EQ的主要行為行為EIEOEQ數(shù)學(xué)公式或計算被執(zhí)行可以至少選擇一不次可以至少一個ILF被修改至少選擇一 次至少選擇一 次不 可以至少一個ILF或EIF被引用可選可選必 選數(shù)據(jù)被重新恢復(fù)可選可選必選派生數(shù)據(jù)被創(chuàng)建可選至少選擇一 次可選應(yīng)用程序的行為或?qū)傩员恍薷闹辽龠x擇一 次至少選擇一 次可選準備或呈現(xiàn)信息到系統(tǒng)邊界外口J選必選必選接受進入系統(tǒng)邊界內(nèi)的數(shù)據(jù)的能力必須可選可選334事務(wù)類型功能點的計算規(guī)則在IFPUG的定義中有一個重要的單詞“ Elementary Process基本處理 過程。該過 程對用戶來說是一個有意義的、最小的活動單位,并且是一個自包含的活動。功能點的分 類,El、EO EQ

15、 的識別都“ Elementary Process v基本處理過程的。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ù)據(jù)應(yīng)該與其他基本處 理過程所使 用的數(shù)據(jù)不同。在應(yīng)用程序邊界內(nèi),基本處理過程所引用的ILF或EIF是不同于其它基本 處理過程所 引用的ILF或EIF。E0和E

16、Q通用計算規(guī)則必須全部滿足以下內(nèi)容才能被視為一個E0或EQ 1從外部發(fā)送數(shù)據(jù)或控制信息到應(yīng)用程序邊界內(nèi)。2.為了識別這個過程,以下三點必須滿足一個:該基本處理過程邏輯上必須是唯一的,該唯一性是指其在應(yīng)用程序中與其 他E0或 EQ在邏輯性上保持唯一。該基本處理過程所使用的數(shù)據(jù)應(yīng)該是唯一的,該唯一性是指其在應(yīng)用程序中與其他E0或EQ所使用的數(shù)據(jù)不同。該基本處理過程所引用的ILF或EIF文件應(yīng)該是唯一的,該唯一性是指其 在應(yīng)用程序 中與其他E0或EQ所引用的ILF或EIF文件不同。E0補充的計算規(guī)則除了要滿足上面的通用規(guī)則外,還要滿足下面其中一條:在基本操作過程中至少包含一個數(shù)學(xué)公式或計算方法 *在

17、基本操作過程中要產(chǎn)生派生數(shù)據(jù)在基本操作過程中至少要維護一個ILF在基本操作過程中要改變系統(tǒng)的行為。EQ補充的計算規(guī)則除了要滿足上面的通用規(guī)則外,還要滿足下面其中一條:基本操作過程從ILF或EIF中獲取數(shù)據(jù)。基本操作過程不能包含數(shù)學(xué)公式或計算方法。*基本操作過程不能生成派生數(shù)據(jù)*基本操作過程不能維護任何一個ILF基本操作過程不能改變系統(tǒng)的行為El、EQ和E0的技術(shù)復(fù)雜性計算復(fù)雜性取決于FIRs和DETS勺數(shù)量。FTF是被一個事物讀取或維護的ILF,或者是被一個事物讀取的EIF。EI中識別FTR規(guī)則每一個ILF應(yīng)該算做一個FTR通過EI讀取的每個ILF或EIF都應(yīng)該計算為一個FTR既被EI維護又被

18、讀取的ILF僅 計算為一個FTREI中識別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)中,訂單的金額是被單價和數(shù)量自動計算的,那么金額是沒有通過系統(tǒng)邊界輸入的,因此在EI操作中就不應(yīng)該算做一個DET在應(yīng)用程序的EI操作時,系統(tǒng)提示的錯誤信息或完成操作的信息,應(yīng)該被分別計算 為一個DET例如,在網(wǎng)站注冊用戶信息時,由于輸入錯誤系統(tǒng)會顯示提示信息,那么這 些提示信息應(yīng)該被逐個計算為一個DET再如,當EI操作完成時系統(tǒng)提示并顯

19、示出來的信息,應(yīng)該被計算為一個DET在EI操作中,如果遇到主外鍵的字段,應(yīng)該算作一個DETE0和EQ計算FTR的規(guī)則1 通用規(guī)則:每個在EO/EQ處理過程中讀取的ILF和EIF算一個FTR2. E0額外的FTR計算規(guī)則在EC處理過程中每個被維護的ILF算一個FTR*在EC處理過程中既被讀取又被維護的ILF算一個FTRE0和EQ計算DET的通用規(guī)則*用戶可識別的非重復(fù)字段,進入應(yīng)用邊界并指明處理什么、何時處理或處 理方式,并DET且由EO/EQ返回或產(chǎn)生,那么這樣的每個字段算一個例如,報表中的每個字段都是一個DET*在應(yīng)用邊界內(nèi)以用戶角度識別的非重復(fù)字段算一個DET例如,在報表中起到解釋或備注作

20、用的文字信息,不管是一個字、一個詞或 一段話,都當作一個DET再如,某種編號或日期,即使它被物理存儲在不同字段中,但從用戶角度看是一 個整體的信息,因此被算作一個DET還有,在餅圖中百分比和分類算作不同的DET在E0或EQ操作中,如果對系統(tǒng)進行輸入或讀取操作時,相同的字段只計算一個DET例如,在報表查詢時,輸入的字段在報表上也有顯示,那么將算作同一個DET在應(yīng)用程序的E0或EQ操作時,系統(tǒng)提示的錯誤信息或完成操作的信息,應(yīng)該被計 算為DET例如,用戶查詢一個列表時被拒絕,那么拒絕的提示信息就算為一個DET在E0或EQ操作中如果遇到主外鍵的字段,應(yīng)該算作一個DET在E0或EQ過程中,只要沒有通過

21、系統(tǒng)邊界輸入,就算它存在于系統(tǒng)內(nèi)的一個ILF 中,也不能算為一個DET例如,在公司發(fā)工資的時候,員工對應(yīng)的狀態(tài)信息被更新,但這個 狀態(tài)信息的更新是沒有通過系統(tǒng)邊界輸入的,因此也不能算做一個DET頁面的標題等類似信息不計算DET系統(tǒng)字段生成的記號不能被算作一個DET例如,頁碼、位置信息、時間、上一頁和下一頁等信息,都不能算作一個DETEI復(fù)雜度計算矩陣14個 DET515個 DET多于16個DET0-1 個 FTR低低中等2 個 FTR低中等高大于2個FRT中等高高E0和EQ復(fù)雜度計算矩陣15個 DET619 個 DET多于20個DET0-1 個 FTR低低中等2-3 個 FTR低中等高多于4個FTR中等高高未

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論