6-軟件項目開發計劃_第1頁
6-軟件項目開發計劃_第2頁
6-軟件項目開發計劃_第3頁
6-軟件項目開發計劃_第4頁
6-軟件項目開發計劃_第5頁
已閱讀5頁,還剩74頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第6章軟件工程開發方案本章內容提要

軟件項目分解

6.1

軟件項目估算概念6.2

軟件項目規模估算6.3

軟件項目成本估算6.4

軟件項目進度估算6.5

軟件項目進度計劃6.6

本章小結6.7

復習思考題6.86.1軟件工程分解工程分解目的——明確工程所包含的各項工作;工程分解的結果就是WBS〔任務分解結構〕圖工程分解意義——WBS〔任務分解結構〕圖是實施工程、創造最終產品或效勞所必須進行的全部活動的一張清單,也是進度方案、人員分配、預算方案的根底工程分解內容——工程分解就是先把復雜的工程逐步分解成一層一層的要素〔工作〕,直到具體明確為止工程分解工具——工程分解的工具是工作分解結構WBS原理,它是一個分級的樹型結構,是一個對工程工作由粗到細的分解過程軟件工程分解WBS——WorkBreakdownStructure主要是將一個工程分解成易于管理的幾個局部或幾個細目,以便確保找出完成工程工作范圍所需的所有工作要素它是一種在工程全范圍內分解和定義各層次工作包的方法WBS——WorkBreakdownStructure結構層次越往下層那么工程組成局部的定義越詳細,WBS最后構成一份層次清晰,可以具體作為組織工程實施的工作依據WBS——WorkBreakdownStructure通常是一種面向“成果〞的“樹〞,其最底層是細化后的“可交付成果〞,該樹組織確定了工程的整個范圍。但WBS的形式并不限于“樹〞狀,還有多種形式。軟件工程分解WBS分解類型基于可交付成果的劃分上層一般為可交付成果為導向下層一般為可交付成果的工作內容基于工作過程的劃分上層按照工作的流程分解下層按照工作的內容劃分軟件工程分解基于可交付成果的劃分——WBS舉例:信息網絡工程信息網絡工程結構化布線網絡平臺建設布線設計采購布線驗收方案設計采購網絡平臺實施驗收0級1級2級軟件工程分解基于工作過程的劃分——WBS舉例:網絡系統工程網絡系統培訓設備準備設備采購設備驗收交接網絡系統設計布線設計平臺設計工程實施布線實施網絡集成軟件開發軟件需求確定系統設計編碼測試0級1級2級軟件工程分解WBS表達形式——層次結構圖和鋸齒列表〔清單〕

圖形顯示

鋸齒列表

1.0系統

1.1元素A1.1.1任務

1.1.2任務

1.2元素B1.0系統1.1元素A1.2元素B1.1.1任務1.1.2任務軟件工程分解WBS工作編碼

——由高層向下層用多位碼編排,要求每項工作有唯一的編碼。10001100111011111112111311201121112211231200軟件工程分解WBS工作編碼舉例:企業經營評價系統工程網絡1430軟件1410硬件1420系統開發1400測試1500實施1600系統設計1300問題界定1100企業經營評價系統項目1000系統分析1200文檔1440包裝軟件1411培訓1610驗收1630系統轉換1620定制軟件14120級1級2級3級軟件工程分解工程工作分解結構表項目名稱:項目負責人:單位名稱:制表日期:工作分解結構任務編碼任務名稱主要活動描述負責人1000

1100

1200

1x001x101x111x12

項目負責人審核意見:

簽名:日期:軟件工程分解WBS分解的一般步驟總工程子工程或主體工作任務主要工作任務次要工作任務小工作任務或工作元素軟件工程分解WBS分解本卷須知WBS分解的規模和數量因工程而異收集與工程相關的所有信息參看一下類似的工程的WBS,與相關人員討論可以參照相關模板最低層是可控的和可管理的,但是防止不必要的過細,最好不要超過7層,軟件工程推薦分解到40小時的任務每個Workpackage必須有一個提交物軟件工程分解定義任務完成的標準每個WBS必須有利于責任分配可以準備WBS的字典最后與相關人員進行評審軟件工程分解案例討論假設您要在自己的家里舉行一次生日宴會,請按WBS為你制定一份工作的分解方案?假設貴公司進行成立10周年慶典活動,如果請你負責此次活動,你將如何分析此次活動所應包含的工作?本章內容提要

軟件項目分解

6.1

軟件項目估算概念6.2

軟件項目規模估算6.3

軟件項目成本估算6.4

軟件項目進度估算6.5

軟件項目進度計劃6.6

本章小結6.7

復習思考題6.86.2軟件工程估算概念軟件工程估算——是指預測構造軟件工程所需要的工作量以及任務經歷時間的過程。主要包括三個方面:規模〔即工作量〕的估算確定每個軟件功能所必須執行的一系列軟件工程任務本錢的估算確定完成軟件工程規模相應付出的代價進度的估算估計任務的持續時間,即歷時估計軟件工程估算概念估算方法規模估算方法代碼行〔LOC,LinesofCode〕估算法、功能點〔FP,FunctionPoints〕估算法和方案評審技術〔PERT,ProgramEvaluationandReviewTechnique〕估算法本錢估算方法自頂向下〔類比〕估算法、自下而上估算法、參數估算法、專家估算法、猜測估算法等進度估算方法基于規模的進度估算、工程評價技術、關鍵路徑法、專家估算方法、類推估算方法、模擬估算方法、進度表估算方法、基于承諾的進度估算方法和Jones的一階估算準那么等本章內容提要

軟件項目分解

6.1

軟件項目估算概念6.2

軟件項目規模估算6.3

軟件項目成本估算6.4

軟件項目進度估算6.5

軟件項目進度計劃6.6

本章小結6.7

復習思考題6.86.3軟件工程規模估算估算的步驟在技術允許的條件下,應從最詳細的工作分解結構開始精確定義度量的標準估計底層每一模塊的規模,匯總已得到總體的估算適當考慮偶然因素的影響

軟件工程規模估算LOC估算法代碼行可以分為無注釋的源代碼行〔NCLOC,Non-CommentedSourceLinesOfCode〕和注釋的源代碼行〔CLOC:CommentedSourceLinesOfCode〕,源代碼的總行數LOC即為NCLOC與CLOC之和FP估算法功能點度量是在需求分析階段基于系統功能的一種規模估計方法,該方法通過研究初始應用需求來確定各種輸入、輸出、查詢、外部文件和內部文件的數目,從而確定功能點數量軟件工程規模估算規模的單位LOC(LinesofCode)源代碼程序長度的測量FP(FunctionPoint)用系統的功能數量來測量人月人天人年本章內容提要

軟件項目分解

6.1

軟件項目估算概念6.2

軟件項目規模估算6.3

軟件項目成本估算6.4

軟件項目進度估算6.5

軟件項目進度計劃6.6

本章小結6.7

復習思考題6.86.4軟件工程本錢估算本錢估算方法算法模型專家判定類比自頂向下自底向上軟件工程本錢估算本錢估算模型——靜態模型和動態模型靜態模型用一個唯一的變量〔如程序規模〕作為初始元素來計算所有其他變量〔如本錢、時間〕,且所用計算公式的形式對于所有變量都是相同的動態模型沒有類似靜態模型中的惟一根底變量,所有變量都是相互依存的已有的模型1)Farr-Zagorski模型;2)Price-S模型;3)Walston-Felix模型;4)Putnam模型;5)COCOMO模型

軟件工程本錢估算COCOMOⅡ模型——在現代軟件工程研究結果的根底上,將未來軟件市場劃分為根底軟件、系統集成、程序自動化生成、應用集成、最終用戶編程五個局部,COCOMOII通過三個生命周期模型〔估算早期原型工作量的應用組合模型,早期設計模型,后體系結構模型〕支持上述的五種軟件工程。軟件工程本錢估算Putnam模型——Putnam模型是Putnam于1978在來自美國計算機系統指揮部的200多個大型工程〔工程的工作量在30~1000人年之間〕數據的根底上推導出來的一種動態多變量模型。Putnam模型假設軟件工程的工作量分布類似于Rayleigh曲線。Putnam模型包含兩個方程:軟件方程和人力增加方程。

軟件工程本錢估算實用軟件估算模型——是一種自下而上和參數法的結合模型,步驟如下:對任務進行分解估算每個任務i的最大值Max、最小值Min、最可能值Avg,Ei=(Max+4Avg+Min)/6〔或者使用唯一的估計值:最可能值〕直接本錢=E1+E2+……+Ei+……+En工程總估算本錢=直接本錢+間接本錢工程總報價=工程總估算本錢+風險利潤風險利潤=利潤+風險基金+稅軟件工程本錢估算直接本錢直接本錢=開發本錢+管理本錢+質量本錢直接本錢=規模*人力本錢參數例如:人力本錢參數=2萬/人月,30人月的工程的直接本錢是60萬間接本錢間接本錢=直接本錢*間接本錢系數間接本錢=規模*人力本錢參數*間接本錢系數例如:間接本錢系數=1.5--3軟件工程本錢估算本錢估算步驟建立目標規劃需要的數據和資源確定軟件需求擬定可行的細節運用多種獨立的技術和原始資料比較并迭代各個估算值隨訪跟蹤軟件工程本錢估算本錢模型的評價準那么定義正確性客觀性構造性細節穩定性范圍易用性可預期性節約性本章內容提要

軟件項目分解

6.1

軟件項目估算概念6.2

軟件項目規模估算6.3

軟件項目成本估算6.4

軟件項目進度估算6.5

軟件項目進度計劃6.6

本章小結6.7

復習思考題6.86.5軟件工程進度估算基于規模的進度估算定額估算法經驗導出模型工程評價技術利用網絡順序圖的邏輯關系和加權歷時估算來計算工程歷時關鍵路徑法它是根據指定的網絡圖邏輯關系進行的單一的歷時估算,首先計算每一個活動的單一的、最早和最晚開始和完成日期,然后計算網絡圖中的最長路徑,以便確定工程的完成時間估計,采用此方法可以配合進行方案的編制本章內容提要

軟件項目分解

6.1

軟件項目估算概念6.2

軟件項目規模估算6.3

軟件項目成本估算6.4

軟件項目進度估算6.5

軟件項目進度計劃6.6

本章小結6.7

復習思考題6.86.6軟件工程進度方案進度方案定義——進度是對執行的活動和里程碑制定的工作方案日期表。它決定是否到達預期目的,它是跟蹤和溝通工程進展狀態的依據,也是跟蹤變更對工程影響的依據。軟件活動定義是一個過程,它涉及確認和描述一些特定的活動為了進一步制定切實可行的進度方案,必須對活動〔任務〕進行適當的順序安排按時完成工程是工程經理最大的挑戰之一;時間是工程規劃中靈活性最小的因素進度問題是工程沖突的主要原因,尤其在工程的后期軟件工程進度方案工程進度〔時間〕管理過程活動定義〔Activitydefinition〕活動排序〔Activitysequencing〕活動歷時估計〔Activitydurationestimating〕制定進度方案〔Scheduledevelopment〕進度控制〔Schedulecontrol〕-工程跟蹤軟件工程進度方案活動定義〔Activitydefinition〕確定為完成工程的各個交付成果所必須進行的諸項具體活動完成WBS中的細目和子細目活動排序〔Activitysequencing〕對活動進行適當的順序安排.工程各項活動之間存在相互聯系與相互依賴關系根據這些關系安排各項活動的先后順序軟件工程進度方案任務(活動)之間的關系進度管理圖示——網絡圖、甘特圖、里程碑圖、資源圖開始-結束ABAB結束-開始結束-結束ABAB開始-開始軟件工程進度方案網絡圖——展示工程中的各個活動以及活動之間的邏輯關系;網絡圖是活動排序的一個輸出;網絡圖可以表達活動的歷時常用網絡圖——PDM:節點法(單代號)網絡圖、ADM:箭線法(雙代號)網絡圖、CDM:條件箭線圖法在網絡圖中一個活動用一個方框、節點或者其他方式表示每一個活動被各種關系線相連接著將工程中的各個活動的邏輯關系表示出來網絡圖開始于一個任務、工作、活動、里程碑網絡圖結束于一個任務、工作、活動、里程碑有些活動前置任務或者后置任務軟件工程進度方案PDM(Precedencediagram)構成PDM網絡圖的根本特點是節點(Box)節點(Box)表示活動(工序,工作)用箭線表示各活動(工序,工作)之間的邏輯關系.可以方便的表示活動之間的各種邏輯關系沒有時標在軟件工程中PDM比ADM更通用軟件工程進度方案PDM網絡圖的關系開始活動1活動3活動2結束軟件工程進度方案軟件工程的PDM圖例開始需求獲取項目規劃需求確認項目計劃評審總體設計詳細設計系統測試集成測試編碼結束軟件工程進度方案ADM〔Arrowdiagram〕ADM也稱為AOA〔activity-on-arrow〕或者雙代號工程網絡圖在ADM網絡圖中,箭線表示活動(工序\工作)節點Node〔圓圈:circle〕表示前一道工序的結束,同時也表示后一道工序的開始只適合表示結束-開始的邏輯關系可以有時標軟件工程進度方案ADM圖例總體設計需求確認需求獲取系統測試集成測試編碼詳細設計計劃評審項目規劃123698754軟件工程進度方案CDM〔conditiondiagram〕CDM網絡圖也稱為條件箭頭圖法網絡圖CDM允許活動序列相互循環與反響從而在繪制網絡圖的過程中會形成許多條件分支而在PDM、ADM中是絕對不允許的軟件工程進度方案甘特圖顯示根本的任務信息可以查看任務的工期、開始時間和結束時間以及資源的信息只有時標,沒有活動的邏輯關系有兩種表示方法〔棒狀、三角形〕軟件工程進度方案甘特圖-實例軟件工程進度方案里程碑圖里程碑顯示工程進展中的重大工作完成里程碑不同于活動活動是需要消耗資源的里程碑僅僅表示事件的標記SpecificationDesign08/9811/98Testing02/995/99AvailableCoding9/0011/00Announce里程碑圖示軟件工程進度方案資源圖軟件工程進度方案編制工程進度方案確定工程的所有活動及其開始和結束時間監控工程實施的根底,它是工程管理的基準方案是三維的,考慮時間,費用和資源編制工程進度方案步驟進度編制資源調整本錢預算方案優化調整形成基線方案軟件工程進度方案進度編制的根本方法關鍵路徑法正推法逆推法時間壓縮法趕工〔Crash〕快速跟進〔Fasttracking:搭接〕資源調整嘗試法軟件工程進度方案——關鍵路徑法關鍵路徑法〔CPM:CriticalPathMethod〕CPM是根據指定的網絡順序邏輯關系和單一的歷時估算,計算每一個活動的單一的、確定的最早和最遲開始和完成日期計算網絡圖中完成時間最長的路徑計算浮動時間軟件工程進度方案進度編制的根本術語〔進度時間參數〕最早開始時間(Earlystart)最晚開始時間(Latestart)最早完成時間(Earlyfinish)最晚完成時間(Latefinish)自由浮動〔FreeFloat〕總浮動〔TotalFloat〕超前(Lead)滯后(Lag)軟件工程進度方案浮動時間(Float)浮動時間是一個活動的機動性,它是一個活動在不影響其它活動或者工程完成的情況下可以延遲的時間量Float>0:時間安排比較合理Float=0:比較緊張Float<0:工程進度會推遲自由浮動〔FreeFloat〕在不影響后置任務最早開始時間本活動可以延遲的時間總浮動〔TotalFloat〕在不影響工程最早完成時間本活動可以延遲的時間軟件工程進度方案進度時間參數計算軟件工程進度方案關鍵路徑〔CriticalPath〕關鍵路徑是決定工程完成的最短時間。工程整個網絡圖中最長的路徑關鍵路徑上的任何活動延遲,都會導致整個工程完成時間的延遲關鍵路徑上的任何任務都是關鍵任務是時間浮動為0〔Float=0〕的路徑關鍵路徑確定首先確定工程的網絡圖對網絡圖路徑中的所有活動確定歷時其中最長的路徑就是criticalpath軟件工程進度方案SimpleExampleofDeterminingtheCriticalPathConsiderthefollowingprojectnetworkdiagram.Assumealltimesareindays.

a.Howmanypathsareonthisnetworkdiagram?b.Howlongiseachpath?c.Whichisthecriticalpath?d.Whatistheshortestamountoftimeneededtocompletethisproject?軟件工程進度方案DeterminingtheCriticalPathforProjectX軟件工程進度方案關鍵路徑的幾點說明如果關鍵路徑上的一個活動比方案的時間長,整個工程的進度將會拖延,除非采取糾正措施并不是所有的關鍵任務都在關鍵路徑上明確關鍵路徑后,你可以合理安排進度關鍵路徑可能不止一條在工程的進行過程中,關鍵路徑可能改變的軟件工程進度方案正推法(Forwardpass)——按照時間順序計算最早開始時間和最早完成時間的方法,稱為正推法首先建立工程的開始時間工程的開始時間是網絡圖中第一個活動的最早開始時間從左到右,從上到下進行任務編排當一個任務有多個前置時,選擇其中最大的最早完成日期作為其后置任務的最早開始日期公式:ES+Duration=EFEF+Lag=ESs軟件工程進度方案正推法實例LFLSEFESDuration=7TaskA18LFLSEFESDuration=3TaskB14LFLSEFESDuration=6TaskC814LFLSEFESDuration=3TaskD47LFLSEFESDuration=3TaskG1417LFLSEFESDuration=3TaskE710LFLSEFESDuration=2TaskH1719LFLSEFESDuration=2TaskF46FinishStart軟件工程進度方案逆推法(Backwardpass)——按照逆時間順序計算最晚開始時間和最晚結束時間的方法,稱為逆推法.首先建立工程的結束時間工程的結束時間是網絡圖中最后一個活動的最晚結束時間從右到左,從下到上進行計算當一個前置任務有多個后置任務時,選擇其中最小最晚開始日期作為其前置任務的最晚完成日期公式:LF-Duration=LSLS-Lag=LFp軟件工程進度方案逆推法實例StartLFLSEFESDuration=7TaskA1818LFLSEFESDuration=3TaskB14811LFLSEFESDuration=6TaskC814814LFLSEFESDuration=3TaskD471114LFLSEFESDuration=3TaskG14171417LFLSEFESDuration=3TaskE7101417LFLSEFESDuration=2TaskH17191719LFLSEFESDuration=2TaskF461214CP:A->C->G->HCpPath:18Finish軟件工程進度方案——檢查網絡圖確保網絡圖完整是否正確標示了criticalpath?是否有哪個任務存在很大的float,需要重新規劃是否有不合理的空閑時間熟悉并分析網絡圖criticalpath上有什么風險?Float有多大?那些任務有那種類型的Float。應該確保你的目標被滿足是否需要增加里程碑那些任務有提交物工作可以在期望的時間內完成嗎?提交物可以在規定的時間內完成嗎?軟件工程進度方案——時間壓縮法時間壓縮法—時間壓縮法是在不改變工程范圍的前提下縮短工程工期的方法應急法--趕工〔Crash〕趕工也稱為時間-本錢平衡方法

是在不改變活動的前提下,通過壓縮某一個或者多個活動的時間來到達縮短整個工程工期的目的是在最小相關本錢增加的條件下,壓縮關鍵路經上的關鍵活動歷時的方法壓縮角度,越小越好追加成本軟件工程進度方案進度壓縮單位本錢計算方法進度壓縮單位本錢=〔壓縮本錢-正常本錢〕/(正常進度-壓縮進度)例如:任務A:正常進度7周,本錢5萬;壓縮到5周的本錢是6.2萬進度壓縮單位本錢=(6.2-5)/(7-5)=6000元/周如果壓縮到6周的本錢是:5.6萬軟件工程進度方案平行作業法--快速跟進〔Fasttracking:搭接〕——改變活動間的邏輯關系,并行開展活動項目管理:100需求:10設計:5任務設計:5時間軟件工程進度方案任務超前(Lead)舉例:A完成之前3天B開始作用:1〕解決任務的搭接2〕對任務可以進行合理的拆分3〕縮短工程工期活動A活動B結束---開始Lead=3軟件工程進度方案——資源調整嘗試法資源調整嘗試法資源優化配置通過調整進度方案,形成平穩連續的資源需求最有效的利用資源使資源閑置的時間最小化盡量防止超出資源能力方法資源平衡,維持工期不變,使資源強度盡可能平衡在滿足資源約束條件下,使工期最短將資源從非關鍵活動轉到關鍵活動逆向資源分配法軟件工程進度方案

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論