[摘 要] 準確的軟件成本估算是保證電子商務開發(fā)和應用順利進行的必要手段。本文通過分析電子商務的特點及軟件功能,選用功能點分析法對電子商務軟件進行成本估算,首先估算未調(diào)整功能點數(shù),然后通過功能點調(diào)整系數(shù)計算調(diào)整后的功能點數(shù),最后根據(jù)電子商務開發(fā)工具中一般水平開發(fā)人員的勞動生產(chǎn)率估算出軟件開發(fā)成本。
[關鍵詞] 電子商務;軟件開發(fā)成本估算;功能點估算方法
[中圖分類號]F724.6;TP393.09[文獻標識碼]A[文章編號]1673-0194(2008)23-0103-03
1 引 言
軟件是電子商務應用的基礎。企業(yè)要規(guī)劃電子商務發(fā)展戰(zhàn)略,制訂電子商務應用與開發(fā)計劃,首先要進行可行性分析,成本估算是可行性分析階段的重要任務。隨著電子商務應用領域和規(guī)模的日益增大,軟件開發(fā)成本估算的重要性日益突出。如果估算周期過長、費用過高,就會造成企業(yè)資源的巨大浪費;如果估算周期過短、費用過低,就會造成整個項目失控,遠遠超過預計的使用日期。準確的軟件成本估算是保證電子商務開發(fā)和應用順利進行的必要手段,已成為軟件工程領域一個重要的研究方向。
2 電子商務特點及軟件功能
2. 1電子商務特點
電子商務特點包括:①普遍性。電子商務作為一種新型的交易方式,將生產(chǎn)企業(yè)#65380;流通企業(yè)以及消費者和政府帶入了一個網(wǎng)絡經(jīng)濟#65380;數(shù)字化生存的新天地;②方便性。在電子商務環(huán)境中,人們不再受地域的限制,客戶能以非常簡捷的方式完成過去較為繁雜的商務活動,如通過網(wǎng)絡銀行能夠全天候地存取資金賬戶#65380;查詢信息等,同時使得企業(yè)對客戶的服務質(zhì)量可以大大提高;③整體性。電子商務能夠規(guī)范事務處理的工作流程,將人工操作和電子信息處理集成為一個不可分割的整體,不僅能提高人力和物力的利用,也可以提高系統(tǒng)運行的嚴密性; ④安全性。在電子商務中,安全性是一個至關重要的核心問題,要求網(wǎng)絡能提供一種端到端的安全解決方案,如加密機制#65380;簽名機制#65380;安全管理#65380;存取控制#65380;防火墻#65380;防病毒保護等,這與傳統(tǒng)的商務活動有著很大的不同;⑤協(xié)調(diào)性。商務活動本身是一種協(xié)調(diào)過程,它需要客戶與公司內(nèi)部#65380;生產(chǎn)商#65380;批發(fā)商#65380;零售商間的協(xié)調(diào),在電子商務環(huán)境中,更要求銀行#65380;配送中心#65380;通訊部門#65380;技術服務等多個部門的通力協(xié)作,往往電子商務的全過程是一氣呵成的。
2. 2軟件功能
電子商務通過Internet可提供在網(wǎng)上交易和管理的全過程服務,軟件具有功能主要包括[6]:①廣告宣傳。通過Web服務器和網(wǎng)絡主頁等在Internet上宣傳企業(yè)形象和發(fā)播各種商品信息,客戶用網(wǎng)絡瀏覽器可以迅速找到所需的商品信息;②咨詢洽談。借助非實時的電子郵件#65380;新聞組和實時的討論組來了解市場和商品信息#65380;洽談交易事務,還可用白板會議#65380;公告板BBS來交流即時的信息;③網(wǎng)上訂購。網(wǎng)上訂購系統(tǒng)在商品介紹頁面上提供訂購提示信息和訂購交互表格,當客戶填完訂購單后,系統(tǒng)回復確認信息單,表示訂購信息已收悉;④網(wǎng)上支付??蛻艉蜕碳抑g可采用信用卡#65380;電子錢包#65380;電子支票和電子現(xiàn)金等多種電子支付方式進行網(wǎng)上支付;⑤電子賬戶。網(wǎng)上支付由銀行#65380;信用卡公司及保險公司等金融單位提供電子賬戶,管理網(wǎng)上金融服務,客戶的信用卡號或銀行賬號是電子賬戶的標志;⑥服務傳遞。將客戶訂購的商品盡快傳遞到已訂貨并付款的客戶手中。對于有形商品,在網(wǎng)絡中進行物流調(diào)配并通過快遞業(yè)務完成傳送;對無形的信息產(chǎn)品,立即從電子倉庫通過網(wǎng)絡直接傳遞到用戶端;⑦意見征詢。收集客戶對商品和銷售服務的反饋意見,提高網(wǎng)上交易售后服務水平,使企業(yè)獲得改進產(chǎn)品#65380;發(fā)現(xiàn)市場的商業(yè)機會;⑧交易管理。對客戶及本企業(yè)內(nèi)部的各方面進行協(xié)調(diào)和管理。電子商務的上述功能,為網(wǎng)上交易提供了一個良好的交易服務和進行管理的環(huán)境,使電子商務的交易過程得以順利和安全地完成,并可以使電子商務獲得更廣泛的應用。
3 開發(fā)成本估算
軟件成本估算方法很多,結合電子商務的特點及軟件功能,選擇功能點分析法進行估算。功能點分析法(FPA)是在軟件開發(fā)過程中,完成軟件估計#65380;度量#65380;分析等項目管理活動,幫助軟件項目解決管理方面的問題,促進項目的規(guī)范化,提高客戶滿意度,創(chuàng)造新的市場機會。近年來由FPA演化而來的功能點估算方法的應用也越來越廣泛。
3. 1未調(diào)整功能點數(shù)估算
未調(diào)整功能點數(shù)(UFP)的估算步驟如下:
第1步:按類型確定功能點數(shù)
根據(jù)軟件需求和文檔設計,明確劃分用戶功能類型,對每種類型功能點數(shù)分別統(tǒng)計。功能點類型劃分的類型和依據(jù)如下:①外部輸入(EI)。進入被估算軟件系統(tǒng)外部邊界的每一種唯一的用戶數(shù)據(jù)或用戶控制輸入類型;②外部輸出(EO)。從被度量軟件系統(tǒng)的外部邊界出來的每一種唯一的用戶數(shù)據(jù)或用戶控制輸出類型;③內(nèi)部邏輯文件(ILF)。把軟件系統(tǒng)中主要的用戶數(shù)據(jù)或控制信息邏輯組,計算為一個邏輯的內(nèi)部文件類型。包含軟件系統(tǒng)產(chǎn)生#65380;作用或維護的每個邏輯文件;④外部接口文件(EIF)。軟件系統(tǒng)間傳遞或共享的文件應被每一個系統(tǒng)計算為外部接口文件類型;⑤外部查詢(EQ)。每一種唯一的輸入輸出組合,此時輸入引起并產(chǎn)生一個直接的輸出,因此計算為一個外部查詢類型。
第2步:確定功能點復雜性等級
每個功能點應當給予一個功能點復雜性等級。功能點復雜性等級由數(shù)據(jù)元素類型(DET)#65380;記錄元素類型(RET)和參考文件類型(RFT)的數(shù)目決定。一個DET就是一個唯一的用戶可辨認的#65380;不可遞歸的域;一個RET就是一個用戶可辨認的ILF或EIF中的數(shù)據(jù)元素組成的子組;RFT指可維護#65380;讀取#65380;參考的ILF和可讀取#65380;參考的EIF的數(shù)目。每個功能的復雜性,具體確定為“低”#65380;“一般”#65380;“高”3個等級。各種類型功能點的復雜性等級見表1。
第3步:計算未調(diào)整功能點
對于表1中的每個UFP復雜性等級有一個對應的復雜性權重,見表2的3個權重列。所有功能點的復雜性權重的和為未調(diào)整功能點。未調(diào)整功能點數(shù)是通過表2計算出來的。未調(diào)整功能點數(shù)欄的計算公式為低#65380;中#65380;高功能點的數(shù)量分別乘以其權重的和。即:
未調(diào)整功能點數(shù)=數(shù)據(jù)(低)×權重(低)+ 數(shù)據(jù)(中)×權重(中)+ 數(shù)據(jù)(高)×權重(高)。
3. 2調(diào)整后功能點數(shù)估算
UFP是通過建立一個標準來確定某個特定的測量參數(shù)并進行計算,復雜性權重的確定帶有一定的主觀性。UFP與功能點調(diào)整系數(shù)(FPAF)相乘得到調(diào)整后的功能點數(shù)作為軟件規(guī)模估算的功能點數(shù)。
FPAF通過技術復雜因子(TCF)進行計算。技術復雜因子TCF共由14個因子組成,如表3所示。每個因子按照其對系統(tǒng)的重要程度分為6個級別,如表4所示。
FPAF用下式計算:
調(diào)整后的功能點數(shù)FP用下式計算:
FP=UFP×FPAF。(2)
3. 3成本估算
軟件開發(fā)包括需求#65380;設計#65380;編碼#65380;測試#65380;評審以及項目管理等工作。軟件生產(chǎn)率的影響因素很多,每個軟件組織需要根據(jù)自身的具體情況進行分析,需要大量的歷史數(shù)據(jù)作基礎,對于缺乏類似數(shù)據(jù)的組織來說,找出生產(chǎn)率因素并不容易。根據(jù)參考文獻[2]及作者本人的開發(fā)經(jīng)驗,當前常用的電子商務開發(fā)工具中一般水平開發(fā)人員的勞動生產(chǎn)率(每人日完成的功能點數(shù)):JAVA為0.69,VB.NET為1.12,C#.NET為0.98,E-Busines為0.87,Delphi為1.35,COOL:PLEX為0.79。
根據(jù)軟件的功能點數(shù)和生產(chǎn)率,可估算出軟件的開發(fā)周期和成本。
軟件成本的計算公式為:
軟件開發(fā)成本(PM)=功能點數(shù)量FP/(開發(fā)工具的日生產(chǎn)率×19)。(3)
式(3)中,一個月的實際工作天數(shù)按19天計算。公式結果以人月(PM,Person Month)作為計量單位。如果改為貨幣單位,可用人月乘以勞動力月成本。
假定一個軟件項目FP的估算值為1 000,采用JAVA語言開發(fā)。則開發(fā)成本以人月為單位的估算值為1 000/(0.69×19)=76(PM)。如果勞動力月成本為6 000元人民幣,軟件開發(fā)成本以貨幣為單位的估算值為 76×6 000=456 000(元)。
根據(jù)以人月(PM)為單位的軟件開發(fā)成本,并結合開發(fā)中可供安排的人員情況,能夠估算出軟件的開發(fā)周期并制訂相應的進度計劃。
4 結束語
運用功能點估算方法可對電子商務軟件成本做出早期估算,可直接通過功能點估算出軟件成本,也可根據(jù)經(jīng)驗將功能點轉化為代碼行后再估算軟件成本。文中提出的功能點方法對電子商務應用企業(yè)和從事電子商務的軟件開發(fā)機構具有很好的參考價值。實際運用時應根據(jù)具體情況,對各種參數(shù)進行適當?shù)恼{(diào)整,使軟件成本估算更接近實際值。
主要參考文獻
[1] Barry W Boehm.Software Cost Estimation with COCOMOⅡ [M]. Beijing:China Machine Press,2005.
[2] 王強,曹漢平,賈素玲,等. IT軟件項目管理[M]. 北京:清華大學出版社,2004.
[3] 王宗江. 電子商務中的數(shù)據(jù)挖掘策略[J].中國管理信息化,2007,10(10).
[4] 任永昌. 應用COCOMOⅡ模型估算軟件開發(fā)工作量[J]. 渤海大學學報,2007,28(3).
[5] 李幟,林立新,曹亞波. 功能點分析方法與實踐[M]. 北京:清華大學出版社,2005.