




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
軟件工程第七章項目的計劃和管理7.1軟件度量
7.2軟件項目估算 7.3軟件質量度量 7.4軟件復雜性度量
7.5軟件可靠性度量
7.6軟件開發過程的管理
7.7軟件過程能力評估
7.8項目管理計劃的組成
7.9小結本章重點軟件度量軟件項目管理風險管理項目計劃的制定
7.1軟件度量軟件開發不同于其他產品的設計、制造過程,軟件的整個過程都是設計過程而沒有制造過程。軟件開發不需要使用大量的物質資源,而主要是人力資源,并且,軟件開發的產品只是程序代碼和技術文件,并沒有其他的物質結果。7.1.1軟件度量的基本概念1.測量、度量、估算(1)測量(measure):對產品或過程的某個屬性的范圍、數量、維度、容量或大小提供一個定量的指示。(2)度量(metric):對系統、部件或過程的某一特性所具有的程度進行的量化測量。如軟件質量度量等。(3)估算(estimation):對軟件產品、過程、資源等使用歷史資料或經驗公式等進行預測。如工作量、成本、完成期限等。估算一般用于立項、簽訂合同、制定工作計劃等。2.軟件項目管理的對象及其屬性:軟件項目管理的對象主要包括產品、過程和資源等。(1)產品(product)是指軟件開發過程得到的文檔和程序,如:需求規格說明、設計規格說明、源代碼、測試報告等。(2)過程(process)是指與軟件項目有關的活動,如軟件項目計劃、開發活動、維護活動、管理活動等。(3)資源(resource)是指進行軟件項目所需要的各種支持,如人力、經費、方法、工具、軟硬件環境等。
3.對象的屬性內部屬性是指對象本身的屬性,如軟件產品的代碼長度、模塊化的程度、復雜性等。
項目管理員和用戶都十分關心產品、過程、資源的外部屬性,于是可將外部屬性看成是面向管理員和用戶的屬性。4.軟件度量的分類。可分為直接度量和間接度量兩類:(1)直接度量。即對不依賴于其他屬性的簡單屬性的測量。如軟件的模塊數、程序的代碼行數、操作符的個數,工作量、成本等。(2)間接度量。即對涉及若干個其他屬性的軟件要素、準則或屬性的度量。因為它們必須通過建立一定的度量方法或模型才能間接推斷而獲得。如軟件的功能性、復雜性、可靠性、可維護性等等。7.1.2面向規模的度量通面向規模的度量是以軟件的代碼行(LOC,LineofCode)數為基礎的直接度量。一般的軟件開發組織對開發過的每個軟件項目都有如代碼行、工作量、成本、錯誤、人數、文檔頁數等的統計記錄。利用代碼行數可以度量軟件規模、生產率、平均成本、出錯率、文檔率等參考量。若設:L表示軟件的代碼行數,單位為KLOC(千行代碼)或LOC;E表示開發軟件所需工作量,單位為人月(PM)或人年(PY);S表示軟件成本,單位為美元或元;Ne表示錯誤個數;Pd表示軟件文檔頁數;M表示開發所用的人數。則有:1.軟件開發的生產率Pl(即平均每人月開發的代碼行數,以LOC/PM為單位)為:
Pl=L/E2.開發每行代碼的平均成本Cl(以美元/LOC或元/LOC為單位)為:
Cl=S/L3.代碼出錯率EQRl(即每千行代碼的平均錯誤數,以個/KLOC為單位)為:
EQRl=Ne/L4.軟件的文檔率Dl(即平均每千行代碼的文檔頁數,以頁/KLOC為單位)為:
Dl=Pd/L
例:已知有一個國外典型的軟件項目的記錄,開發人員M=6人,其代碼行數=20.2KLOC,工作量E=43PM,成本S=314000美元,錯誤數N=64,文檔頁數Pd=1050頁。試計算開發該軟件項目的生產率Pl、平均成本Cl、代碼出錯率EQRl和文檔率Dl。解:根據給出的已知數據,可得:
Pl=L/E=20.2KLOC/43PM=0.47KLOC/PM=470LOC/PMCl=S/L=314000美元/20.2KLOC=15.54美元/LOC
EQRl=Ne/L=64個/20.2KLOC=3.17個/KLOCDl=Pd/L=1050頁/20.2KLOC=51.98頁/KLOC1.簡單功能點度量1979年,Albrecht首先提出了功能點度量方法。這是一種面向功能的間接度量方法,即從軟件定義的基本功能出發,來估算軟件系統的規模。因此,該方法可以在軟件開發項目的初期,在軟件定義過程中即可預測待開發軟件的規模。Albrecht用5個信息量的“加權和”CT和14個因素的“復雜性調節值”Fi(i=1,2,……14)來計算功能點FP。7.1.3面向功能的度量功能點FP的度量公式如下:FP=CT×TCF=CT[0.65+0.01Fi]在FP度量公式中:基本功能點的CT計算方法,如表7.1所示。
表7.1基本功能點的CT計算方法測量參數值簡單權值一般權值復雜權值用戶輸入數□*3*4*6=□用戶輸出數□*4*5*7=□用戶查詢數□*3*4*6=□文件數□*7*10*15=□外部界面數□*5*7*10=□CT=□TCF是技術復雜性調節因子。0.65和0.01為經驗數據。Fi(i=1,2,…,14):復雜性調節值。Fi所代表的因素,每個Fi可根據實際情況取0、1、2、3、4、5中的一個值。其中:0—沒有影響、1—偶然的、2—適中、3—普通、4—重要、5—極重要的影響。TCF取值范圍:0.65~1.35。2.功能點度量簡單功能點度量方法沒有直接考慮軟件本身的算法的復雜性問題。所以它僅適用于度量算法簡單的事務處理等系統。1986年Jones對簡單功能點度量進行了推廣,在計算軟件系統的基本功能點CT時,引入了算法復雜性因素,我們稱這種推廣的度量方法為功能點度量。推廣功能點的CT計算方法,如表7.2所示。表7.2推廣功能點的CT計算方法測量參數值權值用戶輸入數□*4=□用戶輸出數□*5=□用戶查詢數□*4=□文件數□*7=□外部界面數□*7=□算法□*3=□CT=□這兩種方法對一般的事務處理系統等算法簡單的軟件系統計算出來的FP值基本相同,但對于較復雜的軟件系統,功能點度量方法比簡單功能點度量方法計算出來的FP值要高20%~35%。用功能點計算軟件項目的有關參考量:(1)生產率Pf(平均每人月開發的功能點數,以功能點/PM為單位):
Pf=FP/E(2)平均成本Cf(以美元/功能點或元/功能點為單位):
Cf=Sf/FP(3)代碼出錯率EQR(即每功能點的平均錯誤數,以個/功能點為單位)為:
EQRf=Ne/FP(4)軟件的文檔率Df(即平均每功能點的文檔頁數,以頁/功能點為單位)為:
Df=Pd/FP3.功能點度量方法的優點:(1)可用于軟件項目開發的初期階段的項目估算。因為在可行性研究和需求分析階段已能基本確定輸入、輸出等各個參考量;(2)與程序設計語言無關。適合于過程或非過程式語言。4.功能點度量方法的缺點:(1)某些參考量的收集有一定困難;(2)度量值的主觀因素較多,如Fi取值;(3)功能點FP本身沒有直觀的物理意義。軟件的功能點數與選用的程序設計語言無關,但對于同一個軟件(功能點數已定),如用不同的程序設計語言來實現,所得到的軟件的代碼行數可能會有較大差別。Albrecht等人通過多個軟件統計出了用不同程序設計語言實現每個功能點所需代碼行數,即計算出各語言的。各種語言的LOC/FP(平均值)如表7.3所示。
7.1.4代碼行與功能點度量的比較程序設計語言LOC/FP(平均值)匯編語言320COBOL105FORTRAN105Pascal90Ada70面向對象的語言30四代語言(4GL)20代碼生成器157.2軟件項目估算常用的軟件項目的估算方法主要有以下4種:1.根據已完成項目的總成本或總工作量來推算待開發軟件的總成本或總工作量,然后再按比例將其分配到各開發任務中去。即從整體到局部。 優點:估算工作量小、速度快。缺點:對項目中的特殊困難估計不足,有可能產生遺漏,估算出的值盲目性較大。2.把待開發軟件細分,直到每一個子任務或階段都已經明確所需要的開發工作量或成本,然后再把它們累加起來,得到待開發軟件的總工作量或總成本。需要指出,在對軟件進行細分時,一種是按照功能將大的軟件項目劃分為若干個子項目;另一種是按照軟件生命周期分解為各個階段。當然,也可以兩者同時進行。 優點:計算各個部分的準確性較高。缺點:缺少各個子任務之間相互聯系的工作量和系統工作量(如項目管理、配置管理、質量管理),估算值往往偏低,必須用其他方法進行校正。3.用待開發的軟件項目與過去完成的軟件項目進行比較,從各子任務中區分出類似的和不同的部分。類似的部分按已知的實際量計算,不同的部分則采用某種方法進行估算。差別估算法綜合了以上兩種方法的優點。 優點:估算的準確程度高。缺點:不容易劃分相似的界限。4.根據經驗估算公式,通過眾多實際軟件項目的經驗,總結出一些有價值的軟件成本和工作量估算的經驗模型。軟件項目的規模是影響軟件項目成本和工作量的重要因素。軟件項目代碼行和功能點估算是成本和工作量估算的基礎。采用上述四種估算方法可以估算出LOC或FP的樂觀值a,悲觀值b和一般值m,然后根據下列加權公式計算出期望值,公式如下所示:
E=(a+4m+b)/6軟件的LOC或FP的期望值估算出來后,就可以根據已有的標準生產率對成本和工作量等進行估算了。7.2.1工作量估算1.IBM模型IBM模型是根據已估算出的源代碼行數來估算其他資源的需要量的,因此該模型是面向LOC的靜態單變量估算模型。還有一些面向FP的靜態單變量估算模型。由于這些模型的準確度不高,在實際應用中必須對公式中的參數進行調整,以適應目前情況。2.COCOMO模型7.2.2經驗估算模型CoCoMo模型按其詳細程度分三個層次:基本CoCoMo模型;中間CoCoMo模型;詳細CoCoMo模型。軟件估算模型使用由經驗導出的公式來預測軟件開發工作量,其中,工作量是軟件規模(LOC或FP)的函數,工作量的單位通常是人月(PM)。支持大多數估算模型的經驗數據,都是從有限個項目的樣本集中總結出來的,因此,沒有一個估算模型可以適應所有類型的軟件和開發環境。(1)基本CoCoMo模型基本CoCoMo模型是靜態的、單變量的模型,其工作量和開發時間的估算公式如下:
E=a(L)bD=cEd
其中:L——軟件代碼行的估算值(以KLOC計);E——工作量(以PM計);D——開發時間(以月計);a、b、c、d——經驗常數。(2)中間CoCoMo模型中間CoCoMo模型在估算工作量時,在基本CoCoMo模型的基礎上再乘以由15個因素組成的工作量調節因子EAF,于是有:E=a(L)bEAF=a(L)bFi其中:
L——軟件的代碼行數(以KLOC計);
E——工作量(以PM計);
a、b——經驗常數
(3)詳細CoCoMo模型簡介詳細CoCoMo模型的基本工作量(指EAF=1時的工作量)公式、開發時間公式與中間CoCoMo模型相同。所不同的是詳細CoCoMo模型在計算EAF時針對每個影響因素,分層次(系統層、子系統層、模塊層)并按軟件生存周期分階段給出工作量因素的分級表。詳細CoCoMo模型可以更準確地估算軟件項目的工作量。詳細CoCoMo模型這里就不詳細介紹了,感興趣的同學可以查閱相關的參考資料。
軟件質量是軟件的生命。它作為軟件工程的一部分,貫穿于整個軟件生存周期之中。生產高質量的軟件產品是軟件工程的首要目標。由于軟件是邏輯產品,軟件質量很難直接度量。因此,應當給出軟件質量的科學的、實用的定義,并通過一定的度量模型進行度量,以便在整個軟件生存周期中對其進行評價和控制。7.3軟件質量度量7.3.1軟件質量定義1.軟件質量的定義:1983年,ANSI/IEEEstd729標準給出了軟件質量的定義如下:軟件質量是軟件產品滿足規定的和隱含的與需求能力有關的全部特征和特性,包括:(1)軟件產品滿足用戶要求的程度;(2)軟件擁有所期望的各種屬性的組合程度;(3)用戶對軟件產品的綜合反映程度;(4)軟件在使用過程中滿足用戶需求的程度。2.McCall等人的軟件質量度量模型McCall等人提出了由軟件質量要素、評價準則、定量度量三個層次組成的三層次度量模型。其中:第一層是將對軟件質量的度量歸結為對直接影響軟件質量的若干個軟件質量要素的度量;第二層是用若干個可度量的評價準則來間接度量軟件質量要素;第三層是對相應評價準則的直接度量。3.ISO三層次軟件質量度量模型。1985年,國際標準化組織也提出了三層次軟件質量度量模型。其中:高層稱為軟件質量需求評價準則(SQRC),并由正確性、可容性、有效性、安全性、可用性、可維護性、靈活性、可互操作性等8個要素組成;中層稱為軟件質量設計評價準則(SQDC),并由可追蹤性、完全性等共23個評價準則組成;低層稱作軟件質量度量評價準則(SQMC)。ISO認為,應對高層和中層建立國際標準,而低層可由各使用單位自行制定。軟件質量要素(factor)是指直接影響軟件質量的軟件質量特性。隨著對軟件質量的認識的逐步提高,軟件質量要素也可能有所變化。當時McCall等人認為,軟件質量由11個軟件質量要素來衡量。這11個質量要素可劃分為三類:它們之間的關心如圖7.1所示(1)面向運行特征的軟件質量要素有正確性、可靠性、有效性、完整性和可用性;(2)面向軟件承受修改的質量要素有可維護性、靈活性、可測試性;(3)面向轉移的軟件質量要素有可移植性、可重用性、可互操作性。7.3.2軟件質量要素圖7.1McCall軟件質量要素1.質量要素概念:(1)正確性(correctness):指程序滿足需求規格說明及用戶目標的程度;(2)完整性(integrity):指對未授權人員訪問程序或數據加以控制的程度;(3)可用性(usability):指學習使用軟件(即操作軟件、準備輸入數據、解釋輸出結果等)的難易程度;(4)靈活性(flexibility):指改變一個操作的順序所需工作量的多少;(5)可測試性(testability):指測試軟件以便使其具有預定功能所需工作量的多少;(6)可互操作性(interoperability):指程序與其他系統相互交換并使用信息的能力。
1.評價準則概念(1)可審查性(audit-ability):檢查軟件需求、文檔、過程、標準等是否一致的難易程度;(2)準確性(accuracy):計算和控制的精確程度;(3)簡明性(conciseness):程序源代碼的緊湊程度;(4)通信通用性(communicationcommonality):使用標準接口、協議和帶寬的程度;(5)數據通用性(datacommonality):在程序中使用標準數據結構和類型的程度;7.3.3軟件質量要素評價準則(6)容錯性(error-tolerance):在各種異常情況下軟件能繼續提供操作的能力;(7)執行效率(executionefficiency):軟件運行效率;(8)可擴充性(expandability):結構、數據、過程等設計可以擴充的程度;(9)通用性(generality):程序潛在應用領域的多少;(10)硬件獨立性(hardwareindependence):軟件與其運行的硬件環境無關的程度;(11)檢測性(instrumentation):程序監視自身運行并標識錯誤的程度;(12)可操作性(operability):操作該軟件的難易程度;(13)安全性(security):控制或保護程序和數據不被破壞、非法訪問等機制的能力;(14)自文檔化(self-documentation):源代碼提供自身說明文檔的程度;(15)簡單性(simplicity):程序易于理解的程度;(16)軟件獨立性(softwareindependence):軟件與非標準編程語言特征、操作系統特征等軟件環境約束無關的程度;(17)易培訓性(training):軟件對使用它的新用戶的支持程度。(18)完全性(Completeness)整個軟件系統不丟失任何重要的成分,軟件完全實現系統所需的功能、行為和性能(19)一致性(Consistency)整個軟件系統均使用統一的符號、概念和術語(20)模塊化(Modularity)模塊是程序中一個邏輯上相對獨立、具有良好的接口定義的編程單位:過程、函數、類、程序包等(21)可追蹤性(Tracebility)對軟件進行正向和反向追蹤的能力2.軟件質量要素Fj的值可用下式計算:
Fj=CjkMkj=1,2,...,11.其中Mk是軟件質量要素Fj對第k種評價準則的測量值,Cjk是相應的加權系數。加權系數Cjk滿足Cjk=1。7.4軟件復雜性度量
通過軟件的復雜性度量值可以估算出軟件中故障的數量,也能估算出軟件開發所需的工作量;定量度量的結果還可以用于比較不同設計方案的優劣。同時,軟件的復雜性也能從某些方面影響軟件的可維護性、可靠性等軟件質量要素。因此,軟件復雜性度量是軟件度量的一個重要組成部分。7.4.1軟件復雜性及度量原則
1.軟件復雜性的概念 一個軟件系統由于開發規模相同、復雜性不同的軟件,花費的時間和成本會有很大差異。K.Magel
從6個方面來描述軟件復雜性:(1)理解程序的難度;(2)維護程序的難度;(3)向其他人解釋程序的難度;(4)按指定方法修改程序的難度;(5)根據設計文件編寫程序的工作量;(6)執行程序時需要資源的多少。 軟件復雜性反映了軟件的可理解性、模塊化、簡單性等屬性。2.軟件復雜性度量的原則(1)軟件的復雜性與其規模的關系不是線性的;(2)數據結構復雜的程序較復雜;(3)控制結構復雜的程序較復雜;(4)轉向語句使用不當的程序較復雜;(5)循環結構比選擇結構復雜、選擇結構比順序結構復雜;(6)語句、數據、子程序模塊等出現的順序對復雜性有影響;(7)非局部變量較多的程序較復雜;(8)參數按地址調用(Callbyreference)比按值調用(Callbyvalue)復雜;(9)函數副作用比顯式參數傳遞難理解;(10)作用不同的變量同名時較難理解;(11)模塊、過程間聯系密切的程序較復雜;(12)程序嵌套層數越多越復雜。以上這些基本原則是指導我們進一步研究定量度量軟件復雜性的基礎。7.4.2控制結構的復雜性度量
McCabe度量模型:1976年,McCabe提出了基于程序拓撲結構的軟件復雜性度量模型。該方法是把程序流程圖轉化為程序圖:即把程序看成是有一個入口結點和一個出口結點的有向圖,圖中每個結點對應一個語句、一個簡單判斷或一個順序流程的代碼塊,原來程序流程圖中的箭頭變成連接各結點的有向弧(或稱為邊)。一般地,可以假設從程序圖中的開始結點可以到達圖中的任一結點,而從圖中的任一結點都可以到達出口結點。程序圖又稱為程序控制結構圖或程序流圖,如圖7.2所示。McCabe給出了程序控制結構圖G的巡回秩數V(G)作為程序控制結構復雜性的度量,其度量模型為:
V(G)=e–n+2其中:e——程序圖G中邊的總數;n——程序圖中結點的總數。V(G)又稱為圖G的環形復雜度。7.4.3文本復雜性度量
在20世紀70年代初,Halstead給出了稱為文本復雜性度量的模型也叫Halstead度量模型。它是根據統計程序中的操作符和操作數的個數來度量程序的復雜程度。程序可以看成是由操作符和操作數組成的符號序列。操作符是指程序中出現的語法符號,如+、–、if-then-else、while等。操作數是操作對象,如程序中定義或使用的變量、常量、數組、指針等。7.5軟件可靠性度量
計算機程序的可靠性無疑是軟件整體質量的一個重要因素。如果程序在執行時總是頻繁地、重復地失敗,那么其他軟件質量因素是否可以接受也就無從談起。軟件可靠性可以通過對歷史數據和開發數據來測量、標示和估算出來。7.5.l軟件可靠性的概念1.軟件可靠性一些軟件投入使用后會逐漸暴露出一定數量的錯誤。當某些操作或輸入數據導致遇到這些錯誤時,就會使程序失效,從而出現軟件故障。軟件可靠性定義為在某個給定時間間隔內,程序按照規格說明成功運行的概率。7.5.2軟件的有效性軟件的有效性函數A(t)定義為軟件系統在時刻t按照規格說明成功運行的概率。可靠性與有效性之間的差別是,可靠性強調軟件系統在0~t這段時間間隔內都有效,而有效性強調軟件系統在時刻t這一時間點有效。7.6軟件開發過程的管理為達到軟件工程的目標,必須對軟件開發項目的工作范圍、所需的工作量和成本、必需的人力和軟硬件資源、可能遇到風險、進度的安排、待實現的任務、經歷的里程碑等進行管理。軟件開發過程的管理應在所有技術工作開始之前啟動,直至軟件工程過程的結束。軟件開發項目管理過程主要包括以下幾個方面:1.啟動一個軟件項目2.成本估算3.風險分析4.進度安排5.追蹤和控制7.6.1風險分析軟件開發中的風險是指軟件開發過程中及軟件產品本身可能造成的傷害或損失。風險關注未來的事情,這意味著,風險涉及選擇及選擇本身包含的不確定性,軟件開發過程及軟件產品都要面臨各種決策的選擇。風險是介于確定性和不確定性之間的狀態,是處于無知和完整知識之間的狀態。另一方面,風險將涉及思想、觀念、行為、地點等因素的改變。1.風險的特點:(1)具有不確定性,某項風險可能發生也可能不發生;(2)一旦某項風險變成了現實,就必然會給項目帶來不良的影響和損失,甚至災難性后果。風險分析有四個主要活動,分別為有風險標識、風險估算、風險評價和風險駕馭和監控。2.風險標識風險按影響的范圍,可分為三類:(1)項目風險是指項目在預算、進度、人力等資源、客戶和需求等方面可能存在的問題。這些問題一旦發生將對軟件開發項目產生不利影響。(2)技術風險是指在需求、設計、實現、接口、驗證和維護等方面的潛在問題。如果技術風險發生了,將直接威脅軟件產品的質量和交付日期。(3)商業風險是指開發一個沒人需要的優質軟件產品、開發一個銷售部門不知道如何銷售的軟件產品、或開發一個不再符合整體商業策略的產品等等。3.風險估算——風險預測軟件項目管理人員主要從影響風險的因素和風險發生后帶來的損失來度量風險。要對風險進行估算,首先應建立風險度量指標體系、指明風險帶來的影響和損失,確定影響風險的因素,估計風險出現的可能性或概率,即進行定量的估算。4.風險評價常采用三元組[ri,pi,xi]來描述風險。其中ri代表第i種風險,pi表示第i種風險發生的概率,xi代表該風險帶來的影響,i=1,2,…,l,表示軟件開發項目共有l種風險,i為風險序號。5.風險駕馭和監控風險分析的目的是建立處理風險的策略,監控、駕馭風險。駕馭風險是利用原型化、軟件自動化、可靠性工程學等技術和軟件項目管理方法設法避開或轉移風險。描述風險的三元組[ri,pi,xi]是駕馭風險的基礎。7.6.2進度安排進度安排可能是如下兩種方式之一:(1)軟件產品最終交付日期已經確定,開發方只能根據最終交付日期安排進度;(2)最后交付日期主要由軟件開發方來確定。圖7.3軟件開發各個階段工作量分布常用的項目進度1.甘特圖(Ganttchart)中,每一任務完成的標準,不是以能否繼續下一階段任務為標準,而是必須交付應交付的文檔與通過評審為標準。甘特圖形象地描繪了任務的分解,及每個作業的開始和結束時間,優點是直觀簡明、容易掌握和繪制,但有三個缺點:(1)不能顯示地描繪各項作業間的依賴關系;(2)進度的關鍵部分不明確,難以判斷哪些部分是主攻和主控的對象;(3)計劃中有潛力的部分及潛力的大小不明確,往往造成潛力的浪費。使用Gantt圖描述軟件開發進度
2.軟件項目的進度安排的另外兩種比較常用的方法是程序評估與審查技術(PERT,ProgramEvaluationandReviewTechnique)和關鍵路徑法(CPM,CriticalPathMethod),這兩種方法都生成描述項目進展狀態的工程網絡圖,PERT圖如圖7.5所示。圖7.5PERT圖圖7.6關鍵路徑網絡圖7.6.3軟件質量保證1.軟件質量保證活動的內容為了開發出高質量的軟件,達到軟件工程的目標,必須有計劃地、系統地進行軟件質量保證(SQA,SoftwareQualityAssurance)活動。2.軟件工程的正式技術評審(1)正式技術評審是保證軟件質量的重要措施。(2)正式的技術評審是降低軟件成本的重要措施。7.6.4人員的組織與分工
1.組織原則建立一個好的軟件項目組織是保證軟件開發能夠順利進行的必要條件之一。2.組織結構常用的3種模式:(1)按課題劃分的模式(ProjectFormat)(2)按職能劃分的模式(FunctionalFormat)(3)矩陣模式(MatrixFormat)3.程序設計小組的組織形式程序設計小組的組織和小組內部人員的組織形式對生產率都會產生影響。常采用的組織形式有主程序員制小組、民主制小組、層次式小組3種。4.人員配備實踐表明,軟件開發各個階段所需要的技術人員的類型、層次和數量是不同的。在軟件項目的計劃和分析階段,只需要少數人,主要是系統分析員、從事軟件系統論證和概要設計的軟件高級工程師和項目高級管理人員,人數雖不多,但都是高層次人員。概要設計階段要增加幾個高級程序員。詳細設計階段要增加軟件工程師和程序員。7.7軟件過程能力評估軟件過程能力描述了一個開發組織開發軟件開發高質量軟件產品的能力。現行的國際標準主要有兩個:ISO9000.3和CMM。ISO9000.3是ISO9000質量體系認證中關于計算機軟件質量管理和質量保證標準部分。CMM(能力成熟度模型)是美國卡納基梅隆大學軟件工程研究所(CMU/SEI)于1987年提出的評估和指導軟件研發項目管理的一系列方法,用5個不斷進化的層次來描述軟件過程能力。現在CMM是2.0版本。ISO9000和CMM的共同點是二者都強調了軟件產品的質量。所不同的是,ISO9000強調的是衡量的準則,但沒有告訴軟件開發人員如何達到好的目標,如何避免差錯。CMM則提供了一整套完善的軟件研發項目管理的方法。它可告訴軟件開發組織,如果要在原有的水平上提高一個等級,應該關注哪些問題,而這正是改進軟件過程的工作。7.8項目管理計劃的組成軟件項目計劃(SoftwareProjectPlanning)是一個軟件項目進入系統實施的啟動階段,主要進行的工作包括:確定詳細的項目實施范圍、定義遞交的工作成果、評估實施過程中主要的風險、制定項目實施的時間計劃、成本和預算計劃、人力資源計劃等。7.8.1項目計劃的內容軟件項目計劃通常包括3個方面的內容,內容如下:1.范圍。對該軟件項目的綜合描述,定義起所要做的工作以及性能限制,它包括:(1)項目目標。(2)主要功能。(3)性能限制。(4)系統接口。(5)特殊要求。(6)開發概述。2.資源。資源計劃就是決定在項目中的每一項工作中用什么樣的資源(人、材料、設備、信息、資金等等),在各個階段使用多少資源。項目費用計劃包括資源計劃、費用估算、費用預算。(1)人員資源。(2)硬件資源。(3)軟件資源。(4)其他。3.進度安排。進度安排的好壞往往會影響整個項目的按期完成,因此這一環節是十分重要的。制定軟件進度與其他工程沒有很大的區別,其方法主要有:(1)工程網絡圖。(2)Gantt圖。(3)任務資源表。(4)成本估算。(5)培訓計劃。7.8.2項目計劃的制定項目計劃詳細說明了所需軟件工作及如何實現。它定義了每一個主要任務,并估算其所需時間和資源,同時為管理層的評估和控制提供了一個框架。項目計劃也提供了一種很有效的學習途徑。如果能合理建檔,它便是一個與實際運行效能比較的基準。這種比較可以使計劃者看到他們的估算誤差,從而提高其估算精確度。1.制訂軟件項目計劃的方法與策略(1)注重項目計劃的層次性(2)重視與客戶的溝通(3)繁簡得當(4)制訂的項目計劃要現實2.運用過程化的思想指導開發軟件的需求管理、軟件項目計劃、項目跟蹤和監控、軟件轉包合同管理、軟件質量保證、軟件配置管理就構成了軟件項目的過程管理內容。通常需要根據項目的進展情況對項目計劃進行修改,以便應付需求和承諾的變更、不夠準確的估計、糾正措施和過程更改等。在策劃和重新策劃中涉及的活動,都包含在這個過程方面里。3.利用成熟的項目管理工具很多軟件產品都提供項目管理的功能,如MicrosoftProject、Visio等,它們是都可以用于項目管理。它們自帶了一個叫做“軟件”的模板,可以用它來生成大體的框架,再作細節方面的改動,也可以自己制作一個符合自己公司軟件項目運作流程的模板。4.軟件項目計劃編制方針軟件項目計劃編制的目的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 甘肅弘毅綠地實驗學校2024-2025學年高一下學期3月考試歷史試題(含答案)
- 2024-2025學年統編版語文二年級下冊 期中測試題(含答案)
- 江西省高安二中2024-2025學年統考模擬語文試題含解析
- 西藏職業技術學院《體育四》2023-2024學年第一學期期末試卷
- 拉薩師范高等專科學校《毽球運動》2023-2024學年第二學期期末試卷
- 上海出版印刷高等專科學校《民航商務運營管理》2023-2024學年第二學期期末試卷
- 吉林省蛟河市2024-2025學年高中畢業班第二次模擬(化學試題文)試卷含解析
- 吉林省通化市名校2025年初三下學期5月四校聯考化學試題試卷含解析
- 江西省贛州地區2025年三年級數學第二學期期末復習檢測試題含解析
- 天祝藏族自治縣2025屆三年級數學第二學期期末學業質量監測試題含解析
- 西安民政局離婚協議書模板
- 危險廢物處理處置行業營銷策略方案
- 2024年高考生物真題模擬題專項匯編-21實驗與探究含解析
- 滬教版數學三年級下冊除法豎式計算題100道及答案
- 2024-2030年中國自然教育行業市場發展分析及前景趨勢與投資研究報告
- DL∕T 1475-2015 電力安全工器具配置與存放技術要求
- 四川省瀘州市2024年中考物理試題(含答案)
- 產褥期生活護理及月子餐制作含內容課件
- 投訴法官枉法裁判范本
- 食材配送服務方案投標方案(技術方案)
- (正式版)G-B- 20052-2024 電力變壓器能效限定值及能效等級
評論
0/150
提交評論