服務熱線
0564-3214800
對信息化管理部門來說,信息化造價的價值在于提高生態(tài)圈協(xié)同效率、信息化資金績效、架構治理、項目管理合規(guī)等水平。對軟件研發(fā)機構來說,科學客觀且結合實際情況的評估工作會提高軟件價值,優(yōu)化軟件生態(tài),促進良性競爭,提高軟件組織盈利能力,杜絕重大預算浪費,有助發(fā)展自主可控的軟件研發(fā)。
估算方法選擇
軟件開發(fā)項目規(guī)模估算是軟件工作量及成本度量的基礎,能否科學評價軟件規(guī)模是有效開展成本度量工作的前提,這在軟件研發(fā)成本度量以及測試成本度量兩個工作中都有體現(xiàn)。目前,估算軟件規(guī)模的方法有兩種:基于開發(fā)視角和基于業(yè)務視角。
基于開發(fā)視角的方法是從開發(fā)者角度出發(fā),如代碼行、數據庫表、服務數、接口數等。優(yōu)點是操作簡單、實施容易。但非技術人員難以理解,不容易在項目干系人之間達成一致,往往會引起較多的分歧??傮w來說,任何程序大小或代碼行數的猜想,實際上都是從系統(tǒng)要提供的功能性推演出來,基于開發(fā)視角的評估方法雖然在實際工作中有著普遍的應用,但更多地局限于軟件開發(fā)團隊內部。
基于業(yè)務視角的方法是從用戶角度出發(fā),與軟件開發(fā)技術無關,如功能點、故事點、用例點、對象點等方法。優(yōu)點是操作具有一致性、客觀性、可復制、可驗證、不冒進,且與技術無關。同時,功能點方法從用戶視角和業(yè)務價值度量軟件的規(guī)模,需求方、開發(fā)方、管理方也都能使用此方法。
其中,功能點方法是通過識別內外部邏輯文件及功能的方式,評估軟件工程的規(guī)模、工作量及費用,該方法與軟件開發(fā)技術無關,不受不同評估人員的主觀因素影響,比對象點、用例點、故事點等都更具有科學依據,《軟件工程軟件開發(fā)成本度量規(guī)范》就是使用功能點法。
功能點法介紹
上世紀八十年代,IBM公司率先提出功能點法,并發(fā)布功能點使用指南。它是對軟件用戶功能需求進行度量的一種方法,功能點(FP)是功能價值(Function Value)的計量單位,類似于平方米、公斤等計量單位。
隨著功能點法的不斷發(fā)展,已成為國內外軟件規(guī)劃度量的標準。它簡單實用,對于用戶來說通過功能點的多少就能衡量軟件規(guī)模的大小。能夠在項目早期進行規(guī)模度量,有項目需求規(guī)格說明書、設計文檔等即可分析軟件的功能規(guī)模。度量方式更客觀,不用考慮編程語言、實現(xiàn)技術或者硬件平臺信息。不同的人員對相同的軟件需求會有高度近似的功能點計數結果,誤差可在±5%之內。用這個方法結合一些基準數據以及估算模型就可以對軟件開發(fā)的工作量進行估算。
近年來,功能點方法實踐與應用的場景越來越多。隨著5G、大數據、人工智能等新型技術的不斷發(fā)展,軟件市場進一步擴大,度量成為項目管理工作的基礎性要求,功能點法簡單實用,被廣泛認可和接受。對于外包軟件項目來說,功能點方法是軟件項目通用、基本的成本計算方法,可客觀、獨立的對軟件項目規(guī)模進行估計,確定開發(fā)成本和投標價格。隨著國際標準化組織開始建立相應的標準,從根本上肯定了功能點分析方法的科學性。功能點法以功能點數的形式來表示軟件的規(guī)模,對于提高軟件開發(fā)效益,有著明顯效果。
功能點法中的規(guī)模估算
快速功能點度量方法是依據國際ISO標準提出的一種軟件規(guī)模度量方法,可采用預估功能點和估算功能點進行軟件項目規(guī)模的估算和測量。
? 確定應用類型。軟件工程分為新開發(fā)、增強開發(fā)、已有系統(tǒng)等。新開發(fā)主要為識別所有新增功能;增強開發(fā)主要為識別變化功能,包括新增、修改及刪除;已有系統(tǒng)計數主要為識別最終交付功能。
? 識別系統(tǒng)邊界。系統(tǒng)內屬于項目創(chuàng)建內容,系統(tǒng)外不需要創(chuàng)建,但需要考慮和它們之間的接口。除了能確定系統(tǒng)內元素外,還應界定本系統(tǒng)對外的輸入與輸出,即本系統(tǒng)與外部環(huán)境的關系。
? 識別功能點計數項。功能點計數項分為數據功能和交易功能2大類。具體包括:內部邏輯文件(ILF)、外部接口文件(EIF)、外部輸入(EI)、外部輸出(EO)、外部查詢(EQ)。估算數據功能的復雜度就是估算ILF、EIF的復雜度,也可以簡單理解為對數據庫復雜度的計算。功能確定后,即可估算ILF和EIF的個數。估算交互功能的復雜度就是估算EI、EO、EQ的復雜度,也可以簡單理解為對程序開發(fā)復雜度的計算。和用戶之間的接口確定后,即可估算EI、EQ、EO的個數。
? 調整計數項復雜度。一是識別應用程序中的ILF、EIF、EI、EQ、EO的個數,并根據復雜度決定取值后計算。所有的功能點計數項都有其對應規(guī)則,比如:ILF是用戶能夠識別的、存在內在邏輯關系的一組數據或控制信息;EIF是用戶能夠識別的、在本應用中被引用的、存在內在邏輯關系的一組數據或控制信息。二是確認數據功能、交易功能的復雜度。數據功能的復雜性是由其包含的RET數目和DET數目決定。數據功能的復雜性分為低、中、高三個等級,每個等級對應的DET和RET數目范圍不同。
? 確定GSC因子。標準功能點方法共有14個通用系統(tǒng)特征分別賦值。包括數據通訊、分布式處理、性能、高使用強度的配置、事務頻度、在線數據輸入、終端用戶效率、在線更新、復雜處理、可重用性、易安裝性、易操作性、多點運行、易變更。調整范圍在0.65-1.35之間。
? 計算調整后的功能點。根據未調整功能點和調整因子計算已調整功能點,即FPC=UFP*VAF。
目前,規(guī)模估算已廣泛應用于開發(fā)及運維費用估算、工期合理性評估、外包管理、產品管理以及項目后評價等多種場景,并在持續(xù)的實踐中不斷完善,發(fā)揮日益重要的作用。