资源描述
軟體成本估計11 導論軟體成本管理的問題:軟體的開發成本經常被低估預算編列不足、合約價格過低=時程延誤、品質問題公開發表的成本估計方法過於主觀自己描述自己的方法,自己評估自己的方法有多準確價格競爭、低價搶標影響軟體的成本的因素很多、發包者與承包者認知的落差21 導論為了更深入瞭解軟體成本:需要知道成本發生在哪裡?哪些因素影響軟體成本、各因素所占的權重?瞭解軟體成本的分類、估計模式瞭解估計方法的適用情況、影響成本估計準確度的因素、等等32 成本影響因素成本因子可歸納成七類屬性:規模屬性產品屬性資訊科技屬性人員屬性專案屬性環境屬性管理屬性這七類屬性可以幫助成本估計者思考成本的來源,也有助於模式的建立42 成本影響因素規模屬性原始碼的行數(lines of code)子程式的數目功能點(function points)資料項目的數目文件的頁數52 成本影響因素產品屬性軟體的類型軟體的複雜度使用的程式語言(資訊科技的屬性?)要求的品質與可靠度再用碼的數量處理時間的限制62 成本影響因素資訊科技屬性硬體架構網體架構軟體平台中央處理器(CPU)、記憶體及通訊的限制使用資訊科技的成熟度72 成本影響因素人員屬性開發者的一般能力與學習能力開發者的經驗類似專案與開發環境的經驗專案經理的經驗82 成本影響因素專案的屬性使用的方法及工具需求明確的程度和顧客的溝通與關係和顧客的溝通與關係開發時程的緊迫性專案組織的大小預算充裕的程度92 成本影響因素環境屬性行政複雜度使用者參與程度需求變更的頻繁程度市場競爭的程度102 成本影響因素管理屬性專案管理者的領導能力與經驗團隊合作資源分配時程安排及控制訓練品質保證113 軟體成本的分類依生命週期成本分類依外購軟體成本分類依成本會計分類123.1 依生命週期成本分類開發成本(約 45%)需求分析設計編碼整合測試維護成本(約 55%)預防性維護更正性維護改善性維護133.1 依生命週期成本分類預防性維護(Preventive Maintenance)Y2K更正性維護(Corrective Maintenance)除錯工作(bug fixes)改善性維護(Perfective Maintenance)使用介面的調整程式效能的提高143.1 依生命週期成本分類轉換成本(Conversion Cost)程式轉換、資料轉換資料轉換、文件轉換電腦化時,紙張的歷史資料的轉換?!裝置成本(Installation Cost)由於實際的操作環境比軟體開發環境要複雜許多,裝置的過程中往往會引發新的問題(跟其他系統銜接)訓練成本訓練往往不是一次就能達到目的,重複的訓練、訓練後發現的新需求都會使成本超乎預期其他成本153.2 依外購軟體成本分類應用軟體的採購成本顧問費用SAP,Oracle,等 ERP 的設定費用(configuration,performance tuning,etc.)軟體修改費用其他軟體費用163.3 依成本會計分類直接成本(Direct Cost)人工(程式設計師、系統分析師、專案經理)直接材料成本(比例低)設備成本(Capital Cost)軟體、硬體、辦公設備等費用(Expense)旅費、顧問費、訓練費等分攤費用(Overhead)行政人員費用、水電費、保險費用、管理費用174 軟體成本估計的過程軟體成本估計不是一次估計後就固定不變軟體成本估計是一個過程生命週期導向的估計過程系統與模組層次的估計過程184.1 生命週期導向的估計過程第一階段:提出構想粗略的成本估計與資料蒐集專家判斷法由上往下法管理者依經驗與判斷來評估可行性及成本效益不可行-取消構想可行 -進入第二階段根據 p.151 之 圖 2194.1 生命週期導向的估計過程第二階段:由專案小組分析需求並分解系統功能正式估計成本由下往上法參數模式類比法專案核准?不核准-取消專案核准 -進入第三階段根據 p.151 之 圖 2204.1 生命週期導向的估計過程第三階段:進行詳細的需求分析與初步設計修改估計的成本成本太高?太高-調整預算或調整專案功能(需求)不會太高-進行專案根據 p.151 之 圖 2214.2 系統與模組層次的估計過程先將系統分解成子系統,然後找尋過去完成的專案有沒有類似的功能,區分成新開發模組類似功能模組相同功能模組根據新模組的大小及再用模組的修改程度來估計成本估計程式行數或功能點數估計調整因子估計再用模組的修改比例加總新模組與再用模組的成本再用模組(Reuse Module)224.2 系統與模組層次的估計過程估計新文件與再用文件的成本比照程式模組的方式估算估計測試成本占總成本的 15%40%依系統的複雜度、任務的重要性、顧客的品質要求行政管理的費用及分攤的費用估計風險係數和先前的資料比較並做調整235 軟體成本估計的方法Boehm(1984):演算模式專家判斷法類比法由上往下法由下往上法巴金森法Parkinson Method勝算價格法Price-to-Win MethodMohanty(1981):歷史資料模式統計分析模式理論模式245 軟體成本估計的方法巴金森法:工作的多寡是將資源耗盡為原則有多少預算與多少時間就做多少事勝算價格法:以爭取合約為原則可獲得合約的價格做為估計的基礎251 專家判斷法專家的條件:在相關領域有實際的工作經驗曾經管理過或從事相關工作的人員具有成本估計的經驗261 專家判斷法需要的資訊271 專家判斷法使用的資訊281 專家判斷法當多個專家參與評估時,多個估計值的綜合可以下列方式獲得:平均法去除極值平均法如:刪除前後各 10%,保留中間 80%做平均中位數法(median)三點估計法德菲法(Delphi Method)群體決策方法,有興趣可自己閱讀 chapter 12291 專家判斷法三點估算法:C=(CL+4CM+CH)/6其中:CL:樂觀值的平均CM:最可能值的平均CH:悲觀值的平均302 類比法(Analogy)類比法的精神在於比較新專案與過去類似的專案刪除舊系統存有而新系統卻不需要的功能增加新系統需要而舊系統沒有的功能根據以下因素來調整:特殊的環境因素人事成本的考量新技術的引進品質的要求風險的因素等專家判斷法的專家也會運用類比法313 參數模式參數模式(Parametric Models),又稱:演算法則模式(Algorithmic Models)統計模式(Statistically-Based Models)基本概念:軟體開發成本為軟體規模與調整因子的函數軟體規模:原始程式碼行數(Lines of Code,LOC)功能點(Function Point,FP)調整因子:影響軟體開發成本的因素323 參數模式基本概念(續):函數關係現在是非線性函數(non-linear function)早期是線性函數(linear function)參數估計模式可以下列的形式表示:成本=常數+軟體規模之成本函數*調整因子成本=常數+軟體規模之成本函數+調整成本333 參數模式以數學式表示:C=C0+f(s)*g(x)C=C0+f(s)+h(x)其中:C:估計成本(人月或人日)s:軟體規模(LOC 或 FP)f:規模函數x:調整因子的向量g:調整函數h:調整成本函數C0:常數343 參數模式規模函數 f 可為:線性函數:f(s)=aS非線性函數:f(s)=aSba,b 為係數353 參數模式調整函數:g(x)=g1(x1)*g2(x2)*.*gi(xi)調整成本函數:h(x)=h1(x1)+h2(x2)+.hi(xi)363 參數模式實際參數模式:Farr&Zagorski 模式COCOMO 模式(Constructive Cost Model,Boehm,1981)基本模式(Basic Model)中級模式(Intermediate Model)詳細模式(Detailed Model)COCOMO 2.0 模式373 參數模式COCOMO 模式每一個模式又將軟體分為三個複雜的程度:簡單型(Organic Mode)中間型(Semi-detached Mode)複雜型(Embedded Mode)基本模式:未考慮調整因子C=aSb383 參數模式COCOMO 模式(續)中級模式加了 15 個調整因子 g(x)=g1(x1)*g2(x2)*.*g15(x15)C=aSb*g1(x1)*g2(x2)*.*g15(x15)詳細模式調整因子再分配到不同的開發階段根據不同規模大小、等而調整分配到各階段的比重:專案愈大,編碼所占的比重愈低、整合測試的比重愈高專案愈複雜,編碼占的比重愈低、需求分析、系統設計、整合測試所占的比重愈高393 參數模式COCOMO 模式的優缺點:優點:非常完整缺點:分類過於詳細,若無龐大的資料庫則參數估計的誤差會很大15 個調整因子的調整數值相乘會使得變異加大;800 倍!COCOMO 2.0 有改善略404 功能點分析法功能點分析法(Function Point Analysis):用來衡量軟體的規模從使用者的觀點來計算軟體所提供的功能功能是一種邏輯的概念,所以獨立於程式語言、開發方法、硬體平台和組織特性414 功能點分析法功能點分析法將軟體系統之功能分為兩種功能類型及五種檔案型態:資料功能類(Data Function Type)內部邏輯檔案(Internal Logical File)外部介面檔案(External Interface File)交易功能類(Transaction Function Type)外部輸入檔案(External Input File)外部輸出檔案(External Output file)外部查詢檔案(External Inquiry File)425 軟體計費要點skip436 理論模式Skip446 軟體成本估計的實施軟體成本估計模式必需配合以下幾點才能發揮效果:資料的蒐集模式的選擇經驗的累積制度的建立45
展开阅读全文