軟體開發的成本估算—我的程式碼行

isoa發表於2009-12-06
為了使軟體專案開發獲得成功,必須對軟體開發專案的工作範圍、可能遇到的風險、 需要的資源(人、軟/硬體等)、要實現的任務、經歷的里程碑、花費的工作量(成本),以及進度的安排等等做到心中有數。而軟體專案管理可以提供.這些資訊。這種管理開始於技術工作開始之前,在軟體從概念到實現的過程中持續進行,最後終止於軟體工程過程結束。
    1.成本估算
    由於軟體具有可見性差、定量化難等特殊性,因此很難在專案完成前準確地估算出開發軟體所需的工作量和費用。通常我們可以根據以往開發類似軟體的經驗(也可以是別人的經驗)來進行成本估算。也可以將軟體專案劃分成若干個子系統或按照軟體生存週期的各個階段分別估算其成本,然後彙總出整個軟體的成本。此外還可以使用經驗公式和成本估算模型來進行估算。
    一種常用的成本估算方法是先估計完成軟體專案所需的工作量(人月數),然後根據每個人月的代價(金額)計算軟體的開發費用:
    開發費用=人月數×每個人月的代價
-    另一種方法是估計軟體的規模(通常指原始碼行數),然後根據每行原始碼的平均開發費用(包括分析、設計、編碼、測試所花的費用),計算軟體的開發費用:
    。開發費用=原始碼行數×每行平均費用
    估算原始碼行數時,n-I"以請尢位有經驗的專家,每位專家對軟體給出3個估廿值:
    ·ai,——最少原始碼行數(該軟體可能的最小規模);  
    ·bi——最大程式碼行數(該軟體可能的最大規模).     
    ·mi——最可能的程式碼行數(該軟體最可能的規模.)。
然後計算出每位專家的估算期望值Ei=墮十_等L墜,九位專家的估算期望值的平均值告砉Ei就是程式碼行數印估算值。
    典型的成本估算模型有普特南(Putnam)模型和構造性成本模型(constructive cost model,CoCoMo)等。限於篇幅,本節不做詳細介紹。
    這些估算模型已經用軟體實現,稱為自動估算工具。這種自動估算工具使得管理或計劃人員能夠估算待開發軟體專案的成本和工作量,還可以對人員配置和交付日期等進行估計。Gordon集團的BYL(before You leap)、Wang研究所的WICOMO(Wang Instit ute Cost Model)及DEC公司的DECPlan都是基於CoCoMo模型的自動估算工具;SIIM是基於軟體生存期中Rayleigh—Norden曲線和Putnam估算模型的一種自動成本估算工具等等。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-621753/,如需轉載,請註明出處,否則將追究法律責任。

相關文章