軟件項目開發(fā)計劃_第1頁
軟件項目開發(fā)計劃_第2頁
軟件項目開發(fā)計劃_第3頁
軟件項目開發(fā)計劃_第4頁
軟件項目開發(fā)計劃_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

工程分解目的——明確工程所包含的各項工作工程分解的結(jié)果——WBS〔任務分解結(jié)構(gòu)〕圖,它是一個分級的樹型結(jié)構(gòu)工程分解意義——WBS〔任務分解結(jié)構(gòu)〕圖是實施工程、創(chuàng)造最終產(chǎn)品或效勞所必須進行的全部活動的一張清單,也是進度方案、人員分配、預算方案的根底提高估算本錢、時間和資源的準確性,使工作變得更細化,分工更明確。WBS——WorkBreakdownStructure16.1軟件工程任務分解WBS分解類型基于可交付成果的劃分上層一般為可交付成果為導向下層一般為可交付成果的工作內(nèi)容基于工作過程的劃分上層按照工作的流程分解下層按照工作的內(nèi)容劃分16.1軟件工程任務分解基于可交付成果的劃分——WBS舉例:信息網(wǎng)絡工程信息網(wǎng)絡工程結(jié)構(gòu)化布線網(wǎng)絡平臺建設布線設計采購布線驗收方案設計采購網(wǎng)絡平臺實施驗收0級1級2級16.1軟件工程任務分解基于工作過程的劃分——WBS舉例:網(wǎng)絡系統(tǒng)工程網(wǎng)絡系統(tǒng)培訓設備準備設備采購設備驗收交接網(wǎng)絡系統(tǒng)設計布線設計平臺設計工程實施布線實施網(wǎng)絡集成軟件開發(fā)軟件需求確定系統(tǒng)設計編碼測試0級1級2級16.1軟件工程任務分解WBS表達形式——層次結(jié)構(gòu)圖和清單列表〔鋸齒列表〕

圖形顯示

清單列表

1.0系統(tǒng)

1.1元素A1.1.1任務

1.1.2任務

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

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

1100

1200

1x001x101x111x12

項目負責人審核意見:

簽名:日期:16.1軟件工程任務分解WBS分解本卷須知WBS分解的規(guī)模和數(shù)量因工程而異收集與工程相關的所有信息參看一下類似的工程的WBS,與相關人員討論可以參照相關模板最低層是可控的和可管理的,但是防止不必要的過細,最好不要超過7層,軟件工程推薦分解到40小時的任務每個Workpackage必須有一個提交物16.1軟件工程任務分解定義任務完成的標準每個WBS必須有利于責任分配可以準備WBS的字典最后與相關人員進行評審16.1軟件工程任務分解案例討論假設您要在自己的家里舉行一次生日宴會,請按WBS為你制定一份工作的分解方案?假設貴公司進行成立10周年慶典活動,如果請你負責此次活動,你將如何分析此次活動所應包含的工作?16.1軟件工程任務分解16.2軟件工程估算的概念1、什么是軟件工程估算指預測構(gòu)造軟件工程所需要的工作量以及任務經(jīng)歷時間的過程。軟件工程估算包括規(guī)?!布垂ぷ髁俊彻浪惚惧X估算進度估算。初步的估算用于確定軟件工程的可行性;詳細的估算用于指導工程方案的制定。16.2軟件工程估算的概念2、軟件工程估算遇到的問題預算及進度的現(xiàn)實性缺乏確鑿的證據(jù);在設計階段進行實際的軟硬件權(quán)衡分析時沒有可靠的依據(jù),導致軟件本錢大幅度增長;工程經(jīng)理在確定各開發(fā)階段及活動需要的時間和工作量時沒有可靠的依據(jù),使得工程經(jīng)理無法確定軟件開發(fā)工作是否在按方案執(zhí)行。16.2軟件工程估算的概念3、軟件工程估算的時機軟件工程估算的時間點〔1〕客戶需求時間點E1的估算可以為軟件組織提供初步信息,決定將開發(fā)的軟件是否對本組織有利。〔2〕產(chǎn)品定義時間點E2的估算有助于軟件組織在進入產(chǎn)品開發(fā)之前再次權(quán)衡產(chǎn)品的可行性?!?〕系統(tǒng)設計時間點E3的估算主要考慮如何將設計好的系統(tǒng)開發(fā)出來及有沒有被無視的問題,不會決定是否終止工程,但會影響以后各階段資源的分配?!?〕系統(tǒng)實現(xiàn)初步的軟件產(chǎn)品可用于系統(tǒng)測試,前面各項活動消耗的資源和軟件工作可以獲得,從而對原有估算進行調(diào)整。〔5〕系統(tǒng)運行所有不確定因素成為量,估算工作是對估算過程的評價。16.3軟件工程規(guī)模估算軟件規(guī)模即軟件的程序量。軟件規(guī)模是軟件工作量的主要影響因素。對軟件規(guī)模的估計要從軟件的分解開始。軟件的分層結(jié)構(gòu)對應工作分解結(jié)構(gòu)〔WBS〕。

軟件工程規(guī)模的估算是指從軟件工程范圍中抽出軟件功能,確定每個軟件功能所必須執(zhí)行的一系列軟件工程任務。軟件工程規(guī)模估算的概念16.3軟件工程規(guī)模估算軟件工程規(guī)模估算過程在技術(shù)允許的條件下,應從最詳細的WBS開始;精確定義度量的標準;估計底層每一模塊的規(guī)模,匯總以得到總體估計;適當考慮偶然因素的影響。軟件工程規(guī)模度量方法LOC估算法FP估算法PERT估算法16.3軟件工程規(guī)模估算1LOC估算法LOC---LinesOfCode,代碼行,指源代碼的總行數(shù)。LOC可分為:無注釋的源代碼行(Non-CommentedSourceLinesofCode,NCLOC)注釋的代碼行(CommentedSourceLinesofCode,CLOC)LOC=NCLOC+CLOC常用千代碼行〔KLOC〕表示程序長度。

16.3軟件工程規(guī)模估算計算方法:其中,a為最小規(guī)模、m為最可能的規(guī)模、b為最大規(guī)模,多個專家給出估計值,然后分別算出均值。特點:可以根據(jù)經(jīng)驗進行估計,相應的工具較多但根據(jù)高層需求說明估計較困難源程序僅是軟件配置的一個成分,用它代表整體不太合理不同語言實現(xiàn)的軟件所需的代碼行數(shù)不同16.3軟件工程規(guī)模估算2FP估算法FP----FunctionPoint,功能點基于系統(tǒng)功能的一種規(guī)模估算方法,通過研究初始應用需求來確定各種輸入、輸出、查詢、外部文件和內(nèi)部文件的數(shù)目,從而確定功能點的數(shù)量。估算方法:首先計算未調(diào)整的功能點數(shù)UFC〔UnadjustedFunctionPointCount〕16.3軟件工程規(guī)模估算UFC的計算步驟〔1〕計算所需要的輸入、輸出、查詢、外部文件、內(nèi)部文件的數(shù)量;〔2〕對各功能項估計復雜性,大致劃分成簡單、一般和復雜3種情況,求出功能項的加權(quán)和,即UFC。16.3軟件工程規(guī)模估算未調(diào)整的功能點〔UFC〕功能項權(quán)重簡單一般復雜輸入346輸出457查詢346外部文件71015內(nèi)部文件5710功能點的復雜度權(quán)重16.3軟件工程規(guī)模估算FP的計算依據(jù)UFC和計算復雜因子TFC〔TechnicalComplexityFactor〕的乘積計算FP。16.3軟件工程規(guī)模估算技術(shù)復雜度因子〔TFC〕的組成名稱對系統(tǒng)的重要程度無影響影響很小有一定影響重要比較重要很重要F1可靠的備份和恢復345F2分布式函數(shù)012345F3大量使用的配置012345F4操作簡便性012345F5復雜界面012345F6重用性012345F7多重站點012345F8數(shù)據(jù)通信012345F9性能012345F10聯(lián)機數(shù)據(jù)輸入012345F11在線升級012345F12復雜數(shù)據(jù)處理012345F13安裝簡易性012345F14易于修改性01234516.3軟件工程規(guī)模估算FP的計算功能點FP由未UFC與技術(shù)復雜度因子TCF相乘而得。

FP=UFC×TCF

TCF的計算

TCF

=0.65+0.01×(SUM(Fi))

16.3軟件工程規(guī)模估算功能點度量有助于在軟件工程的早期作出規(guī)模估計,但無法自動度量。一般在早期的估計使用功能點,然后依據(jù)經(jīng)驗將功能點轉(zhuǎn)化為代碼行,再使用代碼行繼續(xù)進行估計。使用情況:估計新的軟件開發(fā)工程;應用軟件包括很多輸入輸出和文件活動;擁有經(jīng)驗豐富的功能點估計專家;擁有充分的數(shù)據(jù)資料,可以相當準確地將功能點轉(zhuǎn)換為LOC.16.3軟件工程規(guī)模估算3PERT估算法PERT----ProgramEvaluationonReviewTechnique,方案評審技術(shù)20世紀50年代末由美國海軍開發(fā)北極星潛艇系統(tǒng)時為協(xié)調(diào)3000多個承包商和研究機構(gòu)而開發(fā)的、用于工程進度方案的一種技術(shù)。其理論根底是假設工程持續(xù)時間以及整個工程完成時間是隨機的,且服從某種概率分布。PERT可以估計整個工程在某個時間內(nèi)完成的概率。16.3軟件工程規(guī)模估算3PERT估算法簡單的PERT規(guī)模估算技術(shù)是假設軟件規(guī)模滿足正態(tài)分布。只需估算兩個量:最低規(guī)模和最大規(guī)模。期望規(guī)模:E=〔a+b〕/2標準偏差:σ=〔b-a〕/6

16.3軟件工程規(guī)模估算軟件生產(chǎn)率1.影響因素估計出軟件工程的代碼數(shù)量之后,需要將其轉(zhuǎn)換為人月數(shù)。估算人月數(shù)需要分析影響每個人月平均完成代碼數(shù)量的因素,即確定軟件生產(chǎn)率。

16.3軟件工程規(guī)模估算軟件規(guī)模和產(chǎn)品類型對生產(chǎn)率的影響規(guī)模產(chǎn)品類型<1010~50>50語言1.83.94.0控制1.61.82.4通信1.01.62.0軟件生產(chǎn)率軟件生產(chǎn)率取決于產(chǎn)品類型、工程規(guī)模和軟件變更的程度。16.3軟件工程規(guī)模估算軟件生產(chǎn)率軟件變更和產(chǎn)品類型對生產(chǎn)率的影響變更或新增的百分比產(chǎn)品類型<20%20%~40%>40%語言3.06.06.6控制1.52.32.3通信1.41.81.916.3軟件工程規(guī)模估算軟件生產(chǎn)率2.生產(chǎn)率數(shù)據(jù)的獲取〔1〕選擇最近完成的,在規(guī)模、語言、應用類型、團隊開發(fā)經(jīng)驗等方面與待完成工程相似的工程;〔2〕獲得各個工程的LOC數(shù)據(jù),各工程使用相同的計數(shù)方法;〔3〕對于更改正的程序,記錄更改代碼所占比例;〔4〕計算投入到每個工程上的人員數(shù)量,包括設計、實現(xiàn)、測試、文檔人員;〔5〕計算各個工程的軟件生產(chǎn)率,LOC/PM,進而求出平均值作為類似工程的典型軟件生產(chǎn)率。16.4軟件工程本錢估算

本錢估算是對完成軟件工程所需費用的估計和方案,是軟件工程方案中的一個重要成分。

理想的本錢估算是根據(jù)歷史標準估算,但由于軟件工程和方案變化多端,把今后活動與現(xiàn)實比照幾乎不可能,并且在大型工程中,還應考慮今后幾年的員工工資結(jié)構(gòu)和管理費用是否會發(fā)生變化。16.4軟件工程本錢估算1本錢估算方法1、算法模型算法模型提供一個或多個數(shù)學算法,將軟件本錢估算值看成主要技術(shù)驅(qū)動因素的假設干變量的函數(shù)?!?〕線性模型工作量=a0×a1x1×…..×anxnX1,……Xn,是本錢驅(qū)動因素變量,a1,….an是一組經(jīng)過選擇的能使本模型與一組觀察數(shù)據(jù)點之間的擬合度最正確的系數(shù)。開發(fā)本錢=工作量×某一衡定本錢

16.4軟件工程本錢估算1本錢估算方法〔2〕乘積模型工作量=a0×a1x1×…..×anxnX1,……Xn,a1,….an含義與線性模型相同?!?〕解析模型工作量=f〔x1,…..,xn〕X1,……Xn,是本錢驅(qū)動因素變量。f是一非線性或非乘積的數(shù)學模型。16.4軟件工程本錢估算1本錢估算方法〔4〕表格模型用表格表示的本錢驅(qū)動因素變量與軟件開發(fā)工作量之間的及本錢驅(qū)動因素變量與用來調(diào)節(jié)工作量估算值的因子之間的關系?!?〕復合模型是線性、乘積、解析、表格模型的結(jié)合,對本錢估算值的每一局部使用最恰當?shù)暮瘮?shù)形式,以此來描述本錢驅(qū)動變量與軟件開發(fā)工作量之間的關系。16.4軟件工程本錢估算1本錢估算方法2、專家判定就是與一位或多位專家商討,專家根據(jù)自己的經(jīng)驗和對工程的理解對工程的本錢作出估算。最好由多位專家進行估算,并需要采取某種方法合成一個最終的估算值?!?〕求中值和平均值方法簡單,但易于受到極端估算值的影響產(chǎn)生偏差?!?〕召開小組會議小組討論,統(tǒng)一或同意某一估算值。能去掉一些極端的估算,但易于受權(quán)威人士或能言善變?nèi)耸康挠绊憽?6.4軟件工程本錢估算1本錢估算方法〔3〕Delphi技術(shù)1948年Rand公司產(chǎn)生的一種預測未來事件的技術(shù),隨后作為在聯(lián)合規(guī)劃和本錢估算中使專家意見一致的方法。步驟:協(xié)調(diào)員給每位專家一份軟件規(guī)格說明和一張記錄估算值的表格;專家無記名填寫表格,可以向協(xié)調(diào)員提問,但相互間不能討論;協(xié)調(diào)員對專家添在表上的估算進行小結(jié),據(jù)此給出估算迭代表,要求專家進行下一輪估算。迭代表上只標明自己的估計,其他估計匿名;專家重新無記名填寫表格。該步驟適當?shù)闹貜蛯掖危麄€過程不得小組討論。16.4軟件工程本錢估算1本錢估算方法〔3〕Delphi技術(shù)16.4軟件工程本錢估算1本錢估算方法〔4〕WidebandDelphi技術(shù)將小組會議和Delphi技術(shù)結(jié)合。步驟:協(xié)調(diào)員給每位專家一份軟件規(guī)格說明和一張記錄估算值的表格;專家開會討論軟件產(chǎn)品和任何估算相關的問題;專家無記名填寫表格;協(xié)調(diào)員匯總結(jié)果,將結(jié)果以估算迭代表形式返回給各個專家,迭代表樣式與Delphi技術(shù)相同,但不包含書面理由;召開小組會討論上次估計結(jié)果,自愿修改個人估計;如此反復,直到各個專家的估計逐漸接近,到達一個可以接受的范圍。16.4軟件工程本錢估算1本錢估算方法〔4〕WidebandDelphi技術(shù)WidebandDelphi估算過程16.4軟件工程本錢估算1本錢估算方法3、類比就是把當前工程和以前作過的類似工程比較,通過比較獲得其工作量的估算值。該方法的前提是確定比較因子,即提取軟件工程的特性因子作為比較的根底。常見因子有軟件開發(fā)方法、功能需求文檔數(shù)及接口數(shù)等。類比估算可以在整個工程級和子系統(tǒng)級上進行。類比方法的優(yōu)點在于估算值是根據(jù)某個工程的實際經(jīng)驗得出,可以對這一經(jīng)驗進行研究推斷新工程的某些不同之處以及對本錢可能產(chǎn)生的影響。缺點是無法弄清以前工程在多大程度上代表新工程的特征。16.4軟件工程本錢估算1本錢估算方法4、自頂向下就是從軟件工程的整體出發(fā),根據(jù)將要開發(fā)的軟件工程的總體特性,結(jié)合以前完成工程積累的經(jīng)驗,推算出工程的總本錢或工作量,然后按比例分配到各個組成局部中去。優(yōu)點在于其對系統(tǒng)級的重視。缺點在于難以識別低級別上的技術(shù)性困難,并且由于考慮不細致,有時會遺漏所開發(fā)軟件某些局部。16.4軟件工程本錢估算1本錢估算方法5、自底向上就是把待開發(fā)的軟件逐步細化,直到能明確工作量,由負責該局部的人給出工作量的估算值,然后把所有局部相加,得到總工作量。與自頂向下互補,需要更多精力。優(yōu)點是較為準確,缺點是易于忽略許多與軟件開發(fā)有關的系統(tǒng)級本錢,如系統(tǒng)集成、配置管理、質(zhì)量保證等,所以給出的總估算值偏低。常見的方法:任務單元法。16.4軟件工程本錢估算1本錢估算方法任務單元法方案樣例軟件部分:庫存情況更新開發(fā)者:Wward日期:2/8/82階段任務單元人日小計規(guī)劃和需求需求定義開發(fā)計劃516產(chǎn)品設計產(chǎn)品設計初步用戶手冊測試計劃63110詳細設計詳細PDL描述數(shù)據(jù)定義測試數(shù)據(jù)和過程用戶手冊442212編程及單元測試編碼單元測試結(jié)果61016集成及測試編制文檔組裝及測試459總計5316.4軟件工程本錢估算2本錢估算模型1、模型分類根據(jù)模型中變量的依存關系:靜態(tài)模型與動態(tài)模型根據(jù)根本變量的多少:單變量模型和多變量模型預測量:被引入到模型中對軟件開發(fā)過程進行預測的變量。選擇和處理預測量是軟件估算工作的核心。16.4軟件工程本錢估算〔1〕靜態(tài)單變量模型用同一個根本公式通過同一個預測量來估算所需要的值。C=aLbC:待估算的量,L:預測量,a,b:根據(jù)經(jīng)驗得到的參數(shù)實例:SEI模型E=1.4L0.93;DOC=30.4L0.9;D=4.6L0.26L:預測的源代碼行數(shù),E:工作量,DOC:文本量,D:時間

2本錢估算模型1、模型分類16.4軟件工程本錢估算〔2〕靜態(tài)多變量模型靜態(tài)多變量模型仍然基于C=aLb公式,但還取決于幾個能代表軟件開發(fā)環(huán)境的各種因素的變量,如軟件開發(fā)方法、用戶需求變化情況、內(nèi)存限制、實際時間等。實例:Boehm開發(fā)的COCOMO模型〔3〕動態(tài)多變量模型通過多個變量的相互作用對軟件過程作出估算。實例:Putnam提出的模型2本錢估算模型1、模型分類16.4軟件工程本錢估算靜態(tài)單變量模型:〔1〕Walston-Felix模型〔2〕Bailey_Basili模型2本錢估算模型2、已有模型16.4軟件工程本錢估算靜態(tài)單變量模型:〔3〕Boehm簡單模型〔4〕Doty模型(KLOC>9時適用)2本錢估算模型2、已有模型16.4軟件工程本錢估算靜態(tài)單變量模型:〔5〕Albrecht&Gaffney模型〔6〕Maston,Barnett和Mellichamp模型2本錢估算模型2、已有模型16.4軟件工程本錢估算動態(tài)多變量模型:從4000多個當代軟件工程中收集的生產(chǎn)率數(shù)據(jù)推導出來2本錢估算模型2、已有模型其中,E是人月或人年為單位的工作量t是以月或年為單位的工程持續(xù)時間B是特殊技術(shù)因子,隨著對測試、質(zhì)量保證等增加緩慢增加P是生產(chǎn)率參數(shù)16.4軟件工程本錢估算

3COCOMOⅡ模型COCOMO模型于1981年由Boehm利用加利福尼亞的一個咨詢公司的大量工程數(shù)據(jù)推導出的本錢模型。為適應軟件業(yè)界的開展,1994年推出COCOMOII。COCOMO模型是一個分層次的系列軟件本錢估算模型,包括根本級、中級、詳細模型三個子模型。主要采用自底向上的方法進行估算。(ConstructiveCostModel,構(gòu)造性本錢模型)原始的COCOMO模型都采用相同的形式:E=aSb×EAFS:KLOC計數(shù)的軟件規(guī)模,EAF:工作量調(diào)整因子(EffortAdjustmentFactor)∏fia,b:隨開發(fā)模式〔有機式、半別離式、嵌入式〕變化的因子16.4軟件工程本錢估算開發(fā)模式ab有機式2.41.05半分離式3.01.12嵌入式3.61.20〔1〕根本COCOMO模型把工作量作為軟件程序規(guī)模的函數(shù)來計算:

E=aSb

S:KLOC計數(shù)的軟件規(guī)模,

a,b:取值如下表。開發(fā)時間

t=cEd

c,d:隨開發(fā)模式改變的因子,取值如下表。開發(fā)模式cd有機式2.50.38半分離式2.50.35嵌入式2.50.3216.4軟件工程本錢估算〔1〕根本COCOMO模型使用COCOMO模型必須首先確定軟件開發(fā)模式和軟件規(guī)模。優(yōu)點簡單易用;缺點不準確,沒有考慮開發(fā)環(huán)境的因素。16.4軟件工程本錢估算〔2〕中級COCOMO模型中級COCOMO模型考慮開發(fā)環(huán)境的因素,引入15個附加預測量,成為本錢驅(qū)動量。E=aSb×EAFa,b取值:開發(fā)模式ab有機式3.21.05半分離式3.01.12嵌入式2.81.2016.4軟件工程本錢估算〔2〕中級COCOMO模型EAF取值:

成本驅(qū)動量描述取值很低低一般高很高非常高產(chǎn)品RELY必要的軟件可靠性要求0.750.881.001.151.40DATA數(shù)據(jù)庫規(guī)模0.941.001.081.16CPLX產(chǎn)品復雜性0.700.851.001.151.301.65計算機TIME執(zhí)行時間限制1.001.111.30STOR主存限制1.001.061.211.66VIRT虛擬計算機可變性0.871.001.151.301.56TURN計算機響應時間0.871.001.071.15人員ACAP分析員能力1.461.191.000.860.71AEXP應用經(jīng)驗1.291.131.000.910.82PCAP程序員能力1.421.171.000.860.70VEXP虛擬機經(jīng)驗*1.211.101.000.90LEXP編程語言經(jīng)驗1.141.071.000.95項目MODP現(xiàn)代編程經(jīng)驗1.241.101.000.910.82TOOL軟件工具使用1.241.101.000.910.83SCED規(guī)定的開發(fā)進度表1.231.081.001.041.1016.4軟件工程本錢估算〔2〕中級COCOMO模型開發(fā)時間估算與根本COCOMO模型相同。中級COCOMO模型提供了一個把握工程環(huán)境因素的途徑,大多數(shù)的工程管理考慮的問題可以用其中15個本錢驅(qū)動變量來代表。中級COCOMO模型還可以進行部件級估算。16.4軟件工程本錢估算〔3〕詳細COCOMO模型為提高估算精度,提出該模型。詳細COCOMO模型的工作量和開發(fā)時間的計算公式和中級COCOMO模型相同,不同之處在于本錢驅(qū)動量被分成不同層次且在軟件開發(fā)的不同階段被賦予不同的值。引入兩種功能:階段敏感的本錢驅(qū)動因素:需求方案和產(chǎn)品設計、詳細設計、編碼和單元測試、集成測試三層次的產(chǎn)品分級結(jié)構(gòu):模塊、子系統(tǒng)、系統(tǒng)16.4軟件工程本錢估算〔3〕詳細COCOMO模型估算過程:計算模塊規(guī)模;計算名義生產(chǎn)率;計算每個模塊在每一階段的名義工作量;模塊的名義工作量=〔模塊規(guī)?!凉ぷ髁侩A段分布百分數(shù)〕/名義生產(chǎn)率計算每一模塊在每一階段的工作量=名義工作量×調(diào)節(jié)因子;計算每一子系統(tǒng)各階段的名義工作量=各個模塊在各階段工作量之和;計算每一子系統(tǒng)各階段的工作量=名義工作量×各階段調(diào)節(jié)因子求出總的工作量=每一子系統(tǒng)各階段工作量之和16.4軟件工程本錢估算COCOMOII模型主要變化:使用三個螺旋式的生命周期模型:用于估算早期原型工作量的應用組合模型、早期設計模型、后體系結(jié)構(gòu)模型。支持五種工程:根底軟件、系統(tǒng)集成、程序自動化生成、應用集成、最終用戶編程。使用五個規(guī)模因子計算工程規(guī)模經(jīng)濟性的冪指數(shù),代替原理的根本、中級、詳細分級方法;刪除局部本錢驅(qū)動因素:虛擬計算機可變性〔VIRT〕、計算機響應時間〔TURN)、虛擬機經(jīng)驗〔VEXP〕、編程語言經(jīng)驗〔LEXP〕、現(xiàn)代編程經(jīng)驗〔MODP〕新增本錢驅(qū)動因素:DOCU〔文檔編制〕、RUSE〔要求重復使用〕、PVOL〔平臺兼容性〕、PEXP〔平臺經(jīng)驗〕、LTEX〔語言和工具經(jīng)驗〕、PCON〔人員連續(xù)性〕、SITE〔多站點開發(fā)〕;改變原有本錢驅(qū)動模型的賦值,以適應當前的軟件測試技術(shù)。16.4軟件工程本錢估算4Putnam模型一種自頂向下的宏觀估算模型,Putnam模型假設軟件工程的工作量分布類似于Rayleigh曲線。1、Rayleigh曲線按照一條典型的Rayleigh曲線來配備人員,在工程開展期間緩慢上升,而在驗收時急劇下降。Putnam把該結(jié)構(gòu)引入軟件工程的開發(fā)中,用Norden-Rayleigh曲線把人力表述為時間的函數(shù),在軟件工程的不同生命周期階段分別使用不同的曲線。16.4軟件工程本錢估算4Putnam模型2、Putnam模型的方程〔1〕軟件方程S=C×E1/3×t4/3其中,S是以LOC為單位的源代碼行數(shù)C是技術(shù)因子E是以人年為單位的工作量t是以年為單位的消耗時間〔直到產(chǎn)品交付所用時間〕C的取值:復合本錢驅(qū)動因子,取決于:總體過程成熟度和管理實踐、切實可行的軟件工程實踐的施行程度、使用的編程語言的層次、軟件環(huán)境狀況、軟件小組的技術(shù)和經(jīng)驗、應用軟件的復雜性等。16.4軟件工程本錢估算4Putnam模型2、Putnam模型的方程〔2〕人力增加方程D=E/t3其中,D是被稱為人員配備加速度的一個常數(shù)把軟件方程和人員配備方程聯(lián)立可以得到工作量計算方程:E=S9/7×D4/7/C9/7另外一個形式:E=S3/(C3×t4)16.4軟件工程本錢估算4Putnam模型3、軟件工具SLCMSLCM----SoftwareLifeCycleManagement,軟件生命周期管理軟件是一個以Putnam模型為根底的專用軟件費用估算工具美國弗吉尼亞的定量軟件管理集團設計16.4軟件工程本錢估算5本錢估算步驟1.建立目標幫助建立本錢估算目標的主要因素是軟件工程當前所處的生命周期階段,它大致對應于對軟件工程的認識程度和根據(jù)本錢估算值而做的承諾程度。16.4軟件工程本錢估算5本錢估算步驟2.規(guī)劃需要的數(shù)據(jù)和資源把估算看作一個小型工程,初期制定工程方案。具體方法:目的、產(chǎn)品和進度、責任、過程、需要的資源、假定。3.確定軟件需求對于估算來說,軟件需求說明書的價值由其可檢驗的程度決定。4.擬定可行的細節(jié)盡可能做到軟件估算目標所要求的細節(jié)。16.4軟件工程本錢估算本錢估算步驟5.運用多種獨立的技術(shù)和原始資料防止任何單一方法的缺點且充分利用其優(yōu)點。6.比較迭代各個估算值對各估算值比較,分析得到不同估算值的原因,找出可以改進估算的地方,提高估算的準確度。7.隨訪跟蹤收集實際本錢及其進展的數(shù)據(jù)并將它們與估算值進行比較。16.4軟件工程本錢估算6本錢模型的評價1.評價準那么定義、正確性、客觀性、復雜性、構(gòu)造性、…..2.現(xiàn)有模型存在的問題主觀因素的存在估算模型樣本的有限性Norden-Rayleigh曲線〔基于硬件工程,建立在觀測根底上〕估算模型的某些前期假定有悖于軟件工程模型之間有矛盾的地方軟件工程規(guī)模與其工作量的關系問題16.5軟件工程進度估算1、基于規(guī)模的進度估算〔1〕定額估算法T=Q/(R×S)其中,T表示活動的持續(xù)時間,可以用小時、日、周表示Q表示活動的工作量,可以用人月、人天表示R表示人力或設備的數(shù)量,可以用人或設備數(shù)表示S表示開發(fā)〔生產(chǎn)〕效率,以單位時間完成的工作量表示適用于規(guī)模比較小的工程16.5軟件工程進度估算1、基于規(guī)模的進度估算〔2〕經(jīng)驗導出模型D=a×Eb其中,D表示月進度E表示人月工作量a是2---4的參數(shù),b是1/3左右的參數(shù),它們是依賴于工程自然屬性的參數(shù)。

16.5軟件工程進度估算1、基于規(guī)模的進度估算已有模型〔1〕Walston_Felix模型〔2〕COCOMO模型

16.5軟件工程進度估算1、基于規(guī)模的進度估算已有模型〔3〕COCOMO2模型〔4〕Putnam模型

16.5軟件工程進度估算2、工程評價技術(shù)T=〔O+4M+P〕/6其中,T表示工程歷時O是活動〔工程〕完成的最小估算值,最樂觀值P是活動〔工程〕完成的最大估算值,最悲觀值M是活動〔工程〕完成的最大可能估算值16.5軟件工程進度估算3、關鍵路徑法關鍵路徑法----CriticalPathMethod,CPM

杜邦公司開發(fā)的技術(shù)。是根據(jù)指定的網(wǎng)絡圖邏輯關系進行的單一的歷時估算。

步驟:計算每一個活動的單一的、最早和最晚開始和完成日期計算網(wǎng)絡圖中的最長路徑16.6軟件工程進度方案進度方案中的概念一種觀點:方案是通向工程成功的路線圖進度方案是工程方案的核心1、軟件工程進度定義進度是對執(zhí)行的活動和里程碑制定的工作方案日期表。它決定是否到達預期目的,是跟蹤和溝通工程進展狀態(tài)的依據(jù),也是跟蹤變更對工程影響的依據(jù)。進度安排有兩種前提:交付日期確定使用資源確定16.6軟件工程進度方案進度方案中的概念2、軟件活動定義軟件活動定義是一個過程。通過活動定義這一過程可使工程目標表達出來。注:任務分解是面向提交物的活動定義是面向活動的,是對WBS做進一步分解的結(jié)果,以便清楚應該完成的每個具體任務或提交物應該執(zhí)行的活動。16.6軟件工程進度方案進度方案中的概念3、活動之間的關系

A、B兩種活動之間的關系主要有4種:開始→結(jié)束:表示A活動開始的時候,B活動結(jié)束開始→開始:表示A活動開始的時候,B活動也開始結(jié)束→結(jié)束:表示A活動結(jié)束的時候,B活動也結(jié)束結(jié)束→開始:表示A活動結(jié)束的時候,B活動開始

結(jié)束→開始是最常見的邏輯關系。16.6軟件工程進度方案進度方案中的概念4、活動之間關系的依據(jù)決定活動之間關系的依據(jù)有4種:強制性依賴關系,也稱硬邏輯關系軟件邏輯關系,是人為的、主觀的,也稱指定性相關外部依賴關系:工程活動與非工程活動之間的依賴關系里程碑:作為活動排序的一局部,以確保到達里程碑的要求。16.6軟件工程進度方案〔1〕制定工程方案的原那么工程方案在工程開始的時候制定,并隨著工程的進展不斷開展。開始時由于需求模糊,因此考慮的重點放在需要更多知識的地方以及如何去獲取這些知識?!?〕軟件工程方案的要素包括目標、合理的概念設計、工作分解結(jié)構(gòu)、規(guī)模估計、工作量估計和工程進度安排。進度方案方法1、制定工程方案16.6軟件工程進度方案〔3〕軟件工程方案的邏輯要點需求分析:把模糊的需求準確化工程的概念設計:工程方案的根底,定義工作分解結(jié)構(gòu)資源配置和進度安排:必須與需求同步更新需求足夠清晰時,進行詳細設計,制定實現(xiàn)策略并納入方案充分理解工程各局部后,確定實施細節(jié)并在下次方案更新時形成文檔在整個工程周期中,工程方案為各種資源配置提供框架進度方案方法1、制定工程方案16.6軟件工程進度方案〔4〕軟件工程方案周期

進度方案方法1、制定工程方案16.6軟件工程進度方案〔5〕軟件工程方案的內(nèi)容工程的目標:描述做什么,為誰做,何時做,以及工程成功結(jié)束的標準工作分解結(jié)構(gòu)WBS:把工程分解為可直接操作的元素資源配置:根據(jù)經(jīng)驗和相應的原那么,確定各局部需要的資源進度安排:根據(jù)資源配置情況和工程的實際背景,制定工程的進度進度方案方法1、制定工程方案16.6軟件工程進度方案進度方案方法2、分階段交付〔1〕必要性由于用戶需求的不斷變換,早期只對根本功能進行約定,其余問題的約定推遲。在分階段交付中,軟件功能按照其重要程度的順序進行交付,最重要的功能先交付。分階段交付沒有縮短軟件開發(fā)的時間,只是降低后期交付的壓力。

16.6軟件工程進度方案〔2〕分階段交付過程分階段交付要求穩(wěn)定的體系結(jié)構(gòu)、精心的管理和詳細的技術(shù)方案,能夠消除逾期交付、集成失敗、軟件特征的逐漸增加及客戶、經(jīng)理與開發(fā)人員之間的摩擦。使軟件到達可交付的質(zhì)量水平可以防止問題的積累導致交付軟件時問題泛濫成災。進度方案方法2、分階段交付16.6軟件工程進度方案〔3〕如何分階段即每個階段都包含哪些軟件特征。好的方法是定義每個階段的主題,然后就主題和用戶進行商榷,再根據(jù)主題把軟件特征分配到各階段。階段主題描述1編輯文本編輯器:文本編輯、保存、打印2基本格式字符和基本段落格式3高級格式所見即所得頁面布局、屏幕格式等高級格式4實用程序拼寫檢查、語法檢查等實用程序5集成與其他軟件的充分集成字處理程序的分階段交付主題進度方案方法2、分階段交付16.6軟件工程進度方案1.進度安排的整體過程在確定工程的資源〔總本錢和時間〕后,就需要把其分配到工程的各個開發(fā)階段中,即確定工程的進度??梢詤⒖碱愃乒こ痰慕?jīng)驗數(shù)據(jù)或者公開發(fā)表的數(shù)據(jù)。Griffin進度分解數(shù)據(jù)項目階段工作量(%)概念設計3.49詳細設計11.05編碼和單元測試23.17集成測試27.82軟件驗證34.47進度方案方法3、進度安排16.6軟件工程進度方案工程進度安排的過程如下:〔1〕根據(jù)工程總體進度目標,編制人員方案?!?〕比較所需資源和可獲取資源,確定各階段的初步進度,然后再確定整個工程的初步進度?!?〕對初步進度方案進行評審,確保方案滿足要求,否那么重復上面的步驟。進度安排的詳細程度取決于相應的工作分解結(jié)構(gòu)的詳細程度,而工作分解結(jié)構(gòu)又取決于工程當前所處階段與歷史經(jīng)驗。進度方案方法3、進度安排16.6軟件工程進度方案〔2〕進度中的并行性軟件工程的并行性要求進度方案必須確定各任務之間的附屬關系、各任務的先后次序和銜接以及各個任務的持續(xù)時間,以保證所有的任務都能夠按進度完成。進度方案方法3、進度安排16.6軟件工程進度方案〔3〕進度安排的方法1〕甘特圖〔橫道圖,GanttChart〕特點:每一任務的完成不以能否繼續(xù)下一階段的任務為標準,而是是否交付相應文檔和通過評審;清楚說明方案進度,動態(tài)反映進展狀況;不能表達各任務之間的依賴關系。進度方案方法3、進度安排16.6軟件工程進度方案〔3〕進度安排的方法2〕網(wǎng)絡圖用網(wǎng)絡分析的方法編制的進度方案稱為網(wǎng)絡圖。①網(wǎng)絡圖設G=〔V,E,g〕是一個n階無回路的有向加權(quán)圖,其中g(shù)是E到非負實數(shù)集的函數(shù)。假設G中存在兩個V的不相交非空子集X、Y,其中對任意的vi∈X,沒有一條有向邊以Vi為終點;對任意vi∈Y,沒有一條有向邊以Vi為起點,那么稱G是一個網(wǎng)絡圖,X、Y中的頂點分別稱為G的發(fā)點和收點。進度方案方法3、進度安排16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法2〕網(wǎng)絡圖②PERT圖設G=〔V,E,g〕是一個網(wǎng)絡圖,假設G中只有一個發(fā)點和一個收點,其中加權(quán)函數(shù)表示為時間函數(shù),那么網(wǎng)絡圖G稱為PERT圖〔方案評審圖〕。圖中有向邊表示軟件工程的任務,有向邊的起點和終點表示任務的開始和結(jié)束,對應的權(quán)那么表示任務的持續(xù)時間。假設存在從節(jié)點i到節(jié)點j的有向邊,那么稱i為j的前驅(qū)節(jié)點,j為i的后繼節(jié)點。16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法2〕網(wǎng)絡圖③路徑與關鍵路徑

路徑:從發(fā)點開始,按照各個任務的順序,連續(xù)不斷的到收點的一條通路稱為路徑。

關鍵路徑:在各條路徑上,完成各個任務的時間之和最長的路徑稱為關鍵路徑。④PERT圖的關鍵路徑

設G是一個PERT圖,G中從發(fā)點到收點的所有路徑中,權(quán)最大的路徑稱為關鍵路徑。16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法

2〕網(wǎng)絡圖⑤關鍵任務組成關鍵路徑的任務稱為關鍵任務。編制網(wǎng)絡方案的重點是找出關鍵路徑,對各個關鍵任務優(yōu)先安排資源,挖掘潛力,采取措施,盡量縮短需要的時間;對于非關鍵路徑上的任務可以在不影響完工時間的條件下,抽取適當資源用在關鍵任務上。⑥任務持續(xù)時間Tij:表示節(jié)點i和節(jié)點j之間有向邊表示的任務的持續(xù)時間。方法:一點時間估計法、三點時間估計法〔T=(a+4m+b)/6〕。16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法2〕網(wǎng)絡圖⑦任務最早開始時間、最晚開始時間和緩沖時間〔機動時間〕設G=〔V,E,g〕是一個n階PERT圖,其中V={v1,v2,…..vn},且v1、Vn分別為發(fā)點和收點,那么對任意Vi〔i=1,2,…N〕分為以下兩種情況:任務最早開始時間:V1到Vi的所有路徑的權(quán)中,最大的權(quán)稱為以Vi為起點的任務的最早開始時間,記為E〔Vi〕。從左到右順序計算。E〔V1〕=0E〔Vi〕=MAX〔E〔Vk〕+Tki〕,i∈2,3….nVk是Vi的前驅(qū)節(jié)點,Tki指Vk與Vi之間的任務持續(xù)時間。任務最晚開始時間:最終提交時間記為T,那么以收點Vn為終點的任務的最晚結(jié)束時間為T,從右到左計算所有任務最晚結(jié)束時間。L〔Vn〕=TL〔Vi〕=MIN〔L〔Vj〕-Tij〕,i∈1,2,3….n-1Vj是Vi的后繼節(jié)點,Tij指Vj與Vi之間的任務持續(xù)時間。緩沖時間:任務的最晚開始時間和最早開始時間的差值。16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法2〕網(wǎng)絡圖⑧網(wǎng)絡優(yōu)化時間優(yōu)化根據(jù)對方案進度的要求,縮短工程完成時間,兩種方式:采取技術(shù)措施,縮短關鍵任務的持續(xù)時間;采取組織措施,充分利用非關鍵任務的總時差,合理調(diào)配資源,縮短關鍵任務的持續(xù)時間。時間-費用優(yōu)化研究如何使工程交付時間短、費用少;或者保證交付時間的條件下,減少費用;或者在限制費用的條件下,交付時間縮短。無論那種方式都需要計算最低本錢日程。

16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法2〕網(wǎng)絡圖⑨用網(wǎng)絡圖安排進度的步驟把工程分解為一些小的軟件任務,確定任務之間的邏輯關系;確定任務持續(xù)時間、單位時間內(nèi)資源需要量等根本數(shù)據(jù);繪制網(wǎng)絡圖,計算網(wǎng)絡時間和確定關鍵路徑,得到初始進度方案方案;對初始方案進行調(diào)整和完善,得到優(yōu)化的進度方案方案。16.6軟件工程進度方案3、進度安排〔3〕進度安排的方法

溫馨提示

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

評論

0/150

提交評論