軟件工程導(dǎo)論第五版張海藩第13章_第1頁
軟件工程導(dǎo)論第五版張海藩第13章_第2頁
軟件工程導(dǎo)論第五版張海藩第13章_第3頁
軟件工程導(dǎo)論第五版張海藩第13章_第4頁
軟件工程導(dǎo)論第五版張海藩第13章_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第13章軟件項(xiàng)目管理13.1估算軟件規(guī)模13.2工作量估算13.3進(jìn)度計(jì)劃13.4人員組織13.5質(zhì)量保證13.6軟件配置管理13.7能力成熟度模型13.8小結(jié)依據(jù)以往往開發(fā)類類似產(chǎn)品品的經(jīng)驗(yàn)驗(yàn)和歷史史數(shù)據(jù),,估計(jì)實(shí)實(shí)現(xiàn)一個個功能所所需要的的源程序序行數(shù)。。把實(shí)現(xiàn)每每個功能能所需要要的源程程序行數(shù)數(shù)累加起起來,就就可得到到實(shí)現(xiàn)整整個軟件件所需要要的源程程序行數(shù)數(shù)。13.1估算軟件件規(guī)模13.1.1代碼行技技術(shù)由多名有有經(jīng)驗(yàn)的的軟件工工程師分分別做出出估計(jì)。。每個人都都估計(jì)程程序的最最小規(guī)模模(a)、最大規(guī)規(guī)模(b)和最可能能的規(guī)模模(m),分別算算出這3種規(guī)模的的平均值值,再用下式式計(jì)算程程序規(guī)模模的估計(jì)計(jì)值:L=((13.1)單位是代代碼行數(shù)數(shù)(LOC)或千千行代碼碼數(shù)(KLOC)代碼行技技術(shù)的優(yōu)優(yōu)點(diǎn):代碼是所所有軟件件開發(fā)項(xiàng)項(xiàng)目都有有的“產(chǎn)品”,且容易易計(jì)算行行數(shù)。代碼行技技術(shù)的缺缺點(diǎn)是::源源程序僅僅是軟件件配置的的一個成成分。為了克服服代碼行行技術(shù)的的缺點(diǎn),,人們提提出了功功能點(diǎn)技技術(shù)。依據(jù)軟件件信息域域特性和和軟件復(fù)復(fù)雜性,,用功能能點(diǎn)(FP)為單位位度量軟軟件規(guī)模模。1.信息域特特性功能點(diǎn)技技術(shù)定義義了信息息域的5個特性:輸入項(xiàng)數(shù)數(shù)(Inp)、輸出項(xiàng)項(xiàng)數(shù)(Out)、查詢數(shù)數(shù)(Inq)、主文件件數(shù)(Maf)和外部接接口數(shù)(Inf)。(1)輸入入項(xiàng)數(shù)::用用戶向軟軟件輸入入的項(xiàng)數(shù)數(shù),這些些輸入給給軟件提提供面向向應(yīng)用的的數(shù)據(jù)。。13.1.2功能點(diǎn)技技術(shù)(2)輸出出項(xiàng)數(shù)::軟軟件向用用戶輸出出的項(xiàng)數(shù)數(shù),它們們向用戶戶提供面面向應(yīng)用用的信息息,例如如,報表表和出錯錯信息等等。報表表內(nèi)的數(shù)數(shù)據(jù)項(xiàng)不不單獨(dú)計(jì)計(jì)數(shù)。(3)查詢詢數(shù):查查詢詢即是一一次聯(lián)機(jī)機(jī)輸入,它導(dǎo)致致軟件產(chǎn)產(chǎn)生某種種即時響響應(yīng)(輸出)。(4)主文文件數(shù)::邏邏輯主文文件(即即數(shù)據(jù)的的一個邏邏輯組合合,它可可能是大大型數(shù)據(jù)據(jù)庫的一一部分或或是一個個獨(dú)立的的文件))的數(shù)目目。(5)外部部接口數(shù)數(shù):機(jī)機(jī)器可可讀的全全部接口口(例如如,磁盤盤或磁帶帶上的數(shù)數(shù)據(jù)文件件)的數(shù)數(shù)量,用用這些接接口把信信息傳送送給另一一個系統(tǒng)統(tǒng)。2.估算功能能點(diǎn)的步步驟用下述3個步驟,,可估算算出一個個軟件的的功能點(diǎn)點(diǎn)數(shù)(即即軟件規(guī)規(guī)模)。。FP=UFP××TCF(1)計(jì)算算未調(diào)整整的功能能點(diǎn)數(shù)UFP每個特性性(即Inp、Out、Inq、Maf和Inf))都分類為為簡單級級、平均均級或復(fù)復(fù)雜級UFP==a1×Inp+a2×Out+a3×Inq+a4×Maf+a5×Inf其中,ai(1≤i≤5))是特性系系數(shù),其其值由相相應(yīng)特性性的復(fù)雜雜級別決決定,如如表13.1(2)計(jì)算技術(shù)術(shù)復(fù)雜性性因子TCF14種技術(shù)因因素Fi(1≤i≤14)對軟件規(guī)規(guī)模的影影響程度度。每個個因素分分配一個個從0(無影響響)到5(有很大大影響))DI=值在0~70之間技術(shù)復(fù)雜雜性因子子TCF由下式計(jì)計(jì)算:TCF==0.65+0.01×DI(3)計(jì)算功能能點(diǎn)數(shù)FPFP=UFP××TCF功能點(diǎn)數(shù)數(shù)與所用用的編程程語言無無關(guān)。在在判斷信信息域特特性復(fù)雜雜級別和和技術(shù)因因素的影影響程度度時,存存在著相相當(dāng)大的的主觀因因素。軟件估算算模型由由經(jīng)驗(yàn)導(dǎo)導(dǎo)出的公公式來預(yù)預(yù)測軟件件開發(fā)工工作量,,工作量量是軟件件規(guī)模((KLOC或FP)的函數(shù)數(shù),工作作量的單單位通常常是人月月(pm)。估算模型型的經(jīng)驗(yàn)驗(yàn)數(shù)據(jù),,是從有有限個項(xiàng)項(xiàng)目的樣樣本集中中總結(jié)出出來的,,因此,,沒有一一個估算算模型可可以適用用于所有有類型的的軟件和和開發(fā)環(huán)環(huán)境。13.2工作量估估算這類模型型的總體體結(jié)構(gòu)形形式如下下:E=A++B×((ev))C其中,A、B和C是由經(jīng)驗(yàn)驗(yàn)數(shù)據(jù)導(dǎo)導(dǎo)出的常常數(shù),E是以人月月為單位位的工作作量,ev是估算變變量(KLOC或FP)。下面面給出幾幾個典型型的靜態(tài)態(tài)單變量量模型。。1.面向FP的估算模模型(1)Albrecht&&Gaffney模型E=-13.39+0.0545FP(2)Maston,Barnett和Mellichamp模型E=585.7+15.12FP13.2.1靜態(tài)單變變量模型型2.面向KLOC的估算模模型(1)Walston_Felix模型E=5..2×((KLOC)0.91(2)Bailey_Basili模型E=5..5+0.73×(KLOC)1.16(3)Boehm簡單模型型E=3..2×((KLOC)1.05(4)Doty模型(在在KLOC>9時適用))E=5..288×(KLOC)1.047對于相同同的KLOC或FP值,用不不同模型型估算將將得出不不同的結(jié)結(jié)果。主要原因因是,這這些模型型多數(shù)都都是僅根根據(jù)若干干應(yīng)用領(lǐng)領(lǐng)域中有有限個項(xiàng)項(xiàng)目的經(jīng)經(jīng)驗(yàn)數(shù)據(jù)據(jù)推導(dǎo)出出來的,,適用范范圍有限限。因此,必必須根據(jù)據(jù)當(dāng)前項(xiàng)項(xiàng)目的特特點(diǎn)選擇擇適用的的估算模模型,并并且根據(jù)據(jù)需要適適當(dāng)?shù)卣{(diào)調(diào)整(例例如,修修改模型型常數(shù)))估算模模型。動態(tài)多變變量模型型是根據(jù)據(jù)從4000多個當(dāng)代代軟件項(xiàng)項(xiàng)目中收收集的生生產(chǎn)率數(shù)數(shù)據(jù)推導(dǎo)導(dǎo)出來的的。工作量是是軟件規(guī)規(guī)模和開開發(fā)時間間這兩個個變量的的函數(shù)。。E=(LOC××B0.333/P)3×(1//t)4(13..2)E是以人月月或人年年為單位位的工作作量;t>1是以月或或年為單單位的項(xiàng)項(xiàng)目持續(xù)續(xù)時間;;B是特殊技技術(shù)因子子,它隨隨著規(guī)模模和要求求的增加加而緩慢慢增加:小的程序序(KLOC=5~15),B=0..16,,超過70KLOC的程序,,B=0..39;;P是生產(chǎn)率率參數(shù)(2000-30000)13.2.2動態(tài)多變變量模型型P生產(chǎn)率參參數(shù),反反映了下下述因素素對工作作量的影影響:總體過程程成熟度度及管理理水平;;使用良好好的軟件件工程實(shí)實(shí)踐的程程度;使用的程程序設(shè)計(jì)計(jì)語言的的級別;;軟件環(huán)境境;軟件項(xiàng)目目組的技技術(shù)及經(jīng)經(jīng)驗(yàn);應(yīng)用系統(tǒng)統(tǒng)的復(fù)雜雜程度。。開發(fā)實(shí)時時嵌入式式軟件時時:P~==2000;電信系系統(tǒng)和系系統(tǒng)軟件件時:P=10000;商業(yè)應(yīng)應(yīng)用系統(tǒng)統(tǒng):P=28000。如果把項(xiàng)目持續(xù)續(xù)時間延延長一些些,則可可降低完完成項(xiàng)目目所需的的工作量量。構(gòu)造性成成本模型型:COCOMO(COnstructiveCOstModel)。1981年Boehm在《軟件工程程經(jīng)濟(jì)學(xué)學(xué)》中首次提提出了COCOMO模型。1997年Boehm等人提出出的COCOMO2,修訂了了COCOMO。3個層次的的軟件開開發(fā)工作作量估算算模型::(1)應(yīng)用系統(tǒng)統(tǒng)組成模模型用于于估算構(gòu)構(gòu)建原型型的工作作量。(2)早期設(shè)計(jì)計(jì)模型適適用于體體系結(jié)構(gòu)構(gòu)設(shè)計(jì)階階段。(3)后體系結(jié)結(jié)構(gòu)模型型適用于于完成體體系結(jié)構(gòu)構(gòu)設(shè)計(jì)之之后的軟軟件開發(fā)發(fā)階段。。13.2.3COCOMO2模型后體系結(jié)結(jié)構(gòu)模型型軟件開開發(fā)工作作量函數(shù)數(shù):E=(13..3)E是開發(fā)工工作量((以人月月為單位位),a是模型系系數(shù),KLOC是估計(jì)的的源代碼碼行數(shù)((以千行行為單位位),b是模型指指數(shù),fi(i=1~17)是成本因因素,見見下表。。(1)新增增加了4個成本因因素:要求的可可重用性性、需要要的文檔檔量、人人員連續(xù)續(xù)性(即即人員穩(wěn)穩(wěn)定程度度)和多多地點(diǎn)開開發(fā)。(2)略去去了原始始模型中中的2個成本因因素(計(jì)計(jì)算機(jī)切切換時間間和使用用現(xiàn)代程程序設(shè)計(jì)計(jì)實(shí)踐))。(3)某些些成本因因素(分分析員能能力、平平臺經(jīng)驗(yàn)驗(yàn)、語言言和工具具經(jīng)驗(yàn)))對生產(chǎn)產(chǎn)率的影影響(即即工作量量系數(shù)最最大值與與最小值值的比率率)增加加了,另另一些成成本因素素(程序序員能力力)的影影響減小小了。COCOMO2采用了更更加精細(xì)細(xì)得多的的b分級模型型,這個個模型使使用5個分級因因素Wi(1≤i≤≤5)::劃分成從從甚低((Wi=5)到特高((Wi=0)的6個級別b=((13.4)b的取值范范圍為1.01~1..26。5個分級因因素如下下所述::(1)項(xiàng)目目先例性性:該項(xiàng)目的的新奇程程度。(2)開發(fā)發(fā)靈活性性:約束多少少。(3)風(fēng)險險排除度度:重大風(fēng)險險已被消消除的比比例。(4)項(xiàng)目目組凝聚聚力:開發(fā)人員員相互協(xié)協(xié)作度。。(5)過程程成熟度度:按照能力力成熟度度模型((見13.7節(jié))目的:保證項(xiàng)目目按時完完成影響工期期的因素素:工作量,資源(人力,設(shè)備),項(xiàng)目特點(diǎn)點(diǎn)方法:把項(xiàng)目分分解成許許多小任任務(wù)以利利于估計(jì)計(jì),執(zhí)行,監(jiān)控難點(diǎn):根據(jù)項(xiàng)目目,合理分配配任務(wù),優(yōu)化使用用資源,留有余地地工具:經(jīng)驗(yàn)?zāi)P托?GANTT圖,工程網(wǎng)絡(luò)絡(luò)項(xiàng)目管理理者必須須定義全全部項(xiàng)目目任務(wù),,識別出出關(guān)鍵任任務(wù),跟跟蹤關(guān)鍵鍵任務(wù)的的進(jìn)展?fàn)顮顩r。制定一個個詳細(xì)的的進(jìn)度表表,監(jiān)督督項(xiàng)目進(jìn)進(jìn)度并控控制整個個項(xiàng)目。。13.3進(jìn)度計(jì)劃劃工期>=工作量/人力正常情況況下,估算開發(fā)發(fā)時間的的模型方方程:(1)Walston_Felix模型:T==2.5E0.35(2)原始的COCOMO模型:T==2.5E0.38(3)COCOMO2模型:T==3.0E0.33+0..2×((b-1.01)(4)Putnam模型:T=2..4E1/3E是開發(fā)工工作量((以人月月為單位位),T是開發(fā)時時間(以以月為單單位)。。13.3.1估算開發(fā)發(fā)時間為了縮短短開發(fā)時時間應(yīng)該該增加開開發(fā)工作作的人數(shù)數(shù)。隨著開發(fā)發(fā)小組規(guī)規(guī)模擴(kuò)大大,個人人生產(chǎn)率率將下降降,開發(fā)時間間與開發(fā)發(fā)工作的的人數(shù)非簡單反反比關(guān)系的兩兩個原因因:當(dāng)小組變變大時,,通信開開銷增加加了。新成員要要額外花花費(fèi)小組組其他成成員的時時間。被稱為Brooks規(guī)律的下下述現(xiàn)象象:向向一個個已經(jīng)延延期的項(xiàng)項(xiàng)目增加加人力,,可能(只)會使得它它更加延延期。項(xiàng)目組規(guī)規(guī)模與項(xiàng)項(xiàng)目組總總生產(chǎn)率率的關(guān)系系。P名項(xiàng)目組組員之間間的通信信路徑數(shù)數(shù):MIN==P--1,MAX=P(P--1)//2通信路徑徑數(shù)大約約為Pα,其中1<α<<2。一個組員員不與任任何人通通信時個個人生產(chǎn)產(chǎn)率為L,每條通信信路徑導(dǎo)導(dǎo)致生產(chǎn)產(chǎn)率減少少l,組員個人人平均生生產(chǎn)率為為:Lr=L--l(P-1))r(13..5)其中,r是對通信信路徑數(shù)數(shù)的度量量,0<r≤≤1規(guī)模為P的項(xiàng)目組組的總生生產(chǎn)率為為Ltot=P(L-l((P-1)r)((13.6))對于給定定的L,l和r的值,總總生產(chǎn)率率Ltot是P的函數(shù)。。存在一個個最佳的的項(xiàng)目組組規(guī)模Popt,其總生生產(chǎn)率最最高。Boehm根據(jù)經(jīng)驗(yàn)驗(yàn)指出,,軟件項(xiàng)項(xiàng)目的開開發(fā)時間間最多可可以減少少到正常常開發(fā)時時間的75%。制定進(jìn)度度計(jì)劃任務(wù)(活活動)之之間的依依賴關(guān)系系類型項(xiàng)目網(wǎng)絡(luò)絡(luò)圖什么是項(xiàng)項(xiàng)目網(wǎng)絡(luò)絡(luò)圖?項(xiàng)目網(wǎng)絡(luò)絡(luò)圖是項(xiàng)項(xiàng)目的所所有活動動以及它它們之間間邏輯關(guān)關(guān)系或排排序的圖圖形顯示示。項(xiàng)目網(wǎng)絡(luò)絡(luò)圖是活活動排序序的輸出出,它有有以下作作用:(1)能表示示項(xiàng)目活活動,并并表示活活動之間間的依賴賴關(guān)系。。(2)表明項(xiàng)項(xiàng)目活動動將以什什么順序序繼續(xù)。。(3)在進(jìn)行行工期估估計(jì)時,,表明項(xiàng)項(xiàng)目將需需要多長長時間。。(4)當(dāng)改變變某項(xiàng)活活動工期期時,表表明項(xiàng)目目工期將將如何變變化。

項(xiàng)目網(wǎng)絡(luò)絡(luò)圖有兩兩種表示示形式::(1)前導(dǎo)圖圖法(PDM:PrecedenceDiagrammingMethod)(2)箭線圖圖法(ADM:ArrowDiagrammingMethod)項(xiàng)目網(wǎng)絡(luò)絡(luò)圖甲項(xiàng)目例例甲項(xiàng)目中中包含的的活動清清單、各各個活動動的歷時時以及活活動間的的依賴關(guān)關(guān)系如下下:各活動的的依賴關(guān)關(guān)系:A、B、C可以同時時開始;;D必須在A完成后開開始;E、F必須在B完成后開開始;G必須在C完成后開開始;H必須在D、E完成后開開始;I必須在G完成后開開始;J必須在F、H、I完成后開開始。甲項(xiàng)目的的箭線圖圖(ADM)或雙代號網(wǎng)網(wǎng)絡(luò)圖((AOA)示例采用PDM繪制的甲甲項(xiàng)目的的網(wǎng)絡(luò)圖圖示例活動歷時時估計(jì)活動歷時時估計(jì)是根據(jù)任任務(wù)分解解中定義義的項(xiàng)目目活動和和項(xiàng)目活活動清單單來估計(jì)計(jì)完成這這些項(xiàng)目目所需要要的工期期。工期包括括一項(xiàng)活活動所消消耗的實(shí)實(shí)際工作作時間加上間歇歇時間。。制定進(jìn)度度計(jì)劃在活動定定義、活活動排序序、和活活動歷時時估計(jì)的的基礎(chǔ)上上,綜合合各個項(xiàng)項(xiàng)目活動動的開始始和結(jié)束束日期、、最終的的活動順順序以及及工期來來確定項(xiàng)項(xiàng)目的總總體進(jìn)度度計(jì)劃。。甘特圖甘特圖,通過日日歷形式式列出項(xiàng)項(xiàng)目活動動及其相相應(yīng)的開始始和結(jié)束束日期,,它為反反映項(xiàng)目目進(jìn)度信信息提供了了一種標(biāo)標(biāo)準(zhǔn)形式式。下圖是用用PROJECT制作的甲甲項(xiàng)目的的最簡單單的一個個甘特圖圖早期的甘甘特圖的的最大缺缺點(diǎn)是通通常不反反映依賴賴關(guān)系,,但是如果果在Project上建立了了依賴關(guān)關(guān)系,這這種依賴賴關(guān)系會會自動顯顯示在甘甘特圖上上。甘特圖使用項(xiàng)目目管理軟軟件可以以創(chuàng)建更更為復(fù)雜雜的甘特特圖甘特圖跟蹤甘特特圖可以以用來評評價項(xiàng)目目的進(jìn)展展注意:任務(wù)用兩兩種水平平橫線表表示。下下部表示示計(jì)劃歷歷史(基基準(zhǔn)計(jì)劃劃歷史));上部部表示實(shí)實(shí)際歷史史。由于跟蹤蹤甘特圖圖是建立立在實(shí)際際開始與與完成日日期的基基礎(chǔ)之上上,將計(jì)計(jì)劃與實(shí)實(shí)際的項(xiàng)項(xiàng)目進(jìn)度度信息進(jìn)進(jìn)行比較較,所以以,項(xiàng)目目經(jīng)理可可以用它它來監(jiān)控控單個任任務(wù)和整整體項(xiàng)目目的進(jìn)展展情況。。甘特圖甘特圖與與網(wǎng)絡(luò)圖圖的比較較甘特圖在進(jìn)度報告中很有效在作管理陳述時易于讀懂和使用。作為計(jì)劃編制工具不是太強(qiáng)。沒有表示活動間的邏輯關(guān)系。網(wǎng)絡(luò)圖表明活動和事件間的相互關(guān)系。識別關(guān)鍵路徑,項(xiàng)目歷程和活動排序。表明工作流程。幫助編制計(jì)劃和組織工作。關(guān)鍵路徑徑法查找關(guān)鍵鍵路徑實(shí)實(shí)例:使用箭線線圖來確確定關(guān)鍵鍵路徑。。使用前導(dǎo)導(dǎo)圖來確確定關(guān)鍵鍵路徑。。甲項(xiàng)目的的箭線圖圖(ADM)或雙代號網(wǎng)網(wǎng)絡(luò)圖((AOA)示例采用PDM繪制的甲甲項(xiàng)目的的網(wǎng)絡(luò)圖圖示例關(guān)鍵路徑徑法單個軟件件開發(fā)人人員無法法在給定定期限內(nèi)內(nèi)完成軟軟件項(xiàng)目目,因此此,必須須把多名名軟件開開發(fā)人員員合理地地組織起起來,使使他們有有效地分分工協(xié)作作共同完完成開發(fā)發(fā)工作。。3種典型的的組織方方式:民主制程程序員組組、主程程序員組組和現(xiàn)代代程序員員組。13.4人員組織織民主制程程序員組組:小組成員員完全平平等,通信信道道共有n(n--1)//2條。程序設(shè)計(jì)計(jì)小組的的規(guī)模應(yīng)應(yīng)該以2~8名成員為為宜。優(yōu)點(diǎn):組員們對對發(fā)現(xiàn)程程序錯誤誤持積極極的態(tài)度度,這種種態(tài)度有有助于更更快速地地發(fā)現(xiàn)錯錯誤,從從而導(dǎo)致致高質(zhì)量量的代碼碼。缺點(diǎn):由由于沒沒有明確確的權(quán)威威指導(dǎo)開開發(fā)工程程的進(jìn)行行,組員間將將缺乏必必要的協(xié)協(xié)調(diào),最終可能能導(dǎo)致工工程失敗敗。13.4.1民主制程程序員組組IBM公司20世紀(jì)70年代初期期開始采采用,幾點(diǎn)考慮慮:(1)軟件開發(fā)發(fā)人員多多數(shù)比較較缺乏經(jīng)經(jīng)驗(yàn);(2)程序設(shè)計(jì)計(jì)過程中中有許多多事務(wù)性性的工作作,例如如,大量量信息的的存儲和和更新;;(3)多渠道通通信很費(fèi)費(fèi)時間,,將降低低程序員員的生產(chǎn)產(chǎn)率。用經(jīng)驗(yàn)多多、技術(shù)術(shù)好、能能力強(qiáng)的的程序員員作為主主程序員員,同時時,組內(nèi)內(nèi)分工,,給主程程序員提提供充分分支持,,所有通通信都通通過一兩兩個人進(jìn)進(jìn)行。13.4.2主程序員員組主程序員員組的兩兩個重要要特性::(1)專業(yè)業(yè)化。成成員完成成受過專專業(yè)訓(xùn)練練的工作作。(2)層次次性。主主程序員員全面負(fù)負(fù)責(zé)。組織形式式如圖13.5所示。問題:主程序員員具備兩兩方面的的才能,,這樣的的人才不不多。后備程序序員更難難找。編程秘書書也很難難找到。?!爸鞒绦騿T員”由兩個人人擔(dān)任::一一個負(fù)責(zé)責(zé)小組的的技術(shù);;一個負(fù)負(fù)責(zé)管理理決策。。13.4.3現(xiàn)代程序序員組當(dāng)軟件項(xiàng)項(xiàng)目規(guī)模模較大時時,應(yīng)該該把程序序員分成成若干個個小組,,采用圖圖13.7所示的組組織結(jié)構(gòu)構(gòu)。該圖描繪繪的是技技術(shù)管理理組織結(jié)結(jié)構(gòu),非非技術(shù)管管理組織織結(jié)構(gòu)與與此類似似。由圖可以以看出,,產(chǎn)品開開發(fā)作為為一個整整體是在在項(xiàng)目經(jīng)經(jīng)理的指指導(dǎo)下進(jìn)進(jìn)行的,,程序員員向他們們的組長長匯報工工作,而而組長則則向項(xiàng)目目經(jīng)理匯匯報工作作。當(dāng)產(chǎn)品規(guī)規(guī)模更大大時,可可以適當(dāng)當(dāng)增加中中間管理理層次。。圖13.7大型項(xiàng)目目的技術(shù)術(shù)管理組組織結(jié)構(gòu)構(gòu)軟件質(zhì)量量就是“軟件與明明確地和和隱含地地定義的的需求相相一致的的程度”:(1)軟件需需求是度度量軟件件質(zhì)量的的基礎(chǔ)。。(2)有沒有有顯式描描述的隱隱含需求求。(3)不遵守守一組指指導(dǎo)軟件件開發(fā)的的準(zhǔn)則,,會導(dǎo)致致軟件質(zhì)質(zhì)量不高高。13.5質(zhì)量保證證13.5.1軟件質(zhì)量量圖13.9軟件質(zhì)量量因素軟件質(zhì)量量保證((softwarequalityassurance,SQA)的措施施主要有有:技術(shù)復(fù)審審和測試。。兩類參加加軟件質(zhì)質(zhì)量保證證工作的的人員::軟件工程程師通過過采用先先進(jìn)的技技術(shù)方法法和度量量,進(jìn)行行正式的的技術(shù)復(fù)復(fù)審以及及完成軟軟件測試試來保證證軟件質(zhì)質(zhì)量。SQA小組的職職責(zé),是是輔助軟軟件工程程師以獲獲得高質(zhì)質(zhì)量的軟軟件產(chǎn)品品。其從從事的軟軟件質(zhì)量量保證活活動主要要是:計(jì)計(jì)劃劃,監(jiān)督督,記錄錄,分析析和報告告。確保軟件件過程的的質(zhì)量來來保證軟軟件產(chǎn)品品的質(zhì)量量。13.5.2軟件質(zhì)量量保證措措施1.技術(shù)復(fù)審審的必要要性較早發(fā)現(xiàn)現(xiàn)錯誤,,防止被被傳播到到軟件過過程的后后續(xù)階段段。大型軟件件產(chǎn)品中中檢測出出的錯誤誤,60%~~70%%屬于規(guī)格格說明錯錯誤或設(shè)設(shè)計(jì)錯誤誤,而正正式技術(shù)術(shù)復(fù)審在在發(fā)現(xiàn)規(guī)規(guī)格說明明錯誤和和設(shè)計(jì)錯錯誤方面面的有效效性高達(dá)達(dá)75%。正式技術(shù)術(shù)復(fù)審包包括走查查(walkthrough)和審查((inspection)。走查的步步驟比審審查少,,而且沒沒有審查查正規(guī)。。2.走查成員組成成(走查規(guī)格格說明的的小組為為例):一名負(fù)責(zé)責(zé)起草規(guī)規(guī)格說明明的人,,一名負(fù)責(zé)責(zé)該規(guī)格格說明的的管理員員,一位客戶戶代表,,一名下階階段開發(fā)發(fā)組代表表一名SQA小組代表表(組長)。走查組成成員最好好是經(jīng)驗(yàn)驗(yàn)豐富的的高級技技術(shù)人員員。必須把被被走查的的材料預(yù)預(yù)先分發(fā)發(fā)給走查查組每位位成員。。走查組組成員應(yīng)應(yīng)該仔細(xì)細(xì)研究材材料并列列出兩張張表:一張表是是不理解解的術(shù)語語,一張是認(rèn)認(rèn)為不正正確的術(shù)術(shù)語。走查組的的任務(wù)僅僅僅是標(biāo)標(biāo)記出錯錯誤而不不是改正正錯誤。。走查主要要有下述述兩種方方式:(1)參與與者驅(qū)動動法。參參與者提提出他們們不理解解的術(shù)語語和認(rèn)為為不正確確的術(shù)語語。文檔檔編寫組組的代表表必須回回答每個個質(zhì)疑,,要么承承認(rèn)確實(shí)實(shí)有錯誤誤,要么么對質(zhì)疑疑做出解解釋。(2)文檔檔驅(qū)動法法。文檔檔編寫者者向走查查組成員員仔細(xì)解解釋文檔檔。走查查組成員員針對事事先準(zhǔn)備備好的問問題或解解釋過程程中發(fā)現(xiàn)現(xiàn)的問題題提出質(zhì)質(zhì)疑。3.審查審查的范范圍比走走查廣,,包括下下述5個基本步步驟:(1)綜述述。編寫寫文檔的的一名成成員向?qū)弻彶榻M綜綜述該文文檔。在在綜述會會結(jié)束時時把文檔檔分發(fā)給給每位與與會者。。(2)準(zhǔn)備備。評審審員仔細(xì)細(xì)閱讀文文檔。列列出在審審查中發(fā)發(fā)現(xiàn)的錯錯誤的類類型,頻頻率,分分級。(3)審查查。評審審組仔細(xì)細(xì)走查整整個文檔檔。審查查組組長長應(yīng)該在在一天之之內(nèi)寫出出一份關(guān)關(guān)于審查查的報告告。(4)返工工。文檔檔的作者者負(fù)責(zé)解解決在審審查報告告中列出出的所有有錯誤及及問題。。(5)跟蹤蹤。組長長必須確確保所提提出的每每個問題題都得到到了圓滿滿的解決決。4.程序正確確性證明明即使有程程序正確確性證明明,軟件件測試也也仍然是是需要的的:正確確性證明明過程本本身也可可能發(fā)生生錯誤。。程序正確確性證明明,對于于評價小小程序有有價值。。還不能實(shí)實(shí)際用于于大型程程序的正正確性證證明。正確性證證明的基基本思想想是證明明程序能能完成預(yù)預(yù)定的功功能。假設(shè)在程程序的P1,P2,…,Pn等點(diǎn)上的的斷言分分別是a(1)),a((2),…,a(n)),其中a(1))必須是關(guān)關(guān)于程序序輸入的的斷言,,a(n))必須是關(guān)關(guān)于程序序輸出的的斷言。。為了證明明在點(diǎn)Pi和Pi+1之間的程程序語句句是正確確的,只只須證明明若斷言言a(i))為真且執(zhí)執(zhí)行這些些語句之之后將使使a(i++1)為真。如果對所所有數(shù)據(jù)據(jù)輸入斷斷言為真真時,能能對程序序內(nèi)所有有相鄰點(diǎn)點(diǎn)都能完完成上述述證明過過程,而而且程序序總可以以終止的的,則證證明了程程序的正正確性。。變化是不不可避免免的,必須控制制和管理理變化。。軟件配置置管理:用于管理理變化的的軟件質(zhì)質(zhì)量保證證活動。。軟件配置置管理在在整個生生命期內(nèi)內(nèi)管理變變化:①標(biāo)識變化化;②控制變化化;③確保適當(dāng)當(dāng)?shù)貙?shí)現(xiàn)現(xiàn)了變化化;④向需要知知道這類類信息的的人報告告變化。。軟件配置置管理的的目標(biāo)::使變化化更正確確更容易易被實(shí)現(xiàn)現(xiàn)。保證每個個軟件配配置項(xiàng)正正確,保證一個個軟件的的所有配配置項(xiàng)是是完全一一致的。。13.6軟件配置置管理1.軟件配置置項(xiàng)軟件過程程的輸出出信息可可以分為為3類:①計(jì)算機(jī)程程序(源源代碼和和可執(zhí)行行程序));②計(jì)算機(jī)程程序的文文檔(供供技術(shù)人人員或用用戶使用用);③數(shù)據(jù)(程程序內(nèi)包包含的或或在程序序外的))。我們把它它們統(tǒng)稱稱為軟件件配置,,而這些些項(xiàng)就是是軟件配配置項(xiàng)((ITEM=元素)。。13.6.1軟件配置置2.基線(Baseline,,里程碑)IEEE把基線定定義為::已經(jīng)經(jīng)通過了了正式復(fù)復(fù)審的規(guī)規(guī)格說明明或中間間產(chǎn)品,,它可以以作為進(jìn)進(jìn)一步開開發(fā)的基基礎(chǔ),并并且只有有通過正正式的變變化控制制過程才才能改變變它。軟件工具具也應(yīng)置置于配置置管理之之下:編編輯器、、編譯器器和其他他CASE工具。不同版本本的工具具產(chǎn)生的的結(jié)果不不同。軟件配置置管理主主要有5項(xiàng)任務(wù)::標(biāo)標(biāo)識、版版本控制制、變化化控制、、配置審審計(jì)和報報告。1.標(biāo)識軟件件配置中中的對象象命名每個個配置項(xiàng)項(xiàng)。兩類類對象::基基本和聚聚集對象象?;緦ο笙笫擒浖こ處煄熢诜治鑫?、設(shè)計(jì)計(jì)、編碼碼或測試試過程中中創(chuàng)建出出來的“文本單元元”。聚集對象象是基本本對象和和其他聚聚集對象象的集合合。每個對象象都有一一組能惟惟一地標(biāo)標(biāo)識它的的特征::名名字、描描述、版版本。13.6.2軟件配置置管理過過程2.版本控制制版本控制制管理軟軟件配置置對象的的不同版版本。用戶能夠夠通過選選擇版本本來指定定軟件的的配置。。屬性和軟軟件的每每個版本本相關(guān)聯(lián)聯(lián)。描述一組組所期望望的屬性性來指定定和構(gòu)造造所需要要的配置置?!皩傩浴保瓤梢砸允桥渲弥脤ο蟮牡陌姹咎柼?,也可可以復(fù)雜雜到是一一個布爾爾變量串串。3.變化控制制變化控制制過程在在維護(hù)一一章講過過。批準(zhǔn)的變變化生成成一個“工程變化化命令”描述將要要實(shí)現(xiàn)的的變化。。把要修改改的對象象從項(xiàng)目目數(shù)據(jù)庫庫中“提?。╟heckout)”出來,進(jìn)進(jìn)行修改改。把修改后后的對象象“提交(checkin)”進(jìn)數(shù)據(jù)庫庫,并創(chuàng)創(chuàng)建該軟軟件的下下一個版版本。變化控制制的兩個個主要功功能:訪問控制制決定軟軟件工程程師有權(quán)權(quán)訪問和和修改一一個特定定的配置置對象同步控制制有助于于保證由由兩名不不同的軟軟件工程程師完成成的并行行修改不不會相互互覆蓋。。4.配置審計(jì)計(jì)兩方面采采取措施施確保適適當(dāng)?shù)貙?shí)實(shí)現(xiàn)了所所需要的的變化::①正式的技技術(shù)復(fù)審審;②軟件配置置審計(jì)。。正式的技技術(shù)復(fù)審審(見13.5.2節(jié))關(guān)注注被修改改后的配配置對象象的技術(shù)術(shù)正確性性。軟件配置置審計(jì)通通過評估估配置對對象的那那些通常常不在復(fù)復(fù)審過程程中考慮慮的特征征(例如如,修改改時是否否遵循了了軟件工工程標(biāo)準(zhǔn)準(zhǔn),是否否在該配配置項(xiàng)中中顯著地地標(biāo)明了了所做的的修改,,是否注注明了修修改日期期和修改改者,是是否適當(dāng)當(dāng)?shù)馗滦铝怂杏邢嚓P(guān)的的軟件配配置項(xiàng),,是否遵循循了標(biāo)注注變化、、記錄變變化和報報告變化化的規(guī)程程),而成成為對正正式技術(shù)術(shù)復(fù)審的的補(bǔ)充。。5.狀態(tài)報告告配置狀態(tài)態(tài)報告回回答下述述問題::①發(fā)生了什什么事??②誰做的這這件事??③這件事是是什么時時候發(fā)生生的?④它將影響響哪些其其他事物物?配置狀態(tài)態(tài)改善所所有相關(guān)關(guān)人員之之間的通通信,消消除沖突突,避免重復(fù)復(fù),提高高效率。。美國卡內(nèi)內(nèi)基梅隆隆大學(xué)軟軟件工程程研究所所在美國國國防部部資助下下于20世紀(jì)80年代末建建立的能能力成熟熟度模型型(capabilitymaturitymodel,CMM)),是用于于評價軟軟件機(jī)構(gòu)構(gòu)的軟件件過程能能力成熟熟度的模模型。最最初,建建立此模模型的目目的主要要是,為為大型軟軟件項(xiàng)目目的招投投標(biāo)活動動提供一一種全面面而客觀觀的評審審依據(jù),,發(fā)展到到后來,,此模型型又同時時被應(yīng)用用于許多多軟件機(jī)機(jī)構(gòu)內(nèi)部部的過程程改進(jìn)活活動中。。13.7能力成熟熟度模型型改進(jìn)對軟軟件過程程的管理理是消除除軟件危危機(jī)的突突破口,,比采用用先進(jìn)的的技術(shù)和和工具更更重要。。能力成熟熟度模型型的基本本思想::通過建立立成熟的的優(yōu)化的的軟件過過程,提提高軟件件的生產(chǎn)產(chǎn)率和質(zhì)質(zhì)量。而而技術(shù)的的改進(jìn)是是軟件過過程改進(jìn)進(jìn)的結(jié)果果。CMM的作用::指導(dǎo)軟軟件機(jī)構(gòu)構(gòu)通過確確定當(dāng)前前的過程程成熟度度并識別別出對過過程改進(jìn)進(jìn)起關(guān)鍵鍵作用的的問題,,進(jìn)而穩(wěn)穩(wěn)步而有有效地改改進(jìn)其軟軟件過程程,提高高成熟度度,使其其軟件過過程能力力得到循循序漸進(jìn)進(jìn)的提高高。CMM把軟件過過程從無無序到優(yōu)優(yōu)化的進(jìn)進(jìn)化過程程分成5個有序的的階段,,用以測測量軟件件機(jī)構(gòu)的的軟件過過程成熟熟度和評評價其軟軟件過程程能力,,這些等等級還能能幫助軟軟件機(jī)構(gòu)構(gòu)把應(yīng)做做的改進(jìn)進(jìn)工作排排出優(yōu)先先次序。。CMM對5個成熟度度級別特特性的描描述,說說明了不不同級別別之間軟軟件過程程的主要要變化。。從“1級”到“5級”,反映出出從混亂亂到成熟熟的軟件件過程必必須經(jīng)歷歷的過程程改進(jìn)途途徑。CMM的每個成成熟度級級別中都都包含一一組過程程改進(jìn)的的目標(biāo),,滿足這這些目標(biāo)標(biāo)后一個個機(jī)構(gòu)的的軟件過過程就從從當(dāng)前級級別進(jìn)化化到下一一個成熟熟度級別別。CMM不提供做做這些改改進(jìn)的具具體措施施。軟件工程程71過程變更管理PCM技術(shù)變更管理TCM缺陷預(yù)防

DP軟件配置管理

SCM軟件質(zhì)量保證

SQA軟件子合同管理

SSM軟件項(xiàng)目追蹤與監(jiān)督SPTO軟件項(xiàng)目策劃

SPP需求管理

RM軟件產(chǎn)品工程SPE集成軟件管理ISM培訓(xùn)大綱

TP組織過程定義OPD組織過程焦點(diǎn)OPF同行評審

PR組間協(xié)調(diào)

IC軟件質(zhì)量管理SQM定量

過程管理QPM規(guī)范化過程標(biāo)準(zhǔn)化過程可預(yù)測過程持續(xù)改進(jìn)過程個別過程2級(可重復(fù)級)3級(已定義級)4級(已管理級)5級(優(yōu)化級)1級(初始級)軟件工程程72關(guān)鍵過程程域分類類5優(yōu)化級過程變更管理4可管理級需求管理軟件項(xiàng)目策劃軟件項(xiàng)目跟蹤與監(jiān)控軟件子合同管理軟件質(zhì)量保證軟件配置管理過程分類機(jī)構(gòu)的過程管理過程缺陷預(yù)防軟件質(zhì)量管理整體化軟件管理組間協(xié)調(diào)組織過程關(guān)注組織過程定義培訓(xùn)規(guī)劃無序過程定量過程管理3可定義級2可重復(fù)級1初始級工程的過程軟件產(chǎn)品工程同行評審技術(shù)變更管理1.初始級軟件過程程的特征征是無序序的,甚甚至是混混亂的。。幾乎沒沒有什么么過程是是經(jīng)過定定義的((即沒有有一個定定型的過過程模型型),項(xiàng)項(xiàng)目能否否成功隨隨機(jī)性很很大。沒有健全全的軟件件工程管管理制度度。延期交付付和費(fèi)用用超支的的情況經(jīng)經(jīng)常發(fā)生生,大多多數(shù)行動動只是應(yīng)應(yīng)付危機(jī)機(jī),而不不是完成成計(jì)劃好好的任務(wù)務(wù)。處于1級成熟度度的軟件件機(jī)構(gòu),,其過程程能力是是不可預(yù)預(yù)測的,,其軟件件過程是是不穩(wěn)定定的,產(chǎn)產(chǎn)品質(zhì)量量只能根根據(jù)相關(guān)關(guān)人員的的個人工工作能力力而不是是軟件機(jī)機(jī)構(gòu)的過過程能力力來預(yù)測測。2.可重復(fù)級級建立了基基本的項(xiàng)項(xiàng)目管理理過程(過程模型型),可跟蹤成成本、進(jìn)進(jìn)度、功功能和質(zhì)質(zhì)量。對對新項(xiàng)目目的策劃劃和管理理過程是是基于以以前類似似項(xiàng)目的的實(shí)踐經(jīng)經(jīng)驗(yàn)。已經(jīng)制定定了項(xiàng)目目標(biāo)準(zhǔn),,并且軟軟件機(jī)構(gòu)構(gòu)能確保保嚴(yán)格執(zhí)執(zhí)行這些些標(biāo)準(zhǔn)。。項(xiàng)目組組與客戶戶及承包包商已經(jīng)經(jīng)建立起起一個穩(wěn)穩(wěn)定的工工作環(huán)境境。過程能力力可以概概括為:軟件項(xiàng)目目的策劃劃和跟蹤蹤是穩(wěn)定定的,已已經(jīng)為一一個有紀(jì)紀(jì)律的管管理過程程提供了了可重復(fù)復(fù)以前成成功實(shí)踐踐的項(xiàng)目目環(huán)境。。3.已定義級級軟件機(jī)構(gòu)構(gòu)已經(jīng)定定義了完完整的軟軟件過程程(過程程模型)),軟件件過程已已經(jīng)文檔檔化和標(biāo)標(biāo)準(zhǔn)化。。有一個固固定的過過程小組組從事軟軟件過程程工程活活動。過程小組組可以利利用過程程模型進(jìn)進(jìn)行過程程例化活活動,從從而獲得得一個針針對某個個特定的的軟件項(xiàng)項(xiàng)目的過過程實(shí)例例。過程程小組還還可以推推進(jìn)軟件件機(jī)構(gòu)的的過程改改進(jìn)活動動。實(shí)施施了培訓(xùn)訓(xùn)計(jì)劃,,能夠保保證全體體項(xiàng)目負(fù)負(fù)責(zé)人和和項(xiàng)目開開發(fā)人員員具有完完成承

溫馨提示

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

評論

0/150

提交評論