tft每日頭條

 > 科技

 > 軟件開發行業五力分析法分析案例

軟件開發行業五力分析法分析案例

科技 更新时间:2024-07-24 09:19:11

功能點分析方法(Function Point Analysis,FPA)是一種可靠、有效的軟件規模度量方法,功能點分析方法(FPA)作為一種理解和交流系統規模的手段,針對用戶功能、性能的需求進行度量,具有可在項目早期進行度量,不依賴于項目的語言和技術等特點,在可用性和客觀性方面都要優于傳統的代碼行方法(LOC)

軟件工程項目建設中作為第三方的監理機構經常需要面臨一些問題,如項目建設初期在用戶需求不是很完善時,業主方需要了解項目的整體規模及合理項目進度安排;或者立項階段需要了解項目的總體投資額;項目開發期間,需要第三方評估機構能夠客觀地對其完成的工作量進行審核與評估,确保其應得利益。

本文給出一種基于FPA方法與專家估算法相結合為主的多算法融合的方法,實現對軟件工作量的評估,并在多個項目中進行實踐,結果論證該方法既有可操作性又深受用戶的認可,下面就由新星咨詢為大家深入的對FPA功能點分析法進行解讀!

一、模型及估算方法

1、模型要素說明

FPA是一種用來度量軟件系統規模的方法。在FPA中,任何一個軟件系統都被看作是由外部輸入處理、外部輸出處理、外部查詢處理、内部邏輯文件和外部參照文件五種要素組成。估算系統中這五種要素的個數,并乘以适當的權值(權值即為每個要素的功能點數)就可以計算出系統的功能點數,進而估算出系統的規模。下圖是在FPA中用到的信息系統模型。

軟件開發行業五力分析法分析案例(軟件開發工作量評估)1

FPA信息系統模型圖

在圖中上述五種要素的含義如下:

  • 1、外部輸入處理EI(External Input),是獲取數據的過程,對終端用戶的輸入進行相關的處理。
  • 2、外部查詢處理EQ(External Inquiry),針對終端用戶的查詢情況,輸出相應的檢索結果。
  • 3、外部輸出處理EO(External Output),是反饋數據的過程,完成對票據、報表等的輸出。
  • 4、内部邏輯文件ILF(Internal Logical File),在信息系統内部,為了完成相關功能使用的邏輯文件,包括順序文件、數據庫表、臨時文件等。
  • 5、外部文件EIF(External Interface File),該系統和外部其他信息系統為交換數據而用的接口文件。

其中前三種要素屬于處理,他們涵蓋了終端用戶和信息系統對象之間存在的所可能的交互内容,隻要明确了該系統和終端用戶的接口就可以正确估算上述三種處理。後兩種要素屬于文件,系統功能确定後,使用文件個數也可以被估算出來。

2、FPA功能點計算方法

完整的功能點計算流程包括6個步驟,如下圖計算功能點的流程圖所示:

軟件開發行業五力分析法分析案例(軟件開發工作量評估)2

計算功能點的流程

1)識别确定系統範圍:包括識别計數範圍和應用邊界。

計數範圍定義了将被包含在一個特定功能點計數中的功能。它識别了哪些功能應該被包含在功能點計數中從而為其提供答案。它的劃定是由執行功能點的目的決定的。比如,開發功能點計數包括項目活動所影響到的所有功能;升級功能點計數包括增加、修改和删除的所有功能。

應用邊界定義了被計算系統和外部系統以及用戶之間的界限。邊界基于用戶的角度确定。被度量軟件與其他應用之間的邊界位置是主觀的,有時很難描繪一個應用從什麼地方開始,另一個應用從什麼地方結束。所以系統間的邊界界定應盡量從業務功能的角度去理解而不應該基于技術或物理上的考慮來劃定。應用邊界一經界定,并不會因計數範圍的改變而改變。

2)計算數據功能。

數據功能滿足了對數據的存儲或引用的功能性用戶需求。計數範圍内的所有數據功能應該被評估并求值。在計算數據功能時,首先會根據數據間的邏輯關系将數據劃分為一個個的邏輯文件,接着根據是否被系統維護以及所在邊界内外确定每個邏輯文件的類型,最後通過鑒定每個邏輯文件的記錄元素類型(RET)和數據元素類型(DET)來确定其複雜度和功能點值(詳見表1-1、表1-2)。

軟件開發行業五力分析法分析案例(軟件開發工作量評估)3

表1-1:内部邏輯文件和外部接口文件複雜度分級表

軟件開發行業五力分析法分析案例(軟件開發工作量評估)4

表1-2:内部邏輯文件和外部邏輯文件的功能點值

3)計算事務功能。

事務功能表示應用提供給用戶的處理數據的功能,他的計算包括三個步驟:

(1)識别基本過程:對用戶有定義,本身有意義并且能夠保持業務持續性的最小活動單元都會被識别為基本過程。并且,基本過程必須保證唯一性,防止重複計算。

(2)識别出基本過程類型:根據其主要目的區分為外部輸入、外部輸出或者外部查詢。

(3)确定事務功能的複雜度:通過計數引用文件類型(FTR:是指被事務功能讀取并/或者維護的數據功能)數和數據元素類型數确定事務功能的複雜度等級和功能點。(詳見表1-3、表1-4、表1-5)

軟件開發行業五力分析法分析案例(軟件開發工作量評估)5

表1-3:外部輸入複雜度分級表

軟件開發行業五力分析法分析案例(軟件開發工作量評估)6

表1-4:外部輸出和外部查詢複雜度分級表

軟件開發行業五力分析法分析案例(軟件開發工作量評估)7

表1-5:三種事務功能在不同複雜度評級下的功能點值

4)計算未調整功能點值。

除了數據功能和事務功能五種組件之外,功能點分析方法還定義了值調整因子(Value Adjustment Factor,V AF)。前面介紹的數據功能和事務功能是從用戶的角度對系統做的劃分,它考慮的是系統的功能需求。但是,一個系統開發除了滿足客戶的功能需求之外,必須同時滿足客戶對系統的非功能需求,如質量需求和技術需求。值調整因子正是基于這一考慮而引入的。它的基礎是14項通用系統特性,其中每一項通用系統特性都與系統開發中某一方向的用戶非功能性需求相聯系。表1-6列出了14項通用系統特性以及特性描述。

軟件開發行業五力分析法分析案例(軟件開發工作量評估)8

表1-6:十四項通用系統特性及其調整系數

5)确定值調整因子。

值調整因子的計算公式:

TDI =∑DI i (i=1 to 14) VAF = (TDI× 0.01) 0.65

其中VAF代表值調整因子:TDI代表總影響程度,由14個通用系統特征的影響程度(DI)累加得到。

6)計算調整後功能點值。

開發項目功能點計數:DFP = UFP × VAF

其中DFP是開發項目功能點,UFP是安裝後可用功能的未調整功能點,VAF是指調整因子。

3、專家判斷模型

這一模型中,專家依據他們的知識、經驗、以及對項目的理解來給出工作量估算值。在曆史數據不存在的情況,這一方法是非常有價值的。但是專家判斷法往往受到專家的經驗以及主觀性所限制,如個人偏見或對項目的不熟悉等。為避免以上現象采用專家組讨論的形式進行工作量評估。這裡,給出的工作量評估模型描述如下:

1)協調人為每個估算專家提供一份系統需求說明和估算單;

2)協調人召開小組會議,就當前項目有關估算的問題進行讨論;

3)估算專家匿名提交單獨得到估算值;

4)協調人在一張疊代表單上總結所有專家得到的估算結果并召開小組會議,讨論估算值中的差異。

5)小組投票表決是否接受這個估算值的均值,如果不接受則回到步驟三。

6)重複步驟三步驟五的過程直到得出一個足夠收斂的估算結果。

4、綜合評估算法

1)軟件規模綜合評估的計算。結合軟件系統的需求文檔、技術實施方案,分别采用功能點法、專家判斷法等多種估算方法計算軟件系統的規模即功能點數,單位:個。

按照各自方法确定的功能點數,根據評估對象确定兩類方法在本次評估中的重要程度進行加權平均,最終形成軟件項目最後的功能點數。

2)平均生産定額:根據項目的實施特點、技術複雜程度、承建單位所屬地區等因素,通過類比和專家評估,綜合确定工作人員每人每天承擔的基準功能點數。單位:個/人日。3)工作量:根據項目總體的範圍定義,完成某項工作(軟件系統、模塊等)所需要的總人日數。工作量的單位:人日。

4)人日單價:這裡,根據遼甯省軟件行業報價慣例,人日單價為800元/人日。(包含差旅費、交通費、人員管理費、餐補。)

5)工作量分配比例:按軟件系統生命周期的不同階段對應的基準工作量比例參考值:項目管理:需求調研:設計:開發:測試:實施支持= 0.5:1:1:2:1:0.5。

6)系統成本:經過評估後該項目建設最終的整體投資額。單位:萬元。

具體計算模型:

工作量= 軟件系統規模÷生産定額 系統成本=工作量×人日單價

案例應用

新星咨詢就以東北電網有限公司做的“财務集約化系統”工作量評估項目為實例,簡單闡述應用基于FPA的軟件工作量綜合評估法對該系統軟件的如何進行工作量評估。(以一個小模塊為實例)

1、系統規模估算

1)采用FPA的方法估算“調度子系統”的工作量,整體工作量為2572;

2)組織5名信息化建設方面的專家(其中包括從事過類似項目建設的專家)組成專家評估小組,對該子系統需求文檔及技術建設方案進行研究,最終評估出結果為2588;

3)本次FPA和專家判斷法重要程度相同,因此權重分别為1,則最後的評估結果為2580。

具體詳見表2-1系統規模評估結果明細表;

4)在專家不清楚FPA方法評估結果的前提下得出的功能點數與FPA得到的功能點數很接近,從而相互驗證了評估結果的有效性。

軟件開發行業五力分析法分析案例(軟件開發工作量評估)9

表2-1系統規模評估結果明細表

2、系統工作量估算

軟件項目建設主要包括需求階段、設計階段、開發階段、測試階段、實施培訓及試運行階段,項目管理貫穿整個項目建設階段,根據相關資料描述這些階段工作量占總工作量的比例分配為“項目管理:需求調研:設計:開發:測試:實施支持= 0.5:1:1:2:1:0.5”,基于該比例關系确定比例系數((1/12):(1/6):(1/6):(1/3):(1/6):(1/12))。平均生産定額根據項目不同階段參與人員的技術水平、工作能力的不同其具體定額值也略有差異,平均生産定額值通過專家評估而确定。通過模型公式項目總體評估工作量為492人日,具體各階段人日分布情況詳見表3-2工作量評估明細表。

軟件開發行業五力分析法分析案例(軟件開發工作量評估)10

表2-2工作量評估明細表

3、系統成本估算

根據遼甯省内軟件行業慣例及相關行業文件确定遼甯省内人日單價費為800元/人日,其中包括差旅費、交通費、通訊費、餐費。根據公式:系統成本= 工作量×人日單價。

軟件開發行業五力分析法分析案例(軟件開發工作量評估)11

總結

基于FPA的軟件工作量綜合評估方法的應用,已經得到用戶的認可,實踐表明了綜合評估方法的有效性和可操作性。随着方法的研究與應用将完善軟件監理項目中對系統軟件工作量的評估,并且推動監理平台對IT咨詢業務的開展。該方法還需繼續完善,為了更加準确的對軟件項目工作量的評估,還需要不斷完善軟件項目曆史經驗庫,相關數據越豐富,得到的評估結果就越客觀。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved