12-軟件工程基礎課件_第1頁
12-軟件工程基礎課件_第2頁
12-軟件工程基礎課件_第3頁
12-軟件工程基礎課件_第4頁
12-軟件工程基礎課件_第5頁
已閱讀5頁,還剩46頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Web第六章軟件工程基礎主要內容需求分析的方法概要設計的目標及方法詳細設計的原則軟件測試的方法CMM與項目管理需求分析方法—

結構化分析方法SA結構化分析(StructuredAnalysis,SA)是由DouglasRoss提出的,由DeMarco進行推廣的。采用自頂向下、逐層進行功能分解的系統(tǒng)分析方法來定義系統(tǒng)的需求。適用于分析大型的數據處理系統(tǒng)。方法的特點:利用數據流圖(DataFlowDiagram,DFD)來幫助理解問題,對問題進行分析。一般工具:DFD、數據字典、結構化英語、判定表、判定樹等。需求分析的方法數據流圖:描述數據處理過程的工具。數據字典:關于數據的信息集合,對數據流程圖中的各個元素做出完整的定義和說明,是數據流圖的補充。內容:數據流數據項數據結構數據存儲處理邏輯外部實體需求分析的步驟調查分析分析與綜合書寫文檔需求分析評審文檔說明書:引言、任務概述、數據描述、功能要求、性能需求、運行需求、其他要求、附錄。Jackson圖

Jackson圖由方框、連線及有特殊含義的一些標記組成。由于盡管數據結構種類繁多,但其數據元素之間的聯系只有順序、選擇和循環(huán)三種,因此邏輯數據結構的類型也只有這三種。此外,結構化的程序中也只含有這三種基本結構。因此,使用Jackson圖無論表達數據結構或程序結構,都是由這三種基本結構組合而成的。這三種基本結構在Jackson圖中的表示符號如圖所示。Jackson圖

三種基本結構在Jackson圖中的表示符號(a)順序結構;(b)選擇結構;(c);循環(huán)結構Jackson圖

在圖中,(a)圖表示A由B、C和D三部分順序組成;(b)圖表示A根據分支條件由B、C、D三個部分中選擇一個,注意A、B和C上均標有“°”標記表示選擇;(c)圖表示A由B重復若干次組成,注意B上標有“*”標記表示重復。由于Jackson圖可直觀、清晰地描述系統(tǒng)中的數據結構,成為了一種在需求分析和設計階段均可采用的通用圖形表達手段。

(1)分析問題,確定輸入、輸出數據的邏輯結構,并用Jackson圖將其描述出來。如上面例子中的輸入數據為職工檔案文件和職工工資文件,輸出數據為職工工資檔案文件,用Jackson圖表示的輸入和輸出數據結構如圖1所示。圖1輸入和輸出數據結構(a)輸入數據的數據結構;(b)輸出數據的數據結構

(2)找出輸入數據結構和輸出數據結構中有對應關系的單元,并按下列規(guī)則導出描述程序結構的Jackson圖。所謂對應單元,是指在程序中具有因果關系,可以同時處理的數據單元。若這些單元在結構圖中重復出現,則它們在輸入結構和輸出結構中重復出現的次數都相同時才算作是對應單元?!駷槊繉斎虢Y構與輸出結構中有對應關系的數據單元在程序結構圖的相應層次畫一個處理框。●為輸入數據結構中剩余的每一個數據單元在程序結構圖的相應層次畫一個處理框。●為輸出數據結構中剩余的每一個數據單元在程序結構圖的相應層次畫一個處理框。

(3)列出完成結構圖中各處理框功能的所有操作、分支及循環(huán)條件,并把它們放到程序結構圖上的適當位置。在導出程序結構圖的過程中,當順序結構中混雜有循環(huán)或選擇結構時,應通過增加中間層次對其進行改進,保證結構的清晰性。例子中所涉及的基本操作和條件如下:A.打開輸入文件;B.新建工資檔案文件;C.讀取輸入文件中的一條記錄;D.關閉文件;E.合并生成工資檔案記錄;F.將工資檔案記錄寫入文件;G.終止;I(1).輸入文件未結束。將這些操作及條件分配到程序結構圖的適當位置之后,結果如圖5.26(a)所示??梢钥吹?,在圖5.26(a)中的產生工資檔案文件順序結構中,混有產生工資檔案記錄這個循環(huán)結構。為了防止混淆,應將其改進為圖5.26(b)所示的程序結構圖。圖3加入基本操作和條件后的程序結構圖(a)改進前的程序結構圖;(b)改進后的程序結構圖

(4)用Jackson偽代碼寫出程序的處理過程。Jackson方法中使用的偽代碼和Jackson圖完全對應,以下是與圖5.23所示的Jackson圖中三種基本結構對應的偽代碼表示。

詳細設計的原則為了能夠使模塊的邏輯描述清晰準確,在詳細設計階段應遵循下列原則。

(1)將保證程序的清晰度放在首位。(2)設計過程中應采用逐步細化的實現方法。(3)選擇適當的表達工具。詳細設計可采用的工具

1.程序流程圖程序流程圖是最早出現且使用較為廣泛的算法表達工具之一,能夠有效地描述問題求解過程中的程序邏輯結構。程序流程圖中經常使用的基本符號如圖所示:程序流程圖中的基本符號(a)一般處理框;(b)輸入/輸出框;(c)判斷框;(d)流程線;(e)起止框三種基本控制結構的流程圖(a)順序結構;(b)選擇結構;(c)DO-WHILE循環(huán)結構N-S圖中基本控制結構的表示符號順序結構;(b)分支結構;(c)多分支CASE結構;(d)while-do結構;(e)do-until結構;(f)調用模塊APAD中基本符號順序結構;(b)分支結構;(c)多分支CASE結構;(d)當型循環(huán);(e);直到型循環(huán);(f)對s的細化圖6.2程序流程圖及導出的程序圖(a)程序流程圖;(b)程序圖軟件測試技術

軟件測試基礎

白盒測試技術

黑盒測試技術

軟件測試計劃和測試分析報告軟件測試策略1.軟件測試的概念軟件測試是在軟件投入運行前對軟件需求分析、軟件設計規(guī)格說明和軟件編碼進行查錯和糾錯(包括代碼執(zhí)行活動與人工活動)。找錯的活動稱測試,糾錯的活動稱調試。軟件測試是為了發(fā)現錯誤而執(zhí)行程序的過程。軟件測試是根據軟件開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用例去運行程序,以發(fā)現程序錯誤的過程。2.軟件測試的目的

(1)測試是一個為了尋找錯誤而運行程序的過程。(2)一個好的測試用例是指很可能找到迄今為止尚未發(fā)現的錯誤的用例。(3)一個成功的測試是指揭示了迄今為止尚未發(fā)現的錯誤的測試。軟件測試的過程軟件測試的方法

1.靜態(tài)分析技術靜態(tài)分析技術不執(zhí)行被測試軟件,可對需求分析說明書、軟件設計說明書、源程序做結構檢查、流程圖分析、符號執(zhí)行等來找出軟件錯誤??梢匀斯みM行分析,也可以用測試工具靜態(tài)分析程序來進行,被測試程序的正文作為輸入,經靜態(tài)分析程序分析得出分析結果。

(1)結構檢查是手工分析技術,由一組人員對程序設計、需求分析、編碼測試工作進行評議,虛擬執(zhí)行程序,并在評議中作錯誤檢驗。此方法能找出典型程序30%~70%有關邏輯設計與編碼的錯誤。

(2)流程圖分析是通過分析程序流程圖的代碼結構,來檢查程序的語法錯誤信息、語句中標識符引用狀況、子程序和函數調用狀況及無法執(zhí)行到的代碼段。此方法便于分析編碼實現與測試結果分析。

(3)符號執(zhí)行是一種符號化定義數據,并為程序每條路徑給出符號表達式,對特定路徑輸入符號,經處理輸出符號,從而判斷程序行為是否錯誤,達到分析錯誤目的的方法。這種方法比數值計算復雜得多,易出錯,又不適于非數值計算,故使用較少。2.動態(tài)測試技術動態(tài)分析是執(zhí)行被測程序,由執(zhí)行結果分析程序可能出現的錯誤??梢匀斯ぴO計程序測試用例,也可以由測試工具動態(tài)分析程序來做檢查與分析。動態(tài)測試包括功能測試和結構測試。它把程序看作為一個函數,輸入的全體稱為函數的定義域,輸出的全體稱為函數的值域,函數則描述了輸入的定義域與輸出值域的關系。這樣動態(tài)測試的算法可歸納為:函數

輸入的全體輸出的全體函數的定義域函數的值域動態(tài)測試的算法(1)選取定義域中的有效值,或定義域外無效值。(2)對已選取值決定預期的結果。(3)用選取值執(zhí)行程序。(4)觀察程序行為,記錄執(zhí)行結果。(5)將(4)的結果與(2)的結果相比較,不吻合則程序有錯。動態(tài)測試既可以采用白盒法對模塊進行邏輯結構的測試,又可以用黑盒法做功能結構的測試和接口的測試,都是以執(zhí)行程序并分析執(zhí)行結果來查錯。白盒測試技術

白盒測試概念如果已知產品的內部活動方式,就可以測試它的內部活動是否都符合設計要求。這種方法稱白盒測試(White-boxTesting),它是對軟件的過程性細節(jié)做細致的檢查。白盒測試又稱為結構測試或邏輯驅動測試,此方法是將測試對象比作一個打開的盒子,它允許測試人員利用程序內部的邏輯結構和相關信息來設計或選擇測試用例,對穿過軟件的邏輯路徑進行測試,可以在不同點檢查程序的狀態(tài),以確定實際狀態(tài)與預期狀態(tài)是否一致。軟件人員使用白盒方法測試程序模塊的檢查點主要包括:①對程序模塊的所有獨立的執(zhí)行路徑應至少測試一次;②對所有的邏輯判定,取“真”與取“假”兩種情況都能至少測試一次;③在循環(huán)的邊界和運行界限內執(zhí)行循環(huán)體;④測試內部數據結構的有效性等。表面看來,白盒測試是可以進行完全的測試的,從理論上講也應該如此。只要能確定測試模塊的所有邏輯路徑,并為每一條邏輯路徑設計測試用例,并評價所得到的結果,就可得到100%正確的程序。但實際測試中,這種窮舉法是無法實現的,因為即使是很小的程序,也可能會出現數目驚人的邏輯路徑。如圖所示是一個小程序的流程圖。圖中,一個圓圈代表一行源程序代碼(或一個語句塊)。其中有五條通路,左邊曲線箭頭表示執(zhí)行次數不超過20次循環(huán)。這樣的執(zhí)行路徑就有520個,近似為1014個可能的路徑。如果1ms完成一個測試,由此測試程序需3170年。由此看出,即使精確地實現了白盒測試,也不能斷言測試過的程序全正確,因為實行窮舉測試,由于工作量過大,需用時間過長,實施起來是不現實的。這就是程序測試的經濟學問題。既然在測試階段窮舉法測試是不可行的,那么為了節(jié)省時間和資源,提高測試效率,就必須精心設計測試用例。需從大量的可用測試用例中精選出少量的測試數據,使得采用這些測試數據能夠達到最佳的測試效果,即能高效地、盡可能多地發(fā)現隱藏的錯誤。測試只能發(fā)現錯誤,并不能保證程序沒有錯誤。白盒測試中的窮舉測試黑盒測試技術黑盒測試概念黑盒測試方法是在已知產品應該具有的功能的情況下,通過測試來檢驗是否每個功能都能正常使用的測試方法。對于軟件測試而言,黑盒測試法把程序看成一個黑盒子,完全不考慮程序的內部結構和處理過程。黑盒測試是在程序接口進行的測試,它只檢查程序功能是否能按照規(guī)格說明書的規(guī)定正常使用,程序是否能適當地接收輸入數據產生正確的輸出信息,并且保持外部信息(如數據庫或文件)的完整性。黑盒測試又稱功能測試。使用黑盒測試法,為了做到窮舉測試,至少必須對所有輸入數據的各種可能值的排列組合都進行測試。與白盒法相似,由此得到的應測試的情況數往往大到實際上根本無法測試的程度,即黑盒測試使用所有有效和無效的輸入數據來測試程序是不現實的。所以,黑盒測試同樣不能做到窮盡測試,只能選取少量最有代表性的輸入數據,以期用較少的代價暴露出較多的程序錯誤。黑盒測試技術其他測試方法條件測試:是檢查程序模塊中所包含邏輯條件的測試用例設計方法。數據流測試:按照程序中的變量定義和使用的位置來選擇程序的測試路徑。循環(huán)測試:是一種白盒測試技術.包括簡單循環(huán)、串接循環(huán)、嵌套循環(huán)、不規(guī)則循環(huán)。CMM與項目管理CMM(CapabilityMaturityModel)軟件過程能力成熟度模型。五個等級:

初始級→可重復級→已定義級→已定量管理級→優(yōu)先級項目管理項目管理:項目資源項目目標項目需求項目管理的原則和方法:全目標管理過程管理:啟動、計劃、執(zhí)行、控制、結束整合管理:目標整合、方案整合、過程整合ASP由微軟創(chuàng)建的Web應用開發(fā)標準,ASP服務器已經包含在IIS服務器中,ASP服務

溫馨提示

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

最新文檔

評論

0/150

提交評論