? ? ? ? ?
1、成本估算
由于軟件項目具有可見性差、難定量化的特點,一般情況下很難在項目完成前準確的評估軟件項目開發的工作量和費用。通常會根據以往開發類似項目的經驗來進行成本估算。也可以將整個項目
劃分為若干個子系統或按照軟件的生命周期的各個階段分別進行費用估算,然后匯總整個項目的成本。
1.1 成本估算方法
自頂向下估算方法:估算人員參照之前完成項目所消耗的總成本,來估算將要開發的項目總成本,然后把它們按階段、步驟、工作單元進行分配。
優點:估算工作量小、速度快、不會遺漏集成、配置管理等系統級事務的成本估算。
缺點:通常不清楚低級別上的技術性困難問題,從而造成成本上升。
自頂向上估算方法:將待開發的軟件項目細分,分別估算每個子任務所需要的工作量,匯總就可以得到總的開發量。
優點:因為該方法是對每個子任務交給相應的負責人員來做,估算較為準確。
缺點:缺少各項子任務之間相互配合的工作量和開發相關系統級工作量,往往會造成估算偏低。
差別估算方法:將待開發的項目和一個或者多個類似項目比較,找到與某個類似項目的若干個不同之處,并估算不同之處對項目成本的影響,然后給出待開發項目的總成本。
優點:可以提高估算的準確度。
缺點:所謂的差別不太容易明確界限。
專家估算法:依靠一個或者多個專家對項目進行估算。準確性取決于專家估算項目的定性參數的了解和專家的項目經驗。
類推估算法:自頂向下估算方法中,類推是將估算項目的總體參數與相似項目進行直接比較得到結果;自頂向上估算方法中,類推是在具有相似條件工作單元之間進行。
算式估算法:算式估算法企圖避免主觀因素的影響。用于估算的方式有:理論導出、經驗導出。
1.2 成本估算模型
常見的軟件項目成本估算模型有Putnam模型、COCOMO模型。
Putnam模型:一種動態多變模型。它是假設在軟件開發的整個生存周期中工作量有特定的分布。
COCOMO模型:是最精確、最易于使用的成本估算模型之一。分為基本COCOMO模型、中級COCOMO模型、詳細COCOMO模型。
2、風險分析
風險分析主要有風險識別、風險預測、風險評估、風險控制。
2.1 風險識別
風險識別是試圖系統化地確定對項目計劃的威脅。風險識別的一種方法是建立風險條目清單,用于識別風險。常見可以預知的風險如下:
產品規模:與要開發的軟件總體規模相關的風險。
商業影響:與管理或市場制約相關的風險。
客戶特性:與客戶的素質以及開發者和客戶溝通能力相關的風險。
過程定義:軟件過程定義的程度以及被開發者遵守相關風險。
開發環境:構建軟件產品的工具和軟件項目質量相關的風險。
構建的技術:構建產品所有開發技術可能的風險。
人員數目和經驗:開發人員的能力和項目經驗相關的風險。
2.2 風險預測
風險預測又稱為風險估算,它從兩個方面評估一個風險:風險發生的可能性或概率、風險發生后產生的后果。
風險預測活動
建立一個尺度或標準,用來反映風險發生的可能性。
描述風險的后果
估計風險對項目和產品的影響。
標注風險預測的整體精確度。以免產生誤解。
2.3 風險評估
風險評估非常有用的技術是定義風險參照水準。主要有成本、進度、性能三個典型風險參照水準。
2.4 風險控制
軟件項目組對于風險采用主動的方法,盡可能避免風險是最理想的策略。可以通過建立一個風險緩解計劃來達到。
風險管理策略可以包含在軟件項目計劃中,或者風險管理步驟也可以組織成一個獨立的風險緩解、監控、管理計劃。作為整個項目計劃中的一部分來使用。
?
IT技術分享社區
個人博客網站:https://programmerblog.xyz
文章推薦程序員效率:畫流程圖常用的工具程序員效率:整理常用的在線筆記軟件遠程辦公:常用的遠程協助軟件,你都知道嗎?51單片機程序下載、ISP及串口基礎知識硬件:斷路器、接觸器、繼電器基礎知識