




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第32講程序設計與軟件開發根底〔六〕教學目標及根本要求:理解構造化設計方法,能利用該方法提供的常用工具解決實際問題,掌握測試與調試的概念,了解白盒測試與黑盒測試的概念,能進展簡單的測試用例設計和實施,了解靜態調試與動態調試。教學重點:測試和調試的根本概念,白盒測試與黑盒測試。教學難點:面向數據流的設計方法,白盒測試與黑盒測試。教學內容:1.構造化設計方法2.軟件測試及調試教學時間:1學時主要內容:7.4.3構造化設計方法1.軟件設計的根本概念〔1〕軟件設計的根底概念軟件設計是軟件工程的重要階段,是一個把軟件需求轉換為軟件表示的過程。根本目標軟件設計的根本目標是用比擬抽象概括的方式確定目標系統如何完成預定的任務,即軟件設計是確定系統的物理模型。步驟從工程管理角度來看,軟件設計分兩步完成:概要設計和詳細設計。>概要設計〔又稱構造設計〕:將軟件需求轉化為軟件體系構造、確定系統級接口、全局數據構造或數據庫模式。>詳細設計:確立每個模塊的實現算法和局部數據構造,用適當方法表示算法和數據構造的細節。〔2〕軟件設計的根本原那么抽象:是一種思維工具,就是把事物本質的共同特性提取出來而不考慮其他細節。模塊化:是指把一個待開發的軟件分解成假設干小的簡單的局部。信息隱蔽:是指在一個模塊內包含的信息,對于不需要這些信息的其他模塊來說是不能訪問的。模塊獨立性:是指每個模塊只寫成系統要求的獨立的子功能,并且與其他模塊的聯系最少且接口簡單。模塊的獨立程度是評價設計好壞的重要度量標準。衡量軟件的模塊獨立性使用耦合性和內聚性兩個定性的度量標準。一個優秀的軟件設計應盡量做到高內聚、低耦合。2.概要設計〔1〕概要設計的任務設計軟件系統構造:在需求分析階段,已經把系統分解成層次構造,而在概要設計階段,需要進一步分解,劃分為模塊以及模塊的層次構造。數據構造及數據庫設計:數據設計是實現需求定義和規格說明過程中提出的數據對象的邏輯表示。編寫概要設計文檔:需要編寫的文檔有概要設計說明書、數據庫設計說明書、集成測試方案等。概要設計文檔評審。〔2〕概要設計的圖形工具常用的軟件構造設計工具是構造圖〔SC〕,也稱程序構造圖,它描述了軟件系統的層次和分塊構造關系。模塊用一個矩形表示,矩形內注明模塊的功能和名字;箭頭表示模塊間的調用關系。用帶實心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數據。構造圖的有關術語如下。深度:表示控制的層數。上級模塊、下級模塊:調用模塊中上級模塊,被調用模塊是下級模塊。寬度:整體控制跨度〔最大模塊數的層〕的表示。扇入:調用一個給定模塊的模塊個數。扇出:一個模塊直接調用的其他模塊數。原子模塊:樹中位于葉子節點的模塊。〔3〕面向數據流的設計方法典型的數據流類型有兩種:變換型和事務型。變換型:是指信息沿輸入通道進入系統,同時由外部形式變換成內部形成,進入系統的信息通過變換中心,經加工處理以后再沿輸出通路變換成外部形式離開軟件系統。事務型:在很多軟件應用中,存在某種作業數據流,它可以引發一個或多個處理,這些處理能夠完成該作業要求的功能,這種數據流就叫做事務。〔4〕設計的準那么提高模塊獨立性。模塊規模適中。深度、寬度、扇出和扇入適當。使模塊的作用域在該模塊的控制域內。應減少模塊的接口和界面的復雜性。設計成單入口、單出口的模塊。設計功能可預測的模塊。3.詳細設計詳細設計的任務是為軟件構造圖中的每個模塊確定實現算法和局部數據構造,用某種選定的表達工具表示算法和數據構造的細節。常用的過程圖形設計工具如下。〔1〕程序流程圖程序流程圖是一種傳統的、應用廣泛的軟件過程設計表示工具,通常稱為程序框圖。程序流程圖表達直觀、清晰,易于學習掌握,且獨立于任何一種程序設計語言。構成程序流程圖的最根本圖符及含義如下所示。f或J:控制流□:加工步驟?:邏輯條件〔2〕N-S圖為了防止程序圖在描述程序邏輯時的隨意性與靈活性,提出了用方框圖來代替傳統的程序流程圖,通常把這種圖稱為N-S圖。N-S圖的根本圖符及表示的5種控制構造如圖7-20所示。循環體判定條件循環體判定條件圖7-20N-S圖圖符與構成的5種控制構造〔3〕PAD圖PAD圖是問題分析圖[ProblemAnalysisDiagram〕的英文縮寫,它是繼程序流程圖和方框圖之后,提出的又一種主要用于描述軟件詳細設計的圖形表示工具。PAD圖的根本圖符及表示的控制構造如圖7-21所示。順序型 選擇型 WHILE重復型 順序型 選擇型 WHILE重復型 UNTIL重復型圖7-21PAD圖圖符與構成的5種控制構造除了以上3種工具外,還有判定表、判定樹和構造化自然語言PDL等描述工具。7.4.4軟件測試及調試1.軟件測試的目的與任務軟件測試的目的是確保軟件的質量,盡量找出軟件錯誤并加以糾正,而不是證明軟件沒有錯。因此,軟件測試的任務可以規定兩點。〔1〕測試任務:通過采用一定的測試策略,找出軟件中的錯誤。〔2〕調試任務:如果測試發現錯誤,那么定位軟件中的錯誤,并加以糾正。找錯的活動稱為測試,糾錯的活動稱為調試。2.軟件測試的準那么〔1〕所有測試都應追溯到需求。〔2〕嚴格執行測試方案,排除測試的隨意性。〔3〕充分注意測試中的群集現象。〔4〕程序員應防止檢查自己的程序。〔5〕窮舉測試不可能。〔6〕妥善保存測試方案、測試用例、出錯統計和最終分析報告,為維護提供方便。3.軟件測試技術與方法軟件測試的方法和技術是多種多樣的,對于軟件測試方法和技術,可以從不同的角度加以分類。假設從是否需要執行被測軟件的角度,可以分為靜態測試和動態測試方法。假設按照功能劃分可以分為白盒測試和黑盒測試。〔1〕靜態測試與動態測試靜態測試包括代碼檢查、靜態構造分析、代碼質量度量等,可以由人工完成,也可以借助軟件工具。動態測試是基于計算機的測試,是為了發現錯誤而執行程序的過程。合理的測試用例是測試的關鍵,測試用例是為測試設計的數據。〔2〕白盒測試方法與測試用例白盒測試方法也稱構造測試或邏輯驅動測試,它是根據軟件產品的內部工作過程,檢查內部成分,以確認每種內部操作符合設計規格要求。白盒測試把測試對象看成是一個翻開的盒子。白盒測試是在程序內部進展,主要用于完成軟件內部操作的驗證。白盒測試的主要方法有邏輯覆蓋、根本路徑測試等。邏輯覆蓋測試是指一系列以程序的內部邏輯構造為根底的測試用例設計技術。語句覆蓋:執行足夠的測試用例,使得程序中每個語句至少都能被執行一次。路徑覆蓋:執行足夠的測試用例,使程序中所有可能的路徑都至少經歷一次。判定覆蓋:使設計的測試用例保證程序中每個取值分支至少經歷一次。條件覆蓋:設計的測試用例保證程序中每個判斷的每個條件的可能取值至少執行一次。判斷-條件覆蓋:設計足夠的測試用例,保證程序中判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能取值分支至少執行一次。根本路徑測試是根據軟件過程性描述中的控制流程確定程序的環路復雜性度量,用此度量定義根本路徑集合,并由此導出一組測試用例對每一條獨立執行路徑進展測試。〔3〕黑盒測試方法與測試用例黑盒測試方法也稱為功能測試或數據驅動測試,它是對軟件已經實現的功能是否滿足需求進展測試和驗證。黑盒測試完全不考慮程序內部的邏輯構造和內部特性,只依據程序的需求和功能規格說明,檢查程序的功能是否符合它的功能說明。黑盒測試是在軟件接口進展,完成功能驗證。黑盒測試方法主要有等價類劃分法、邊界值分析法、錯誤推測法、因果圖法等。其中,等價類劃分法是將程序的所有可能的輸入數據劃分成假設干局部,然后從每個等價類中選取數據作為測試用例。4.軟件測試實施軟件測試過程一般按4個步驟進展,即單元測試、集成測試、驗收測試〔確認測試〕和系統測試。〔1〕單元測試單元測試集中對軟件設計的最小單位——模塊進展測試,主要是為了發現模塊內部可能存在的各種錯誤和缺乏。進展單元測試時,根據程序的內部構造設計測試用例,主要使用白盒測試法。由于各模塊相對獨立,因而對多個模塊的測試可以同時進展,以提高測試效率。單元測試主要針對5個根本特性進展測試:模塊接口、局部數據構造、重要的執行路徑、出錯處理和邊界條件。〔2〕集成測試集成測試是測試和組裝軟件的過程。主要目的是發現與接口有關的錯誤,集成測試的依據是概要設計說明書,測試的內容主要是:軟件單元的接口測試、全局數據構造測試、邊界條件和非法輸入的測試等。集成測試時將模塊組裝成程序通常采用兩種方式:非增量方式組裝和增量方式組裝。〔3〕確認測試確認測試的任務是驗證軟件的功能和性能及其他特性是否滿足了需求規格說明中確定的各種需求,以及軟件配置是否完全、正確。確認測試的實施首先運用黑盒測試方法。〔4〕系統測試系統測試是把通過確認測試的軟件作為基于計算機系統的一個元素,與整個系統的其他元素結合起來,在實際運行環境下,對計算機系統進展一系列的集成測試和確認測試。5.軟件調試實施在對程序進展了成功的測試之后將進入程序調試,程序調試的任務是診斷和改正程序中的錯誤。軟件測試貫穿整個軟件生命周期,調試主要在開發階段。程序調試活動由兩局部組成:其一是錯誤的定位,其二是修改錯誤
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年聚酯氨防護套項目市場調查研究報告
- 政務信息共享平臺建設實踐
- 創意產業知識產權法律實務操作手冊
- 教育信息化未來教室的創新發展
- 慢性阻塞性肺疾病證型與Th1-Th2亞群及炎癥標志物的相關性研究
- 探索數字教育資源在不同學科中的應用
- 小學美術公開課:解鎖教師專業成長密碼-以A老師為例
- 小學初任教師教學焦慮與學校支持的關聯性探究:基于教育生態視角
- 寬帶微波復相關接收機:非接觸測溫領域的創新設計與實踐
- 多維視角下中學語文類文本教學方法研究
- 2025屆廣東省中山六校高三二模語文試題(含答案與解析)
- 智能建造基礎考試題及答案
- 2024年蘇教版三年級下冊數學全冊教案及教學反思
- 承運商KPI考核管理辦法2024年2月定稿
- 2025年中國石油化工行業市場發展前景及發展趨勢與投資戰略研究報告
- T-ZZB 3669-2024 嵌裝滾花銅螺母
- 醫務人員廉潔從業培訓課件
- 第十八屆“地球小博士”全國地理知識科普競賽題庫(附答案)
- 《智慧醫院建設指南》
- 新《民法典》知識競賽題庫附答案
- 《食管胃結合部癌》課件
評論
0/150
提交評論