




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件開發項目管理第六章軟件項目規模成本估算0chapter__6本章要點一、軟件項目規模成本的概念二、估算的過程三、估算的方法四、成本預算五、項目核心(進度)計劃—續六、案例分析1chapter__6成本管理過程資源計劃編制:確定項目需要的資源種類和數量成本估算:中心環節編制一個為完成項目各活動所需要的資源成本的近似估算成本預算:項目進度將總成本估算分配到各單項工作活動上成本控制:項目跟蹤控制項目預算的變更2chapter__6資源和資源平衡
資源的種類勞動力(Labour)設備(Equipment)原材料(Material)其他(Other):指不符合上述分類的資源,例如分包合同、租約等。資源平衡技術可儲備資源與不可儲備資源平衡資源稀缺的資源資源平衡的基本過程
建立網絡,將資源分配給各項活動。首先按盡快原則安排活動——含有最遲原則或固定日期的活動除外。建立資源需求直方圖。
決定資源上限(可使用最大量),找出資源沖突,也就是說,指出何時需要量超過可使用量。微軟Project軟件和其他項目管理出版物將這種情況稱作資源過度配置(ResourceOverallocation)。重新安排有松閑時間(浮動時間)的活動以減少資源沖突的數量。如果有可能,可在它們的松閑時間限度內重新安排這些活動,以避免更改項目的終止日期。
A=2天B=5天C=3天
資源平衡示例項目網絡圖中標出了活動A、B、C及其歷時,活動A有3天時差,活動C有2天時差,假設活動A需要2個員工,活動B需要4個員工,活動C需要2個員工。1342如果所有活動同一天開始的資源使用如果活動C延遲2天開始的資源使用資源平衡的其他過程
增員或延長加班時間以增加資源。
延長項目工期,這將增強所有活動的浮動時間(Float),以增加重新進行進度安排的選擇。削減活動以減少資源需求。改變網絡的邏輯(例如,活動的順序)。
限制項目范圍。
將大項目細分。
關于估算估算不是很準確的,有誤差的經驗(歷史)數據非常重要不要太迷信數學模型7chapter__6軟件項目規模軟件項目規模即工作量,是從軟件項目范圍中抽出的軟件功能,然后確定每個軟件功能所必須執行的一系列軟件工程任務包括:軟件規劃,軟件管理,需求,設計,編碼,測試,以及后期的維護等任務。8chapter__6規模的單位LOC(LineofCode)源代碼程序長度的測量FP(FunctionPoint)用系統的功能數量來測量人月人天人年9chapter__6軟件項目成本完成軟件規模相應付出的代價。待開發的軟件項目需要的資金。
人的勞動的消耗所需要的代價是軟件產品的主要成本開發成本是以一次性開發過程所花費的代價來計算的10chapter__6成本的單位貨幣單位人民幣元美元……..11chapter__6軟件的規模和成本的關系規模是成本的主要因素,是成本估算的基礎有了規模就確定了成本,12chapter__6成本估算定義對完成項目所需費用的估計和計劃包括預測開發一個軟件系統所需要的總工作量的過程。是一種量化的結果可以有一些誤差成本估算不同于項目定價貫穿于軟件的生存周期。
13chapter__6本章要點一、軟件項目規模成本的概念二、估算的過程三、估算的方法四、成本預算五、項目核心(進度)計劃—續六、案例分析14chapter__6成本估算過程估算輸入估算結果成本估算方法15chapter__6成本估算輸入項目需求、WBS歷史項目度量資源要求(資源編制計劃)資源消耗率:如人員成本:100元/小時進度規劃:項目總進度(一般是合同要求)學習曲線16chapter__6成本估算直接成本間接成本17chapter__6直接成本與具體項目相關的成本18chapter__6間接成本不能具體到某個項目中的成本,可以分攤到各個具體項目中的成本,例如:培訓房租水電員工福利市場費用管理費其他等等19chapter__6項目估算結果估算文件包括資源,資源的數量,質量標準,估算成本等信息單位:一般是貨幣單位BAC(BudgetAtcompletion)估算說明工作范圍估算的基礎和依據估算的假設估算的誤差變動等20chapter__6本章要點一、軟件項目規模成本的概念二、估算的過程三、估算的方法四、成本預算五、項目核心(進度)計劃—續六、案例分析21chapter__6估算的基本方法代碼行、功能點、對象點類比(自頂向下)估算法自下而上估算法參數法估算法專家估算法22chapter__6代碼行(LOC)從軟件程序量的角度定義項目規模。要求功能分解足夠詳細的有一定的經驗數據(類比和經驗方法)與具體的編程語言有關23chapter__6代碼行(LOC)24chapter__6代碼行(LOC)優、缺點優點代碼是所有軟件開發項目都有的“產品”,而且很容易計算代碼行數。缺點對代碼行沒有公認的可接受的標準定義代碼行數量依賴于所用的編程語言和個人的編程風格.在項目早期,需求不穩定、設計不成熟、實現不確定的情況下很難準確地估算代碼量.代碼行強調編碼的工作量,只是項目實現階段的一部分25chapter__4某軟件公司統計發現該公司每一萬行C語言源代碼形成的源文件(.c和.h文件)約為250K。某項目的源文件大小為3.75M,則可估計該項目源代碼大約為15萬行,該項目累計投入工作量為240人月,每人月費用為10000元(包括人均工資、福利、辦公費用公灘等)。則該項目中1LOC的價值為:(240×10000)/150000=16元/L。代碼行(LOC)-舉例第26頁功能點(FP)標準功能點(FunctionPoint)是一個被嚴格定義的概念,不會因為估算人員差異產生顯著差別(10%)。用系統的功能數量來測量其規模與實現產品所使用的語言和技術沒有關系的兩個評估內部基本功能外部基本功能加權和量化27chapter__6功能點(FP)的分析方法28chapter__6功能點功能點計算由下列步驟組成:1)對每一項功能,通過計算4類系統外部行為或事務的數目,以及一類內部邏輯文件的數目來估算由一組需求所表達的功能點數目。這5類功能計數項分別是:
外部輸入:是指用戶可以根據需要通過增、刪、改來維護內部文件。只有那些對功能的影響方式與其他外部輸入不同的輸入才計算在內。
外部輸出:指那些向用戶提供的用來生成面向應用的數據的項。只有單獨算法或者特殊功能的輸出才計算在內。
外部查詢:是指用戶可以通過系統選擇特定的數據并顯示結果。為了獲得這項結果,用戶要輸入選擇信息抓取符合條件的數據。此時沒有對數據的處理,是直接從所在的文件抓取信息。每個外部獨立的查詢計為1。外部文件:是在另一系統中駐留由其他用戶進行維護。內部文件:指客戶可以使用他們負責維護的數據。第30頁3)在估算中對5類功能計數項中的每一類功能計數項按其復雜性的不同分為簡單(低)、一般(中)和復雜(高)3個級別。功能復雜性是由某一功能的數據分組和數據元素共同決定的。計算數據元素和無重復的數據分組個數后,將數值和復雜性矩陣對照,就可以確定該功能的復雜性屬于高、中、低。下表是5類功能計數的復雜等級。產品中所有功能計數項加權的總和,就形成了該產品的未調整功能點計數(UFC)。5類功能計數的復雜度權重
第31頁4)這一步是要計算項目中14個技術復雜度因子(TCF)。下表是14個技術復雜度因子,每個因子的取值范圍是0~5。
第32頁5)最后根據功能點計算公式FP=UFC×TCF計算出調整后的功能點總和。其中:UFC表示未調整功能點計數,TCF表示技術復雜因子。功能點計算公式的含義是:如果對應用程序完全沒有特殊的功能要求(即綜合特征總值=0),那么功能點數應該比未調整的(原有的)點數降低35%(這也就是“0.65”的含義)。否則,除了降低35%之外,功能點數還應該比未調整的點數增加1%的綜合特征總值。第33頁功能點與代碼行的轉換34chapter__6對象點(OP)對象點是基于對象的軟件產品規模估算。
著名的Probe方法WattsHumphrey
(軟件質量之父,CMM創始人)35chapter__6對象規模表(C++)36chapter__6Probe方法的步驟
基于產品需求構建體系結構和概要設計對設計中的每個類(面向對象方法中的Class)的輸入和交互,標識所設計的對象屬于表中哪類方法并估算其復雜性將上述標識的結果構造成一個如表形式的矩陣,然后將這個矩陣中的值與表中對應的值相乘將上述所有相乘結果相加求和,產生估算結果
37chapter__6對象點的估計-舉例5865.13*5+16.15*8+8.53*6=206.0338chapter__6估算的基本方法代碼行、功能點、對象點類比(自頂向下)估算法自下而上估算法參數法估算法專家估算法39chapter__6類比-定義從項目的整體出發,進行類推,即估算人員根據以往的完成類似項目所消耗的總成本(或工作量),來推算將要開發的軟件的總成本(或工作量),然后按比例將它分配到各個開發任務單元中是一種自上而下的估算形式40chapter__6類比—使用情況有類似的歷史項目數據信息不足(要求不是非常精確)的時候在合同期和市場招標時在高層對任務的總的評估41chapter__6類比—特點簡單易行,花費少具有一定的局限性準確性差,可能導致項目出現困難42chapter__6類比—軟件重用將新項目與歷史項目比較,估算出各功能的估計值。等價代碼行=[(重新設計%+重新編碼+重新測試)/3]*已有代碼行43chapter__6類比—舉例44chapter__4類比—舉例證券交易網站需求類似歷史數據:10萬學習曲線(在一定時間內獲得的技能或知識的速率):5-8萬45chapter__6估算的基本方法代碼行、功能點、對象點類比(自頂向下)估算法自下而上估算法參數法估算法專家估算法46chapter__6自下而上—定義利用任務分解結構圖,對各個具體工作包進行詳細的成本估算,然后將結果累加起來得出項目總成本。47chapter__6自下而上—使用情況在進入項目開始以后,WBS以后的開發階段需要進行準確估算的時候48chapter__6自下而上—特點這種方法準確。它的準確度來源于每個任務的估算情況,即每個任務的規模和復雜程度非常費時,估算本身也需要成本支持可能發生虛報現象49chapter__6估算的基本方法代碼行、功能點、對象點類比(自頂向下)估算法自下而上估算法參數法估算法專家估算法50chapter__6參數估算法—定義一種使用項目特性參數建立數據模型來估算成本的方法,是一種統計技術,如回歸分析和學習曲線。參考歷史信息根據實際情況,對參數模型按適當比例調整模型可以簡單也可以復雜,很少有通用性51chapter__6參數估算法—使用情況存在成熟的項目估算模型應該具有良好的數據庫數據為基礎目前軟件企業估算很少使用通用的數學模型52chapter__6參數估算法-估算單位每個任務必須至少有一個統一的規模單位,例如KLOC,FP人天,人月,人年參數:xx元/KLOC.xx元/FP,xx元/人天53chapter__6參數估算法-特點比較簡單,而且也比較準確如果模型選擇不當或者數據不準,也會導致偏差54chapter__6參量成本估算實例(適合單價合同)55chapter__6軟件成本估算模型理論導出:不成熟階段經驗導出:軟件估算常常采用56chapter__6經驗導出成本模型提供工作量(規模)的直接估計通過過去項目數據,進行回歸分析,得出的回歸模型依據不同的細化程度,通過參數的輸入來進行成本估算。通常,輸入包括產品的預計規模產品的自然屬性組織能力項目性質57chapter__6經驗導出成本模型整體公式:E=A+B*S^CE:以人月表示的工作量A,B,C:經驗導出的常數S:主要的輸入參數(通常是LOC,FP等)58chapter__6經驗導出成本模型(續)面向LOC驅動的Walston-Felix(IBM)E=5.2*(KLOC)^0.91Balley-BasiliE=5.5+0.73*(KLOC)^1.16.COCOMOE=3.2*(KLOC)^1.05DotyE=5.288*(KLOC)^1.04759chapter__6估算--經驗模型--IBM模型1977年,IBM的Walston和Felix提出。估算公式:
E=5.2×L0.91
L是源代碼行數。
以KLOC計。E是工作量。
以PM計。 D=4.1×L0.36
,
D是項目持續時間(以月計)。
S=0.54×E0.6, S是人員需要量(以人計)。
DOC=49×L1.01
DOC是文檔數量(以頁計)。
在此模型中,一般指一條機器指令為一行源代碼。一個軟件的源代碼行數不包括程序注釋、作業命令、調試程序在內。對于非機器指令編寫的源程序,如匯編語言或高級語言程序,應轉換成機器指令源代碼行數來考慮。經驗導出成本模型(續)面向FP驅動的AlbrechtandGaffneyE=-12.39+0.0545FPKemererE=60.62*7.728*10^-8FP^3Matson,BarnettE=585.7+15.12FP61chapter__6COCOMO(ConstructiveCostmodel)由BarryBoehm開發的詳見:(南加州大學網站)基本COCOMO:靜態單變量模型,它用一個以已估算出來的源代碼行數(LOC)為自變量的函數來計算軟件開發工作量。中等COCOMO:在用LOC為自變量的函數計算軟件開發工作量的基礎上,再用涉及產品、硬件、人員、項目等方面屬性的影響因素來調整工作量的估算。高級COCOMO:包括中級COCOMO模型的所有特性,但用上述各種影響因素調整工作量估算時,還要考慮對項目過程中分析、設計等各步驟的影響。62chapter__6COCOMO模型模型的核心是方程ED=rSc和TD=a(ED)b其中:ED為總的開發工作量(到交付為止),單位為人月;S為源指令數(不包括注釋,但包括數據說明、公式或類似的語句),常數r和c為校正因子。S的單位為103,ED的單位為人月。TD為開發時間,經驗常數r、c、a和b取決于項目的總體類型(結構型、半獨立型或嵌入型).
第63頁項目總體類型第64頁工作量和進度的基本COCOMO方程第65頁影響經驗常數r值的15個成本因素第66頁COCOMO舉例一個33.3KLOC的軟件開發項目,屬于中等規模、半獨立型的項目,采用基本COCOMO:a=3.0,b=1.12。E=3.0*L
^1.12=3.0*33.3
^1.12=152PM
67chapter__4估算的基本方法代碼行、功能點、對象點類比(自頂向下)估算法自下而上估算法參數法估算法專家估算法68chapter__6專家估算法由多位專家進行成本估算,一個專家可能會有偏見,最好由多位專家進行估算,取得多個估算值,最后得出綜合的估算值。69chapter__6專家估算法-Deiphi組織者發給每位專家一份軟件系統的規格說明和一張記錄估算值的表格,請他們估算專家詳細研究軟件規格說明后,對該軟件提出3個規模的估算值最小ai最可能的mi最大bi組織者對專家的表格中的答復進行整理計算每位專家的Ei=(ai+4mi+bi)/6,70chapter__6專家估算法-Deiphi(續)綜合結果后:E=E1+E2+…En/n(N:表示N個專家)再組織專家無記名填表格,比較估算差,并查找原因如果各個專家的估算差異超出規定的范圍(例如:15%),則需重復上述過程,最終可以獲得一個多數專家共識的軟件規模71chapter__6專家估算法-舉例某多媒體信息查詢系統—專家估算專家1:1,8,9=〉(1+9+4*8)/6=7(萬元)專家2:4,6,8=〉(4+8+4*6)/6=6(萬元)估算結果=(6+7)/2=6.5(萬元)72chapter__6估算方法總結初期類比專家估算計劃階段自下而上參數模型實施階段(包括變更發生)自下而上參數模型73chapter__6成本估算方法綜述主要考慮三種模型:類比法,自下而上法,參數法.自下而上法費時費力,參數法比較簡單自下向上法與參數法的估計精度相似各種方法不是孤立的,應該注意相互的結合使用類比法通常用來驗證參數法和自下而上法的結果74chapter__6幾種方法的比較
75chapter__6實用軟件估算模型是一種自下而上和參數法的結合模型,步驟如下:對任務進行分解估算每個任務的成本Ei直接成本=E1+E2+……+Ei+……+En項目總估算成本=直接成本+間接成本項目總報價=項目總估算成本+風險利潤
風險利潤=利潤+風險基金+稅76chapter__6估算每個任務的成本直接估算成本Ei先估算規模Qi,然后估算成本Ei=Qi*人力成本參數唯一估計值:Qi=AvgPERT算法:Qi=(Max+4Avg+Min)/6退出77chapter__6直接成本估算直接成本組成開發成本管理成本質量成本直接成本=規模*人力成本參數簡易估算:開發(工作量)規模:Scale(Dev)(單位:人月)管理、質量(工作量)規模:Scale(Mgn)=a*Scale(Dev)a:比例系數:例如:20%--25%78chapter__6直接成本估算直接成本=規模*人力成本參數例如:人力成本參數=2萬/人月,30人月的項目的直接成本是60萬退出79chapter__6項目總估算成本估算成本=直接成本+間接成本間接成本估算:按照企業模型直接估算:簡易算法:間接成本=直接成本*間接成本系數間接成本=規模*人力成本參數*間接成本系數例如:間接成本系數=1.5--380chapter__6項目總估算成本估算成本=直接成本+間接成本估算成本=規模*人力成本參數(1+間接成本系數)成本系數=人力成本參數*(1+間接成本系數)簡易算法:估算成本=規模*成本系數例如:成本系數=3萬/人月退出81chapter__6項目總報價項目總報價=項目總估算成本+風險利潤項目利潤=估算成本*a%風險基金=估算成本*b%稅=估算成本*c%(例如:c為5.5左右)項目總報價=(a+b+c)%*項目總估算成本+項目總估算成本chapter__6總估算成本(BAC)費用BAC時間?83chapter__6本章要點一、軟件項目規模成本的概念二、估算的過程三、估算的方法四、成本預算五、項目核心(進度)計劃—續六、案例分析84chapter__4成本預算成本預算是將項目的總成本按照項目的進度分攤到各個工作單元中去。成本預算將總的成本安排到各個任務中成本預算的目的是產生成本基線
成本估算的輸出結果是成本預算的基礎與依據,成本預算則是將已批準的估算進行分攤。85chapter__4項目成本預算分配項目成本預算包括三種情況:分配資源成本給任務分配固定資源成本給任務分配固定成本86chapter__4分配資源成本資源成本與資源的基本費率緊密相連設置資源費率標準費率加班費率每次使用費率。。。。。。87chapter__4分配固定資源成本當一個項目的資源需要固定數量的資金時,用戶可以向任務分配固定資源成本。例如:需要的硬件設備
88chapter__4分配固定成本有些任務是固定成本的類型的任務,也就是說,用戶知道某項任務的成本不變,不管任務的工期有多長,或不管任務使用了那些資源。在這種情況下,用戶向任務直接分配成本。例如:培訓任務
89chapter__4成本基線90chapter__4估算準確度91chapter__4估算不準的原因基礎數據不足缺乏經驗的估算人員簽約前后不連貫低劣的推測技術估算對需求的敏感性92chapter__4避免低劣估算避免無準備的估算留出估算的時間,并做好計劃使用以前的項目數據使用開發人員提供的數據為基礎估算分類法估算較低層次上的估算要詳細使用軟件估算工具使用幾種不同估算技術,并比較它們的結果93chapter__4估算的表達方式技巧加減限定6個人月,+3人月,-1人月范圍5-9人月94chapter__4估算的表達方式技巧3.風險量化:見下例95chapter__4估算的表達方式技巧4.情況:見下:案例估算的例子96chapter__4《軟件工程中的真相與假象》真相1:造成軟件項目失控最普遍的兩個原因之一就是軟件估算不足(另外的原因是需求不穩定).真相2:往往在錯誤的時間,甚至在沒有定義需求也即沒有理解問題之前,就進行軟件估算.真相3:往往由錯誤的人員,即不是由軟件開發人員或者項目經理,而是由高層管理或者市場營銷,進行軟件估算.真相4:由錯誤的人員、在錯誤的時間做出的軟件估算不但往往是錯誤的,也很少隨著項目的進行做必要的調整.97chapter__4《軟件工程中的真相與假象》真相5:雖然軟件估算會發生如此錯誤,但是人們不去關心產生錯誤的原因,卻還在努力按照錯誤估算的時間進度執行.真相6:管理人員和技術人員對軟件估算的認識是完全隔絕的,因此也難以達到一致的目標.真相7:很少有真正的可行性研究.假象:要估算軟件項目開發時間和開發成本,必須首先估算軟件項目的代碼行數98chapter__4本章要點一、軟件項目規模成本的概念二、估算的過程三、估算的方法四、成本預算五、項目核心(進度)計劃—續六、案例分析99chapter__4編制項目核心(進度)計劃步驟進度編制資源調整成本預算計劃優化調整計劃基線
100chapter__4成本預算結合進度重新調整項目成本預算:資源成本固定資源成本固定成本101chapter__4編制項目核心(進度)計劃步驟進度編制資源調整成本預算計劃優化調整計劃基線102chapter__4計劃優化調整調整資源,解決資源沖突調整進度,優化項目,縮短工期調整項目成本預算,以便減少項目費用.103chapter__4調整資源,解決資源沖突資源沖突(過度分配)主要有兩種表現:
1、分配給一個資源的工時總量大于它的最大可用工時量。
2、同一種資源被分配給時間上重疊的幾個任務或項目中。104chapter__4解決資源沖突的方法資源調配推遲資源開始工作時間替換資源設置資源加班時間調整資源日歷只使用資源的一部分工作時間105chapter__4優化進度,縮短工期項目中各任務的執行時間是否合理,有無沖突現象盡可能縮短項目工期106chapter__4優化進
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年衛生資格考試準備工作試題及答案
- 行政管理實務試題及答案指導
- 2025年護士執業考試臨床問題解決試題及答案
- 多維度備考2025主管護師考試試題及答案
- 2025年自考行政管理的全新試題與答案
- 護理學復習全攻略試題及答案
- 行政法學教材的編寫規范試題及答案
- 執業護士專業知識試題及答案提煉
- 關注細節的文化概論試題及答案
- 2025年護士執業考試的復習認識試題及答案
- 2025年智慧城市建設相關知識考試試卷及答案
- 2025年采煤機司機技能比賽理論考試題庫(共400題含答案)
- 中國網絡廣告行業十四五發展分析及投資前景與戰略規劃研究報告2025-2028版
- 2024-2025學年福建省泉州市晉江市安海中學等五校七年級(下)期中數學試卷
- 2025-2030中國建筑智能化工程行業市場發展分析及發展趨勢前景研究報告
- 2024年安徽演藝集團有限責任公司招聘筆試真題
- 天津2025年天津市面向昌都籍未就業少數民族高校畢業生招聘事業單位人員筆試歷年參考題庫附帶答案詳解
- 和醫院簽運營合同協議
- 2025-2030有機肥料產業市場深度調研及發展趨勢與投資前景研究報告
- 2025年人教版小學五年級下冊奧林匹克數學競賽測試卷(附參考答案)
- 2024年高考數學真題(北京卷)試題試卷原卷答案解析
評論
0/150
提交評論