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