2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩112頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第三章 軟件項目管理,項目管理的概念軟件項目度量軟件項目計劃與估算風險分析和管理項目進度安排軟件質(zhì)量保證軟件配置管理,項目管理的譜系,軟件項目管理的目的、任務(wù)和內(nèi)容,目的 為了使軟件項目能夠在預定成本、進度、質(zhì)量的前提下順利完成,必須對軟件工程項目進行計劃、組織、監(jiān)控和管理 任務(wù)制定軟件項目的實施計劃和方案;對人員進行組織和分工;按照計劃進度,以及成本管理、風險管理、質(zhì)量管理的要求進行軟件開發(fā),完成

2、軟件項目的各項要求和任務(wù)。,3.1.1 軟件度量,軟件度量的概念軟件規(guī)模度量軟件功能度量,,3.1 軟件項目度量,軟件度量分類,3.1.1.1 度量、估算,度量 metrics度量具有數(shù)字特征,軟件工程范圍的度量是軟件開發(fā)過程、軟件資源或軟件產(chǎn)品簡單屬性的定量描述。如,程序規(guī)模、操作符個數(shù)、程序中錯誤的個數(shù)等。估算 estimation對軟件產(chǎn)品、過程、資源進行預測估算可以采用經(jīng)驗公式、或參考歷史資料估算用于事

3、前簽訂合同、立項、制定工作計劃等,軟件的外部屬性和內(nèi)部屬性外部屬性 軟件產(chǎn)品、過程、資源與環(huán)境的關(guān)系如,成本、效益、勞動生產(chǎn)率、可靠性、可維護性內(nèi)部屬性 軟件產(chǎn)品、過程、資源、環(huán)境自身的屬性如,產(chǎn)品結(jié)構(gòu)、模塊化程度、復雜性、程序長度等。,產(chǎn)品-過程-資源,產(chǎn)品的內(nèi)部屬性程序代碼長度 程序功能 模塊化 重用性控制流 數(shù)據(jù)流 模塊耦合度與內(nèi)聚度 產(chǎn)品

4、的外部屬性程序的可靠性 可用性 可維護性軟件的可理解性 有效性 可移植性,過程的內(nèi)部屬性 工作量 計劃和進度 一段時間內(nèi)某類事件發(fā)生的次數(shù) 過程的外部屬性 成本 可控制性 可觀察性 穩(wěn)定性資源的內(nèi)部屬性 人 軟硬件環(huán)境 方法 經(jīng)驗資源的外部屬性 成本 時間,3.1.1.2 面向規(guī)模的度量,代碼行數(shù) LOC或KL

5、OC生產(chǎn)率 Pl=L/E 其中 L 軟件項目代碼行數(shù) E 軟件項目工作量(人月 PM) Pl 軟件項目生產(chǎn)率(LOC/PM)代碼出錯率 EQRl=Ne/L 其中 Ne 軟件項目的代碼錯誤數(shù) EQRl 每千行代碼的錯誤數(shù),

6、每行代碼平均成本 Cl=S/L 其中 S 軟件項目總開銷(元/美元) Cl軟件項目每行代碼的平均成本文檔與代碼比 Dl=Pd/L 其中 Pd 軟件項目文檔頁數(shù) Dl 每千行代碼的平均文檔數(shù),例 軟件項目記錄,生產(chǎn)率:Pl=L/E=12.1kLoc/24PM=504Loc/PM出錯率:EQRl=Ne/L=29

7、個/12.1kLoc=2.4個/kLoc平均成本:Cl=S/L =168 000美元/12.1kLoc= 13.88美元/Loc每千行代碼的平均文檔頁數(shù):Dl=Pd/L=365Pd/ 12.1kLoc=30.16Pd/kLoc,規(guī)模度量的優(yōu)缺點,用軟件代碼行數(shù)估算軟件規(guī)模簡單易行。缺點代碼行數(shù)的估算依賴于程序設(shè)計語言的功能和表達能力;采用代碼行估算方法會對設(shè)計精巧的軟件項目產(chǎn)生不利的影響;在軟件項目開發(fā)前或開發(fā)初期估算它

8、的代碼行數(shù)十分困難;代碼行估算只適用于過程式程序設(shè)計語言,對非過程式的程序設(shè)計語言不太適用等等。,根據(jù)事務(wù)信息處理程序的基本功能定義的,在系統(tǒng)設(shè)計初期可以估算出軟件項目的規(guī)模 FP=CT*[0.65+0.01*∑Fi] 其中:CT按表3.1計算() Fi 是復雜性調(diào)節(jié)值 Fi 取值 0,1,...,5 當 Fi = 0 時

9、,表示 Fi 不起作用 Fi = 5 時,表示 Fi 作用最大,3.1.1.3 面向功能的度量,表3.1 功能點度量,測量參數(shù) 值 權(quán)值用戶輸入數(shù) □ *4 = □用戶輸出數(shù) □ *5 = □用戶查詢數(shù) □ *4 = □文件數(shù) □ *7

10、 = □外部界面數(shù) □ *7 = □CT = □,表3.1中的五個信息量按下列方式取值用戶輸入數(shù) 用戶為軟件提供的輸入?yún)?shù)個數(shù)用戶輸出數(shù) 軟件系統(tǒng)為用戶提供的輸出參數(shù)個數(shù)用戶查詢數(shù) 一個聯(lián)機輸入確定一次查詢,軟

11、件以 聯(lián)機輸出的形式,實時地產(chǎn)生一個響應文件數(shù) 統(tǒng)計邏輯的主文件個數(shù)外部界面數(shù) 統(tǒng)計所有機器可讀的界面,利用這些 界面可以將信息從一個系統(tǒng)傳送到另一 個系統(tǒng),用功能點定義相應的概念生產(chǎn)率: Pf=FP/E  其中 Pf表示每人月完成的功能點數(shù)平均

12、成本:Ci=S/FP 其中 Ci表示每功能點的平均成本文檔與功能點比:Di=Pd/FP 其中 Di表示每個功能點平均具有的文檔頁數(shù)代碼出錯率:EORi=Ne/FP 其中 EORi表示每個功能點的平均錯誤個數(shù),面向功能的度量,軟件規(guī)模的功能點度量沒有直接涉及軟件系統(tǒng)本身的算法復雜性。1986年Jones把軟件項目中的算法復雜性因素引入到功能點計算中來,為了

13、避免混淆,我們把Albrecht定義的功能點稱為簡單功能點,用FPs表示,把Jones推廣的功能點稱為功能點,用FP表示。推廣的功能點包括計算機程序中用于各類問題求解的算法因素,如求解線性代數(shù)方程組、遍歷二叉樹的各個結(jié)點、處理中斷等等。功能點計算仍用上面的公式,其中CT按表3.2計算。,表3.2 推廣的功能點度量,測量參數(shù) 值 權(quán)值用戶輸入數(shù) □ *4 = □用戶輸出數(shù)

14、 □ *5 = □用戶查詢數(shù) □ *4 = □文件數(shù) □ *7 = □外部界面數(shù) □ *7 = □算法 □ *3 = □CT

15、 = □對一般的工程計算或事務(wù)處理軟件,用表3.1和表3.2兩種方法計算出來的FP值應該基本上相同對于比較復雜的軟件系統(tǒng) FP比FPs的值高20%~35%,面向功能的度量的優(yōu)缺點,優(yōu)點①與程序設(shè)計語言無關(guān),它不僅適用于過程式語言,也適用于非過程式的語言;②軟件項目開發(fā)初期就能基本上確定系統(tǒng)的輸入、輸出等參數(shù),功能點度量能用于軟件項目的開發(fā)初期。缺點①它涉及到的主觀因素比較多,如各種權(quán)

16、函數(shù)的取值;②信息領(lǐng)域中的某些數(shù)據(jù)有時不容易采集;③FP的值沒有直觀的物理意義。,3.1.1.4 代碼行度量與功能點度量的比較,代碼行度量依賴于程序設(shè)計語言,而功能點度量不依賴于程序設(shè)計語言。Albrecht和Jones等人對若干軟件采用事后處理的方式分別統(tǒng)計出不同程序設(shè)計語言每個功能點與代碼行數(shù)的關(guān)系,用LOC/FP的平均值表示。表3.3表明,一行Ada語言代碼的“功能”平均是一行FORTRAN語言代碼“功能”的1.4倍。一行

17、四代語言代碼的“功能”平均是一行傳統(tǒng)程序設(shè)計語言代碼“功能”的3至5倍。,表3.3 各種語言的LOC/FP(平均值),程序設(shè)計語言 LOC/FP(平均值)匯編語言 300COBOL 100FORTRAN 100Pascal 90

18、Ada 70面向?qū)ο蟮恼Z言 30四代語言(4GL) 20代碼生成器 15,3.1.2軟件復雜性度量,1976年 T.J.McCabe McCabe度量法又稱環(huán)路復雜性度量,基于程序控制結(jié)構(gòu)的軟件復雜性度量模型。程序控制結(jié)構(gòu)圖 程序結(jié)構(gòu)對應于有一個入口結(jié)點和一個出口結(jié)點的有向圖圖中

19、每個結(jié)點對應一個語句或一個順序流程的程序代碼塊弧對應于程序中的轉(zhuǎn)移它基于一個程序模塊的程序圖中環(huán)路的個數(shù),因此計算它先要畫出程序圖。程序圖是退化的程序流程圖。流程圖中每個處理都退化成一個結(jié)點,流線變成連接不同結(jié)點的有向弧。,McCabe度量法,McCabe用程序控制結(jié)構(gòu)圖的巡回秩數(shù)V(G)作為程序結(jié)構(gòu)復雜性的度量  V(G) = e-n+2 其中:e為結(jié)構(gòu)圖的邊數(shù)

20、 n為結(jié)構(gòu)圖的結(jié)點數(shù) 可以證明 V(G)等于結(jié)構(gòu)圖中有界或無界的封閉區(qū)域個數(shù),例3.1計算程序控制結(jié)構(gòu)的V(G)值,E = 1 E = 3N = 2 N = 3V = 1

21、V = 2,,計算程序控制結(jié)構(gòu)的V(G)值,E = 4 E = 3N = 4 N = 3V = 2 V = 2,,計算程序控制結(jié)構(gòu)的V(G)值,E = 6N = 5V = 3,,例3.1 計算如圖所示

22、程序控制結(jié)構(gòu)圖的V(G)值。 (a) e=1,n=2,v=1; (b) e=3,n=3,v=2; (c) e=4,n=4,v=2; (d) e=3,n=3,v=2; (e) e=6,n=5,v=3.,,示例:,在前面的例示中,n=11,m=13,V(G)=m-n+p=13-11+1=3.p=1,McCabe建議把V(G)作為模塊規(guī)模的定量指標,一個模塊

23、V(G)的值不要大于10 當V(G)>10時,模塊內(nèi)部結(jié)構(gòu)就會變得復雜,給編碼和測試帶來困難。,這種度量的缺點是: 對于不同種類的控制流的復雜性不能區(qū)分 簡單IF語句與循環(huán)語句的復雜性同等看待 嵌套IF語句與簡單CASE語句的復雜性是一樣的 模塊間接口當成一個簡單分支一樣處理 一個具有1000行的順序程序與一行語句的復雜性相同,3.2 軟件項目計劃與估算,3.2.1 軟件項目計劃,軟件項目管理人員在開發(fā)工作一開始需

24、要進行定量估算。 軟件項目計劃的目標是提供一個能使項目管理人員對資源、成本和進度做出合理估算的框架。 這些估算應當在軟件項目開始時的一個有限的時間段內(nèi)做出,并且隨著項目的進展定期進行更新。,軟件項目計劃的目標,軟件的范圍,軟件范圍包括功能、性能、限制、接口和可靠性。估算開始時,應對軟件的功能進行評價,對其進行適當?shù)募毣员闾峁└敿毜募毠?jié)。由于成本和進度的估算都與功能有關(guān),因此常常采用某種程度的功能分解。性能的考慮包括處理和

25、響應時間的需求。約束條件則標識產(chǎn)品成本、外部硬件、可用存儲或其它現(xiàn)有系統(tǒng)對軟件的限制。軟件與其它系統(tǒng)元素是相互作用的。要考慮每個接口的性質(zhì)和復雜性,以確定對開發(fā)資源、成本和進度的影響。,軟件開發(fā)中的資源,3.2.2 軟件項目估算,常用的估算方法①參照已經(jīng)完成的類似項目估算待開發(fā)項目的成本和工作量。②將大的項目分解成若干子項目,在估算出每個子項目成本和工作量之后,再估算整個項目。③將軟件項目按軟件生存周期分解,分別估算出軟件項

26、目在軟件開發(fā)各個階段的工作量和成本,然后再把這些工作量和成本匯總估算整個項目。④根據(jù)實驗或歷史數(shù)據(jù)給出軟件項目工作量或成本的經(jīng)驗估算公式。,四種方法可以同時、單獨或組合使用,以便取長補短,提高項目估算的精度和可靠性。 采用分解技術(shù)估算軟件項目應考慮系統(tǒng)集成時需要的工作量。為了實現(xiàn)軟件項目估算,實踐中開發(fā)了大量的軟件項目自動估算工具,用以支持軟件工作量或成本估算。,分解技術(shù)采用”分而治之”的策略進行軟件項目估算.將項目分解為若干個

27、主要的功能及相關(guān)的軟件工程活動,通過逐步求精的方式進行成本及工作量估算。經(jīng)驗估算模型可用于補充分解技術(shù)自動估算工具實現(xiàn)一種或多種分解技術(shù)或經(jīng)驗模型,與人機交互結(jié)合,自動估算將是很好的選擇。,3.2.2.1 代碼行、功能點和工作量估算,軟件項目的規(guī)模是影響軟件項目成本和工作量的重要因素。軟件項目代碼行和功能點估算是成本和工作量估算的基礎(chǔ)。采用上面的估算方法可以估算出LOC或FP的樂觀值a,悲觀值b和一般值m,然后根據(jù)下列加權(quán)公

28、式計算出期望值 e=(a+4m+b)/6 希望LOC或FP的值落在區(qū)間[a,b]之外的概率極小,當LOC或FP的期望值估算出來之后,根據(jù)以前軟件項目開發(fā)的平均生產(chǎn)率LOC/PM或FP/PM就可以計算出工作量。如,軟件項目的規(guī)模估算為310FP,以前完成的軟件項目的生產(chǎn)率為5.5FP/PM,于是工作量估算為E=310/5.5=56PM。,例 3.2 估算計算機輔助設(shè)計軟件項目,將CAD項目按功能分解為七個子項目①用

29、戶界面和控制;②二維幾何分析;③三維幾何分析;④數(shù)據(jù)庫管理;⑤計算機圖形顯示;⑥外設(shè)控制;⑦設(shè)計分析。表3.4給出七個子項目代碼行的樂觀估計、悲觀計和一般估計值,然后計算出加權(quán)平均值。,估算計算機輔助設(shè)計軟件項目,分析七個子項目的規(guī)模復雜性和難度,參照以前開發(fā)類似項目的經(jīng)驗給出開發(fā)每行代碼的平均成本,每月開發(fā)的代碼行數(shù)。 用這兩組數(shù)據(jù)計算出七個子項目的開發(fā)成本和工作量。 最后匯總的CAD軟件開發(fā)項目

30、 規(guī)模為 33360 LOC 成本為 656680 $ 工作量為 144.5 PM。,再用這兩種方法分別估算軟件開發(fā)子項目在軟件工程各個階段的工作量,估算結(jié)果列入表3.5。兩種方法估算的工作量分別為144.5PM和152.5PM,相差5%左右。估算的成本分別為656680$和708075$,相差7%左右。 兩種方法估算的工作量和成本基本一致。,表3.4 代碼行和成本、工作量估算,功能 樂

31、觀 一般 悲觀 加權(quán) $ LOC 成本 工作量 LOC LOC LOC 平均 /LOC /PM $ (人月)用戶界面控制1790 2400 2650 2340 14 315 32760 7.4 二維幾何分析4080 5

32、200 7400 5380 20 220 107600 24.4三維幾何分析4600 6900 8600 6800 20 220 136000 30.9數(shù)據(jù)庫管理 2900 3400 3600 3350 18 240 60300 13.

33、9圖形顯示 3900 4900 6200 4950 22 200 108900 24.7外設(shè)控制 1990 2100 2450 2140 28 140 59920 15.2設(shè)計分析 6600 8500 9800 8400 18 30

34、0 151200 28.0總計 33360 656680 144.5,表3. 5工作量估算,功能 需求分析 設(shè)計 編碼 測試 總計 用戶界面控制 1.0 2.0 0.5 3.5 7

35、二維幾何分析 2.0 10.0 4.5 9.5 26三維幾何分析 2.5 12.0 6.0 11.0 31.5數(shù)據(jù)庫管理 2.0 6.0 3.0 4.0 15計算機圖形顯示 1.5 11.0

36、 4.0 10.5 27外設(shè)控制 1.5 6.0 3.5 5.0 16設(shè)計分析 4.0 14.0 5.0 7.0 30總計(人月) 14.5 61 26.5

37、 50.5 152.5 每人月成本 5200 4800 4250 4500成本($) 75400 292800 112625 227250 708075,3.2.2.2 經(jīng)驗估算模型之一 CoCoMo模型,計算機軟件的估算模型是根據(jù)以前完成項目的實際數(shù)據(jù)導出的,用于軟件項目的計劃階段。 模型是根據(jù)“從前的

38、”,“局部的”數(shù)據(jù)得出的,估算模型不可能完全適用于當前所有的軟件項目和全部開發(fā)環(huán)境。這些模型的計算結(jié)果僅供參考。 兩個常用的估算模型 CoCoMo模型 Putnam模型,CoCoMo模型,1981年Boehm提出“構(gòu)造性成本模型”(Constructive Cost Model),簡稱CoCoMo模型。它是在靜態(tài)、單變量模型的基礎(chǔ)上構(gòu)造出來的。 CoCoMo模型分

39、為基本、中間、詳細三個層次,分別用于軟件開發(fā)的三個不同階段?;綜oCoMo模型 用于系統(tǒng)開發(fā)的初期,估算整個系統(tǒng)的工作量(包括軟件維護)和軟件開發(fā)所需要的時間。 中間CoCoMo模型 用于估算各個子系統(tǒng)的工作量和開發(fā)時間。 詳細CoCoMo模型 用于估算獨立的軟部件,如子系統(tǒng)內(nèi)部的各個模塊。,1 基本CoCoMo模型,靜態(tài)、單變量模型 E = aLb

40、 (3-1) D = cEd (3-2)其中: E表示工作量,單位是人月(PM)。 D表示開發(fā)時間,單位是月(M)。 L是項目的代碼行估計值,單位是千行代碼 a,b,c,d是常數(shù),取值如表3.6所示。 Boehm把軟件劃分為組織型、半獨立型和嵌入型三類,允許不同應用領(lǐng)域和復雜程度的軟

41、件按照三類軟件的適用范圍選取相應的參數(shù)a,b,c,d。給出了代碼行數(shù)與工作量、工作量與開發(fā)時間之間的函數(shù)關(guān)系,表3.6 簡單CoCoMo模型參數(shù),軟件類型 a b c d 適用范圍組織型 2.4 1.05 2.5 0.38 各類應用程序半獨立型 3.0 1.12

42、 2.5 0.35 各類實用程序、 編譯程序等嵌入型 3.6 1.20 2.5 0.32 實時處理、 控制程序、

43、 操作系統(tǒng),2 中間CoCoMo模型,中間CoCoMo模型 以基本CoCoMo模型為基礎(chǔ),在工作量估計公式中乘以工作量調(diào)節(jié)因子 EAF E = aLb *EAF (3-3)其中:L是軟件產(chǎn)品的目標代碼行數(shù) a,b是常數(shù),取值如表3.7所示。,中間 CoCoMo模型,表3.7 中間CoCoMo模型參數(shù) 軟件類型

44、a b 組織型 3.2 1.05 半獨立型 3.0 1.12 嵌入型 2.8 1.20,CoCoMo模型,工作量調(diào)節(jié)因子EAF與軟件產(chǎn)品屬性、計算機屬性、人員屬性、項目屬性有關(guān)軟件產(chǎn)品屬性 軟件可靠性、軟件復雜性、數(shù)據(jù)庫的規(guī)模。計算機屬性 程序執(zhí)行時間、程序占用內(nèi)存的大小、軟件開發(fā)環(huán)境

45、的變化、軟件開發(fā)環(huán)境的響應速度。人員屬性 分析員的能力、程序員的能力、有關(guān)應用領(lǐng)域的經(jīng)驗、開發(fā)環(huán)境的經(jīng)驗、程序設(shè)計語言的經(jīng)驗項目屬性 軟件開發(fā)方法的能力,軟件工具的質(zhì)量和數(shù)量、軟件開發(fā)的進度要求。,CoCoMo 模型,四種屬性共15個要素。每個要素調(diào)節(jié)因子 Fi, i=1,2,...,15,的值分為: 很低、低、正常、高、很高、極高,共六級。正常情況下 Fi=1。Boehm推薦的Fi值范圍 (0.

46、70, 0.85, 1.00, 1.15, 1.30, 1.65) 當15個Fi的值選定后,EAF的計算如下 EAF=F1*F2*……*F15,CoCoMo 模型,調(diào)節(jié)因子集的定義和調(diào)節(jié)因子定值是由統(tǒng)計結(jié)果和經(jīng)驗決定的。不同的軟件開發(fā)組織,在不同的歷史時期,隨著環(huán)境的變化,這些數(shù)據(jù)可能改變。 使用中間CoCoMo模型可以估算開

47、發(fā)軟件產(chǎn)品的工作量,比較各種開發(fā)方案的工作量。,例3.3 用基本CoCoMo模型估算例3.2,工作量、開發(fā)時間和項目開發(fā)人數(shù)在例3.2中,目標代碼行數(shù)為 33.3 KLOCCAD軟件開發(fā)屬于中等規(guī)模、半獨立型從表3.7中查到a=3.0,b=1.12。代入公式(3-1) E = 3.0*L1.12 = 3.0*33.31.12 = 152 PM,將E的

48、估算值代入公式 (3-2) 取 C=2.5 d=0.35 D=2.5*E0.35 =2.5*1520.35 =14.5 M 建議參加項目開發(fā)的人數(shù) N=E/D=152/14.5≈11例中計算出來的11人是粗略估計在軟件項目開發(fā)過程中,11個人不可能都有相同的能力和個性,相同的經(jīng)驗和知識結(jié)構(gòu),并且在軟件開發(fā)的

49、各個階段對人的要求也不同。,CoCoMo模型,若干人共同開發(fā)一個軟件項目還應該增加他們之間相互通信和交換意見的額外工作量。 設(shè) N個程序員組成小組,實現(xiàn)相同規(guī)模的程序,相互通信數(shù)為 =N(N-1)/2 每次通信和交換意見的平均工作量為μ 則 增加的通信開銷為 Ec=μN(N-1)/2 (3-4),,例3.4 計算一個程序的通信開銷,3人和5人開

50、發(fā)一個程序相互通信和交換意見的關(guān)系如圖所示  將N=3和N=5分別代入公式(3-4) Ec(3)=μ3(3-1)/2=3μ Ec(5)=μ5(5-1)/2=10μ,,CoCoMo模型,由N個程序員組成的小組共同開發(fā)一個程序總的工作量ET滿足 ET=E+Ec (3-5)程序員小組的生產(chǎn)率是

51、 PG=LOC/(E+Ec) (3-6)程序員小組生產(chǎn)率和單個程序員生產(chǎn)率的比為 Rp=E/(E+Ec) (3-7) 隨著程序員小組人數(shù)的增加,Ec≈μN2/2,程序員小組的生產(chǎn)率將會下降。 模型表明 盲目增加程序員人數(shù)會推遲軟件完成的日期,3.2.2.3經(jīng)驗估算模型之二:Putnam模型,1978年,Putnam提出了大型軟件項目工作量

52、(一般在30人年以上)估算模型。它是一個動態(tài)多變量模型,適用于軟件開發(fā)的各個階段,估算模型以大型軟件項目的實測數(shù)據(jù)為基礎(chǔ),導出工作量分布曲線。該曲線與著名的Rayleigh-Norden (R-N)曲線相似,它描述了開發(fā)工作量,開發(fā)時間和軟件代碼行數(shù)之間的關(guān)系。,Putnam模型,方程 L = CK E1/3 td4/3 (3-8)其中:L 表示源程序代碼行數(shù)

53、 td 表示開發(fā)時間 Ck 表示技術(shù)狀態(tài)常數(shù) E 表示工作量 (以人年記,包括維護),Putnam模型揭示了軟件項目的工作量、軟件開發(fā)時間和程序代碼長度三者之間的關(guān)系,Putnam模型,差的軟件開發(fā)環(huán)境 軟件開發(fā)沒有方法學的支持,缺乏對文檔的評審,采用批處理方式。一般的軟件開發(fā)環(huán)境 應有軟件開發(fā)方法學的支持,有適宜的文檔和評審,采用交互處理方式。好的軟件開

54、發(fā)環(huán)境 應采用CASE工具和集成化CASE環(huán)境。 CK= 2000 比較差的軟件開發(fā)環(huán)境 8000 一般的軟件開發(fā)環(huán)境 11000 比較好的軟件開發(fā)環(huán),,Putnam模型,由(2-18) 3  3 4

55、 E = L / (CK*td ) (3-9)td對應于Rayleigh-Norden曲線的最大值,表示軟件交付時工作量最大,參與軟件項目的人最多。當工作量估算出來之后,利用每人年的開銷($/PY)可以估算成本。公式(3-9)表明,開發(fā)軟件項目的工作量與交貨時間的4次方成反比,將0.9td代替(3-9)式的td計算E發(fā)現(xiàn),提前10%的時間要增加52%的工作量,降低

56、了軟件開發(fā)生產(chǎn)率。軟件開發(fā)過程中人員與時間的折衷是一個十分重要的問題。,Putnam模型,,3.3.1風險分析,風險的概念風險與將要發(fā)生的事情有關(guān),研究風險就是研究明天將要發(fā)生的事情風險涉及思想、觀念、行為、地點、時間等多種因素風險隨條件的變化而改變,人們通過改變、選擇、控制與風險密切相關(guān)的條件減少、回避風險改變、選擇、控制條件的策略是不確定的,3.3風險分析和管理,軟件風險,軟件風險和其它風險一樣存在不確定性,有些是很難預測

57、的。對風險的不確定性進行量化,估算某一風險可能帶來的損失。除關(guān)注軟件項目的一般性風險外,還要關(guān)注軟件項目的特殊風險,如項目的背景、特殊要求、關(guān)鍵內(nèi)容、薄弱環(huán)節(jié)、技術(shù)難點、人員狀況、工作環(huán)境等。,軟件項目存在各種風險,人們關(guān)心的問題:什么風險會導致軟件項目的徹底失敗?顧客需求、開發(fā)環(huán)境、目標機、時間、成本的改變對軟件項目的風險會產(chǎn)生什么影響?人們必須抓住什么機會、采取什么措施才能有效地減少風險、順利完成任務(wù)?,不同類型的風險,

58、項目風險預算、進度、人力、資源、客戶及需求項目的復雜度、規(guī)模、結(jié)構(gòu)的不確定性等技術(shù)風險設(shè)計、實現(xiàn)、接口、驗證和維護規(guī)約的二義性、技術(shù)的不確定性、陳舊的技術(shù)、領(lǐng)先的技術(shù)商業(yè)風險無需求的產(chǎn)品、策路風險、管理風險、預算風險,軟件風險分析包括的部分 風險標識 風險估算 風險規(guī)劃 風險監(jiān)控,軟件風險分析,1風險標識,對待風險不能采取回避態(tài)度 項目開始時應對一般性風險和特定產(chǎn)品風險進行系統(tǒng)

59、標識,並隨著項目的展開不斷更新。一般可預測風險 產(chǎn)品規(guī)模、商業(yè)影響、客戶、過程、技術(shù)、環(huán)境、人員及經(jīng)驗等。識別風險的有效方法 風險檢測表 為了幫助項目管理人員、項目規(guī)劃人員,全面了解軟件開發(fā)過程存在的風險, Boehm 建議設(shè)計并使用各類風險檢測表,表中條目指明,常見並可預測的風險。有些風險可以預料,有些很難預料。,例3.6 人員配備風險檢測表,(1) 開發(fā)人員的水平如何。(2) 開發(fā)人員在

60、技術(shù)上是否配套。(3) 開發(fā)人員的數(shù)量如何。(4) 開發(fā)人員是否能夠自始至終地參加軟件開發(fā)工作。(5) 開發(fā)人員是否能夠集中全部精力投入到軟件開發(fā)工作。(6) 開發(fā)人員對自己的工作是否有正確的期望。(7) 開發(fā)人員是否接受過必要的培訓。(8) 開發(fā)人員的流動是否能夠保證工作的連續(xù)性。上述問題可以選用0,1,2,3,4,5來回答。完全肯定取值為0,反之為5,中間情況分別取值1,2,3,4值越大表示風險越大。人員配備風險檢

61、測表反映了人的因素給軟件項目帶來的風險。,2風險估算,如果某一風險檢測表由m項組成,每項選取一個整數(shù)值0,1,…,N,在最理想的情況取值為0,反之取值為N,對于中間狀態(tài)依次取值1,2,…,N-1 當 N=1 時取值 0,1,對應布爾量真/假(T/F) 設(shè)第i種風險檢測表第j項取值Xij,對應的加權(quán)系數(shù)是Wij,于是第i種風險的估算值可以定義為  m σi =∑WijXij/(mN)

62、 j=1 其中 ∑Wij = m, Wij ≥ 0 (3—10),風險估算,如果第i種風險對整個軟件項目的風險估算加權(quán)系數(shù)是ρi, i=1,2,…,l. 為風險要素的個數(shù),∑ρi=1,則軟件項目風險估算定義為 lR=∑ρiσi (3—11)  i=10≤R≤1當R接近于0時表示風險比較小,R接近于

63、1時表示風險比較大。當ρiσi 比較大時,表示第i類風險出現(xiàn)并帶來不良影響的可能性比較大,必須引起足夠重視,設(shè)法改善條件,減小σi的值。,3 風險評價和管理,風險評價是風險管理的重要步驟任務(wù) 進一步審查風險預測的精度;更新風險優(yōu)先次序;考慮控制和/或避免可能發(fā)生風險的辦法。,風險評價,定義 用三元組[ri, li, xi]描述風險,i =1,2,3… 其中: ri 表示風險 li 表示

64、風險發(fā)生的概率 xi 表示風險產(chǎn)生的影響 對大多數(shù)軟件項目,應該定義性能、成本及進度的風險參考水平值,當某一風險或風險組合值超過水平值時項目被迫停止。,風險評估的步驟,1 定義項目的風險參考水平值;2 建立三元組,給出相應的參考水平值;3 預測一組臨界點,定義項目終止區(qū)域;4 預測什么樣的風險組合會影響參考水平 值,風險表 (1/3),風險 類別 概率 影響 RM

65、MM123項目開始時應在第一列列出所有風險;第二列給出風險類別;第三列給出每種風險發(fā)生的概率;第四列給出各種風險產(chǎn)生影響的評估值;第五列給出風險緩解、監(jiān)控和管理計劃。,風險表(2/3),評估值按風險因素: 性能、成本、進度的影響類別求加權(quán)平均值影響類別取值:災難的1,嚴重的2,輕微的3,可忽略的4。對風險表中的風險按照發(fā)生概率大小、影響大小,由大至小排序。,風險表(3/3),項目管理者對風險表進行研究后應定義

66、一條中止線,線上的風險較大者應給予特別的關(guān)注,線下的風險需要進一步的跟蹤、評估、排序。對風險發(fā)生概率較大的事件應引起特別關(guān)注,要及早采取措施盡量避免它的發(fā)生。,,風險評價和管理,三元組[ri,li,xi]是風險管理的基礎(chǔ)設(shè) 高級職員流動給項目帶來風險r1, 根據(jù)歷史的經(jīng)驗或直觀感覺,高級職員離開課題組的概率 l1 = 70%, 這一風險導致事件 x1 發(fā)生 項目開發(fā)時間延長 15%

67、,成本增加 20%.,項目負責人采取的風險管理措施,(1)項目開始前控制產(chǎn)生風險的原因。項目開工后應設(shè)法減輕風險的影響。(2)了解項目開發(fā)人員變動的原因,在項目開發(fā)期間應控制上述原因,盡量減少人員的流動。(3)在工作方法和技術(shù)上采取適當措施,防止因人員流動給工作帶來損失。(4)項目在開發(fā)過程中應及時公布并交流項目開發(fā)的信息。(5)建立組織機構(gòu),確定文檔標準、并及時生成文檔。(6)對工作進行集體復審,使多數(shù)人都能了解工作的細節(jié),

68、跟上工作進度。(7)為關(guān)鍵技術(shù)準備后備人員。,RMMM計劃,風險緩解、監(jiān)控和管理計劃 Risk Mitigation,Monitoring,and Management Plan 將風險分析工作文擋化,成為項目的一部分。執(zhí)行RMMM計劃需要成本 當軟件項目比較大時,可能標出30至40種風險,如果為每種風險定義3至7種風險管理步驟,則風險管理本身就是一個項目。將Pareto的20-80規(guī)則用于軟件項目的風險

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論