公共基礎知識第二三章_第1頁
公共基礎知識第二三章_第2頁
公共基礎知識第二三章_第3頁
公共基礎知識第二三章_第4頁
公共基礎知識第二三章_第5頁
已閱讀5頁,還剩62頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、公共基礎知識第二三章第1頁,共67頁,2022年,5月20日,6點10分,星期一本章主要內容程序設計方法和風格 結構化程序設計 面向對象程序設計 第2頁,共67頁,2022年,5月20日,6點10分,星期一2.1 程序設計方法和風格 什么是程序(了解) 指令的集合。(解釋指令) 通過硬件控制系統自動完成某一功能。 通過一系列代碼實現。 程序設計語言 計算機本身僅能識別二進制代碼“0”、“1”。 高級語言,比如C、JAVA、BASIC等。在ACCESS中,我們使用的程序設計語言是VBA(visual basic For application)編程最直接、最低級的就是機器語言。 匯編語言,是中低

2、級語言第3頁,共67頁,2022年,5月20日,6點10分,星期一程序設計風格 (理解&記憶 ) 基本概念:編寫程序時所表現出來的特點、習慣和邏輯思路。主要觀點:清晰第一,效率第二。一般從以下四部分加以規范:源程序中的內部文檔化:選擇標示符的名字、注釋(注釋有兩種:序言性注釋和功能性注釋)、程序的視覺組織(空格、空行、縮進等等)。 數據說明:顯式地說明一切變量、數據說明的次序應該規范化、便于查找變量(按順序排列)、對復雜數據結構應注釋說明 語句的結構:每條語句簡單明了、盡量不用或少用GOTO語句、盡量只采用3種基本控制結構編程 輸入和輸出:對所有輸入數據進行校驗和合理性檢查、輸入輸出格式保持一

3、致、設計良好的輸出報表第4頁,共67頁,2022年,5月20日,6點10分,星期一第5頁,共67頁,2022年,5月20日,6點10分,星期一程序設計三種方法 結構化設計法 模塊內部程序各部分要按照自頂向下的結構劃分 各程序部分應按功能組合 快速原型法(軟件工程法) 利用現有的工具和原型方法快速地開發所要的程序 面向對象程序設計法 以現實世界的對象為核心,與人類習慣的思維方法一致程序設計方法:研究問題求解和系統構造的軟件方法學 不同的方法之間,可以相互交叉、相互借鑒第6頁,共67頁,2022年,5月20日,6點10分,星期一2.2 結構化程序設計 基本思想 對大型的程序設計,使用一些基本的結構

4、(總共有三種,分別是:順序結構、選擇結構、循環結構)來設計程序,無論多復雜的程序,都可以使用這些基本結構按一定的順序組合起來。這些基本結構的特點都是只有一個入口、一個出口。由這些基本結構組成的程序就避免了任意轉移、閱讀起來需要來回尋找的問題。第7頁,共67頁,2022年,5月20日,6點10分,星期一基本結構:順序、選擇、循環(理解&記憶) 觀察下面6個流程圖第8頁,共67頁,2022年,5月20日,6點10分,星期一設計原則 (理解&記憶)自頂向下(對大型的程序設計而言,從最上層總體目標開始設計,然后不斷的分解將我們的總體目標分解成眾多的子目標) 逐步求精 (對分解之后的子模塊進行詳細的設計

5、、詳細的處理)模塊化(對分解完畢的子目標,沒實現一個子目標的程序,就是一個模塊) 限制使用goto語句第9頁,共67頁,2022年,5月20日,6點10分,星期一1、使用程序設計語言中的順序、選擇、循環等優先的控制結構表示程序的控制邏輯2、使用的控制結構只準許有一個入口和一個出口3、程序語句組成容易識、認的模塊,每一個模塊只有一個入口和一個出口4、復雜的結構應該使用嵌套的基本控制結構進行組合嵌套來實現5、嚴格控制goto語句的使用結構化程序設計注意事項(了解) 第10頁,共67頁,2022年,5月20日,6點10分,星期一2.3 面向對象程序設計基本思想 客觀世界中任何一個事物都可以被看成是一

6、個對象,面向對象方法的本質就是主張從客觀世界固有的事物出發來構造系統,系統中的對象及對象之間的關系能夠如實地反映問題域中固有的事物及其關系。 結構化與面向對象方法比較 結構化的分解突出過程,即如何做(How to do)?它強調代碼的功能是如何實現的; 面向對象的分解突出現實世界和抽象的對象,即做什么(What to do)?第11頁,共67頁,2022年,5月20日,6點10分,星期一主要優點(記憶) 與人類習慣的思維方法一致 穩定性好 可重用性好 易于開發大型軟件產品 可維護性好面向對象程序設計主要考慮的是:提高軟件的可重用性!實例化和繼承性是面向對象程序設計實現重用性的主要機制。第12頁

7、,共67頁,2022年,5月20日,6點10分,星期一面向對象的基本概念對象(Object):用來表示客觀世界中的任何實體,即應用領域中有意義的、與所要解決的問題有關系的任何事物,都是可以作為對象的。它既可以是具體的物理實體的抽象,也可以是人為的概念,或者是任何具有明確邊界和意義的東西。對象=對象名+數據(屬性)【對象中的屬性,我們稱之為屬性,其作用是:用于描述對象的性質】+作用于數據的操作(行為) 一個對象把屬性和行為封裝為一個整體 一個對象通常可由對象名、屬性和操作3部分組成第13頁,共67頁,2022年,5月20日,6點10分,星期一對象的基本特點:標識唯一性(區別于其他對象的屬性)、分

8、類性(我們把相同類型的屬性的對象,分成一組)、多態性(不同的操作、或不同的消息可以產生的不同結果)、封裝性(將對象的數據、操作等完整的封裝起來,以便使得更好的對對象進行描述。作用:既可以免遭封裝信息內部信息的外泄,也可以保護封裝內部的信息不受外部因素的干擾)、良好的模塊獨立性(由于多態性和封裝性,使得我們的對象具有良好的模塊獨立性)第14頁,共67頁,2022年,5月20日,6點10分,星期一消息(Message) 對象之間進行通信的一種數據構造,消息包括三個部分:接受消息對象名、消息標識符、零個或多個參數。面向對象的基本概念類(Class)類是具有共同屬性、共同方法的一組對象的集合類是在對象

9、之上的抽象,對象是類的具體化,是類的實例 第15頁,共67頁,2022年,5月20日,6點10分,星期一 在這里,“學生”就是在描述了一個“類”的概念。而“學號”、“姓名”、“性別”則是對“學生”這個類的屬性說明,在經過了對“類”中的屬性進行了確切的賦值之后,我們就稱之為類的一個對象或實例。第16頁,共67頁,2022年,5月20日,6點10分,星期一面向對象的基本概念封裝(Encapsulation)把“類”作為一個容器,將同類對象的屬性和方法封裝在一起。也就是說,將數據和操作數據的函數銜接在一起,構成一個具有類類型的對象的描述。 對象的內部實現受保護,外界不能訪問,是想了對外部的信息隱藏

10、如果,設計人員先從外部調用封裝內部的信息,可以通過定義好的接口來為外部提供調用 第17頁,共67頁,2022年,5月20日,6點10分,星期一面向對象的基本概念繼承(Inheritance)繼承是父類和子類之間共享數據的方法的機制(也就是說,如果我們要通過面向對象的程序設計來進行數據的共享,那么可以通過什么樣的機制來共享呢?答曰:繼承。反過來說,面向對象的程序設計中間,共享數據的方法是哪一種機制?答曰:繼承機制。) 一個子類可以繼承它的父類(或祖先類)中的屬性和操作 子類中可以定義自己的屬性和操作 單重繼承、多重繼承 第18頁,共67頁,2022年,5月20日,6點10分,星期一 在這里面,有

11、一個“學生”的類,這個類有兩個屬性“姓名”、“性別”,而下面的“高中學生”,不僅包含了“學生” 類的兩個屬性“姓名”、“性別”,還多出了一個特有的屬性“文理科”。此時,“學生”就被稱之為父類,“高中學生”就被稱之為子類。(如果父類只能派生出一個子類,就稱之為單繼承。如果父類只能派生出多個子類,就稱之為多類繼承)第19頁,共67頁,2022年,5月20日,6點10分,星期一多態性(Polymorphism)不同的對象收到同一消息可以產生完全不同的結構,這一現象叫做多態性 多態的實現受到繼承的支持第20頁,共67頁,2022年,5月20日,6點10分,星期一二章知識點什么是程序?程序設計的風格有哪

12、些(4個)程序設計的三種基本方法(結構化方法、原型法、面向對象)機構化程序設計方法的四個主要原則(自頂而下、逐步求精、模塊化、限制使用GOTO語句)結構化設計的三種基本結構(順序、選擇、循環)什么叫:對象、類對象的三個基本組成(對象標識、屬性、操作)及五個基本特點(標識唯一性、分類性、多態性、封裝性、模塊獨立性)類的基本特征(抽象性、繼承性、封裝性、多態性)第21頁,共67頁,2022年,5月20日,6點10分,星期一第三章軟件工程基礎第22頁,共67頁,2022年,5月20日,6點10分,星期一本章主要內容軟件工程基本概念 結構化分析、設計方法 軟件測試 程序的調試 第23頁,共67頁,20

13、22年,5月20日,6點10分,星期一軟件的定義(記憶) 軟件(software)是計算機系統中與硬件(hardware)相互依存的另一部分。軟件包括三個部分:程序(program)、相關數據(data)、說明文檔(document)。軟件按照功能可以分為三類:應用軟件(為了解決某一方面的實際應用而開發的相關系統)、系統軟件(為了對整個計算機的資源,包括硬件資源和軟件資源,進行管理和調用的軟件)、支撐軟件(包括各種各樣的工具的軟件)。3.1 軟件工程基本概念第24頁,共67頁,2022年,5月20日,6點10分,星期一軟件的特點(了解) 軟件沒有明顯的制造過程。(軟件的制造,明顯不同于一般工業

14、品的制造) 軟件在使用過程中,沒有磨損、老化問題(軟件在使用的過程中,不會像一般的工業品那樣出現磨損、老化的問題。軟件只會隨著軟件領域的發展,在現實的情況下這個軟件已不再適應當前要求時候,就會要求我們編制新的軟件以替代當前軟件) 軟件是一種邏輯實體,不是物理實體,具有抽象性。(也就是說,我們使用的軟件(最常用的就是QQ通訊軟件),我們只有運行它再通過顯示設備,才能夠看到它的運行并感受到他 。)第25頁,共67頁,2022年,5月20日,6點10分,星期一軟件是復雜的,以后會更復雜,而且軟件的成本相當昂貴 軟件工作牽涉到很多社會因素軟件的特點(了解) 軟件依賴與硬件和環境,導致了移植問題(我們的

15、某些軟件,是要與特定的硬件和環境先適應的。某一種軟件,只能應用于某一特殊的硬件和環境,而同一軟件移植到另一種硬件和環境的時候,就會出現問題) 第26頁,共67頁,2022年,5月20日,6點10分,星期一軟件危機(記憶) 早期的軟件主要指程序,采用個體工作方式,缺少相關文檔,質量低,維護困難,這些問題稱為“軟件危機”,軟件的特點導致了軟件危機的提出,工程概念的出現源自于軟件危機。 軟件工程(記憶) 軟件工程是指應用計算機科學、數學及管理科學等原理,以工程化的原則和方法來解決軟件問題的工程。其目的是提高軟件生產率、提高軟件質量、降低軟件成本。 軟件工程基本目標(了解) 在給定成本、進度的前提下,

16、開發出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產品。第27頁,共67頁,2022年,5月20日,6點10分,星期一軟件工程原則(理解&記憶):抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。1)抽象:抽象是事物最基本的特性和行為,忽略非本質細節,采用分層次抽象,自頂向下,逐層細化來控制軟件開發過程的復雜性。 2)信息隱蔽:采用封裝技術,將程序模塊的實現細節隱蔽起來,使模塊接口盡量簡單。 3)模塊化:模塊是程序中相對獨立的成分,一個獨立的編程單位。模塊的大小要適中,過大模塊內部復雜性增加,太小整個系統過于復雜。

17、4)局部化:保證模塊間具有松耦合性,模塊內部有高內聚性。 5)確定性:軟件中所有概念的表達應是確定、無歧義且規范的。 6)一致性:內外部接口保持一致,系統規格說明與行為保持一致。 7)完備性:軟件系統不丟失任何重要成分,完全實現系統所需功能。 8)可驗證性:遵循容易檢查、測評、評審原則,確保系統正確性第28頁,共67頁,2022年,5月20日,6點10分,星期一軟件工程三要素(記憶)方法:完成軟件工程項目的技術手段 工具:支持軟件的開發、管理、文檔生成 過程:支持軟件開發的各個環節的控制、管理軟件工具和軟件開發環境(記憶) 軟件工具(CASE):用來輔助軟件開、運行、維護、管理、支持等過程中的

18、活動的軟件 軟件開發環境:支持軟件產品開發的軟件系統,它由軟件工具集和環境集成機制構成軟件開發技術,包括軟件開發方法學、開發過程和軟件工程環境,其中主要的內容是軟件開發方法學第29頁,共67頁,2022年,5月20日,6點10分,星期一軟件生命周期(記憶&理解) 軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。分為軟件定義、軟件開發及軟件運行維護3個階段。 1)軟件定義階段:包括制定計劃和需求分析。 制定計劃:確定總目標;可行性研究;探討解決方案;制定開發計劃。 需求分析:對待開發軟件提出的需求進行分析并給出詳細的定義。 2)軟件開發階段: 軟件設計:分為概要設計和詳細設計

19、兩個部分。軟件實現:把軟件設計轉換成計算機可以接受的程序代碼。 軟件測試:在設計測試用例的基礎上檢驗軟件的各個組成部分。 3)軟件運行維護階段(生命周期中花費最多的階段):軟件投入運行,并在使用中不斷地維護,進行必要的擴充和刪改。第30頁,共67頁,2022年,5月20日,6點10分,星期一第31頁,共67頁,2022年,5月20日,6點10分,星期一需求分析(記憶) 用戶對目標軟件系統在功能、行為、性能、設計約束等方面的期望。需求分析的任務是發現需求、求精、建模和定義需求的過程。需求分析將創建所需的數據模型、功能模型和控制模型。 需求分析的四步驟(記憶) 需求獲取、需求分析、編寫需求規格說明

20、書和需求評審3.2 結構化分析方法第32頁,共67頁,2022年,5月20日,6點10分,星期一需求分析的方法(了解) 結構化分析方法:結構化程序設計理論在需求分析紅的運用,目的是幫助弄清用戶對軟件的需求,建立系統的邏輯模型 面向數據結構的結構化數據系統開發法(DSSD) 面向數據結構的Jackson系統開發法(JSD) 面向數據流的結構分析法(SA) 面向對象的分析方法:面向對象軟件工程方法 在需求分析中的應用第33頁,共67頁,2022年,5月20日,6點10分,星期一常用工具 (記憶)數據流圖、數據字典、判定樹、判定表 開發策略 自頂向下,逐層分解需求分析階段的結果 :軟件需求規格說明書

21、(RSR)作用:便于用戶與開發人員進行理解和交流,反應系統的問題結構,作為系統開發的基礎和依據,作為測試盒驗收的依據評價標準:正確性、奇異性、完整性、可驗證性、可理解性、可修改性、可追蹤性,其中最重要的是:正確性第34頁,共67頁,2022年,5月20日,6點10分,星期一數據流圖(DFD):以圖形的方式描繪數據在系統中流動和處理的過程,它反映了系統必須完成的邏輯功能,是結構化分析方法中用于表示系統邏輯模型的一種工具。 加工 存儲文件 源、潭數據流 加工(轉換):輸入數據經加工變換產生輸出。 數據流:沿箭頭方向傳送數據的通道,旁邊標注數據流名。 存儲文件(數據源):表示處理過程中存放各種數據的

22、文件。 源、潭:表示系統和環境的接口,屬系統之外的實體。 第35頁,共67頁,2022年,5月20日,6點10分,星期一畫數據流圖的基本步驟(記憶) 自外向內,自頂向下,逐層細化,完善求精數據流圖的示例 第36頁,共67頁,2022年,5月20日,6點10分,星期一數據字典(DD)(記憶):對所有與系統相關的數據元素的一個有組織的列表,是與系統相關的數據定義的集合。其作用是對數據流圖中出現的被命名的圖形元素的確切解釋。數據字典是結構化分析方法的核心 。數據字典常包括5個部分(記憶):數據項、數據結構、數據流(描述了數據流圖中的數據流向)、數據存儲(描述了數據流圖中的文件)、數據處理(描述了數據

23、流圖中的加工,也就是圓圈所定義的內容)。 第37頁,共67頁,2022年,5月20日,6點10分,星期一判斷樹(了解):又稱為決策樹,是一種描述加工的圖形數據,適合描述問題里中具有多個判斷,而且每個決策與若干條件有關。使用判定數進行描述時,應該從問題的文字描述中分清哪些是判定條件,那些是判定的決策,根據描述材料中的連接詞找出判定條件的從屬關系、并列關系、選擇關系,根據它們構造判定樹 第38頁,共67頁,2022年,5月20日,6點10分,星期一判斷表(了解):當數據流圖中的加工依賴多個邏輯條件的取值,即完成該數值的一組動作|是由于某一組條件取值的組合而引發的,在此情況下,使用判斷表比較合適。第

24、39頁,共67頁,2022年,5月20日,6點10分,星期一軟件需求規格說明書(SRS) :需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。第40頁,共67頁,2022年,5月20日,6點10分,星期一需求分析主要解決“做什么”的問題,確定系統的邏輯模型。而軟件設計主要解決“怎么做”的問題,其基本目標使用比較抽象概括的方式確定目標系統如何讓完成預定任務,確定系統的物理模型。 第41頁,共67頁,2022年,5月20日,6點10分,星期一從技術觀點來看,軟件設計包括軟件結構設計、數據設計、接口設計、過程設計

25、。(記憶) 結構設計:定義軟件系統各主要部件之間的關系。 數據設計:將分析時創建的模型轉化為數據結構的定義。 接口設計:描述軟件內部、軟件和協作系統之間以及軟件與人之間如何通信。 過程設計:把系統結構部件轉換成軟件的過程性描述 第42頁,共67頁,2022年,5月20日,6點10分,星期一從工程角度來看,軟件設計分兩步完成,即概要設計和詳細設計。(記憶)概要設計:又稱結構設計,將軟件需求轉化為軟件體系結構;確定系統級接口、全局數據結構或數據庫模式;編寫概要設計文檔、概要設計文檔評審。 詳細設計:確定每個模塊的實現算法和局部數據結構,用適當方法表示算法和數據結構的細節。第43頁,共67頁,202

26、2年,5月20日,6點10分,星期一軟件設計基本原理:抽象、模塊化、信息隱蔽和模塊獨立性。(記憶)抽象:抽象是一種思維工具,就是把事物本質的共同特性提取出來而不考慮其他細節。 模塊化:解決一個復雜問題時自頂向下逐步把軟件系統劃分成較小的、相對獨立但又不相互關聯的模塊的過程。 信息隱蔽:模塊的實施細節對于其他模塊來說是隱蔽的。 模塊獨立性:軟件系統中每個模塊只涉及軟件要求的具體的子功能,和軟件系統中其他模塊的接口是簡單的。 模塊獨立性指標:耦合性和內聚性 模塊劃分原則是:高內聚度,低耦合度模塊之間的依賴性越高,耦合性就越高,模塊的獨立性就越弱。第44頁,共67頁,2022年,5月20日,6點10

27、分,星期一總體設計(概要設計)基本任務 1)設計軟件系統結構 2)數據結構及數據庫設計 3)編寫概要設計文檔 4)概要設計文檔評審 軟件結構設計工具結構圖(程序結構圖) 程序結構圖的基本圖符(記憶) 矩形表示模塊,箭頭表示模塊間的調用關系 用帶注釋的箭頭表示模塊調用過程中來回傳遞的信息 實心圓箭頭表示控制信息,空心圓箭頭表示數據信息第45頁,共67頁,2022年,5月20日,6點10分,星期一軟件結構設計工具結構圖(程序結構圖) 常用結構圖的四種模塊類型(記憶) 傳入模塊:從下屬模塊取得數據,經處理再將其傳送給上級模塊。 傳出模塊:從上級模塊取得數據,經處理再將其傳送給下屬模塊。 變換模塊:從

28、上級模塊取得數據,進行特定的處理,轉換成其他形式,再傳送給上級模塊。 協調模塊:對所有下屬模塊進行協調和管理的模塊。第46頁,共67頁,2022年,5月20日,6點10分,星期一軟件結構設計工具結構圖(程序結構圖)(不需掌握) 結構圖例及術語深度:表示控制的層數。本圖例有5曾 寬度:整體控制跨度 扇入:調用一個給定模塊的模塊個數。 扇出:一個模塊直接調用的其他模塊數。上級模塊、從屬模塊:上、下兩層模塊a和b,且有a調用b,則a是上級模塊,b是從屬模塊。 原子模塊:樹中位于葉子結點的模塊。 第47頁,共67頁,2022年,5月20日,6點10分,星期一軟件結構設計工具結構圖(程序結構圖) 面向數

29、據流的設計方法定義了一些不同的映射方法,利用這些方法可以把數據流圖變換成結構圖表示軟件的結構。 數據流類型:變換型和事務型(記憶) 變換型:變換型數據處理問題的工作過程大致分為三步,即取得數據、變換數據和輸出數據。變換型系統結構圖由輸入、中心變換、輸出三部分組成。 事務型:事務型數據處理問題的工作機理是接受一項事務,根據事務處理的特點和性質,選擇分派一個適當的處理單元,然后給出結果。第48頁,共67頁,2022年,5月20日,6點10分,星期一高腰設計的優化準則(了解) 改進軟件結構,提高模塊獨立性模塊規模要適中模塊的作用范圍應該保持在模塊的控制范圍內軟件結構的深度、寬度、扇入、扇出要適當降低

30、模塊接口的復雜度設計單入口、單出口的模塊模塊的功能可預測第49頁,共67頁,2022年,5月20日,6點10分,星期一詳細設計基本任務 為軟件結構圖中的每個模塊確定實現算法和局部數據結構,用某種選定的表達工具表示算法和數據結構的細節常用設計工具(記憶) 圖形工具:程序流程圖、N-S(方盒圖)、PAD(問題分析圖)和HIPO(層次圖+輸入/處理/輸出圖)。 表格工具:判定表。 語言工具:PDL(偽碼)第50頁,共67頁,2022年,5月20日,6點10分,星期一第51頁,共67頁,2022年,5月20日,6點10分,星期一第52頁,共67頁,2022年,5月20日,6點10分,星期一第53頁,共

31、67頁,2022年,5月20日,6點10分,星期一3.3 軟件測試目的、意義、人員(記憶) 通過合理的設計測試用例以最少的人力和時間發現潛在的各種錯誤和缺陷。也就是說,軟件測試的目的就是:檢查錯誤,并對錯誤進行修改,但不能證明程序之中沒有錯誤(因為軟件是一項綜合的龐大工程,錯誤可能會出現在多處) 保證系統質量(滿足需求規格)和可靠性 由開發人員、用戶一起完成 第54頁,共67頁,2022年,5月20日,6點10分,星期一測試基本方法(記憶) 人工測試(靜態測試):評審軟件文檔或程序,包括代碼檢查、靜態結構分析、代碼質量度量。不實際運行軟件,主要通過人工進行。 機器測試(動態測試):通過運行軟件

32、,來檢驗結果的正確性。主要包括白盒測試方法和黑盒測試方法。 第55頁,共67頁,2022年,5月20日,6點10分,星期一白盒測試(結構測試、邏輯驅動測試)(記憶) 將軟件看成透明的白盒,根據程序的內部結構和邏輯結構來設計測試例子,對程序的路徑和過程進行測試,檢查是否滿足設計的要求。也就是說,白盒測試是對內部程序進行的測試。白盒測試基本原則(了解)保證所測模塊中每一獨立路徑至少執行一次; 保證所測模塊所有判斷的每一分支至少執行一次; 保證所測模塊每一循環都在邊界條件和一般條件下至少各執行一次; 驗證所有內部數據結構的有效性。 第56頁,共67頁,2022年,5月20日,6點10分,星期一測試用

33、例根據程序內部邏輯設計,主要用于軟件的單元測試。 出現讓大家判斷黑、白盒測試的時候,只要是關于程序的,就都是白盒測試。白盒測試用例主要設計方法有(記憶) 邏輯覆蓋:指一系列以程序內部的邏輯結構為基礎的測試用例設計技術。 基本路徑測試:根據軟件過程性描述中的控制流程確定程序的環路復雜性度量,用此度量定義基本路徑集合,并由此導出一組測試用例,對每一條獨立執行路徑進行測試。第57頁,共67頁,2022年,5月20日,6點10分,星期一邏輯覆蓋設計的基本內容(利用測試用例)(了解) 語句覆蓋:使得程序每一個語句至少都能被執行一次。 路徑覆蓋:使程序中所有的可能的路徑都至少經歷一次。 判定覆蓋:保證程序

34、中每個判斷的每個取值分支(T或F)至少經歷一次。 條件覆蓋:保證程序中每個判斷的每個條件的可能取值至少執行一次。 判斷-條件覆蓋:使判斷中每個條件的所有可能取值至少執行一次,同時每個判斷的所有可能取值分支至少執行一次。邏輯覆蓋強度依次是:語句覆蓋路徑覆蓋判定覆蓋條件覆蓋判斷-條件覆蓋 第58頁,共67頁,2022年,5月20日,6點10分,星期一黑盒測試(功能測試)將軟件看成黑盒子,不考慮程序內部細節、結構和實現方式,僅僅測試軟件的基本功能是否滿足需要。 黑盒測試主要用于軟件的確認測試,看是否實現了功能說明書的預期目標。 根據程序的功能說明來設計測試用例,基本設計方法有(記憶) 等價類劃分法:

35、典型黑盒測試方法,將程序的所有可能的輸入數據劃分成若干部分(及若干等價類),然后從每個等價類中選取數據作為測試用例。 邊界值分析法:它是對各種輸入、輸出范圍的邊界情況設計測試用例的方法。 錯誤推測法:人們可以靠經驗和直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的用例。 第59頁,共67頁,2022年,5月20日,6點10分,星期一軟件測試分四個步驟,從小到大依次是(記憶):單元測試、集成測試、確認測試(驗收測試)、系統測試。 測試對象:對軟件的最小單位模塊進行測試測試目的是:發現各模塊內部可能存在的各種錯誤。測試用例設計:根據程序的內部結構,其依據是詳細的設計說明書的源程序

36、測試技術:通常以白盒測試為主,輔之以黑盒測試。單元測試內容:模塊接口測試,局部數據結構測試,錯誤處理測試,邊界測試。 單元測試第60頁,共67頁,2022年,5月20日,6點10分,星期一測試對象:將模塊組裝起來后進行測試,測試目的是:發現與接口有關的錯誤。 測試用例設計:根據概要測試說明書測試內容:軟件單元的接口測試,全局數據結構與測試,邊界條件和非法輸入測試等模塊組裝方式:非增量方式組裝(將所有模塊一次性的全部進行測試地方法)和增量方式(先測試幾個模塊,通過之后再往這幾個通過測試的模塊上再添加模塊地方法)組裝。軟件測試分四個步驟,從小到大依次是(記憶):單元測試、集成測試、確認測試(驗收測

37、試)、系統測試。 集成測試第61頁,共67頁,2022年,5月20日,6點10分,星期一任務:驗證軟件的有效性。也就是說,用戶根據合同進行確認,以確認系統功能和性能的可接受性。 測試用例設計:軟件需求說明書測試方法:主要用于黑盒測試。軟件測試分四個步驟,從小到大依次是(記憶):單元測試、集成測試、確認測試(驗收測試)、系統測試。 確認測試第62頁,共67頁,2022年,5月20日,6點10分,星期一任務:將軟件系統與硬件、外設及其他元素結合在一起,對整個軟件系統進行測試,發現軟件與系統定義不符合或與之矛盾的地方。 測試用例設計:需求分析規格說明書基本內容:功能測試、性能測試、操作測試、配置測試、外部接口測試、安全性測試等等軟件測試分四個步驟,從小到大依次是(記憶):單元測試、集成測試、確認測試(驗收測試)、系統測試。 系統測試第63頁,共67頁,2022年,5月20日,6點10分,

溫馨提示

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

評論

0/150

提交評論