版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Introduction to the Personal Software Process ZengyiCollege of Computer Science and Engineering, ChongQing University, Chongqing 40044, China E-mail: Telo),138832027518. PSP的進(jìn)度管理n如何制定和使用進(jìn)度表n如何對照進(jìn)度表使用檢查點來跟蹤作業(yè)的進(jìn)展情況n要識別和描述用來跟蹤某個編程項目進(jìn)展情況的幾個檢查點8. PSP的進(jìn)度管理8.2進(jìn)度管理的工具nProject 2000 nGantt圖nGant
2、t圖的跟蹤n任務(wù)分配狀況n日歷n網(wǎng)絡(luò)圖n資源工作表n資源使用狀況n資源圖表n其他圖表8. PSP的進(jìn)度管理8.3制定項目進(jìn)度表n在Gantt圖中列出每一項任務(wù)并說明開始和結(jié)束時間n確保每個人都知道要完成的任務(wù)n獲取每項任務(wù)承諾的完成時間n確定各任務(wù)之間的相互依賴關(guān)系n每個人開始處理工作之前他們必須得到什么樣的輸入n他們從誰那里得到這些輸入n把每個相互依賴的關(guān)系都文擋化n與所有涉及到人一起復(fù)查計劃的進(jìn)度表和各任務(wù)之間的依賴關(guān)系,以確保沒有沖突、分歧和誤解n復(fù)查進(jìn)度表,以確保它包含了完成整個作業(yè)所需要的全部任務(wù)8. PSP的進(jìn)度管理8.4 檢查點n對任何項目進(jìn)行計劃,都要把工作分成幾部分,分別估計
3、和規(guī)劃n每一部分都可作為一個計劃n每一部分完成后,就達(dá)到了一個定義的進(jìn)展階段檢檢查點查點或稱里程碑里程碑n檢查點是一個項目中能夠客觀地標(biāo)識的點,每個檢查點都標(biāo)明了計劃完成的日期,那么就容易看出當(dāng)前是達(dá)到了進(jìn)度要求還是落后了n檢查點必須清晰明確、沒有歧義才是有用的,即必須是某一特別動作,要么它已經(jīng)完成,要么還沒有完成8. PSP的進(jìn)度管理 8.4 檢查點n一些明確的檢查點的事例n完成并提交了一份學(xué)術(shù)報告n制定了某個程序的計劃,并用標(biāo)準(zhǔn)格式寫成了文檔n與指導(dǎo)教師復(fù)查了開發(fā)計劃,并按照建議作出了修改n完成了某個程序設(shè)計,并用標(biāo)準(zhǔn)格式寫成了文檔n實現(xiàn)、編譯并修改了某個程序n過多的檢查點不利于跟蹤要緊的
4、事情8. PSP的進(jìn)度管理8.5 跟蹤項目計劃n跟蹤項目計劃的目的n使你知道進(jìn)度超前還是落后n檢查點和詳細(xì)的計劃可使你明確項目的那部分出了問題n在項目出現(xiàn)問題時及時采取行動8. PSP的進(jìn)度管理8.5 跟蹤項目計劃n跟蹤項目計劃的幾點建議n確保所有檢查點的定義是明確的,并已寫下來n在制定一份全新的計劃之前,不要改動計劃n按照計劃公布項目進(jìn)展?fàn)顟B(tài)時,不要改動計劃n在給出新估計的項目完成日期時,保留原來估計的日期,然后用虛線注明新的日期n保存原始的進(jìn)度表和所有更新的版本n如果改動了原始的計劃,就沒有了測量依據(jù)8. PSP的進(jìn)度管理8.5 跟蹤積分n如何了解自己的進(jìn)展情況nHumphrey建議的個人
5、使用表格n例1:開發(fā)計劃 對計劃用時和實際用時的比較 任務(wù)子任務(wù)計劃(min)計劃的積分計劃和完成周次實際積分單元累計計劃實際任務(wù)1任務(wù)1.1總計計劃做此項任務(wù)的時間計劃做此項任務(wù)的總時間計劃做此項任務(wù)的單元百分比累計值,應(yīng)該為100。計劃做此項任務(wù)的時間占總計劃時間的百分比計劃做此項任務(wù)為止的單元時間的累計百分比值實際做此項任務(wù)的時間占總計劃時間的百分比8. PSP的進(jìn)度管理8.5 跟蹤積分nHumphrey建議的個人使用表格n例2 計劃進(jìn)度表預(yù)測進(jìn)度周編號計劃積分實際積分預(yù)測積分12n100.00通過對前面各周實際積分的平均值計算,可以得到后面各周的預(yù)測值計算各周實際積分值計算各周計劃積分
6、值8. PSP的進(jìn)度管理8.5 跟蹤積分nMS Project 2000中的進(jìn)度跟蹤9. PSP的項目計劃9.1項目計劃的必要性n定義要完成的工作和如何完成這項工作n對所需要的時間和資源進(jìn)行估計n為管理部門的評審和控制提供框架n當(dāng)它寫成文檔時就是一個與實際性能比較的基準(zhǔn)n這個基準(zhǔn)可以使你看到估計中的錯誤n這個基準(zhǔn)可以使你改善計劃的準(zhǔn)確性9. PSP的項目計劃9.2項目計劃總結(jié)表在此表基礎(chǔ)上逐步添加更有用的表項在此表基礎(chǔ)上逐步添加更有用的表項n在項目開始之前填寫計劃部分,在項目開始之后填寫實際部分。示例1學(xué)生:曾笑寒學(xué)生:曾笑寒日期:日期:10/7/2002程序:程序:程序號程序號#:8教師:教
7、師:ZENGYI 程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié)計劃計劃實際實際Mins/LOC7.827.21LOC/Hour7.678.32程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的2619最大值36最小值18開發(fā)時間開發(fā)時間 Min計劃計劃實際實際總計203137最大值282最小值141以前的歷史數(shù)據(jù)。如果沒有,則只能猜測。60/7.827.21*19203=7.82*26,此項值用于分析開發(fā)的生產(chǎn)率。任務(wù)完成之前,學(xué)生用以前的數(shù)據(jù)來估計程序規(guī)模估計程序規(guī)模,并填寫到計劃計劃欄。26即為最大和最小值之間最可能的值假如新開發(fā)20,并要從以前程序拷貝一個15行的程序但估計只修改
8、6行,因此20+6=26最大規(guī)模和最小規(guī)模有助于判斷最可能的估計值282=7.82*36,141=7.82*18,任務(wù)完成之后,實際值是根據(jù)時間記錄日志時間記錄日志中的數(shù)據(jù)填入9. PSP的項目計劃9.3估計的準(zhǔn)確性n估計出來的規(guī)模和時間可能不是很準(zhǔn)確的,這是正常的。n首要的目標(biāo)是要學(xué)會做出無偏估計,即高估的次數(shù)要與低估的次數(shù)相同。例如,每進(jìn)行10次估計,預(yù)計有5次高估和5次低估。n估計文檔化,有助于以后作出更好的估計,有助于判斷制訂不能滿足委托書的風(fēng)險大小10. 軟件開發(fā)過程10.1為什么使用過程n在軟件企業(yè)改善其性能時,如何確定該組織的當(dāng)前的軟件開發(fā)狀況收集數(shù)據(jù)n一個過程為完成某一作業(yè)而定
9、義的一系列步驟n一個作業(yè)的每個步驟或階段都有明確的入口準(zhǔn)則,只有滿足這些條件,才可以開始進(jìn)入這個階段n同樣,它們也有出口準(zhǔn)則,只有滿足這些條件,才可以結(jié)束這個階段n過程的步驟定義了要完成的任務(wù)以及如何完成這些任務(wù)n過程質(zhì)量決定了他們的工作質(zhì)量和效率10. 軟件開發(fā)過程10.1為什么使用過程nPSP是一個用以幫助軟件工程師測量和改進(jìn)工作方式的框架nPSP的兩個目標(biāo)n幫助軟件工程師開發(fā)程序n告訴你如何用過程來改善工作方式10. 軟件開發(fā)過程10.2與過程相關(guān)的一些定義n一個產(chǎn)品是指為合作者、顧主或客戶所生產(chǎn)的產(chǎn)品n一個項目通常生產(chǎn)一種產(chǎn)品n一個任務(wù)是已定義的一部分工作n一個過程定義完成項目的方法n
10、過程有許多階段或步驟,如計劃、開發(fā)和測試n一個過程階段可以由許多任務(wù)或活動組成,如集成測試、系統(tǒng)測試、驗收測試等n一個過程可以包括一個或多個階段,一個階段可以包括一個或多個任務(wù)或活動n計劃描述一個特定的項目完成方式,包括如何做、何時做以及花費多少n一個作業(yè)是你為一個項目或任務(wù)所做的事情時間和缺陷數(shù)據(jù)實際數(shù)據(jù)10. PSP的軟件開發(fā)過程10.2與過程相關(guān)的一些定義n一個有完整描述的過程稱為已定義過程。n已定義過程的過程包括一些腳本腳本、表格表格、模板模板和標(biāo)準(zhǔn)標(biāo)準(zhǔn)等。nPSP的過程流程計劃設(shè)計編碼編譯測試后置處理過程腳本項目計劃總結(jié)表各種日志需求最終產(chǎn)品計劃的和實際的項目和過程的數(shù)據(jù)計劃數(shù)據(jù)10
11、. PSP的軟件開發(fā)過程10.3 PSP的過程腳本如后表所示n計劃階段首先獲得項目的需求,然后完成項目項目計劃總結(jié)表計劃總結(jié)表,最后把計劃所花費的時間記錄在時間時間記錄日志記錄日志上。n設(shè)計階段設(shè)計這個程序。用流程圖或偽碼等指定的格式記錄設(shè)計的內(nèi)容。該階段結(jié)束時,把設(shè)計時間記錄在時間記錄日志時間記錄日志上。n編碼階段利用所選擇的程序設(shè)計語言來實現(xiàn)該設(shè)計。使用一致的編碼格式。結(jié)束時在時間記錄日時間記錄日志志上記錄編碼所花費的時間。10. PSP的軟件開發(fā)過程10.3 PSP的過程腳本n編譯階段編譯程序并改正所有發(fā)現(xiàn)的缺陷。修復(fù)缺陷直到正確編譯無錯為止。所有花費在這一階段的時間記為編譯時間編譯時間
12、,包括修改設(shè)計和改正代碼的時間。該階段結(jié)束時,在時間記錄日志時間記錄日志上記錄編編譯時間譯時間。n測試階段進(jìn)行充分的測試以保證程序滿足所有的需求,并且能夠不帶任何錯誤通過一組全面的測試集。所有花費在這一階段的時間記為測試時間,測試時間,其中包括修改設(shè)計、改正代碼和重新編譯的時間。該階段結(jié)束時,在時間記錄日志時間記錄日志上記錄測試時間測試時間。n后置處理階段完成項目計劃總結(jié)表項目計劃總結(jié)表中所有有關(guān)實際數(shù)據(jù)的那些欄目。然后登入一個估計的后置處理階段的時間。10. PSP的軟件開發(fā)過程目的目的PSP過程腳本:過程腳本: 指導(dǎo)用戶進(jìn)行小型程序的開發(fā)指導(dǎo)用戶進(jìn)行小型程序的開發(fā)入口準(zhǔn)則問題描述;PSP項
13、目計劃總結(jié)表;以前開發(fā)的程序的實際規(guī)模和時間數(shù)據(jù);時間記錄日志;計劃獲取對程序功能的描述;估計整個程序的代碼行數(shù)及其最大值和最小值;確定開發(fā)效率(Mins/LOC);計算總開發(fā)時間及其最大值和最小值;將計劃數(shù)據(jù)填入項目計劃總結(jié)表;最后把計劃所花費的時間記錄在時間記錄日志上。設(shè)計設(shè)計程序;按照指定的格式記錄設(shè)計文檔;把設(shè)計階段所花費的時間記錄在時間記錄日志上。編碼實現(xiàn)設(shè)計;使用標(biāo)準(zhǔn)格式來書寫程序;把編碼階段所花費的時間記錄在時間記錄日志上。編譯編譯程序;修復(fù)所有發(fā)現(xiàn)的錯誤;把編譯階段所花費的時間記錄在時間記錄日志上。測試測試程序;修復(fù)所有發(fā)現(xiàn)的錯誤;把測試階段所花費的時間記錄在時間記錄日志上。后
14、置處理把實際的規(guī)模和時間數(shù)據(jù)記錄在項目計劃總結(jié)表;將后置階段所花費的時間記錄在時間記錄日志上。出口準(zhǔn)則經(jīng)過詳盡測試的程序;較好的設(shè)計文檔;完整的程序清單;已經(jīng)填好的項目計劃總結(jié)表;已經(jīng)填好的時間記錄日志。10.4 帶有PSP過程腳本的項目計劃總結(jié)表 示例2學(xué)生:曾笑寒學(xué)生:曾笑寒日期:日期:10/7/2002程序:程序:程序號程序號#:8教師:教師:ZENGYI 程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié)計劃計劃實際實際累計累計Mins/LOC7.827.217.21LOC/Hour7.678.328.32程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的261919最大值36最小值
15、18開發(fā)時間開發(fā)時間 Min計劃計劃實際實際累計累計累計百分比累計百分比計劃10442.9設(shè)計19000編碼118616144.6編譯12212115.3測試29434331.4后置處理15885.8總計203137137100.0最大值282最小值141該階段的累計時間/總的累計時間*100對每個階段,計算并登入實際開發(fā)時間與最近的前一個程序的累計時間之和作業(yè)完成后,根據(jù)時間記錄中的數(shù)據(jù)登入最近的前一個程序的項目計劃總結(jié)表中,找到各個階段所花費的時間的累計百分比,乘以總的開發(fā)時間,即得到各階段的計劃開發(fā)時間:4/137*100=2.9110.4 帶有PSP過程腳本的項目計劃總結(jié)表 示例3學(xué)生
16、:曾笑寒學(xué)生:曾笑寒日期:日期:10/21/2002程序:程序:程序號程序號#:9教師:教師:ZENGYI 程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié)計劃計劃實際實際累計累計Mins/LOC7.216.76LOC/Hour8.328.88程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的232929最大值31最小值15開發(fā)時間開發(fā)時間 Min計劃計劃實際實際累計累計累計百分比累計百分比計劃511154.5設(shè)計012123.6編碼748514643.96編譯25284914.7測試52499227.6后置處理1011195.7總計166= 7.21* 23196333100.0最大值2
17、24= 7.21* 31最小值108= 7.21* 15前表累4+本表實11=15本表15/本表333=4.5前表累計百分比2.9*本表總計166=5前表值60/ 7.21總計開發(fā)時間的累計值除以新開發(fā)和更改的代碼行的累計值196/29=6.7660/6.7611. PSP的缺陷及其記錄11.1什么是缺陷n缺陷是指程序中存在的錯誤,如語法、拼寫、標(biāo)點錯誤,不正確的、冗余的、被忽略的語句等n缺陷可能出現(xiàn)在程序的需求中、設(shè)計中或文檔中n缺陷不是無足輕重的Bug,而更像是定時炸彈n缺陷是任何影響到程序完整而有效地滿足用戶要求的東西n缺陷是客觀的事物,可以標(biāo)識、描述和統(tǒng)計11. PSP的缺陷及其記錄1
18、1.2缺陷和質(zhì)量n軟件質(zhì)量影響到開發(fā)費用、交付日期、用戶滿意度n有了明確的需求,才能開發(fā)出高質(zhì)量的軟件產(chǎn)品n高質(zhì)量的軟件產(chǎn)品必須滿足用戶的功能要求n只有軟件能夠正常運行才能使用功能n能讓軟件正常運行就必須排除軟件中的缺陷n絕大部分程序缺陷排除后,才能考慮軟件質(zhì)量的其他目標(biāo)n兩個重要問題:兩個重要問題:查找和標(biāo)識缺陷/確定缺陷起因11. PSP的缺陷及其記錄11.3缺陷的分類n目的通過對缺陷分類,可以迅速找出那一類缺陷的問題最大,然后集中精力預(yù)防和排除這一類缺陷n原則把具有普遍性的問題進(jìn)行分類n使用在收集到大量程序的缺陷數(shù)據(jù)后,才能進(jìn)一步細(xì)分某一類為若干個子類11. PSP的缺陷及其記錄11.3
19、缺陷的分類 缺缺 陷陷 類類 型型 標(biāo)標(biāo) 準(zhǔn)準(zhǔn)類型編號類型名稱描述10文檔注釋,消息20語法拼寫,標(biāo)點符號,打字,指令格式30聯(lián)編打包變更管理,庫,版本控制40賦值說明,重名,作用域,限制50接口過程調(diào)用/引用,輸入/輸出,用戶格式60檢查出錯信息,不合適的檢查70數(shù)據(jù)結(jié)構(gòu),內(nèi)容80函數(shù)邏輯,指針,循環(huán),遞歸,計算,函數(shù)缺陷90系統(tǒng)配置,記時,內(nèi)存100環(huán)境設(shè)計,編譯,測試,其它支持系統(tǒng)問題11. PSP的缺陷及其記錄11.4缺陷的收集n收集程序中的缺陷數(shù)據(jù)的步驟n為程序中發(fā)現(xiàn)的每一個缺陷做一個記錄n對于每個缺陷要記錄足夠詳細(xì)的信息,以便以后能更好地了解這個缺陷n分析這些數(shù)據(jù)以找出哪些缺陷類型
20、引起大部分的問題n設(shè)計出發(fā)現(xiàn)和修復(fù)這些缺陷的方法n別人在你的程序中發(fā)現(xiàn)的缺陷n了解、確定你的個體軟件過程的弱點n改善你的個體軟件過程11. PSP的缺陷及其記錄11.5缺陷記錄日志幫助收集缺陷數(shù)據(jù)學(xué)生:學(xué)生:日期:日期:教師:教師:程序號:程序號:日期編號類型引入階段排除階段修改時間修復(fù)缺陷描述:描述:描述:描述:本程序的缺陷順序編號一個缺陷占一行在修復(fù)缺陷后,登入缺陷類型。使用前面的缺缺陷類型標(biāo)準(zhǔn)陷類型標(biāo)準(zhǔn)。在排除缺陷后記錄過程階段。一般是指發(fā)現(xiàn)缺陷和修復(fù)這個的階段一般是指從開始意識到缺陷的存在時算起,直到修復(fù)完成且檢查無誤的估計時間如果在修復(fù)另一個缺陷時引入了此缺陷,記錄這不正當(dāng)?shù)男迯?fù)缺陷
21、的編號。如果不能確定這個相關(guān)缺陷的編號,則記入X.登入對當(dāng)前缺陷的簡單描述。應(yīng)該能看出該缺陷的起因以及你為什么作出這種判斷。11. PSP的缺陷及其記錄11.5缺陷記錄日志n收集缺陷數(shù)據(jù)的目的n提高程序設(shè)計水平管好缺陷n減少程序中缺陷的個數(shù)使用合適的方法n節(jié)省時間排除缺陷越早越好n節(jié)約開支單元測試后,查找修復(fù)缺陷的費用平均以10倍速度增長n負(fù)責(zé)任地完成工作誰引入誰排除11.6更新的PSP過程增加了缺陷數(shù)據(jù)的收集和記錄目的目的PSP過程腳本:過程腳本: 指導(dǎo)用戶進(jìn)行小型程序的開發(fā)指導(dǎo)用戶進(jìn)行小型程序的開發(fā)入口準(zhǔn)則問題描述;PSP項目計劃總結(jié)表;以前開發(fā)的程序的實際規(guī)模和時間數(shù)據(jù);時間記錄日志;缺
22、陷記錄日志;缺陷記錄日志;計劃獲取對程序功能的描述;估計整個程序的代碼行數(shù)及其最大值和最小值;確定開發(fā)效率(Mins/LOC);計算總開發(fā)時間及其最大值和最小值;將計劃數(shù)據(jù)填入項目計劃總結(jié)表;最后把計劃所花費的時間記錄在時間記錄日志上。設(shè)計設(shè)計程序;按照指定的格式記錄設(shè)計文檔;把設(shè)計階段所花費的時間記錄在時間記錄日志上。編碼實現(xiàn)設(shè)計;使用標(biāo)準(zhǔn)格式來書寫程序;把編碼階段所花費的時間記錄在時間記錄日志上。編譯編譯程序;修復(fù)和記錄和記錄所有發(fā)現(xiàn)的錯誤;把編譯階段所花費的時間記錄在時間記錄日志上。測試測試程序;修復(fù)所有發(fā)現(xiàn)的錯誤;把測試階段所花費的時間記錄在時間記錄日志上。后置處理把實際的規(guī)模和時間和
23、缺陷數(shù)據(jù)和缺陷數(shù)據(jù)記錄在項目計劃總結(jié)表;將后置階段所花費的時間記錄在時間記錄日志上。出口準(zhǔn)則經(jīng)過詳盡測試的程序;較好的設(shè)計文檔;完整的程序清單;已經(jīng)填好的項目計劃總結(jié)表;已經(jīng)填好的時間記錄日志和缺陷日志缺陷日志。11.7增加了缺陷數(shù)據(jù)的PSP項目計劃總結(jié)表 示例4學(xué)生:曾笑寒學(xué)生:曾笑寒日期:日期:10/28/2002程序號程序號#:10 程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié) Mins/LOC計劃計劃 6.76實際實際 6.12累計累計 6.5LOC/Hour 8.88 9.80 9.23程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的4457105最大值58最小值30開發(fā)時
24、間開發(fā)時間 Min計劃計劃實際實際累計累計累計百分比累計百分比計劃1318334.8設(shè)計1143558.1編2編譯44217010.2測試827316524.2后置處理1732517.5總計297349682100.0最大值392最小值203引入的缺陷引入的缺陷 設(shè)計2225.0編碼6675.0總計88100.0排除的缺陷排除的缺陷 編譯6675.0測試2225.0總計88100.0總計開發(fā)時間的累計值除以新開發(fā)和更改的代碼行的累計值。例如,682/105=6.560/6.5=9.2319+29+57=105新增部分12. PSP的缺陷查找技術(shù)12.1發(fā)現(xiàn)缺陷的多種方
25、法的步驟n標(biāo)識缺陷的征兆n從征兆推斷出缺陷的位置n確定程序中的錯誤n決定如何修復(fù)缺陷n修復(fù)缺陷n驗證這個修復(fù)是否已經(jīng)解決了這個問題12. PSP的缺陷查找技術(shù) 12.2發(fā)現(xiàn)和修復(fù)缺陷的方法n用編譯器不能檢查出所有的缺陷n編譯器可以在源程序有缺陷的情況下生成代碼n編譯器只能查出大約90%的語法錯誤和很少的邏輯錯誤n測試需要測試人員形成測試用例n測試用例=測試數(shù)據(jù)集合+期望結(jié)果集合n測試只能找出缺陷征兆而不能找出根源n測試不能找出所有的缺陷,測試的效果有限n單元測試發(fā)現(xiàn)大約50%的缺陷n系統(tǒng)測試發(fā)現(xiàn)進(jìn)入該階段的缺陷的30%n發(fā)行有缺陷的產(chǎn)品等待用戶發(fā)現(xiàn)和反饋信息n事實證明花費太大。IBM每年花費2
26、.5億修復(fù)1.3萬缺陷n個人復(fù)查清單個人復(fù)查清單有效發(fā)現(xiàn)和修復(fù)缺陷的方法n同行評審?fù)性u審一般會發(fā)現(xiàn)程序中一般會發(fā)現(xiàn)程序中50%70%的缺陷的缺陷12. PSP的缺陷查找技術(shù)12.3代碼復(fù)查n在編碼完成后并在編譯和測試前進(jìn)行n先做復(fù)查將節(jié)省大量的編譯時間(可縮短至3%)n細(xì)心工作是有回報的n可以直接找到問題本身n與單元測試相比,效率提高35倍n單元: 46 個缺陷 n代碼復(fù)查:610個缺陷n缺點:耗時且難恰當(dāng)進(jìn)行n有經(jīng)驗的人只能發(fā)現(xiàn)程序中平均7580%的缺陷12.3代碼復(fù)查代碼復(fù)查腳本代碼復(fù)查腳本目的目的PSP過程腳本之過程腳本之 代碼復(fù)查腳本代碼復(fù)查腳本入口準(zhǔn)則在復(fù)查前,檢查下列產(chǎn)品是否已經(jīng)
27、準(zhǔn)備好:需求陳述文檔;程序設(shè)計文檔;程序的源代碼清單;編碼標(biāo)準(zhǔn)復(fù)查規(guī)程首先,完成源程序編碼;然后,在進(jìn)行編譯和測試之前,打印一份源程序清單;進(jìn)行代碼復(fù)查;進(jìn)行復(fù)查時,仔細(xì)檢查每一行源程序,盡可能多地發(fā)現(xiàn)和修復(fù)缺陷;修復(fù)缺陷修復(fù)所發(fā)現(xiàn)的每一個缺陷;確保所做的修復(fù)正確無誤;將缺陷登入在缺陷記錄日志覆蓋率復(fù)查驗證程序設(shè)計覆蓋了需求文檔中描述的每一個功能;驗證程序代碼實現(xiàn)了所有設(shè)計;程序邏輯復(fù)查驗證程序設(shè)計在邏輯上是正確的;驗證程序代碼正確地實現(xiàn)了設(shè)計中的邏輯;命名和類型檢查驗證所有的名字和類型已經(jīng)正確地聲明和使用;檢查整型、長整型和浮點型是否正確聲明;變量檢查確保每個變量已經(jīng)初始化;檢查上溢、下溢或
28、越界問題;程序語法檢查驗證程序代碼符合編程語言的規(guī)格說明;出口準(zhǔn)則在復(fù)查結(jié)束時,應(yīng)該有完整的、修復(fù)過的源程序清單;填寫完整的時間記錄日志;填寫完整的缺陷記錄日志;12.4更新后的PSP過程腳本增加代碼復(fù)查目的目的PSP過程腳本:過程腳本: 指導(dǎo)用戶進(jìn)行小型程序的開發(fā)指導(dǎo)用戶進(jìn)行小型程序的開發(fā)入口準(zhǔn)則問題描述;PSP項目計劃總結(jié)表;以前開發(fā)的程序的實際規(guī)模和時間數(shù)據(jù);時間記錄日志;缺陷記錄日志;缺陷記錄日志;計劃獲取對程序功能的描述;估計整個程序的代碼行數(shù)及其最大值和最小值;確定開發(fā)效率(Mins/LOC);計算總開發(fā)時間及其最大值和最小值;將計劃數(shù)據(jù)填入項目計劃總結(jié)表;最后把計劃所花費的時間記
29、錄在時間記錄日志上。設(shè)計設(shè)計程序;按照指定的格式記錄設(shè)計文檔;把設(shè)計階段所花費的時間記錄在時間記錄日志上。編碼實現(xiàn)設(shè)計;使用標(biāo)準(zhǔn)格式來書寫程序;把編碼階段所花費的時間記錄在時間記錄日志上。代碼復(fù)查復(fù)查所有的源程序代碼;遵照代碼復(fù)查腳本;修復(fù)并記錄所發(fā)現(xiàn)的每一個缺陷;將代碼復(fù)查階段所花費的時間記入時間記錄日志;編譯編譯程序;修復(fù)和記錄和記錄所有發(fā)現(xiàn)的錯誤;把編譯階段所花費的時間記錄在時間記錄日志上。測試測試程序;修復(fù)所有發(fā)現(xiàn)的錯誤;把測試階段所花費的時間記錄在時間記錄日志上。后置處理把實際的規(guī)模和時間和缺陷數(shù)據(jù)和缺陷數(shù)據(jù)記錄在項目計劃總結(jié)表;將后置階段所花費的時間記錄在時間記錄日志上。出口準(zhǔn)則經(jīng)
30、過詳盡測試的程序;較好的設(shè)計文檔;完整的程序清單;已經(jīng)填好的項目計劃總結(jié)表;已經(jīng)填好的時間記錄日志和缺陷日志缺陷日志。12. PSP的缺陷查找技術(shù)12.4更新后的PSP項目計劃總結(jié)表 n增加了代碼復(fù)查代碼復(fù)查項的PSP項目計劃總結(jié)表 n示例5 程序#11學(xué)生:曾笑寒學(xué)生:曾笑寒日期:日期:11/4/2002程序號程序號#:11 程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié) Mins/LOC計劃計劃 6.50實際實際 5.88累計累計 6.30LOC/Hour 9.23 10.20 9.52程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的5348153最大值72最小值35開發(fā)時間開發(fā)時
31、間 Min計劃計劃實際實際累計累計累計百分比累計百分比計劃1715485.8設(shè)計2828838.6編6代碼復(fù)查036363.7編譯357778.0測試833820321.1后置處理2626778.0總計345282964100.0最大值468最小值228引入的缺陷引入的缺陷 設(shè)計1321.4編碼51178.6代碼復(fù)查總計614100.0排除的缺陷排除的缺陷 代碼復(fù)查3321.4編譯2857.2測試1321.4總計614100.0引入代碼復(fù)查機(jī)制后,編譯錯誤變少了引入代碼復(fù)查機(jī)制后,編譯工作時間變少了引入代碼復(fù)查機(jī)制后,引入的缺陷變少了13. PSP的代碼復(fù)查檢查表13
32、.1檢查表的用途n代碼復(fù)查的關(guān)鍵是要有一個高效的復(fù)查規(guī)程n代碼復(fù)查檢查表包括一系列規(guī)程式的步驟n如果想發(fā)現(xiàn)和改正程序中的每一個缺陷,就必須遵照一個精確的規(guī)程n檢查表可以幫助確保遵循這個規(guī)程n正確使用檢查表可以知道每個步驟發(fā)現(xiàn)的缺陷數(shù),也就能測量出復(fù)查過程的效率,以便改進(jìn)檢查表n檢查表包括了個人的經(jīng)驗,可以不斷地使用和改進(jìn)13. PSP的代碼復(fù)查檢查表13.2建立個人檢查表某種語言代碼 程序名和程序號#:目的指導(dǎo)你進(jìn)行有效的代碼復(fù)查#累計累計%一般性說明在完成每個復(fù)查步驟之后,將發(fā)現(xiàn)的某個類型的缺陷的個數(shù)記錄在右面欄目中。如果該步驟沒有發(fā)現(xiàn)缺陷,就在右面的欄目中打個表示檢查無誤的符號(X)。在開
33、始復(fù)查下一個程序單元之前,要按照檢查表完成規(guī)定的一些檢查項目,例如對程序、類、對象或方法的檢查。項目1復(fù)查內(nèi)容項目n復(fù)查內(nèi)容全面檢查對整個程序全面檢查以發(fā)現(xiàn)系統(tǒng)問題和非期望的或用戶問題??傆嬂?,完整性、include、初始化、函數(shù)調(diào)用、名字、字符串、指針、輸入/輸出格式、括號配對、邏輯符號的合理性、逐行檢查(語法、分號、標(biāo)點符號等)、文件的打開與關(guān)閉、編碼標(biāo)準(zhǔn)編碼標(biāo)準(zhǔn)的符合程度、全面檢查13.3更新后的PSP過程腳本增加代碼復(fù)查目的目的PSP過程腳本之過程腳本之 代碼復(fù)查腳本代碼復(fù)查腳本入口準(zhǔn)則在復(fù)查前,檢查下列產(chǎn)品是否已經(jīng)準(zhǔn)備好:需求陳述文檔;程序設(shè)計文檔;程序的源代碼清單;編碼標(biāo)準(zhǔn)編碼標(biāo)
34、準(zhǔn) 例例C+編碼標(biāo)準(zhǔn)編碼標(biāo)準(zhǔn).doc一般性說明使用代碼復(fù)查表;在復(fù)查時遵照代碼復(fù)查檢查表的使用說明;在復(fù)查結(jié)束時,填寫累計、累計百分比和總結(jié)欄目;復(fù)查規(guī)程首先,完成源程序編碼;然后,在進(jìn)行編譯和測試之前,打印一份源程序清單;進(jìn)行代碼復(fù)查;進(jìn)行復(fù)查時,仔細(xì)檢查每一行源程序,盡可能多地發(fā)現(xiàn)和修復(fù)缺陷;修復(fù)缺陷修復(fù)所發(fā)現(xiàn)的每一個缺陷;確保所做的修復(fù)正確無誤;將缺陷登入在缺陷記錄日志覆蓋率復(fù)查驗證程序設(shè)計覆蓋了需求文檔中描述的每一個功能;驗證程序代碼實現(xiàn)了所有設(shè)計;程序邏輯復(fù)查驗證程序設(shè)計在邏輯上是正確的;驗證程序代碼正確地實現(xiàn)了設(shè)計中的邏輯;命名和類型檢查驗證所有的名字和類型已經(jīng)正確地聲明和使用;檢
35、查整型、長整型和浮點型是否正確聲明;變量檢查確保每個變量已經(jīng)初始化;檢查上溢、下溢或越界問題;程序語法檢查驗證程序代碼符合編程語言的規(guī)格說明;出口準(zhǔn)則在復(fù)查結(jié)束時,應(yīng)該有完整的、修復(fù)過的源程序清單;填寫完整的時間記錄日志;填寫完整的缺陷記錄日志;13.4增加檢查表的PSP過程腳本目的目的PSP過程腳本:過程腳本: 指導(dǎo)用戶進(jìn)行小型程序的開發(fā)指導(dǎo)用戶進(jìn)行小型程序的開發(fā)入口準(zhǔn)則問題描述;PSP項目計劃總結(jié)表;代碼復(fù)查檢查表代碼復(fù)查檢查表;以前開發(fā)的程序的實際規(guī)模和時間數(shù)據(jù);時間記錄日志;缺陷記錄日志;計劃獲取對程序功能的描述;估計整個程序的代碼行數(shù)及其最大值和最小值;確定開發(fā)效率(Mins/LOC
36、);計算總開發(fā)時間及其最大值和最小值;將計劃數(shù)據(jù)填入項目計劃總結(jié)表;最后把計劃所花費的時間記錄在時間記錄日志上。設(shè)計設(shè)計程序;按照指定的格式記錄設(shè)計文檔;把設(shè)計階段所花費的時間記錄在時間記錄日志上。編碼實現(xiàn)設(shè)計;使用標(biāo)準(zhǔn)格式來書寫程序;把編碼階段所花費的時間記錄在時間記錄日志上。代碼復(fù)查復(fù)查所有的源程序代碼;遵照代碼復(fù)查腳本;修復(fù)并記錄所發(fā)現(xiàn)的每一個缺陷;將代碼復(fù)查階段所花費的時間記入時間記錄日志;編譯編譯程序;修復(fù)和記錄所有發(fā)現(xiàn)的錯誤;把編譯階段所花費的時間記錄在時間記錄日志上。測試測試程序;修復(fù)所有發(fā)現(xiàn)的錯誤;把測試階段所花費的時間記錄在時間記錄日志上。后置處理把實際的規(guī)模和時間和缺陷數(shù)據(jù)
37、記錄在項目計劃總結(jié)表;復(fù)查缺陷數(shù)據(jù)并更新代碼復(fù)查檢復(fù)查缺陷數(shù)據(jù)并更新代碼復(fù)查檢查表;查表;將后置階段所花費的時間記錄在時間記錄日志上。出口準(zhǔn)則經(jīng)過詳盡測試的程序;較好的設(shè)計文檔;一個完成的代碼復(fù)查檢查表;一個完成的代碼復(fù)查檢查表;完整的程序清單;已經(jīng)填好的項目計劃總結(jié)表;已經(jīng)填好的時間記錄日志和缺陷日志。13. PSP的代碼復(fù)查檢查表13.5某學(xué)生的缺陷數(shù)據(jù)排列表Pareto分布類型編號引入缺陷排除缺陷復(fù)查漏過的缺陷設(shè)計編碼其他復(fù)查編譯測試802314520844440231445021126010030107090總計416510515倒序13. PSP的代碼復(fù)查檢查表類型編號引入缺陷排除缺
38、陷復(fù)查漏過的缺陷設(shè)計編碼其他復(fù)查編譯測試80231452084444023144502112程序程序#10 #2662811 #15322312 #152224總計416510515因為學(xué)生沒有對程序10做代碼復(fù)查,所以他把編譯與測試階段發(fā)現(xiàn)的所有缺陷都記為代碼復(fù)查漏過的缺陷。14. PSP的缺陷預(yù)測14.1缺陷率n軟件工程師在工作中肯定會引入缺陷n一般情況下n平均引入率:100個缺陷/千行代碼n有經(jīng)驗的: 50個缺陷/千行代碼n軟件工程師應(yīng)該了解自己引入缺陷的類型和數(shù)目n減少缺陷率方面,編程規(guī)范和對缺陷的跟蹤與分析比經(jīng)驗有效14. PSP的缺陷預(yù)測14.2缺陷數(shù)據(jù)的使用n收集缺陷數(shù)據(jù)是幫助你
39、了解自己引入的缺陷n利用這些數(shù)據(jù)來設(shè)計自己的個人代碼復(fù)查檢查表n利用這些數(shù)據(jù)來估計在新開發(fā)的程序中引入的缺陷數(shù)n利用這些歷史數(shù)據(jù)來對程序開發(fā)的各個階段將引入的和排除的缺陷數(shù)作出一個相當(dāng)合理的預(yù)測n準(zhǔn)確估計缺陷是重要的通過分析缺陷數(shù)據(jù)n工程師的個人承諾要開發(fā)無缺陷的程序是重要的14. PSP的缺陷預(yù)測14.3缺陷密度n每千行代碼的缺陷數(shù)Defects/KLOCn計算步驟n累計開發(fā)過程中每個階段發(fā)現(xiàn)的缺陷總數(shù) Dn統(tǒng)計程序中新開發(fā)的和修改的代碼行數(shù)新開發(fā)的和修改的代碼行數(shù) Nn計算每千行代碼的缺陷數(shù) Dd=1000*D/Nn例如,一個96行的源程序有14個缺陷,則其Dd=1000*14/96=14
40、5.83 Defects/KLOC14. PSP的缺陷預(yù)測14.4缺陷的預(yù)測n缺陷率的波動與預(yù)測的精確度n與個人經(jīng)驗有關(guān)n與個體過程不穩(wěn)定有關(guān)n缺陷估計nNd plan=1000*(D1+Dn)/(N1+Nn)n例如,假設(shè)有5個程序的數(shù)據(jù),則原來的Nd plan=1000*(6+11+7+9+5)/(37+62+49+53+28)=165.94 Defects/KLOCn假設(shè)新程序有同樣的缺陷密度,則新程序的缺陷數(shù)為:Dplan =Nplan * Nd plann例如,假設(shè)新程序有規(guī)模估計為56行,則其預(yù)期的缺陷數(shù)為: Dplan =56* 165.94 /1000=9.29Defects以前
41、各程序發(fā)現(xiàn)的缺陷以前各程序新開發(fā)和修改的代碼行估計新程序新開發(fā)和修改的代碼行數(shù)估計新程序的缺陷數(shù)14. PSP的缺陷預(yù)測目的目的PSP過程腳本:過程腳本: 指導(dǎo)用戶進(jìn)行小型程序的開發(fā)指導(dǎo)用戶進(jìn)行小型程序的開發(fā)入口準(zhǔn)則問題描述;PSP項目計劃總結(jié)表;代碼復(fù)查檢查表;以前開發(fā)的程序的實際規(guī)模和時間數(shù)據(jù);時間記錄日志;缺陷記錄日志;計劃獲取對程序功能的描述;估計整個程序的代碼行數(shù)及其最大值和最小值;確定開發(fā)效率(Mins/LOC);計算總開發(fā)時間及其最大值和最小值;估計各個開發(fā)階段將引入和排除的缺陷的估計各個開發(fā)階段將引入和排除的缺陷的個數(shù);個數(shù);將計劃數(shù)據(jù)填入項目計劃總結(jié)表;最后把計劃所花費的時間
42、記錄在時間記錄日志上。設(shè)計設(shè)計程序;按照指定的格式記錄設(shè)計文檔;把設(shè)計階段所花費的時間記錄在時間記錄日志上。編碼實現(xiàn)設(shè)計;使用標(biāo)準(zhǔn)格式來書寫程序;把編碼階段所花費的時間記錄在時間記錄日志上。代碼復(fù)查復(fù)查所有的源程序代碼;遵照代碼復(fù)查腳本;修復(fù)并記錄所發(fā)現(xiàn)的每一個缺陷;將代碼復(fù)查階段所花費的時間記入時間記錄日志;編譯編譯程序;修復(fù)和記錄所有發(fā)現(xiàn)的錯誤;把編譯階段所花費的時間記錄在時間記錄日志上。測試測試程序;修復(fù)所有發(fā)現(xiàn)的錯誤;把測試階段所花費的時間記錄在時間記錄日志上。后置處理把實際的規(guī)模和時間和缺陷數(shù)據(jù)記錄在項目計劃總結(jié)表;復(fù)查缺陷數(shù)據(jù)并更新代碼復(fù)查檢查表;將后置階段所花費的時間記錄在時間記
43、錄日志上。出口準(zhǔn)則經(jīng)過詳盡測試的程序;較好的設(shè)計文檔;一個完成的代碼復(fù)查檢查表;完整的程序清單;已經(jīng)填好的項目計劃總結(jié)表;已經(jīng)填好的時間記錄日志和缺陷日志。項目計劃總結(jié)表項目計劃總結(jié)表例例1學(xué)生:曾笑寒學(xué)生:曾笑寒日期日期11/11/2002程序號程序號#:12程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié) Mins/LOC計劃計劃 6.3實際實際 4.93累計累計 5.92LOC/Hour 9.52 12.17 10.14Defects/KLOC 94.79程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的5158211最大值65最小值37開發(fā)時間開發(fā)時間 Min計劃計劃實際實際累計累
44、計累計百分比累計百分比計劃1618665.8設(shè)計274412710.2編5代碼復(fù)查1238745.9編譯2611887.0測試682923218.6后置處理26421199.5總計3212861250100.0最大值410最小值233包括到程序12#已累計發(fā)現(xiàn)20個缺陷,累計開發(fā)程序211LOC,因此有20/211*1000缺陷密度為程序13#提供缺陷估計,以及缺陷在各開發(fā)階段的計劃估計值提供計算依據(jù)項目計劃總結(jié)表項目計劃總結(jié)表例例1(續(xù))(續(xù))學(xué)生:曾笑寒學(xué)生:曾笑寒日期日期11/11/2002程序號程序號#:12程序設(shè)計語言:程序設(shè)計語言:PASCAL引入的缺陷引
45、入的缺陷計劃計劃實際實際累計累計累計百分比累計百分比計劃1420.0設(shè)計51680.0編碼代碼復(fù)查編譯測試后置處理總計620100.0排除的缺陷排除的缺陷 計劃設(shè)計編碼代碼復(fù)查2525.0編譯21050.0測試2525.0總計620100.0項目計劃總結(jié)表項目計劃總結(jié)表例例2學(xué)生:曾笑寒學(xué)生:曾笑寒日期日期11/18/2002程序號程序號#:13程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié) Mins/LOC計劃計劃 5.92實際實際 4.47累計累計 5.92LOC/Hour 10.14 12.32 10.49Defects/KLOC94.79106.4 96.90程序規(guī)模程序規(guī)模 LOC
46、計劃計劃實際實際新開發(fā)與更改的5847258最大值72最小值41開發(fā)時間開發(fā)時間 Min計劃計劃實際實際累計累計累計百分比累計百分比計劃1822886.0設(shè)計352415110.2編碼1499363743.1代碼復(fù)查20371117.5編譯244926.2測試64824016.2后置處理334116010.8總計3432291479100.0最大值426最小值243本程序?qū)嶋H引入缺陷5個,新開發(fā)和修改的實際代碼行47,5/47*1000=106.4包括到程序12#已累計發(fā)現(xiàn)25個缺陷,累計開發(fā)程序258LOC,因此有25/258*1000程序12#的結(jié)果程序12#的結(jié)果5.92* 585.92
47、* 725.92* 41計劃值以12#程序的累計百分比為依據(jù)*343項目計劃總結(jié)表項目計劃總結(jié)表例例2(續(xù))(續(xù))學(xué)生:曾笑寒學(xué)生:曾笑寒日期日期11/18/2002程序號程序號#:13程序設(shè)計語言:程序設(shè)計語言:PASCAL引入的缺陷引入的缺陷計劃計劃實際實際累計累計累計百分比累計百分比計劃設(shè)計1416.0編碼552184.0代碼復(fù)查編譯測試后置處理總計6525100.0排除的缺陷排除的缺陷 計劃設(shè)計編碼代碼復(fù)查23832.0編譯321248.0測試1520.0總計6525100.0估計缺陷數(shù)=程序12#的Defects/KLOC*本程序的計劃代碼行長58/1000=5.5約6個缺陷,然后按
48、程序12#的引入和排除的累計百分比值,計算出各個階段預(yù)計/計劃引入和排除的缺陷數(shù)。這樣即完成了缺陷預(yù)測。缺陷預(yù)測。開發(fā)完成后登入開發(fā)完成后登入15. 缺陷排除的經(jīng)濟(jì)效益n缺陷排除是一種經(jīng)濟(jì)學(xué)問題n軟件費用n時間進(jìn)度n軟件質(zhì)量n重要問題n缺陷排除的相對費用n把缺陷留給客戶的影響n以及所導(dǎo)致的用戶支持費用15. 缺陷排除的經(jīng)濟(jì)效益15.1高質(zhì)量工作的必要性n三十年后與三十年前軟件工程師的工作幾乎沒有改變n單元測試n集成測試n產(chǎn)品交付后的缺陷修復(fù)n更好的原則和方法n保證質(zhì)量的原則是在第一次就要開發(fā)出合格的產(chǎn)品n按照PSP的建議去做15. 缺陷排除的經(jīng)濟(jì)效益15.2缺陷排除問題n缺陷難于查找和修復(fù),所
49、以排除缺陷的花費很大n軟件系統(tǒng)的規(guī)模和復(fù)雜度大約每十年增長十倍n了解和控制缺陷帶來的費用測量缺陷排除的效果n計算每小時排除缺陷的個數(shù)n計算缺陷排除效益,即測量通過某一排除方法所發(fā)現(xiàn)的缺陷百分比n例如,對一個開始測試時有100個缺陷的產(chǎn)品,測試發(fā)現(xiàn)45個缺陷,那么缺陷排除效益就是45%。n知道了缺陷排除方法和缺陷排除效率后,就可更好地發(fā)現(xiàn)和修復(fù)缺陷。15. 缺陷排除的經(jīng)濟(jì)效益15.3缺陷排除時間n對于大型軟件,發(fā)現(xiàn)和修復(fù)缺陷需要大量時間nMicrosoft NT測試時花費了250個工程師一年的時間,共發(fā)現(xiàn)和修復(fù)30000個缺陷,平均1/16hn一般每個缺陷需要若干個小時來復(fù)查和修復(fù)n缺陷越多,修
50、改越遲,修改工作的費用就越大15. 缺陷排除的經(jīng)濟(jì)效益15.3缺陷引入和排除的經(jīng)驗n缺陷管理計算和跟蹤缺陷的引入率和排除率缺陷的引入率和排除率缺陷引入階段缺陷引入率設(shè)計階段13個缺陷/h編碼階段58個缺陷/h測試階段24個缺陷/h代碼復(fù)查階段612個缺陷/h缺陷排除階段缺陷排除率測試階段24個缺陷/h代碼復(fù)查階段810個缺陷/h15. 缺陷排除的經(jīng)濟(jì)效益15.4在項目計劃總結(jié)表中每個小時缺陷數(shù)的計算n計算各階段累計每小時引入缺陷數(shù)n60*(該階段累計引入缺陷數(shù))/(該階段累計花費分鐘數(shù))n計算各階段累計每小時排除缺陷數(shù)n60*(該階段累計排除缺陷數(shù))/(該階段累計花費分鐘數(shù))15.4在項目計劃
51、總結(jié)表中每個小時缺陷數(shù)的計算例 程序號程序號#:13 表表1學(xué)生:曾笑寒學(xué)生:曾笑寒日期日期11/18/2002程序號程序號#:13程序設(shè)計語言:程序設(shè)計語言:PASCAL總結(jié)總結(jié) Mins/LOC計劃計劃 5.92實際實際 4.47累計累計 5.92LOC/Hour 10.14 12.32 10.49Defects/KLOC94.79106.4 96.90過程效益過程效益33.336032程序規(guī)模程序規(guī)模 LOC計劃計劃實際實際新開發(fā)與更改的5847258最大值72最小值41開發(fā)時間開發(fā)時間 Min計劃計劃實際實際累計累計累計百分比累計百分比計劃1822886.0設(shè)計352415110.2編
52、碼1499363743.1代碼復(fù)查20371117.5編譯244926.2測試64824016.2后置處理334116010.8總計3432291479100.0最大值426最小值243過程效益plan = 100*2/(1+5)=33.33過程效益actual = 100*3/5=60過程效益ToDate = 100*8/(4+21)=3215.4在項目計劃總結(jié)表中每個小時缺陷數(shù)的計算例 程序號程序號#:13 表表1(續(xù))(續(xù))學(xué)生:曾笑寒學(xué)生:曾笑寒日期日期11/18/2002程序號程序號#:13程序設(shè)計語言:程序設(shè)計語言:PASCAL引入的缺陷引入的缺陷計劃計劃實際實際累計累計累計百分比
53、累計百分比Def./Hour計劃設(shè)計1416.01.59編碼552184.01.98代碼復(fù)查編譯測試后置處理總計6525100.0排除的缺陷排除的缺陷 計劃Def./Hour設(shè)計編碼代碼復(fù)查23832.04.32編譯321248.07.87測試1520.01.25總計6525100.060*4/151=1.5960*21/637=1.9860*5/240=1.2560*12/92=7.8760*8/111=4.32編譯前計劃的引入缺陷數(shù)1+5編譯前計劃的排除缺陷數(shù)2缺陷排除率缺陷引入率15. 缺陷排除的經(jīng)濟(jì)效益15.5缺陷排除效益的計算n當(dāng)在某個階段排除缺陷時,你可能相知道自己在這個階段發(fā)現(xiàn)了多少缺陷,還漏掉了多少缺陷n歷史數(shù)據(jù)可以讓你計算和跟蹤缺陷排除效益n缺陷排除效益第一次編譯
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度電子合同法律效力認(rèn)定及證據(jù)保全操作規(guī)程3篇
- 二零二五年度汽車銷售與售后服務(wù)咨詢合同2篇
- 二零二五年鋼筋制作與安裝勞動合同規(guī)范3篇
- 二零二五版企業(yè)品牌形象策劃執(zhí)行合同3篇
- 二零二五年度工傷事故賠償協(xié)議及后續(xù)心理咨詢服務(wù)合同6篇
- 二零二五年度電梯產(chǎn)品研發(fā)與創(chuàng)新基金投資合同3篇
- 二零二五年度蜜蜂養(yǎng)殖環(huán)境監(jiān)測與改善合同2篇
- 小麥種子繁育生產(chǎn)合同(2篇)
- 二零二五年電子商務(wù)SET協(xié)議安全技術(shù)實施合同3篇
- 二零二五年智能工廠生產(chǎn)過程監(jiān)控合同樣本3篇
- 2024年業(yè)績換取股權(quán)的協(xié)議書模板
- 顳下頜關(guān)節(jié)疾?。谇活M面外科學(xué)課件)
- 工業(yè)自動化設(shè)備維護(hù)保養(yǎng)指南
- 2024人教新版七年級上冊英語單詞英譯漢默寫表
- 《向心力》參考課件4
- 2024至2030年中國膨潤土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報告
- 2024年深圳中考數(shù)學(xué)真題及答案
- 土方轉(zhuǎn)運合同協(xié)議書
- Module 3 Unit 1 Point to the door(教學(xué)設(shè)計)-2024-2025學(xué)年外研版(三起)英語三年級上冊
- 智能交通信號燈安裝合同樣本
- 安全生產(chǎn)法律法規(guī)清單(2024年5月版)
評論
0/150
提交評論