軟體成本估算
出自 MBA智库百科(https://wiki.mbalib.com/)
目錄 |
軟體成本估算,通常發生在項目早期,在還沒有獲得充分信息的前提下,對軟體項目所需要的工作量和工作進度做出預測,從而產生一組在可接受誤差範圍內的近似規劃,是對構造一個軟體系統所需成本的預測。同時,軟體成本估算還需要處理軟體開發中的產品、人員、技術、組織、過程等複雜因素及其相互影響。因而,簡單的將數據放入軟體成本估算模型後接受其結果的過程,或是簡單考慮後憑主觀給出一個估算結果的過程,並不能得到一個好的軟體成本估算,估算過程及估算方法的支持對於獲得好的軟體成本估算結果是非常重要的。
軟體成本估算從2O世紀60年代發展至今,在軟體開發過程中一直扮演著重要角色。無論是產業界還是學術界,越來越多的人認識到做好軟體成本估算是減少軟體項目預算超支問題的主要措施之一,不但直接有助於做出合理的投資外包、競標等商業決定,也有助於確定一些預算或進度方面的參考里程碑,使軟體組織或管理者對軟體開發過程進行監督,從而更合理地控制和管理軟體質量、人員生產率和產品進度。
對一個軟體項目進行成本估算一般要經過以下2個階段:
1)大小估算階段.估算軟體大小有兩種基本策略:一是估算問題大小,如功能點;二是估算解決方案的大小,如源代碼行數、模塊數。
2)工作量和工作進度估算階段,根據有關軟體大小的信息來估算軟體開發成本。
軟體成本估算主要有自頂向下估演算法、自底向上估演算法、差別估演算法、類推估演算法、算式估演算法等方法。
(1)自頂向下估演算法。
估算人員參照以前完成的項目所耗費的總成本,來推算將要開發的軟體的總成本,然後把它們按階段、步驟和工作單元進行分配。
(2)自底向上估演算法。
將待開發的軟體細分,分別估算每一個子任務所需要的開發工作量,然後將它們加起來,得到軟體的總開發量。
(3)差別估演算法。
將開發項目與一個或多個已完成的類似項目進行比較,找到與某個相類似項目的若幹不同之處,並估算每個不同之處對成本的影響,導出開發項目的總成本。
(4)算式估演算法。
算式估演算法是根據項目的特點,藉助相應成熟的模型,估算軟體項目成本的方法。
(5)基於類比方法的軟體成本估算
通過特征來收集已完成的項目,形成類比項目庫,然後尋找與需要預測項目在應用領域、環境和複雜度等方面最相似的項目,通過最相似項目的已知工作量估算目標項目的工作量,得出軟體項目成本估算結果。
(6)專家估演算法。
依據同類項目建設中成本管理的經驗積累或案例分析、相關知識,組織專家推敲軟體項目成本的方法。這種方法不能量化,專家或專家小組所使用的因素難以標準化,難以避免主觀影響。