大學(xué)軟件開發(fā)與應(yīng)用課程PPt-第6-7章軟件開發(fā)new課件_第1頁
大學(xué)軟件開發(fā)與應(yīng)用課程PPt-第6-7章軟件開發(fā)new課件_第2頁
大學(xué)軟件開發(fā)與應(yīng)用課程PPt-第6-7章軟件開發(fā)new課件_第3頁
大學(xué)軟件開發(fā)與應(yīng)用課程PPt-第6-7章軟件開發(fā)new課件_第4頁
大學(xué)軟件開發(fā)與應(yīng)用課程PPt-第6-7章軟件開發(fā)new課件_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第 6 章 軟件開發(fā)方法6.1 軟件6.2 軟件生存周期6.3 軟件開發(fā)模型1第 6 章 軟件開發(fā)方法6.1 軟件1計算機語言的發(fā)展 第一代語言 機器語言第二代語言 匯編語言第三代語言 高級語言,亦稱過程語言 FORTRAN、COBOL、C、PASCAL 第四代語言 非過程化語言 SQL第五代語言 智能性語言2計算機語言的發(fā)展 2軟件 = 程序 + 文檔程序是按事先設(shè)計的功能和性能要求執(zhí)行的指令序列數(shù)據(jù)是使程序能正常操縱的信息的數(shù)據(jù)結(jié)構(gòu)文檔是與程序開發(fā)、維護(hù)和使用有關(guān)的圖文材料3軟件 = 程序 + 文檔程序是按事先設(shè)計的功能和性能要求執(zhí)行軟件的特征1. 軟件開發(fā)不同于硬件設(shè)計2. 軟件生產(chǎn)不同

2、于硬件制造3. 軟件維護(hù)不同于硬件維修4軟件的特征1. 軟件開發(fā)不同于硬件設(shè)計4軟件危機定義 軟件開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題表現(xiàn)用戶很不滿意質(zhì)量很不可靠(產(chǎn)品無評價手段)軟件不可維護(hù)對軟件開發(fā)成本和進(jìn)度的估算很不準(zhǔn)確沒有適當(dāng)?shù)奈臋n軟件成本比重上升軟件供不應(yīng)求5軟件危機定義 軟件開發(fā)和維護(hù)過程中遇到的一系列嚴(yán)重問題5軟件危機產(chǎn)生的原因: (1) 軟件是邏輯的系統(tǒng)部件不是物理的系 統(tǒng)部件,以程序和文檔形式存在 (2) 軟件規(guī)模越來越大,功能越來越強, 軟件結(jié)構(gòu)非常復(fù)雜結(jié)論:軟件危機產(chǎn)生的根本原因與軟件產(chǎn)品的特征和軟件產(chǎn)品開發(fā)與維護(hù)的方法不正確有關(guān) 解決軟件危機的根本出路: (1) 認(rèn)識問

3、題的原因所在,吸取前人的經(jīng)驗 (2) 要有相應(yīng)的理論、技術(shù)、工具6軟件危機產(chǎn)生的原因:6軟件工程軟件工程的目的在于獲得廉價的、能在實際機器上高效和可靠地工作的軟件。為此需要建立并應(yīng)用牢固的工程準(zhǔn)則和方法軟件工程定義很多,其核心思想是:“采用工程化的原理和方法對軟件進(jìn)行計劃、開發(fā)和維護(hù)”,因此需要建立和應(yīng)用工程準(zhǔn)則和方法7軟件工程軟件工程的目的在于獲得廉價的、能在實際機器上高效和可1.2 軟件生存周期軟件生存周期一般劃分為計劃、開發(fā)、運行三個時期,每一時期又區(qū)分為若干階段。 計劃(定義)時期有問題定義和可行性研究兩個階段 開發(fā)時期有需求分析、系統(tǒng)設(shè)計、編碼和測試四個階段 運行時期主要是系統(tǒng)維護(hù)階

4、段 81.2 軟件生存周期軟件生存周期一般劃分為計劃、開發(fā)、運行三問題定義可行性研究需求分析軟件設(shè)計編碼測試維護(hù)典型的軟件生存周期 開發(fā)階段維護(hù)階段(軟件系統(tǒng)目標(biāo)與范圍說明書)(可行性論證報告)(需求說明書)定義階段(設(shè)計說明書)(程序)(測試報告)(軟件維護(hù)報告)9問題定義可行性研究需求分析軟件設(shè)計編碼測試維1.2.1 計劃時期計劃時期的主要任務(wù):調(diào)查和分析調(diào)查用戶需求分析新系統(tǒng)的主要目標(biāo),分析開發(fā)該系統(tǒng)的可行性。計劃時期還應(yīng)制定出人力、資源及進(jìn)度計劃。101.2.1 計劃時期計劃時期的主要任務(wù):101.2.2 開發(fā)時期開發(fā)時期的任務(wù) 設(shè)計和實現(xiàn)設(shè)計包括:需求分析、軟件設(shè)計實現(xiàn)包括:編碼和測

5、試 把設(shè)計和實現(xiàn)分成兩步走,目的是在開發(fā)初期讓程序人員集中全力搞好軟件的邏輯結(jié)構(gòu),避免過早地為實現(xiàn)的細(xì)節(jié)分散精力。111.2.2 開發(fā)時期開發(fā)時期的任務(wù)11需求分析其任務(wù)在于弄清用戶對軟件系統(tǒng)的全部需求,并用 “需求規(guī)格說明書” 的形式準(zhǔn)確地表達(dá)出來。 12需求分析其任務(wù)在于12軟件設(shè)計主要任務(wù)是將需求轉(zhuǎn)變?yōu)檐浖谋硎拘问剑袝r又可細(xì)分為總體設(shè)計和詳細(xì)設(shè)計。 設(shè)計階段要編寫設(shè)計文檔。13軟件設(shè)計主要任務(wù)是將需求轉(zhuǎn)變?yōu)檐浖谋硎拘问?,有時又可細(xì)編碼即按照選定的語言,把設(shè)計的過程性描述翻譯為源程序。與“需求分析”或“設(shè)計”相比,“編碼”要簡單得多,所以通常由編碼員(coder)或初級程序員擔(dān)任。1

6、4編碼即按照選定的語言14測試是開發(fā)時期最后一個階段。 按照不同的層次,又可細(xì)分為單元測試 、綜合測試、確認(rèn)測試和系統(tǒng)測試等步 驟。測試是保證軟件質(zhì)量的重要手段。 測試階段的文檔稱為“測試報告”,包括測試計劃、測試用例與測試結(jié)果等內(nèi)容。 15測試是開發(fā)時期最后一個階段。151.2.3 運行時期運行時期是軟件生存周期的最后一個時期。軟件人員在這一時期的工作,主要是做好軟件維護(hù)。161.2.3 運行時期運行時期是軟件生存周期的最后一161.3 軟件開發(fā)模型1.3.1 傳統(tǒng)的軟件開發(fā)模型 瀑布模型 基于生存期的開發(fā)范型自頂向下,逐步細(xì)化每一步都要求給出相應(yīng)的技術(shù)文檔171.3 軟件開發(fā)模型1.3.1

7、 傳統(tǒng)的軟件開發(fā)模型 基于主要特點堅持結(jié)構(gòu)化(將邏輯實現(xiàn)與物理實現(xiàn)分開)思想和強調(diào)文檔齊套,是瀑布開發(fā)模型的兩條重要準(zhǔn)則。瀑布模型 Waterfall Model(1976)18主要特點堅持結(jié)構(gòu)化(將邏輯實現(xiàn)與物理實現(xiàn)分開)思想和強調(diào)文檔 1.3.1 傳統(tǒng)的軟件開發(fā)模型快速原型模型需求分析原型開發(fā)最終系統(tǒng)設(shè)計原型評價最終系統(tǒng)實現(xiàn)用戶反饋19 1.3.1 傳統(tǒng)的軟件開發(fā)模型需求分析原型開發(fā)最終系統(tǒng)設(shè)計快速原型范型Rapid Prototyping Paradigm (1) 建立原型 (2) 實現(xiàn)最終軟件原型開發(fā)范型的最大優(yōu)點: 用戶的早期介入20快速原型范型Rapid Prototyping P

8、arad1.3.2 面向?qū)ο箝_發(fā)模型面向?qū)ο笏枷氲淖钪匾卣?,是在解題空間中引入了“對象”的概念,使之逼真地模擬問題空間中的客觀實體,從而達(dá)到與人類的思維習(xí)慣相一致。 211.3.2 面向?qū)ο箝_發(fā)模型面向?qū)ο笏枷氲淖钪匾卣鳎窃诮廛浖_發(fā)技術(shù)發(fā)展史結(jié)構(gòu)化技術(shù)組件技術(shù)面向?qū)ο蠹夹g(shù)COM、EJB 2.1 結(jié)構(gòu)化開發(fā)方法2.2 面向?qū)ο箝_發(fā)方法22軟件開發(fā)技術(shù)發(fā)展史結(jié)構(gòu)化技術(shù)組件技術(shù)面向?qū)ο蠹夹g(shù)COM、EJ兩種程序設(shè)計方法程序設(shè)計的兩次飛躍結(jié)構(gòu)化程序設(shè)計程序=數(shù)據(jù)結(jié)構(gòu)+算法面向?qū)ο蟪绦蛟O(shè)計程序 = 對象 + 消息 23兩種程序設(shè)計方法程序設(shè)計的兩次飛躍23兩類軟件工程方法傳統(tǒng)軟件工程軟件分析 總體

9、設(shè)計 詳細(xì)設(shè)計 面向過程的編碼 測試 面向?qū)ο筌浖こ誊浖治雠c對象抽取 對象詳細(xì)設(shè)計 面向?qū)ο蟮木幋a 測試 24兩類軟件工程方法傳統(tǒng)軟件工程242.1.1 結(jié)構(gòu)化開發(fā)方法基本思路:把整個系統(tǒng)開發(fā)過程分成若干階段,每個階段進(jìn)行若干活動,每項活動應(yīng)用一系列標(biāo)準(zhǔn)、規(guī)范、方法和技術(shù),完成一個或者多個任務(wù),形成符合給定規(guī)范的產(chǎn)品。分而治之“結(jié)構(gòu)化”的含義:用一組規(guī)范的步驟、準(zhǔn)則和工具來進(jìn)行某項工作。252.1.1 結(jié)構(gòu)化開發(fā)方法基本思路:把整個系統(tǒng)開發(fā)過程分成若核心思想:自頂向下和逐步求精SA方法的特點使用描述需求說明書的規(guī)范工具(數(shù)據(jù)流圖、數(shù)據(jù)詞典、小說明(加工邏輯的描述)) , 使文檔規(guī)范化 基本

10、手段:分解和抽象 分解:大問題分割成小問題,分別解決 抽象:把細(xì)節(jié)略去,先考慮最本質(zhì)屬性26核心思想:自頂向下和逐步求精SA方法的特點使用描述需求說SA方法分析步驟:建立當(dāng)前系統(tǒng)的具體模型抽象出當(dāng)前系統(tǒng)的邏輯模型建立目標(biāo)系統(tǒng)的邏輯模型對目標(biāo)系統(tǒng)做完整的描述。考慮人機界面和其它一些問題主要描述工具: 數(shù)據(jù)流圖 表達(dá)需求 數(shù)據(jù)詞典 記錄數(shù)據(jù)的邏輯定義 27SA方法分析步驟:27數(shù)據(jù)流圖(DFD) 數(shù)據(jù)流圖(Data Flow Diagram)是描述系統(tǒng)中數(shù)據(jù)流程的圖形工具。它標(biāo)識了一個系統(tǒng)的邏輯輸入和邏輯輸出以及把邏輯輸入轉(zhuǎn)換為邏輯輸出所需要的加工處理 帳卡存折取 款 信 息存折核查付款登錄無余拒

11、付儲戶付款信息可行性28數(shù)據(jù)流圖(DFD) 數(shù)據(jù)流圖(Data Flow Diagr數(shù)據(jù)流圖(DFD) 數(shù)據(jù)流圖以圖形的方式表達(dá)了系統(tǒng)中的信息變換和傳遞的過程基本符號:數(shù)據(jù)流 加工 數(shù)據(jù)存儲 數(shù)據(jù)源點或 終點29數(shù)據(jù)流圖(DFD) 數(shù)據(jù)流圖以圖形的方式表達(dá)了系統(tǒng)中的信息變付款信息取 款 信 息無余拒付取款單 存折取款過程的數(shù)據(jù)流圖核查付款登錄存折儲戶 帳卡30付款信息取無余拒付取款單 存折取款過程的數(shù)據(jù)流圖核查付款登錄數(shù)據(jù)流圖(DFD) SA方法要求:先全局后局部、先整體后細(xì) 節(jié)、先抽象后具體 總體數(shù)據(jù)流圖 局部數(shù)據(jù)流圖逐步細(xì)化31數(shù)據(jù)流圖(DFD) SA方法要求:先全局后局部、先整體后細(xì)數(shù)據(jù)

12、流圖(DFD) 一個復(fù)雜的軟件其數(shù)據(jù)流圖通常分為頂層、中間層和底層頂層:是一個高度抽象的軟件系統(tǒng)的邏輯模型 中間層:它既是上一層的加工的分解結(jié)果,又是下一層若干加工的抽象底層:由基本加工構(gòu)成。所謂基本加工是指不能再進(jìn)行分解的加工32數(shù)據(jù)流圖(DFD) 一個復(fù)雜的軟件其數(shù)據(jù)流圖通常分為頂層、中33333434數(shù)據(jù)詞典(DD) SA方法使用數(shù)據(jù)詞典(Data Dictionary)對數(shù)據(jù)流名、數(shù)據(jù)存儲名、數(shù)據(jù)項名、基本加工名進(jìn)行詳細(xì)說明 數(shù)據(jù)流圖中包含的所有元素定義的集合構(gòu)成了數(shù)據(jù)詞典 DD是SA方法的主要工具35數(shù)據(jù)詞典(DD) SA方法使用數(shù)據(jù)詞典(Data Dicti數(shù)據(jù)詞典(DD) 數(shù)據(jù)詞

13、典中條目類型數(shù)據(jù)流條目常用符號 = + | ( ) 文件條目 列出文件記錄的組成數(shù)據(jù)項組織方式數(shù)據(jù)項條目 數(shù)據(jù)單項定義,包括類型、取值范圍加工條目 加工的精確描述,小說明加工說明36數(shù)據(jù)詞典(DD) 數(shù)據(jù)詞典中條目類型362.1.2 結(jié)構(gòu)化設(shè)計(SD)在軟件需求分析階段,已搞清楚了軟件“做什么”的問題,需求通過規(guī)格說明書描述,這也是目標(biāo)系統(tǒng)的邏輯模型。進(jìn)入了設(shè)計階段,要把軟件“做什么”的邏輯模型變換為“怎么做”的物理模型,設(shè)計的結(jié)果反映在“設(shè)計規(guī)格說明書”文檔中。描述了軟件的總體的體系結(jié)構(gòu),稱為軟件總體設(shè)計或結(jié)構(gòu)設(shè)計。對結(jié)構(gòu)進(jìn)一步細(xì)化,稱為詳細(xì)設(shè)計或結(jié)構(gòu)設(shè)計。 372.1.2 結(jié)構(gòu)化設(shè)計(SD

14、)在軟件需求分析階段,已搞清楚了SD方法的基本思想根據(jù)SA方法中的數(shù)據(jù)流圖建立一個良好的模塊結(jié)構(gòu)圖運用模塊化的設(shè)計原理控制系統(tǒng)的復(fù)雜性,即設(shè)計出模塊相對獨立的,模塊結(jié)構(gòu)圖深度、寬度都適當(dāng)?shù)模瑔稳肟趩纬隹诘?,單一功能的模塊結(jié)構(gòu)的軟件結(jié)構(gòu)圖。評價模塊結(jié)構(gòu)圖質(zhì)量的標(biāo)準(zhǔn):模塊之間的聯(lián)系越松散越好,而模塊內(nèi)各成分之間的聯(lián)系越緊湊越好38SD方法的基本思想根據(jù)SA方法中的數(shù)據(jù)流圖建立一個良好的模塊SD方法的設(shè)計原理模塊化 指解決一個復(fù)雜問題時自頂向下逐層把軟件系統(tǒng)劃分成若干模塊的過程。每個模塊完成一個特定的子功能,所有的模塊按某種方法組裝起來,成為一個整體,完成整個系統(tǒng)所要求的功能。模塊化是軟件解決復(fù)雜問

15、題所具備的手段,為了說明這一點,可將問題的復(fù)雜性和工作量的關(guān)系進(jìn)行推理抽象模塊獨立39SD方法的設(shè)計原理模塊化39 模塊化(module)模塊:在程序中是數(shù)據(jù)說明、可執(zhí)行語句等程序?qū)ο蟮募?,或者是單獨命名和編址的元素,如高級語言中的過程、函數(shù)、子程序等等。在軟件的體系結(jié)構(gòu)中,模塊是可組合、分解和更換的單元。模塊具有以下幾種基本屬性:接口:指模塊的輸入與輸出。功能:指模塊實現(xiàn)什么功能。邏輯:描述內(nèi)部如何實現(xiàn)要求的功能及所需的數(shù)據(jù)。40 模塊化(module)模塊:在程序中是數(shù)據(jù)說明、可執(zhí)行語句模塊獨立性(module independence)模塊獨立性:每個模塊只完成系統(tǒng)要求的獨立的子功能,

16、并且與其他模塊的聯(lián)系最少且接口簡單。模塊獨立性有兩個定性的度量標(biāo)準(zhǔn): 內(nèi)聚(模塊內(nèi)部各成分之間的聯(lián)系)和耦合(模塊之間的聯(lián)系)模塊間耦合性越小越好模塊內(nèi)聚性越大越好41模塊獨立性(module independence)模塊獨模塊的設(shè)計準(zhǔn)則通過模塊的分解和合并,提高模塊獨立性模塊調(diào)用個數(shù)最好不要超過5個降低模塊接口的復(fù)雜性模塊的作用域應(yīng)該在控制域之內(nèi)模塊應(yīng)該設(shè)計成單入口單出口模塊的大小要適中,一般在50條語句左右42模塊的設(shè)計準(zhǔn)則通過模塊的分解和合并,提高模塊獨立性422.1.3 詳細(xì)設(shè)計和編碼三種基本控制結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)432.1.3 詳細(xì)設(shè)計和編碼三種基本控制結(jié)構(gòu)43詳細(xì)設(shè)計的

17、描述工具:程序流程圖方框圖(N-S圖)問題分析圖(PAD圖)偽碼(PDL語言)44詳細(xì)設(shè)計的描述工具:44程序流程圖45程序流程圖45N-S圖N-S圖也叫做盒圖。46N-S圖N-S圖也叫做盒圖。46問題分析圖(PAD)47問題分析圖(PAD)47過程設(shè)計語言(Process Design Language ,PDL)也稱程序描述語言(Program Description Language),又稱為偽碼(pseudo code)。屬于文字形式的表達(dá)工具。它并非真正的代碼,也不能在計算機上執(zhí)行,但形式上與代碼相似。它是一種用于描述模塊算法設(shè)計和處理細(xì)節(jié)的語言。PDL具有嚴(yán)格的關(guān)鍵字外層語法,用于

18、定義控制結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)和模塊接口,而它表示實際操作和條件的內(nèi)層語法又是靈活自由的,使用自然語言的詞匯。48過程設(shè)計語言(Process Design LanguagPDL 特 點所有關(guān)鍵字都有固定語法,以便提供結(jié)構(gòu)化控制結(jié)構(gòu)、數(shù)據(jù)說明和模塊的特征。描述處理過程的說明性語言沒有嚴(yán)格的語法。具有數(shù)據(jù)說明機制,包括簡單的與復(fù)雜的數(shù)據(jù)說明。具有模塊定義和調(diào)用機制,因此開發(fā)人員應(yīng)根據(jù)系統(tǒng)編程所用的語種,說明PDL表示的有關(guān)程序結(jié)構(gòu)。49PDL 特 點所有關(guān)鍵字都有固定語法,以便提供結(jié)構(gòu)化控制結(jié)構(gòu)結(jié)構(gòu)化編碼方法程序的正確性可讀性、可理解性、可測試性、可維護(hù)性50結(jié)構(gòu)化編碼方法程序的正確性502.2 面向?qū)?/p>

19、象開發(fā)方法 OOSD一、面向?qū)ο蠓治?OOA)二、面向?qū)ο笤O(shè)計(OOD) 三、面向?qū)ο缶幊?OOP)Object-Oriented DesignObject-Oriented Programing Object-Oriented Analysis 512.2 面向?qū)ο箝_發(fā)方法 OOSD一、面向?qū)ο蠓治?OOA)面向?qū)ο蟮姆治觯?需求分析:分析系統(tǒng)的功能、性能、約束。 領(lǐng)域分析:重點在于對問題域中的概念進(jìn)行描述。面向?qū)ο蟮脑O(shè)計:重點在于職責(zé)分配和交互設(shè)計,定義那些最終用面向?qū)ο蟪绦蛟O(shè)計語言實現(xiàn)的邏輯軟件組成部分類。面向?qū)ο蟮姆治觯∣OA)面向?qū)ο蟮脑O(shè)計(OOD)面向?qū)ο蟮木幊蹋∣OP)面向?qū)ο蟮?/p>

20、編程:C+、JAVA。52面向?qū)ο蟮姆治觯?面向?qū)ο蟮脑O(shè)計:重點在于職責(zé)分配和交互設(shè)計第7章 軟件測試與質(zhì)量保證目標(biāo):軟件測試是為了發(fā)現(xiàn)軟件中的錯誤而執(zhí)行程序的過程。好的測試方案是盡可能地發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯誤的測試方案。成功的測試則是發(fā)現(xiàn)出至今未發(fā)現(xiàn)的錯誤的測試。53第7章 軟件測試與質(zhì)量保證目標(biāo):53軟件測試的原則1.不要抱有“軟件不會有錯或認(rèn)為查不出錯”的幻想2. 測試用例應(yīng)由測試輸入數(shù)據(jù)和對應(yīng)的預(yù)期輸出結(jié)果這兩部分組成。3. 在設(shè)計測試用例時,應(yīng)當(dāng)包括合理的輸入數(shù)據(jù)和不合理的輸入數(shù)據(jù)。4. 程序員應(yīng)避免測試自己的程序。5.嚴(yán)格全面地執(zhí)行測試計劃。6妥善保存測試計劃、測試用例、出錯統(tǒng)計和

21、最終分析報告。54軟件測試的原則1.不要抱有“軟件不會有錯或認(rèn)為查不出錯”的幻軟件測試策略與技術(shù)單元測試系統(tǒng)測試確認(rèn)測試組裝測試單元測試單元測試被測模塊被測模塊被測模塊已確認(rèn)的軟件已測模塊可交付的軟件系統(tǒng)其它元素軟件需求設(shè)計信息已集成的軟件55軟件測試策略與技術(shù)單元測試系統(tǒng)測試確認(rèn)測試組裝測試單元測試單軟件測試策略單元測試:人工測試、上機測試組裝測試:漸增式組裝測試:自底向上、自頂向下非漸增式組裝測試確認(rèn)測試有效性測試、軟件配置復(fù)查、測試和測試、驗收測試系統(tǒng)測試56軟件測試策略單元測試:人工測試、上機測試56 M1 自底向上測試 M2 M5 M4 M3 M6 組裝測試(驅(qū)動模塊從屬模塊) 57

22、 M1 自底向上測試 M2 M5 M4 D3 自底向上測試 D1 M5 D2 M3 M6 58 D3 自底向上測試 D1 M5 D2 自底向上測試 M2 M5 M4 M3 M6 D4 D5 59自底向上測試 M2 M5 M4 M3 M1 自底向上測試 M2 M5 M4 M3 M6 60 M1 自底向上測試 M2 M5 M4 M1 自頂向下測試 M2 M5 M4 M3 M6 組裝測試(主控模塊調(diào)用模塊樁模塊)61 M1 自頂向下測試 M2 M5 M4 M1 自頂向下測試 S1 S3 S2 62 M1 自頂向下測試 S1 S3 S2 M1 自頂向下測試 M2 S4 M4 M3 S5 63 M1 自

23、頂向下測試 M2 S4 M4 M1 自頂向下測試 M2 M5 M4 M3 M6 64 M1 自頂向下測試 M2 M5 M4 常用的測試方法白盒測試 (結(jié)構(gòu)測試或邏輯功能測試)將程序看作一個打開的盒子,根據(jù)程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)的信息來設(shè)計或選擇測試用例覆蓋程度由底到高:語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋黑盒測試 (功能測試或數(shù)據(jù)驅(qū)動測試)把程序看作一個不能打開的盒子,根據(jù)程序的需求規(guī)格說明來設(shè)計測試用例方法:等價分類法、邊緣分析法、因果圖法、錯誤推斷法65常用的測試方法白盒測試65 軟件人員使用白盒測試方法,主要想對程序模塊進(jìn)行如下的檢查: 對程序模塊的所有獨立的執(zhí)行路徑至少測試一次; 對所有的邏輯判定,取“真”與取“假”的兩種情況都至少測試一次; 在循環(huán)的邊界和運行界限內(nèi)執(zhí)行循環(huán)體; 測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等。66 66語句覆蓋 :針對語句執(zhí)行,使得每一條語句至少執(zhí)行一次。判定

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論