




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程2025/3/12第13章軟件項目管理所謂管理就是通過計劃、組織和控制等一系列活動,合理地配置和使用各種資源,以達到既定目標的過程。軟件項目管理先于任何技術活動之前開始,并且貫穿于軟件的整個生命周期之中。軟件項目管理過程從一組稱為項目計劃的活動開始,而第一項計劃活動是“估算”。2025/3/1313.1估算軟件規模13.2工作量估算13.3進度計劃13.4人員組織13.5質量保證13.6軟件配置管理13.7能力成熟度模型13.8小結2025/3/1413.1估算軟件規模代碼行技術簡單定量估算軟件規模的方法。根據以往開發類似產品的經驗和歷史數據,估計實現一個功能需要的源程序行數。當有以往開發類似項目的歷史數據可供參考時,用這種方法估計出的數據還是比較準確的。把實現每個功能需要的源程序行數累加起來,就得到實現整個軟件需要的源程序行數。2025/3/15為了估計值更接近實際值,由多名有經驗的軟件工程師分別作出估計。每個人都估計程序的最小規模(a)、最大規模(b)和最可能的規模(m),分別算出這三種規模的平均值a,b和m之后,再用下式計算程序規模的估計值:程序較小時常用的單位是代碼行數(LOC),當程序較大時常用的單位是千行代碼數(KLOC)。2025/3/16功能點技術依據對軟件信息域特性和軟件復雜性的評估結果,估算軟件規模。用功能點(FP)為單位,度量軟件的規模。信息域特性定義信息域5個特性,分別是輸入項數(Inp)、輸出項數(Out)、查詢數(Inq),主文件數(Maf)和外部接口數(Inf)。2025/3/17估算功能點的步驟
計算未調整的功能點數UFP把產品信息域的每個特性(即Inp、Out、Inq、Maf和Inf)都分類成簡單級、平均級或復雜級。根據其等級,為每個特性都分配一個功能點數。用下式計算未調整的功能點數UFP UFP=a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf。其中,ai(1≤i≤5)是信息域特性系數,其值由相應特性的復雜級別決定,如表所示。2025/3/182025/3/19計算技術復雜性因子TCF
度量14種技術因素對軟件規模的影響程度,并用Fi(1≤i≤14)代表這些因素。根據軟件特點,為每個因素分配一個從0(不存在或對軟件規模無影響)到5(有很大影響)的值。用下式計算技術因素對軟件規模的綜合影響程度DI:
技術復雜性因子TCF由下式計算:TCF=0.65+0.01×DI因為DI的值在0~70之間,所以TCF的值在0.65~1.35之間。2025/3/1102025/3/111計算功能點數FP功能點數FP由下式計算:
FP=UFP×TCF功能點數與所用的編程語言無關,因此,功能點技術比代碼行技術更合理一些。但是,在判斷信息域特性復雜級別及技術因素的影響程度時,存在相當大的主觀因素。2025/3/11213.2工作量估算計算機軟件估算模型使用由經驗導出的公式來預測軟件開發的工作量,工作量是軟件規模(LOC或FP)的函數,工作量的單位通常是人月(pm)。支持大多數估算模型的經驗數據,都是從有限個項目的樣本集中總結出來的,因此,沒有一個估算模型能夠適用于所有類型的軟件和開發環境。2025/3/113靜態單變量模型這類模型的總體結構形式如下:E=A+B×(ev)CA、B和C是由經驗數據導出的常數,E是以人月為單位的工作量,ev是估算變量(LOC或FP)。大多數模型都有某種形式的調整成分,使得E能夠依據項目的其他特性(例如,問題的復雜程度、開發人員的經驗、開發環境等)加以調整。2025/3/114面向LOC的估算模型WalstonFelix模型E=5.2×(KLOC)0.91
BaileyBasili模型E=5.5+0.73×(KLOC)1.16
Boehm簡單模型E=3.2×(KLOC)1.05Doty模型(在KLOC>9的情況下)E=5.288×(KLOC)1.407
2025/3/115面向FP的估算模型Albrecht&Gaffney模型E=-13.39+0.0545FPKemerer模型E=60.62×7.728×10-8FP3Maston、Barnett和Mellichamp模型E=585.7+5.12FP2025/3/116動態多變量模型也稱為軟件方程式,根據從4000多個當代軟件項目中收集的生產率數據推導出來的。把工作量看作是軟件規模和開發時間兩個變量的函數。E=[LOC×B0.333/P]3×(1/t)4E是以人月或人年為單位的工作量;t是以月或年為單位的項目持續時間;B是“特殊技術因子”,隨著對集成、測試、質量保證、文檔及管理技術的需求的增長而緩慢增加,對于較小的程序(KLOC=5~10),B=0.16,對于超過70KLOC的程序,B=0.39;2025/3/117P是“生產率參數”,反映下述因素對工作量的影響:總體的過程成熟度及管理水平;使用良好的軟件工程實踐的程度使用的程序設計語言的級別;軟件環境的狀態;軟件項目組的技術及經驗;應用系統的復雜程度。2025/3/118當開發實時嵌入式軟件時,典型值是P=2000;對于電信和系統軟件來說,P=10000;對于商業系統應用,P=28000。適用于當前項目的生產率參數,可以從歷史數據導出。軟件方程式有兩個獨立的變量:①對軟件規模的估算值(用LOC表示);②以月或年為單位的項目持續時間。從上式可以看出,開發同一個軟件(即LOC固定)的時候,如果把項目持續時間延長一些,則可降低完成項目所需要的工作量。2025/3/119COCOMO模型COCOMO模型是Boehm提出的構造性成本模型(COnstructive
COst
MOdel),是一種層次結構的軟件估算模型。下面以中級COCOMO模型為例,介紹構造性成本模型。該模型把軟件開發工作量表示成代碼行數(KLOC)的非線性函數:2025/3/120其中MM是開發工作量(以人月為單位),C1是模型系數,KLOC是估計的代碼行數,a是模型指數,fi(i=1到15)是成本因素。每個成本因素都根據它的重要程度和影響大小賦予一定數值。成本因素影響所有工程項目,即使不使用COCOMO模型估算成本,也應該注意這些因素??梢园殉杀疽蛩貏澐殖僧a品因素、計算機因素、人員因素和項目因素等。2025/3/121產品因素要求的軟件可靠性(RELY)數據庫規模(DATA)軟件產品復雜程度(CPLX)計算機因素執行時間的約束(TIME)存儲約束(STOR)環境變更率(VIRT)計算機換向時間(TURN)2025/3/122人員因素系統分析員的能力(ACAP)應用經驗(AEXP)程序員的能力(PCAP)環境知識(VEXP)語言知識(LEXP)2025/3/123項目因素程序設計實踐(MODP)軟件工具(TOOL)進度約束(SCED)2025/3/124軟件開發項目可以分成組織式、半獨立式和嵌入式三種模式。對組織式軟件的要求通常不苛刻,開發人員經驗豐富,而且對軟件的使用環境很熟悉(通常是為自己所在的組織開發軟件),程序規模一般不大(小于50000行代碼)。例如,簡單的商業數據處理系統即屬于組織式。嵌入式軟件需要在很強的約束條件下運行,通常和某些硬設備緊密結合在一起(例如,空中交通管理軟件),對這類軟件系統的要求通常十分苛刻。對半獨立式軟件的要求通常介于上述兩類軟件之間,但是這類軟件的規模一般都比較大(可達300000行代碼)。2025/3/125下表列出了上述三種開發模式的模型系數和模型指數。再下表列出了各個成本因素的實際值(稱為工作量系數)。有了這兩張表中的數據,就可以估算工作量了。2025/3/1262025/3/127對64個覆蓋了相當廣泛的應用領域的項目樣本的研究,證明了中級COCOMO模型的有效性:對這些樣本應用該模型,預測結果的誤差在20%以內的項目約占總項目的68%。2025/3/12813.3進度計劃項目管理者的目標是定義全部項目任務,識別出關鍵任務,跟蹤關鍵任務的進展狀況,以保證能及時發現拖延進度的情況。管理者必須制定一個足夠詳細的進度表,以便監督項目進度,并控制整個項目。軟件項目的進度安排,通過把工作量分配給特定的軟件工程任務,并規定完成各項任務起、止日期,從而將估算的工作量分布于計劃好的項目持續期內。2025/3/129基本原則下述基本原則能夠指導軟件項目的進度安排。劃分相互依賴性時間分配工作量確認定義責任定義結果定義里程碑2025/3/130Gantt圖Gantt圖(甘特圖)是歷史悠久、應用廣泛的進度計劃工具,下面通過一個非常簡單的例子介紹這種工具。2025/3/131舊木板房刷漆工程的Gantt圖為了醒目地表示里程碑,可以在Gantt圖中加上菱形標記,一個菱形代表一個里程碑,如圖所示。2025/3/132標有里程碑的Gantt圖2025/3/133工程網絡Gantt圖能很形象地描繪任務分解情況,以及每個子任務(作業)的開始時間和結束時間,因此是進度計劃和進度管理的有力工具。具有直觀簡明和容易掌握、容易繪制的優點,但:不能顯式地描繪各項作業彼此間的依賴關系;進度計劃的關鍵部分不明確,難于判定哪些部分應當是主攻和主控的對象;計劃中有潛力的部分及潛力的大小不明確,往往造成潛力的浪費。2025/3/134當把一個工程項目分解成許多子任務,并且彼此間的依賴關系又比較復雜時,僅用Gantt圖作為安排進度的工具是不夠的,不僅難于做出既節省資源又保證進度的計劃,且還容易發生差錯。工程網絡是制定進度計劃時另一種常用的圖形工具,它同樣能描繪任務分解情況以及每項作業的開始時間和結束時間,還顯式地描繪各個作業彼此間的依賴關系。2025/3/135在工程網絡中用箭頭表示作業(例如,刮舊漆,刷新漆,清理等),用圓圈表示事件(一項作業開始或結束)。注意,事件僅僅是可以明確定義的時間點,它并不消耗時間和資源。作業通常既消耗資源又需要持續一定時間。圖是舊木板房刷漆工程的工程網絡。圖中表示刮第1面墻上舊漆的作業開始于事件1,結束于事件2。用開始事件和結束事件的編號標識一個作業,因此“刮第1面墻上舊漆”是作業1—2。2025/3/136舊木板房刷漆工程的工程網絡圖中:1—2刮第1面墻上的舊漆;2—3刮第2面墻上的舊漆;2—4給第1面墻刷新漆;3—5刮第3面墻上舊漆;4—6給第2面墻刷新漆;4—7清理第1面墻窗戶;5—8刮第4面墻上舊漆;6—8給第3面墻刷新漆;7—9清理第2面墻窗戶;8—10給第4面墻刷新漆;9—10清理第3面墻窗戶;10—11清理第4面墻窗戶;虛擬作業:3—4;5—6;6—7;8—9。2025/3/137工程網絡中的事件,如果既有箭頭進入又有箭頭離開,則它既是某些作業結束又是另一些作業的開始。例如,圖中事件2既是作業1—2(刮第1面墻上的舊漆)的結束,又是作業2—3(刮第2面墻上舊漆)和作業2—4(給第1面墻刷新漆)的開始。也就是說,只有第1面墻上的舊漆刮完之后,才能開始刮第2面墻上舊漆和給第1面墻刷新漆這兩個作業。因此,工程網絡顯式地表示了作業之間的依賴關系。2025/3/138在圖中還有一些虛線箭頭,它們表示虛擬作業,也就是事實上并不存在的作業。引入虛擬作業是為了顯式地表示作業之間的依賴關系。例如,事件4既是給第1面墻刷新漆結束,又是給第2面墻刷新漆開始(作業4—6)。但是,在開始給第2面墻刷新漆之前,不僅必須已經給第1面墻刷完了新漆,而且第2面墻上的舊漆也必須已經刮凈(事件3)。也就是說,在事件3和事件4之間有依賴關系,或者說在作業2—3(刮第2面墻上舊漆)和作業4—6(給第2面墻刷新漆)之間有依賴關系,虛擬作業3—4明確地表示了這種依賴關系。注意,虛擬作業既不消耗資源也不需要時間。2025/3/139估算進度
畫出類似上圖那樣的工程網絡之后,系統分析員就可以借助它的幫助估算工程進度了。為此需要在工程網絡上增加一些必要的信息。首先,把每個作業估計需要使用的時間寫在表示該項作業的箭頭上方。注意,箭頭長度和它代表的作業持續時間沒有關系,箭頭僅表示依賴關系,它上方的數字才表示作業的持續時間。其次,為每個事件計算下述兩個統計數字:最早時刻EET和最遲時刻LET。這兩個數字將分別寫在表示事件的圓圈的右上角和右下角,如下圖左下角符號所示。2025/3/140舊木板房刷漆工程的完整的工程網絡(黃色箭頭是關鍵路徑)2025/3/141事件的最早時刻是該事件可以發生的最早時間。通常工程網絡中第一個事件的最早時刻定義為零,其他事件的最早時刻在工程網絡上從左至右按事件發生順序計算。計算最早時刻EET使用下述三條簡單規則:考慮進入該事件的所有作業;對于每個作業都計算它的持續時間與起始事件的EET之和;選取上述和數中的最大值作為該事件的最早時刻EET。2025/3/142事件的最遲時刻是在不影響工程竣工時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年紙制香片行業深度研究報告
- 2025至2030年甘肅省煤炭工業投資分析及前景預測報告
- 2025至2030年豬軟面革項目投資價值分析報告
- 2025至2030年椒粉行業深度研究報告
- 2025至2030年錄像濕洗帶項目投資價值分析報告
- 酒店微營銷培訓
- 2025至2030年女式針織長袖條紋坎金絲毛衣項目投資價值分析報告
- PLC步進指令編程-組合鉆床控制系統設計
- 2025至2030年包邊鞋項目投資價值分析報告
- 2025至2030年全球及中國預制房屋行業市場分析及投資建議報告
- 2025廣東廣州市花都區恒悅房地產開發有限公司招聘項目用工人員16人筆試參考題庫附帶答案詳解
- 琴行規章制度
- 小學校長在月度教師會議總結發言:教學、管理、成長全回顧
- 醫院內部控制崗位職責與流程優化
- 國企人力筆試題庫及答案
- 如何通過合理膳食安排促進嬰幼兒成長發育
- JJF(紡織) 061-2024 圓盤取樣器校準規范
- 智能健康養老服務人才培養創新與實踐探索
- 2025年宣傳策劃類面試題及答案
- DBJ50-T-047-2024 建筑地基基礎設計標準
- 人教版(2024)七年級下冊生物期中復習必背知識點提綱
評論
0/150
提交評論