版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第九章開發(fā)過程與程序質(zhì)量保證,程序設(shè)計(jì)首先是一個過程,分為問題建模、算法設(shè)計(jì)、編寫代碼和編譯調(diào)試等階段。即使是一個比較簡單的程序,我們也應(yīng)該養(yǎng)成先分析,再下手,最后調(diào)試的習(xí)慣,嚴(yán)格遵循程序設(shè)計(jì)過程。本章介紹軟件的開發(fā)過程及過程的實(shí)施管理,從程序質(zhì)量保證的高度討論了程序的調(diào)試與測試,重點(diǎn)講述了Java程序的調(diào)試方法、程序中的異常處理以及單元測試方法。,9.1 軟件開發(fā)過程概述,軟件生命周期 軟件開發(fā)過程軟件質(zhì)量與測試,9.1.1
2、 軟件生命周期,,,,,計(jì)算機(jī)軟件開發(fā)有它們自己的周期,稱為系統(tǒng)開發(fā)生命周期(SDLC)。SDLC分為多個階段,包括:分析需求、設(shè)計(jì)系統(tǒng)、創(chuàng)建系統(tǒng)、運(yùn)行系統(tǒng)、維護(hù)系統(tǒng)。每個階段包括有許多任務(wù)。,9.1.2 軟件開發(fā)過程,,,,開發(fā)一個軟件系統(tǒng)的參與者包括:系統(tǒng)所有者、使用者、分析者、設(shè)計(jì)者、構(gòu)建者以及IT供貨商和顧問這6類。他們的共同目標(biāo)是創(chuàng)建符合需要的軟件系統(tǒng)。軟件開發(fā)的項(xiàng)目管理是和軟件開發(fā)的基本過程緊密結(jié)合的。通常軟件開發(fā)過程可
3、以分為若干個不同的開發(fā)階段實(shí)施,每個階段都由不同角色的開發(fā)人員擔(dān)當(dāng),并產(chǎn)生可交付的軟件制品。一個典型的軟件系統(tǒng)開發(fā)過程包含了定義邊界、問題分析、需求分析、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、構(gòu)造實(shí)現(xiàn)、測試和發(fā)布等7個階段。,9.1.3 軟件質(zhì)量與測試,,,,,優(yōu)質(zhì)軟件的定義是:軟件能夠滿足用戶顯式或隱式的需求,文檔齊全,符合規(guī)定的操作標(biāo)準(zhǔn),在其開發(fā)使用的硬件上高效運(yùn)行。軟件測試是軟件質(zhì)量的首要保證。測試應(yīng)包括黑盒測試和白盒測試。一般來說,軟件測試
4、可分為三種測試,即程序測試、系統(tǒng)測試和用戶測試。,9.2 程序調(diào)試,程序是軟件的本體,又是軟件研究的對象。程序的質(zhì)量決定軟件的質(zhì)量。在軟件開發(fā)過程中,程序編碼、調(diào)試、測試是一個持續(xù)的循環(huán)過程,只有在對程序進(jìn)行了徹底地調(diào)試與測試后才能交付最終用戶使用。,,9.2.1 程序調(diào)試的概念,,在程序在編譯通過以后,仍然可能會出現(xiàn)以下兩類錯誤:運(yùn)行時(shí)刻錯誤邏輯錯誤 對于這兩類錯誤,調(diào)試器都可以幫助我們快速定位錯誤,并通過對程序運(yùn)行的跟蹤
5、和對變量值的監(jiān)視幫助我們找到錯誤的真正原因和解決錯誤的途徑。程序調(diào)試的主要內(nèi)容可以概括為如下的幾方面:調(diào)試的準(zhǔn)備和開始控制程序的執(zhí)行斷點(diǎn)的使用監(jiān)視和檢查數(shù)據(jù)的值,9.2.1 程序調(diào)試的概念,通過“窗口”->“調(diào)試”菜單項(xiàng)打開各種調(diào)試窗口。,在“監(jiān)視”窗口中監(jiān)視當(dāng)前表達(dá)式運(yùn)行中的值。,單擊選定代碼行左邊的空白,設(shè)置調(diào)試斷點(diǎn)。,“調(diào)用?!贝翱诹谐隽顺绦蜃罱暮瘮?shù)調(diào)用。,顯示當(dāng)前程序執(zhí)行到的位置。,“局部變量”窗口顯示局部變量
6、的值。,NetBeans IDE的調(diào)試環(huán)境,,9.2.2 使用斷點(diǎn),,設(shè)置斷點(diǎn) 察看斷點(diǎn),,,9.2.3 監(jiān)視和檢查數(shù)據(jù)的值,觀察局部變量 :打開“局部變量”窗口(Alt-Shift-1)或“監(jiān)視”窗口(Alt-Shift-2)。右鍵單擊某個變量或監(jiān)視,然后選擇“創(chuàng)建固定監(jiān)視”。 跟蹤變量或表達(dá)式值的變化:通過選擇“窗口”->“調(diào)試”->“監(jiān)視”菜單可以打開“監(jiān)視”窗口。 察看調(diào)用棧 :可以隨時(shí)選擇“窗
7、口”->“調(diào)試”->“調(diào)用棧”(Alt -Shift-3)來打開“調(diào)用?!贝翱?。,,,9.2.4 調(diào)試過程,準(zhǔn)備調(diào)試啟動調(diào)試監(jiān)視代碼單步執(zhí)行代碼。 越過(F8)步入(F7)步出(Alt-Shift-F7)查看調(diào)試信息。 修復(fù)任何錯誤并繼續(xù)調(diào)試。 完成調(diào)試,,,9.3 單元測試,單元測試是一種小粒度的測試,以測試程序的某個功能或代碼塊。單元測試是程序設(shè)計(jì)中的白盒測試,可以完成語義檢查。由Erich Gamm
8、a和Kent Beck提供的JUnit是一個開放源代碼的Java測試框架,用于編寫和運(yùn)行可重復(fù)的測試。它可以使測試代碼與產(chǎn)品代碼分開,易于集成到測試人員的程序設(shè)計(jì)過程中。先寫測試,再寫代碼是面向?qū)ο筇岢囊环N設(shè)計(jì)原則。JUnit單元測試可以支持這種測試驅(qū)動的軟件開發(fā)方式。,9.3 單元測試,通過使用NetBeans IDE的JUnit測試生成器,可以創(chuàng)建在單元測試中用作框架的兼容測試類。一旦設(shè)計(jì)好測試類,NetBeans IDE將在調(diào)
9、試器中運(yùn)行測試,以檢查測試是否有錯誤。在單元測試代碼中,所有的測試類都繼承自TestCase抽象類,TestCase類中包含有setUp、tearDown方法分別用于測試的初始化和結(jié)束后的清理任務(wù)。在編寫的測試代碼中可使用Assert靜態(tài)類,它是一系列斷言方法的集合。JUnit提供的斷言方法包括基礎(chǔ)斷言、數(shù)字?jǐn)嘌浴⒆址麛嘌?、布爾斷言、對象斷言?9.4 異常與異常處理,在應(yīng)用程序開發(fā)中如何檢測、處理程序的運(yùn)行錯誤是一個很重要的問題。
10、雖然調(diào)試和測試可以幫助我們發(fā)現(xiàn)大部分程序錯誤,但有些錯誤是不可預(yù)料的。例如,當(dāng)程序涉及到與外設(shè)的數(shù)據(jù)交換或操作外設(shè),如要求用戶輸入、讀寫磁盤等時(shí),錯誤的發(fā)生是程序無法控制的,如輸入非法字符、磁盤不能讀寫等。這些情況不僅會導(dǎo)致應(yīng)用程序異常中止而且可能引起系統(tǒng)的崩潰。針對這些問題,Java同時(shí)提供了一套強(qiáng)大的異常處理機(jī)制,可以幫助我們處理和預(yù)防潛在的錯誤。巧妙地利用它,可以使程序更為健壯,使用更為安全。,9.4.1 異常與異常類,就程序運(yùn)行
11、而言,異常就是指程序運(yùn)行時(shí)所發(fā)生錯誤或不正常的情況。就程序設(shè)計(jì)而言,Java中所謂“異?!笔侵赋绦驋伋龅囊粋€異常對象,通常用來標(biāo)志一個程序錯誤的發(fā)生。異常類是Java異常處理機(jī)制的核心,Java提供的所有異常類都是Exception類的派生類。用戶也可以從Exception類或其子類派生一個自定義的異常類。受查異常能夠由java編譯器進(jìn)行分析。受查異常在那些顯然可能產(chǎn)生錯誤的方法中拋出。非受查異常是派生自RuntimeExcepti
12、on類的所有異常。非受查異常不能由編譯器進(jìn)行檢查。在Java中,錯誤和各種異常情況都是通過拋出和捕獲異常對象來進(jìn)行處理的。當(dāng)一個對象拋出異常后,可以自己捕獲處理,也可以交給其他對象處理。如果捕獲異常的對象無法處理,還可以繼續(xù)拋出,由其他對象捕獲處理。,9.4.1 異常與異常類,Java異常類的層次結(jié)構(gòu),9.4.2 異常處理機(jī)制,拋出異常 捕獲和處理異常 重拋和傳遞異常 異常保護(hù)塊,Java中使用throw語句拋出異常。對于受查異
13、常,必須在其方法頭用throws關(guān)鍵字聲明它可能拋出的異常。Java中使用try-catch語句塊捕獲和處理異常。如果try塊內(nèi)的任何代碼拋出了由catch子句指定類型的異常,則程序跳過try塊中的其他代碼,執(zhí)行catch語句塊中的處理器代碼。還可以使用多個catch語句塊捕捉多個類型的異常。Java中使用finally語句可以形成一個資源保護(hù)塊,確?;厥帐鼙Wo(hù)的資源。finally后面的語句不論是否發(fā)生異常,都會執(zhí)行的。,9.
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 涉稅應(yīng)用軟件項(xiàng)目開發(fā)過程質(zhì)量保證與應(yīng)用.pdf
- 基于構(gòu)件軟件開發(fā)過程中的質(zhì)量保證.pdf
- 質(zhì)量保證與質(zhì)量提升質(zhì)量保證與質(zhì)量提升探索不倦
- 軟件開發(fā)質(zhì)量保證方案
- 軟件質(zhì)量與質(zhì)量保證
- 過程改善——新質(zhì)量時(shí)代的質(zhì)量保證
- 質(zhì)量保證體系及質(zhì)量保證措施
- 質(zhì)量保證體系及質(zhì)量保證措施
- 特殊過程、重要工序質(zhì)量保證措施
- 特殊過程、重點(diǎn)工序質(zhì)量保證措施
- 特殊過程、重點(diǎn)工序質(zhì)量保證措施
- 3---軟件質(zhì)量保證過程(sqa)
- 高校擴(kuò)招與質(zhì)量保證
- 質(zhì)量保證措施
- 建筑設(shè)計(jì)過程與設(shè)計(jì)質(zhì)量保證體系
- 質(zhì)量保證提示 cmmi 決策分析與解決過程
- 質(zhì)量保證大綱
- 施工質(zhì)量保證措施及質(zhì)量保證體系
- 施工質(zhì)量保證措施及質(zhì)量保證體系
- 工程質(zhì)量保證措施及質(zhì)量保證體系
評論
0/150
提交評論