Primavera軟件系統(tǒng)中的功能點方法和軟件項目規(guī)模成本估算_第1頁
Primavera軟件系統(tǒng)中的功能點方法和軟件項目規(guī)模成本估算_第2頁
Primavera軟件系統(tǒng)中的功能點方法和軟件項目規(guī)模成本估算_第3頁
Primavera軟件系統(tǒng)中的功能點方法和軟件項目規(guī)模成本估算_第4頁
Primavera軟件系統(tǒng)中的功能點方法和軟件項目規(guī)模成本估算_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Primavera軟件系統(tǒng)中的功能點方法與軟件研發(fā)項目規(guī)模成本估算上海普華科技發(fā)展有限公司胡曉俊Primavera系統(tǒng)中的功能點估算方法概述功能點估算的概念功能點估算是一種基于軟件需求特性對軟件項目的規(guī)模進行估測的方法。1979年IBM公司的AlanAlbrech首先開發(fā)了計算功能點的方法,這種方法是通過評估和計量軟件產(chǎn)品所需的內(nèi)部基本功能和外部基本功能數(shù)目,再根據(jù)技術復雜度因子(權重)對這些軟件功能計數(shù)進行量化,得到軟件研發(fā)項目規(guī)模的最終結(jié)果。并且這個結(jié)果與軟件的成本估算有著密切的關系。另外功能點這種估算方法與實現(xiàn)產(chǎn)品所使用的編程語言和技術沒有關系,可以用于各種軟件開發(fā)項目的規(guī)模估算中,目前功能點的估算方法已經(jīng)被廣泛的認可在信息系統(tǒng)、數(shù)據(jù)庫密集型、4GL應用系統(tǒng)開發(fā)的規(guī)模測量中。功能點的估算有兩個目的:第一是作為軟件規(guī)模的測量、對比和分析(如軟件度量方法)的基礎;第二,也是更重要的目標,是作為軟件成本估計模型的輸入,軟件的成本估計則是基于功能點和工作量之間的經(jīng)驗成本估計關系(CER)進行的。Primavera系統(tǒng)是一個應用于多行業(yè)的企業(yè)級項目管理的綜合平臺,主要應用于企業(yè)的多項目時間進度的管理、資源角色管理、費用成本管理、溝通管理、綜合管理等項目管理領域。功能點估算的功能可以在Primavera系統(tǒng)ProjectManagement組件中的一個自上而下估算的工具中實現(xiàn)。這個工具只是整個Primavera系統(tǒng)中的一小部分,但它將自上而下估算的方法和功能點估算的方法演繹成可實際操作應用的步驟,功能點估算的過程功能點的估算可以劃分為三個步驟:統(tǒng)計未調(diào)整的功能點計數(shù)(UFP)、統(tǒng)計總影響度(TDI)和計算最終調(diào)整功能點計數(shù)(FP)。其中最終調(diào)整功能點計數(shù)就是我們功能點估算的最終結(jié)果。它是用來度量軟件產(chǎn)品功能的標準單位,并可作為軟件研發(fā)項目規(guī)模成本估算的基礎。功能點的計算公式為:FP=UFC×TCF,TCF稱為技術復雜度因子,是由總影響度TDI計算出來的:TCF=0.65+0.01×TDI。因此功能點的計算公式也可以表示為:FP=UFC×(0.65+0.01×TDI),如下圖所示。過程示意圖:第一步:計算未調(diào)整的功能點計數(shù)(UFP)計算輸入:內(nèi)部邏輯文件(ILF)是最終用戶可以進行維護和識別的邏輯相關數(shù)據(jù)組,這些數(shù)據(jù)通過外部輸入維護并完全保存在應用程序的內(nèi)部。最低、平均和最高復雜度的權重分別為7、10和15。外部接口文件(EIF)外部接口文件是僅用于引用目的的邏輯相關數(shù)據(jù)的用戶可識別的組。數(shù)據(jù)完全駐留在應用程序外部,由其它應用程序所維護。外部接口文件是其它應用程序的內(nèi)部邏輯文件。最低、平均和最高復雜度的權重分別為5、7和10。外部輸入(EI)外部輸入是數(shù)據(jù)由外向內(nèi)跨越邊界的基本處理過程。數(shù)據(jù)可能來自于數(shù)據(jù)輸入屏幕、電子輸入或其它應用程序。數(shù)據(jù)可以是控制信息或業(yè)務信息。如果數(shù)據(jù)是業(yè)務信息,它用于維護一個或多個內(nèi)部邏輯文件。如果數(shù)據(jù)是控制信息,它不必更新內(nèi)部邏輯文件。最低、平均和最高復雜度的權重分別為3、4和6。外部輸出(EO)外部輸出是導出的數(shù)據(jù)由內(nèi)向外跨越邊界的基本處理過程。數(shù)據(jù)創(chuàng)建發(fā)送給其它應用的報表或輸出文件。這些報表和文件由一個或多個內(nèi)部邏輯文件和外部接口文件所創(chuàng)建。最低、平均和最高復雜度的權重分別為4、5和7。外部查詢(EQ)外部查詢是包括輸入和輸出構件的基本處理過程。輸入和輸出構件導致一個或多個內(nèi)部邏輯文件和外部接口文件的數(shù)據(jù)檢索。該信息被發(fā)送出應用程序邊界。輸入過程不會更新任何內(nèi)部邏輯文件以及輸出不包含導出的數(shù)據(jù)。最低、平均和最高復雜度的權重分別為3、4和6。計算輸出:未調(diào)整的功能點計數(shù)(UFP)未調(diào)整的功能點計數(shù)是對各種復雜度的內(nèi)部邏輯文件、外部接口文件、外部輸入、外部輸出和外部查詢的加權合計。第二步:計算總影響度因子(TDI)計算輸入:總影響度因子是14個系統(tǒng)特征值的累計總和,每個系統(tǒng)特征值采用0~5的分值進行計量,分別代表無影響(noinfluence)、偶爾影響(incidental)、適度影響(moderate)、平均影響(average)、重大影響(significant)和根本性影響(essential),具體的評分標準含義這里不詳述了,使用Primavera系統(tǒng)的用戶可以在功能點估算的系統(tǒng)特征對話框中找到每一個系統(tǒng)特征含義的說明和每一個系統(tǒng)特征取值的評分標準的說明,這些說明可以幫助實施功能點估算的人員進行判斷和取值。確定分布式數(shù)據(jù)處理(DistributedDataProcessing)的分值,該值表明分布式數(shù)據(jù)和功能如何被處理。確定配置項負載(HeavilyUsedConfiguration)的分值,該值表明對當前的硬件平臺的使用程度。確定性能(Performance)的分值,該值表明用戶對響應時間或吞吐量是否有所要求。確定事務率(TransactionRate)的分值,該值表明事務執(zhí)行的頻繁程度。確定安裝容易程度(InstallationEase)的分值,該值表明轉(zhuǎn)換和安裝的困難程度多大。確定在線更新(OnlineUpdate)的分值,該值表明多少內(nèi)部邏輯文件會被在線的事務更新。確定復雜處理(ComplexProcessing)的分值,該值表明應用軟件是否具有大量的邏輯或數(shù)學處理。確定操作容易程度(OperationalEase)的分值,該值表明應用軟件在啟動、備份和恢復的有效性/自動化程度。確定用戶使用效率(End-UserEfficiency)的分值,該值表明應用軟件是否就最終用戶使用效率上有所設計。確定修改容易程度(FacilitateChange)的分值,該值表明應用軟件是否被設計以方便于修改。確定多個地點(MultipleSites)的分值,該值表明應用軟件是否設計支持多個地點場所/機構。確定重用性(Reusability)的分值,該值表明應用軟件開發(fā)以滿足一個或是多個用戶的需要。確定在線數(shù)據(jù)項(On-lineDataEntry)的分值,該值表明百分之多少的信息是在線輸入的。確定系統(tǒng)特征數(shù)據(jù)通訊(DataCommunications)的分值,該值表明系統(tǒng)具有多少數(shù)據(jù)通訊設備。計算輸出:總影響度因子(TDI)是14個系統(tǒng)特征分值的累計總和。第三步:計算最終調(diào)整功能點計數(shù)(FP)最終調(diào)整功能點計數(shù)可以通過該公式進行計算,F(xiàn)P=UFC×(0.65+0.01×TDI)。即它由前面步驟中得出的未調(diào)整功能點計數(shù)(UFP)和總的影響度(TDI)來確定。如何通過Primavera實現(xiàn)軟件研發(fā)項目規(guī)模成本估算Primavera軟件中的自上而下的估算方法能夠在項目計劃編制的前期對其規(guī)模、進度和成本進行預估,這不僅可以對項目風險和投資贏利情況作一個預測,也對以后的項目計劃編制提供了參考。相比其他的各種軟件規(guī)模的估算方法,這種自上而下的估算方法所能獲得的數(shù)據(jù)是較為精確的,但是如果直接手工的去進行估算,在算法上會較為費時費力,所以我們可以借助一些軟件的工具來實現(xiàn),例如在Primavera的項目管理解決方案中,我們就可以利用其中的自上而下估算功能(包括功能點估算)來實現(xiàn)軟件研發(fā)項目早期的規(guī)模、成本、進度的預估。例如在某個公司在對財務軟件系統(tǒng)的集成升級過程中就使用這種方法。該軟件研發(fā)的項目計劃是在04年8月份開始的。在其開始之前我們并不是急于編制實施計劃,而是先對需要開發(fā)的這個系統(tǒng)的功能數(shù)量進行測量,并采用功能點這種標準單位來度量,以獲得當前這個項目的規(guī)模情況,通過本公司的研發(fā)團隊的平均產(chǎn)量等歷史經(jīng)驗值將該軟件規(guī)模的功能點折算成項目所需總的人工或非人工資源數(shù)量,以便我們今后的計劃編制過程中確定每道作業(yè)的計劃工期和每個資源的預算用量。另外通過Primavera軟件系統(tǒng)也可以實現(xiàn)項目經(jīng)驗和方法的積累提煉和重復利用,這是在Primavera軟件系統(tǒng)的MethodologyManagement組件中實現(xiàn)的。它可以將一些類似項目的歷史數(shù)據(jù)和方法保存成可以供新項目參考利用模板,例如我們在這個財務系統(tǒng)的集成開發(fā)項目中就可以使用MethodologyManagement庫中的某個類似的模板來快速建立一個成本、進度估算模型和框架。關于這方面的詳細內(nèi)容不在本文討論范圍內(nèi)。我們接下來就以這個財務軟件系統(tǒng)的集成項目為例,討論一下通過Primavera系統(tǒng)進行軟件研發(fā)項目規(guī)模成本及進度估算的具體實現(xiàn)。為了討論的方便,我們簡化了該項目進度計劃的內(nèi)容。估算軟件研發(fā)項目的功能點計數(shù)軟件項目的功能點估算的值是作為軟件規(guī)模和成本估算的基礎,因此我們首先對該軟件研發(fā)項目的功能點做統(tǒng)計。實際上,在Primavera的自上而下估算方法中可以采用兩種估算方法:第一種是直接利用先前的經(jīng)驗數(shù)據(jù)來做估算,即可以通過人為的經(jīng)驗判斷來確定項目所需的人工或非人工資源數(shù)量,在人為判斷的過程中也可以利用歷史上類似項目的情況作參考,比如可以參考MethodologyManagement中相關的歷史數(shù)據(jù)。這種方法較多的應用在傳統(tǒng)的工程建設項目上,但不太適合于軟件研發(fā)項目估算,因為其達不到軟件開發(fā)項目對估算結(jié)果精確度的要求。第二種方法是基于功能點的估算來確定項目所需資源數(shù)量。這種方法因其獨有的統(tǒng)計方式和計算方法僅針對軟件研發(fā)項目,所以無法應用在別的類型項目的估算上。如下圖,在使用Primavera軟件的自上而下估算功能時,首先將估算方法調(diào)整為功能點的方法,通常功能點是要通過統(tǒng)計和計算得出的,繼而得出項目所需的人工數(shù)量或非人工數(shù)量,因此這里我們需要先進入到功能點計算的界面中去。另外,簡便期間,本案例中我們僅基于功能點來估算人工數(shù)量,事實上它也可以基于功能點估算非人工數(shù)量。我們還可以選擇在整個財務系統(tǒng)集成項目中進行估算還是在該項目某一塊特定的范圍內(nèi)進行估算,這里我們選擇整個項目。根據(jù)之前的介紹,功能點的計算可以分為三個步驟:計算未調(diào)整功能點計數(shù)(UFP);計算總影響度(TDI);計算最終功能點計數(shù)(FP)。第一步:該軟件研發(fā)項目的項目經(jīng)理負責對功能點進行估計,并從該項目軟件技術人員那里獲取軟件相關的計數(shù)項的統(tǒng)計。在對當前財務系統(tǒng)集成項目的目標軟件特性進行分析后可以統(tǒng)計出以下數(shù)據(jù)。復雜度各計數(shù)項簡單中等復雜內(nèi)部邏輯文件902外部接口文件523外部輸入543外部輸出661外部查詢133這些數(shù)據(jù)可以直接作為Primavera功能點估算界面中未調(diào)整功能點計數(shù)的輸入內(nèi)容。計算方法即將統(tǒng)計出的各項乘以相應的權重求和,計算結(jié)果就是各項計數(shù)的加權總和(UFP=305)。第二步:根據(jù)系統(tǒng)特征確定軟件的14個技術復雜度因子(TCF),假設這里的技術復雜度都為平均值。那么可以得出總的影響度TDI=∑Fi=42。其中Fi為14個技術復雜度因子的取值,它的取值范圍為0~5,這里我們假設全部取平均值3。第三步:根據(jù)最終調(diào)整功能點計數(shù)的計算公式FP=UFC×(0.65+0.01×TDI),可以計算出最終功能點計數(shù)FP=326。這個值就是我們進行功能點估算的最終結(jié)果。估算項目所需的資源數(shù)量并按權重分攤在確定軟件研發(fā)項目規(guī)模的功能點以后,可以根據(jù)當前企業(yè)的研發(fā)實力和效率將功能點的計數(shù)折算成該項目所需的人工或非人工資源數(shù)量,即我們希望知道以當前企業(yè)的實際生產(chǎn)率來完成這樣規(guī)模的軟件研發(fā)項目究竟需要投入多少人力和物力,并且在這里我們用工時或工日為單位來計量所需的資源數(shù)量。這種對資源數(shù)量的估算是基于功能點和企業(yè)平均產(chǎn)量的經(jīng)驗值來完成的,所以具有一定的主觀性。如下圖,根據(jù)經(jīng)驗填入企業(yè)軟件研發(fā)的平均產(chǎn)量,例如平均產(chǎn)量=14(功能點/人工月),即每當消耗了一個人工月的資源可以完成軟件項目14個功能點。這樣可以估算出如果要完成整個財務系統(tǒng)集成的項目(完成326個功能點)需要提供326÷14=23.29人工月=501人工日。注:人工年、人工月、人工日和人工時之間的折算比例可以在用戶設置或管理設置中定義。估算好的資源數(shù)量還可以按百分比進行一定的調(diào)整,例如我們應用了5%的調(diào)整后,原來501人工日的資源數(shù)量被調(diào)整為526人工日的數(shù)量。至此,功能點和資源數(shù)量總量的估算完成,我們可以把這些估算的數(shù)據(jù)和估算過程歷史信息保存起來,供該軟件研發(fā)項目在進度計劃編制和資源計劃編制階段使用。這些估算的數(shù)據(jù)是作為進度計劃編制階段作業(yè)工期的估算和資源計劃階段資源預算數(shù)量估算的基礎。接下來開始項目進度計劃和項目資源計劃的編制,在這過程中可以把前面估算出來的資源總量分攤到項目計劃每道作業(yè)分配的資源上面去。這樣就可以得到兩個重要的結(jié)果:1、資源計劃中每個資源的預算數(shù)量;2、進度計劃中每道作業(yè)的計劃工期。這是我們在項目管理的計劃階段所需要確定的非常關鍵的兩個值,它會影響到我們編制的計劃是否準確、是否符合實際、是否具有可行性,同時也是產(chǎn)生進度和成本估算數(shù)據(jù)的基礎。具體步驟如下:1.對該軟件項目的工作內(nèi)容進行分解,編制和分解WBS結(jié)構,并確定WBS的估算權重,該權重是作為項目資源自上而下分攤的比例。關于Primavera軟件中自上而下分攤的詳細功能介紹和論述可以參閱北京普華李海增寫的《P3EC費用估算功能與火力發(fā)電廠概預算控制》。自上而下估算分攤示意圖:2.編制項目作業(yè)進度計劃,根據(jù)作業(yè)類型確定工期類型和估算權重,為作業(yè)分配角色或資源,編制項目資源角色計劃。其中工期類型基本上都選擇為固定單位時間用量,這樣做的目的是為了實現(xiàn)根據(jù)作業(yè)資源的分配量來計算工期。計劃工期=資源用量÷單位時間用量。那么一旦將資源數(shù)量自上而下分攤到每道作業(yè)的資源上后,作業(yè)的計劃工期也就自動計算出來了。但是里程碑不需要確定工期,因為里程碑的工期總是零,因此其工期類型只能是固定工期。資源角色計劃中,在做自上而下估算之前,需要確定分配給作業(yè)的每個資源或角色的單位時間用量,該量是用于自上而下估算后計算計劃工期的,計劃工期=資源用量÷單位時間用量。3.應用先前保存的功能點和資源數(shù)量估算的結(jié)果,對整個軟件研發(fā)項目進行自上而下分攤資源數(shù)量到作業(yè)上并自動估算作業(yè)工期。估算前:作業(yè)工期和資源數(shù)量未定。進行估算:在自上而下估算中選擇查看估算歷史。選擇先前保存的估算數(shù)據(jù)并應用到當前的項目計劃中去。估算后:可以獲得所有任務作業(yè)的工期及相關資源分配量,配合作業(yè)的工期是在進度計算后由其邏輯相關聯(lián)的作業(yè)決定的。估算項目成本費用和時間進度成本估算是對完成項目所需費用的估計和計劃,它是項目計劃的一個重要組成部分。對于一個軟件開發(fā)項目來說,其成本是指在軟件開發(fā)過程中所花費的工作量對應的費用代價。軟件開發(fā)的成本的計算不同于工程建設項目或其他物理產(chǎn)品生產(chǎn)的成本計算,因為它基本不包含原材料和能源的消耗(我們在Primavera系統(tǒng)中對軟件項目通常不使用材料資源的原因),主要是人工的消耗。這些人工所對應的費用代價就是軟件產(chǎn)品開發(fā)的主要直接成本。對于軟件成本估算的目的是建立軟件開發(fā)項目的預算,以及為軟件的產(chǎn)品報價提供參考。并且也是作為軟件成本控制管理的核心,能夠使軟件項目按照其預算進行監(jiān)控。進行軟件成本估算主要需要輸入以下一些數(shù)據(jù):軟件項目的WBS結(jié)構:用于分解項目的工作內(nèi)容,以確保項目的所有工作都進行了成本估算,保證估算的完整性。作業(yè)計劃:它是項目的主要活動和任務的描述,是構成項目進度計劃的最基本單元,在成本估算中用于承載項目所需資源及其量費的分攤,是進行自上而下估算的框架,也是進行編制資源費用計劃的基礎。資源計劃:用于描述項目作業(yè)對資源的需求情況或資源的分配情況,供項目總體工作量或資源消耗量的分攤。企業(yè)歷史項目數(shù)據(jù):企業(yè)以往類似項目的數(shù)據(jù),包括規(guī)模、進度、成本等信息,可以作為項目估算的主要參考。例如前面我們在項目規(guī)模估算時用到的平均生產(chǎn)率(功能點/人工月)就是一個歷史經(jīng)驗數(shù)據(jù)。資源單價:軟件項目成本估算時應該確定每一種資源的單價,尤其是人工的單價(通常指人工工資),有時也包括一些非人工資源的單價,如測試機的折舊等。資源的單價是軟件項目成本估算中非常重要的一個輸入,是估算費用的基礎。軟件開發(fā)項目規(guī)模成本的估算主要是對項目所需各種資源的估算,包括人工資源、非人工的設備和耗材等。項目成本可以劃分為直接成本和間接成本,直接成本是與具體開發(fā)項目直接相關的成本,間接成本是指不能歸屬于一個具體項目的企業(yè)運營成本。這兩種成本都是在估算過程中必須考慮的。例如我們在之前資源分攤的基礎上開始進一步的成本估算過程,因為之前我們已經(jīng)確定了每一個項目作業(yè)所需資源或角色的分配情況,接下來只要在項目資源數(shù)量的分配基礎上通過輸入資源單價來生成項目所需資源的費用,如前所述,這些資源費用是構成項目成本的主要來源。主要包括:確定項目作業(yè)上分配的每個資源或角色的單價,例如:軟件開發(fā)人員的角色單價為每天280元,高級軟件工程師的角色單價為每天400元?;蛘咧苯哟_定某個具體資源的單價,例如:軟件開發(fā)人員菲利浦的員工工資是每小時35元,員工麥克的工資是每天280元,等等。同樣,對于非人工資源的機械或設備的使用我們也需要輸入相應的單價,即單位時間消耗、租用或折舊的費用,例如使用的某種測試工具的損耗單價是每年20萬元。對于項目中涉及到的與具體資源無關的費用,例如管理費、咨詢費、印刷費、采購費、差旅費用等等以及一些企業(yè)運營的間接費用都可以在Primavera系統(tǒng)的作業(yè)其他費用中輸入。這些費用的輸入是為了確保項目成本估算完整和準

溫馨提示

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

評論

0/150

提交評論