高中信息技術(shù)第3章軟件工程基礎(chǔ)課件滬教版選修.ppt
《高中信息技術(shù)第3章軟件工程基礎(chǔ)課件滬教版選修.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《高中信息技術(shù)第3章軟件工程基礎(chǔ)課件滬教版選修.ppt(115頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、1,第3章 軟件工程基礎(chǔ),,2,內(nèi)容提要,軟件工程基本概念,軟件生命周期概念,軟件工具與軟件開發(fā)環(huán)境。 結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,數(shù)據(jù)字典,軟件需求規(guī)格說明書。 結(jié)構(gòu)化設(shè)計(jì)方法,總體設(shè)計(jì)與詳細(xì)設(shè)計(jì)。 軟件測(cè)試的方法,白盒測(cè)試與黑盒測(cè)試,測(cè)試用例設(shè)計(jì),軟件測(cè)試的實(shí)施,單元測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試。 程序的調(diào)試,3,3.1 軟件工程基本概念,4,3.1.1 軟件定義與軟件特點(diǎn),1軟件的定義和組成 定義: 計(jì)算機(jī)軟件(Software)是計(jì)算機(jī)系統(tǒng)中與硬件相互依賴的另一部分。 組成: 程序 數(shù)據(jù) 文檔 國標(biāo)(GB)定義 與計(jì)算機(jī)系統(tǒng)的操作有關(guān)的計(jì)算機(jī)程序、規(guī)程、規(guī)則,以及可能有的文件、文檔及數(shù)據(jù)。,
2、5,3.1.1 軟件定義與軟件特點(diǎn)(續(xù)),2軟件的特點(diǎn) 軟件是一種邏輯實(shí)體,而不是具體的物理實(shí)體,具有抽象性 軟件沒有明顯的制造過程。對(duì)軟件的質(zhì)量控制,必須在軟件開發(fā)方面下功夫 軟件不存在老化問題,但存在退化問題,必須要修改和維護(hù) 對(duì)計(jì)算機(jī)系統(tǒng)有著依賴性軟件移植的問題 軟件復(fù)雜性高,開發(fā)和維護(hù)成本高 軟件開發(fā)涉及諸多社會(huì)因素,6,3.1.1 軟件定義與軟件特點(diǎn)(續(xù)),3軟件的分類 應(yīng)用軟件 系統(tǒng)軟件 操作系統(tǒng) 數(shù)據(jù)庫管理系統(tǒng) 設(shè)備驅(qū)動(dòng)程序 支撐軟件,7,3.1.2 軟件危機(jī)與軟件工程,1軟件危機(jī) 軟件工程源自于軟件危機(jī) 主要表現(xiàn): 軟件需求的增長得不到滿足 軟件開發(fā)成本和進(jìn)度無法控制 軟件質(zhì)量
3、難以保證 軟件不可維護(hù)或維護(hù)程度非常低 軟件成本不斷提高 軟件開發(fā)生產(chǎn)效率的提高趕不上硬件的發(fā)展和應(yīng)用需求的增長 歸結(jié)為成本、質(zhì)量和生產(chǎn)率等問題,8,3.1.2 軟件危機(jī)與軟件工程,2軟件工程的產(chǎn)生與定義 軟件工程學(xué)工程學(xué)的新興領(lǐng)域 定義: 國標(biāo)(GB):應(yīng)用于計(jì)算機(jī)軟件的定義、開發(fā)和維護(hù)的一整套方法、工具、文檔、實(shí)踐標(biāo)準(zhǔn)和工序。 德國人Fritz Bauer:軟件工程是建立并使用完善的工程化原則,以較經(jīng)濟(jì)的手段獲取能在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件的一系統(tǒng)方法。 IEEE:將系統(tǒng)的、規(guī)范的、可度量的方法應(yīng)用于軟件開發(fā)、運(yùn)行和維護(hù)的過程,即將工程應(yīng)用于軟件中。 主要思想:在軟件開發(fā)過程中需要應(yīng)用
4、工程化原則的重要性,9,3.1.2 軟件危機(jī)與軟件工程,2軟件工程的產(chǎn)生與定義 軟件工程3個(gè)要素: 方法 工具 過程,10,3.1.3 軟件工程過程與軟件生命周期,1軟件工程過程 P(Plan)軟件規(guī)格說明 D(Do)軟件開發(fā) C(Check)軟件確認(rèn) A(Action)軟件演進(jìn),11,3.1.3 軟件工程過程與軟件生命周期,軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)、停止使用到退役的過程 3個(gè)階段 6個(gè)階段工作,12,3.1.3 軟件工程過程與軟件生命周期,定義階段 制定計(jì)劃:”能做嗎?“ 需求分析:“做什么?” 開發(fā)階段: 軟件設(shè)計(jì):“如何做?”,分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩個(gè)階段。 軟件實(shí)現(xiàn):“實(shí)現(xiàn)”,
5、編碼。 軟件測(cè)試:”做的怎么樣?“ 運(yùn)行維護(hù)階段 使用,不斷維護(hù),13,3.1.4 軟件工程的目標(biāo)與原則,1軟件工程的目標(biāo) 成功的項(xiàng)目: 成本 功能 移植 維護(hù)費(fèi)用 按時(shí) 及時(shí)交付 目標(biāo): 在給定成本、進(jìn)度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品,14,3.1.4 軟件工程的目標(biāo)與原則,2軟件工程學(xué)的范疇,,,15,3.1.4 軟件工程的目標(biāo)與原則,3軟件工程的原則 抽象 信息隱蔽 模塊化 局部化,確定性 一致性 完備性 可驗(yàn)證性,,,16,3.1.5 軟件開發(fā)工具與軟件開發(fā)環(huán)境,1軟件開發(fā)工具 協(xié)助開發(fā)人員
6、進(jìn)行軟件開發(fā)活動(dòng)所使用的軟件或環(huán)境 需求分析工具、設(shè)計(jì)工具、編碼工具、排錯(cuò)工具、測(cè)試工具等。 2軟件開發(fā)環(huán)境 全面支持軟件開發(fā)全過程的軟件工具的集合 計(jì)算機(jī)輔助軟件工程:CASE,17,3.2 結(jié)構(gòu)化分析方法,18,3.2.1 需求分析與需求分析方法,1需求分析 定義: 任務(wù):導(dǎo)出目標(biāo)系統(tǒng)的邏輯模型,解決“做什么”的問題 全面理解用戶的各項(xiàng)要求 準(zhǔn)確地表達(dá)各項(xiàng)要求 主要工作: 需求獲取 需求分析 編寫需求規(guī)格說明書 需求審評(píng),19,3.2.1 需求分析與需求分析方法,2需求分析方法 結(jié)構(gòu)化分析方法 面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA) 面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD) 面向數(shù)據(jù)結(jié)構(gòu)的結(jié)
7、構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法(DSSD) 面向?qū)ο蠓治龇椒ǎ∣OA) 靜態(tài)分析方法 動(dòng)態(tài)分析方法,20,3.2.2 結(jié)構(gòu)化分析方法,1關(guān)于結(jié)構(gòu)化分析方法 結(jié)構(gòu)化程序設(shè)計(jì)理論在需求分析階段的運(yùn)用 面向數(shù)據(jù)流進(jìn)行需求分析的方法 自頂向下、逐層分解 主要工具:數(shù)據(jù)流圖、數(shù)據(jù)字典,21,3.2.2 結(jié)構(gòu)化分析方法,2結(jié)構(gòu)化分析的常用工具 數(shù)據(jù)流圖(DFD) 數(shù)據(jù)字典 判定樹 判定表,22,3.2.2 結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖,23,3.2.2 結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖:基本圖形元素,,24,3.2.2 結(jié)構(gòu)化分析方法,數(shù)據(jù)流圖:分層數(shù)據(jù)流圖,,25,3.2.2 結(jié)構(gòu)化分析方法,2結(jié)構(gòu)化分析的常用工具 數(shù)據(jù)字典
8、 結(jié)構(gòu)化分析方法的核心 對(duì)數(shù)據(jù)流圖中出現(xiàn)的被命名的圖形元素的確切解釋判定樹 判定樹 判定表,26,3.2.3 軟件需求規(guī)格說明書,需求分析階段的最后成果 作用: 便于用戶、開發(fā)人員進(jìn)行理解和交流; 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù); 作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù)。 主要內(nèi)容 概述、數(shù)據(jù)描述、功能描述、性能描述、參考文獻(xiàn)、附錄 特點(diǎn): 正確性;無歧義性;完整性;可驗(yàn)證性;一致性;可理解性;可修改性;可追蹤性。,27,3.3 結(jié)構(gòu)化設(shè)計(jì)方法,28,3.3.1 軟件設(shè)計(jì)的基本概念,1軟件設(shè)計(jì)的基礎(chǔ) 開發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)(編碼)和測(cè)試 需求分析:主要解決“做什么”問題 軟件設(shè)計(jì):主要
9、解決“怎么做”問題,29,3.3.1 軟件設(shè)計(jì)的基本概念,1軟件設(shè)計(jì)的基礎(chǔ) 重要性: 主要內(nèi)容: 結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、接口設(shè)計(jì)、過程設(shè)計(jì) 步驟: 概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),,30,3.3.1 軟件設(shè)計(jì)的基本概念,2軟件設(shè)計(jì)的基本原理 抽象 一種思維工具 抽出事物本質(zhì)的共同特點(diǎn),不考慮細(xì)節(jié) 模塊化 模塊 模塊化 信息隱蔽 每個(gè)模塊的實(shí)現(xiàn)細(xì)節(jié)對(duì)于其它模塊來說是隱蔽的 模塊獨(dú)立性 每個(gè)模塊只涉及軟件要求的具體的子功能和軟件系統(tǒng)中其它的模塊的接口是簡(jiǎn)單的 衡量指標(biāo):耦合性、內(nèi)聚性,31,3.3.1 軟件設(shè)計(jì)的基本概念,內(nèi)聚性 度量一個(gè)模塊功能強(qiáng)度的一個(gè)相對(duì)指標(biāo)。 一個(gè)模塊只做一件事 7種類型,,32,3.
10、3.1 軟件設(shè)計(jì)的基本概念,耦合性 度量模塊之間的相互聯(lián)系程度 取決于接口的復(fù)雜程度、調(diào)用方式、哪些信息通過接口 模塊連接方式有7種,構(gòu)成耦合性的7種類型,,33,3.3.2 概要設(shè)計(jì),1概要設(shè)計(jì)的基本任務(wù) 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 主要任務(wù):劃分為模塊 數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫的設(shè)計(jì) 實(shí)現(xiàn)需求定義和規(guī)格說明過程中提出的數(shù)據(jù)對(duì)象的邏輯表示 編寫概要設(shè)計(jì)文檔 概要設(shè)計(jì)說明書、數(shù)據(jù)庫設(shè)計(jì)說明書、用戶手冊(cè)和集成測(cè)試計(jì)劃。 概要設(shè)計(jì)的評(píng)審 對(duì)概要設(shè)計(jì)文檔中給出的設(shè)計(jì)方案可行性、正確性、有效性、一致性等進(jìn)行審核,34,3.3.2 概要設(shè)計(jì)(續(xù)),2軟件結(jié)構(gòu)圖 用來表示軟件結(jié)構(gòu) 基本圖符,,,35,3.3.2 概要設(shè)計(jì)(續(xù))
11、,兩個(gè)附加符號(hào),,,,36,3.3.2 概要設(shè)計(jì)(續(xù)),系統(tǒng)結(jié)構(gòu)圖(SC)中的模塊 原子模塊 4種類型的模塊,,,37,3.3.2 概要設(shè)計(jì)(續(xù)),結(jié)構(gòu)圖的形態(tài)特征 深度、寬度、扇出、扇入,,,,,38,3.3.2 概要設(shè)計(jì)(續(xù)),3面向數(shù)據(jù)流的設(shè)計(jì)方法 數(shù)據(jù)流圖(DFD):需求分析工具 系統(tǒng)結(jié)構(gòu)圖(SC):概要設(shè)計(jì)工作 主要任務(wù):數(shù)據(jù)流圖變換成結(jié)構(gòu)圖 數(shù)據(jù)流的類型 變換流 事務(wù)流,,,,39,3.3.2 概要設(shè)計(jì)(續(xù)),變換流 數(shù)據(jù)流圖:取得數(shù)據(jù)、變換數(shù)據(jù)、給出數(shù)據(jù),,,,40,3.3.2 概要設(shè)計(jì)(續(xù)),變換流 系統(tǒng)的結(jié)構(gòu)圖:輸入、中心變換、輸出,,,41,3.3.2 概要設(shè)計(jì)(續(xù)),事務(wù)
12、流 數(shù)據(jù)流圖,,,,,42,3.3.2 概要設(shè)計(jì)(續(xù)),事務(wù)流 系統(tǒng)的結(jié)構(gòu)圖:,,,,,,,,43,3.3.2 概要設(shè)計(jì)(續(xù)),實(shí)施要點(diǎn)與設(shè)計(jì)過程 分析、確認(rèn)數(shù)據(jù)流圖的類型,區(qū)分是事務(wù)型還是變換型 說明數(shù)據(jù)流的邊界 數(shù)據(jù)流圖映射為程序結(jié)構(gòu) 根據(jù)設(shè)計(jì)準(zhǔn)則把數(shù)據(jù)流轉(zhuǎn)換成程序結(jié)構(gòu)圖,,,,,44,3.3.2 概要設(shè)計(jì)(續(xù)),變換分析 確定數(shù)據(jù)流圖是否具有變換特性 確定輸入流和輸出流的邊界,劃分出輸入、變換和輸出,獨(dú)立出變換中心 第一級(jí)分解 按上述步驟如出現(xiàn)事務(wù)流的映射方式對(duì)各個(gè)子流進(jìn)行逐級(jí)分解,直至分解到基本功能; 對(duì)每個(gè)模塊寫一個(gè)簡(jiǎn)要的說明 利用軟件的設(shè)計(jì)原則對(duì)軟件結(jié)構(gòu)透一步轉(zhuǎn)化 事務(wù)分析 與變換
13、分析類似 主要差別:映射方法不同,,,,,45,3.3.2 概要設(shè)計(jì)(續(xù)),4.設(shè)計(jì)準(zhǔn)則 提高模塊獨(dú)立性 深度、寬度、扇度和扇出適度 使模塊的作用域在該模塊的控制域內(nèi) 應(yīng)減少模塊的接口和界面的復(fù)雜性 設(shè)計(jì)成單入口、單出口的模塊 設(shè)計(jì)功能可預(yù)測(cè)的模塊,,,,,46,3.3.3 詳細(xì)設(shè)計(jì),詳細(xì)設(shè)計(jì)的任務(wù): 確定實(shí)現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu) 不同于編碼或編程 詳細(xì)設(shè)計(jì)的常用工具: 圖形工具:程序流程圖、N-S、PAD和HIPO 表格工具:判定表; 語言工具:PDL(偽碼),47,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),程序流程圖 圖形元素: 方框:處理步驟 菱形:邏輯條件 箭頭:控制流 5種控制結(jié)構(gòu) 順序型 選擇型
14、先判斷重復(fù)型 后判斷重復(fù)型 多分支選擇型。,,48,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),程序流程圖,,,49,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),N-S圖 流程圖:隨意性與靈活性 N-S圖:限制了隨意的控制轉(zhuǎn)移,保證了程序的良好結(jié)構(gòu) 5種基本控制結(jié)構(gòu):,,50,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),N-S圖,,,51,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),N-S圖 特點(diǎn): 每個(gè)構(gòu)件具有明確的功能域 控制轉(zhuǎn)移必須遵守結(jié)構(gòu)化設(shè)計(jì)要求; 易于確定局部數(shù)據(jù)和(或)全局?jǐn)?shù)據(jù)的作用域 易于表達(dá)嵌套關(guān)系和模塊的層次結(jié)構(gòu),,,52,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),PAD圖 PAD問題分析圖,Problem Analysis Diagram 表現(xiàn)程序
15、邏輯結(jié)構(gòu)的圖形工具 5種基本控制結(jié)構(gòu),,53,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),PAD圖,,,54,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),PAD圖 特征 結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高 易于閱讀 程序的縱線數(shù)等于程序的層次數(shù) 程序執(zhí)行從PAD圖最左主干線上端結(jié)點(diǎn)開始,自上而下、自左向右依次執(zhí)行,程序終止于最左主干線,,,55,3.3.3 詳細(xì)設(shè)計(jì)(續(xù)),PDL(偽碼) PDL過程設(shè)計(jì)語言,Program Design Language 混合語言,類似編程語言 常用詞匯: 順序: 條件:IFTHENELSEETIDIF 循環(huán):DOWHILEENDDO 循環(huán):REPEAT UNTILENDREPEAT 分支:CASE O
16、FWHENSELECTWHENSELECTENDCASE PDL特征: 有為結(jié)構(gòu)化構(gòu)成元素、數(shù)據(jù)說明和模塊化特征提供的關(guān)鍵詞語法; 處理部分的描述采用自然語言語法 可以說明簡(jiǎn)單和復(fù)雜的數(shù)據(jù)結(jié)構(gòu) 支持各種接口描述的子程序定義和調(diào)用技術(shù)。,56,3.4 軟件測(cè)試,57,3.4.1 軟件測(cè)試的目的,檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別 Grenford J.Myers觀點(diǎn): 測(cè)試是程序的執(zhí)行過程,目的在于發(fā)現(xiàn)錯(cuò)誤 一個(gè)好的測(cè)試用例在于能發(fā)現(xiàn)至今未發(fā)現(xiàn)的錯(cuò)誤 一個(gè)成功的測(cè)試是發(fā)現(xiàn)了至今未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試,58,3.4.2 軟件測(cè)試的準(zhǔn)則,所有測(cè)試都應(yīng)追溯到需求 嚴(yán)格執(zhí)行測(cè)試計(jì)劃
17、,排除測(cè)試的隨意性 充分注意測(cè)試中的群集現(xiàn)象 程序員應(yīng)避免檢查自己的程序 窮舉測(cè)試不可能 妥善保存測(cè)試計(jì)劃、測(cè)試用例、出錯(cuò)統(tǒng)計(jì)和最終分析報(bào)告,為維護(hù)提供方便,59,3.4.3 軟件測(cè)試技術(shù)與方法綜述,1靜態(tài)測(cè)試與動(dòng)態(tài)測(cè)試 靜態(tài)測(cè)試 人工評(píng)審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯(cuò)誤 主要方法:代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量 動(dòng)態(tài)測(cè)試 上機(jī)測(cè)試 關(guān)鍵:設(shè)計(jì)高效、合理的測(cè)試用例 分兩類:白盒測(cè)試方法和黑盒測(cè)試方法,60,3.4.3 軟件測(cè)試技術(shù)與方法綜述(續(xù)),2白盒測(cè)試方法與測(cè)試用例設(shè)計(jì) 也稱結(jié)構(gòu)測(cè)試或邏輯驅(qū)動(dòng)測(cè)試 測(cè)試用例是根據(jù)程序的內(nèi)部邏輯來設(shè)計(jì) 主要用于單元測(cè)試 基本原則 保證所測(cè)模塊中每一
18、個(gè)獨(dú)立路徑至少執(zhí)行一次 保證所測(cè)模塊所有判斷的每一個(gè)分支至少執(zhí)行一次 保證所測(cè)模塊每一個(gè)循環(huán)都在邊界條件和一般條件至少執(zhí)行一次 驗(yàn)證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性 主要方法:邏輯覆蓋、基本路徑測(cè)試,61,3.4.3 軟件測(cè)試技術(shù)與方法綜述(續(xù)),邏輯覆蓋測(cè)試 程序中的邏輯:判斷、分支、條件 可分為: 語句覆蓋:每一個(gè)語句都能執(zhí)行一次 路徑覆蓋:所有的可能路徑都至少經(jīng)歷一次 判定覆蓋:每個(gè)判定至少都獲得一次“真值”和“假值”的機(jī)會(huì) 條件覆蓋:每個(gè)判定中每個(gè)條件都獲得一次 “真”和“假”的機(jī)會(huì) 判斷-條件覆蓋:判定中的每個(gè)條件都能取得各種可能的“真”和“假”值,并且使每個(gè)判定都能取到“真”和“假”兩種結(jié)
19、果 強(qiáng)度順序 語句覆蓋<路徑覆蓋<判定覆蓋<條件覆蓋<判定-條件覆蓋,62,3.4.3 軟件測(cè)試技術(shù)與方法綜述(續(xù)),基本路徑測(cè)試 把覆蓋的路徑數(shù)壓縮到一定限度內(nèi) 思想和步驟: 根據(jù)軟件過程性描述中的控制流程確定程序的環(huán)路復(fù)雜性度量,用此度量定義基本路徑集合,并由此導(dǎo)出一組測(cè)試用例對(duì)每一條獨(dú)立執(zhí)行路徑進(jìn)行測(cè)試,63,3.4.3 軟件測(cè)試技術(shù)與方法綜述(續(xù)),3黑盒測(cè)試方法與測(cè)試用例設(shè)計(jì) 也稱功能測(cè)試或數(shù)據(jù)驅(qū)動(dòng)測(cè)試 對(duì)軟件已經(jīng)實(shí)現(xiàn)的功能是否滿足需求進(jìn)行測(cè)試和驗(yàn)證 根據(jù)程序的功能說明來設(shè)計(jì)測(cè)試用例 主要用于確認(rèn)測(cè)試 主要方法 等價(jià)類劃分法 邊界值分析法 錯(cuò)誤推測(cè)法,64,3.4.3 軟件測(cè)試技術(shù)與
20、方法綜述(續(xù)),等價(jià)類劃分法 有效等價(jià)類 無效等價(jià)類 邊界值分析法 大量的錯(cuò)誤是發(fā)生在輸入或輸出范圍的邊界上 錯(cuò)誤推測(cè)法 根據(jù)經(jīng)驗(yàn)或直覺推測(cè)程序易出錯(cuò)的地方,65,3.4.4 軟件測(cè)試的實(shí)施,,66,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),1單元測(cè)試 對(duì)象:針對(duì)程序模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試 目的:發(fā)現(xiàn)各模塊內(nèi)部可能存在的各種差錯(cuò) 依據(jù):從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測(cè)試用例,其依據(jù)是詳細(xì)的設(shè)計(jì)說明書和源程序 方法:以白盒測(cè)試為主,輔以黑盒測(cè)試,,67,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),1單元測(cè)試 內(nèi)容: 模塊接口測(cè)試 局部數(shù)據(jù)結(jié)構(gòu)測(cè)試 路徑測(cè)試 錯(cuò)誤處理測(cè)試 邊界測(cè)試 步驟: 在編碼階段進(jìn)行 源程序代碼
21、編制完成,經(jīng)過評(píng)審和驗(yàn)證,確認(rèn)沒有語法錯(cuò)誤之后 利用設(shè)計(jì)文檔,設(shè)計(jì)可以驗(yàn)證程序功能、找出程序錯(cuò)誤的多個(gè)測(cè)試用例 對(duì)于每一組輸入,應(yīng)有預(yù)期的正確結(jié)果,,68,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),1單元測(cè)試 驅(qū)動(dòng)模塊、樁模塊,,,69,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),2集成測(cè)試 任務(wù):把模塊在按照設(shè)計(jì)要求組裝起來的同時(shí)進(jìn)行測(cè)試 目的:發(fā)現(xiàn)與接口有關(guān)的錯(cuò)誤 依據(jù):集成測(cè)試的依據(jù)是概要設(shè)計(jì)說明書 內(nèi)容:軟件單元的接口測(cè)試、全局?jǐn)?shù)據(jù)結(jié)構(gòu)測(cè)試、邊界條件和非法輸入的測(cè)試 方式:非增量方式組裝與增量方式組裝。,,,70,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),2集成測(cè)試 非增量方式組裝 也稱為一次性組裝方式 增量方
22、式組裝 也稱漸增式集成方式 3種方式: 自頂向下 自底向上 自頂向與自底向上相結(jié)合,,,71,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),自頂向下,,,72,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),自底向上,,,,73,3.4.4 軟件測(cè)試的實(shí)施(續(xù)),3確認(rèn)測(cè)試 又稱有效性測(cè)試 目的:驗(yàn)證軟件的功能和性能及其它特性是否與用戶的要求一致 依據(jù):軟件需求規(guī)格說明書 方法:黑盒測(cè)試法 4系統(tǒng)測(cè)試 任務(wù):在實(shí)際運(yùn)行(使用)環(huán)境下,對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行一系列的組裝測(cè)試和確認(rèn)測(cè)試 目的:在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)定義不符合或與之矛盾的地方 依據(jù): 需求分析規(guī)格說明來設(shè)計(jì) 內(nèi)容:功能測(cè)試、性能測(cè)試、操作測(cè)
23、試、配置測(cè)試、外部接口測(cè)試、安全性測(cè)試,,,,74,3.5 程序的調(diào)試,75,3.5.1 基本概念,任務(wù):診斷和改正程序中的錯(cuò)誤 時(shí)機(jī):調(diào)試主要在開發(fā)階段進(jìn)行,76,3.5.1 基本概念(續(xù)),1.基本步驟 錯(cuò)誤定位、糾正錯(cuò)誤、回歸測(cè)試,,77,3.5.1 基本概念(續(xù)),2程序調(diào)試原則 確定錯(cuò)誤的性質(zhì)和位置的原則 用頭腦去分析思考與錯(cuò)誤征兆有關(guān)的信息 避開死胡同。 只把調(diào)試工具當(dāng)作輔助手段來使用 避免用試探法,最多只能把它當(dāng)作最后手段 修改錯(cuò)誤的原則 在出現(xiàn)錯(cuò)誤的地方,很可能還有別的錯(cuò)誤 只修改了這個(gè)錯(cuò)誤的征兆或這個(gè)錯(cuò)誤的表現(xiàn),而沒有修改錯(cuò)誤的本身。 當(dāng)心修正一個(gè)錯(cuò)誤的同時(shí)有可能會(huì)引入新的錯(cuò)
24、誤 修改錯(cuò)誤的過程將迫使人們暫時(shí)回到程序設(shè)計(jì)階段 修改源代碼程序,不要改變目標(biāo)代碼,,78,3.5.2 軟件調(diào)試方法,1強(qiáng)行排錯(cuò)法 通過內(nèi)存全部打印來排錯(cuò)(Memory Dump) 在程序特定部位設(shè)置打印語句 自動(dòng)調(diào)試工具 2回溯法 3原因排除法 演繹法 歸納法 二分法,79,典型考題分析,80,【例3-1】下列描述中正確的是______。(2005年4月) A)程序就是軟件 B)軟件開發(fā)不受計(jì)算機(jī)系統(tǒng)的限制 C)軟件既是邏輯實(shí)體,又是物理實(shí)體 D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合 答案 D,81,【例3-2】下列描述中正確的是______。(2005年9月) A)軟件工程只是解決軟件項(xiàng)目的管
25、理問題 B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題 C)軟件工程的主要思想是強(qiáng)調(diào)在軟件開發(fā)過程中需要應(yīng)用工程化原則 D)軟件工程只是解決軟件開發(fā)中的技術(shù)問題 答案 C,82,【例3-3】下面不屬于軟件工程的3個(gè)要素的是______。 A)工具B)過程 C)方法D)環(huán)境 答案 D,83,【例3-4】下列敘述中正確的是______。(2005年9月) A)軟件交付使用后還需要進(jìn)行維護(hù) B)軟件一旦交付使用就不需要再進(jìn)行維護(hù) C)軟件交付使用后其生命周期就結(jié)束 D)軟件維護(hù)是指修復(fù)程序中被破壞的指令 答案 A,84,【例3-5】下列選項(xiàng)中不屬于軟件生命周期開發(fā)階段任務(wù)的是______。(2006年9月
26、) A)軟件測(cè)試B)概要設(shè)計(jì) C)軟件維護(hù)D)詳細(xì)設(shè)計(jì) 答案 C,85,【例3-6】軟件工程學(xué)一般包括軟件開發(fā)技術(shù)和軟件工程管理兩方面的內(nèi)容。軟件工程經(jīng)濟(jì)學(xué)是軟件工程管理的技術(shù)內(nèi)容之一,它專門研究______。 A)軟件開發(fā)的方法學(xué) B)軟件開發(fā)技術(shù)和工具 C)軟件成本效益分析 D)計(jì)劃、進(jìn)度和預(yù)算 答案 C,86,【例3-7】下面不屬于軟件工程原則的是______。 A)抽象B)模塊化 C)自底向上D)信息隱蔽 答案 C,87,【例3-8】計(jì)算機(jī)輔助軟件工程,簡(jiǎn)稱為______。 A)SAB)SD C)SCD)CASE 答案 D,88,【例3-9】需求分析階段的任務(wù)是確定______。 A)
27、軟件開發(fā)方法 B)軟件開發(fā)工具 C)軟件開發(fā)費(fèi)用 D)軟件系統(tǒng)功能 答案 D,89,【例3-10】軟件需求分析階段的工作,可以分為四個(gè)方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及______。 A)階段性報(bào)告 B)需求評(píng)審 C)總結(jié) D)都不正確 答案 B,90,【例3-11】結(jié)構(gòu)化分析方法是面向______的自頂向下逐步求精進(jìn)行需求分析的方法。 A)對(duì)象 B)數(shù)據(jù)結(jié)構(gòu) C)數(shù)據(jù)流 D)目標(biāo) 答案 C,91,【例3-12】下列工具中為需求分析常用工具的是______。 A)PAD B)PFD C)N-S D)DFD 答案 D,92,【例3-13】數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)
28、據(jù)流圖由一些特定的圖符構(gòu)成。下面圖符號(hào)不屬于數(shù)據(jù)流圖的是______。 A)控制流 B)加工 C)數(shù)據(jù)存儲(chǔ) D)源和潭 答案 A,93,【例3-14】下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是______。 A)便于用戶、開發(fā)人員進(jìn)行理解和交流 B)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù) C)作為確認(rèn)測(cè)試和驗(yàn)收的依據(jù) D)便于開發(fā)人員進(jìn)行需求分析 答案 D,94,【例3-15】Jackson方法是一種面向______的結(jié)構(gòu)化方法。 答案 數(shù)據(jù)結(jié)構(gòu),95,【例3-16】從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是______。(2006年9月) A)概要設(shè)計(jì)與詳細(xì)設(shè)計(jì) B
29、)數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì) C)軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì) D)過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì) 答案 A,96,【例3-17】兩個(gè)或兩個(gè)以上模塊之間關(guān)聯(lián)的緊密程度稱為______。(2006年4月) A)耦合度 B)內(nèi)聚度 C)復(fù)雜度 D)數(shù)據(jù)傳輸特性 答案 A,97,【例3-18】為了提高模塊的獨(dú)立性,模塊之間最好是______。 A)控制耦合 B)公共耦合 C)內(nèi)容耦合 D)數(shù)據(jù)耦合 答案 D,98,【例3-19】為了使模塊盡可能獨(dú)立,要______。(2005年4月) A)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng) B)模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱 C)模塊的內(nèi)聚程度要盡量低
30、,且各模塊間的耦合程度要盡量弱 D)模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng) 答案 B,99,【例3-20】軟件的結(jié)構(gòu)化開發(fā)過程各階段都應(yīng)產(chǎn)生規(guī)范的文檔,以下______不是在概要設(shè)計(jì)階段應(yīng)產(chǎn)生的文檔。 A)集成測(cè)試計(jì)劃 B)軟件需求規(guī)格說明書 C)概要設(shè)計(jì)說明書 D)數(shù)據(jù)庫設(shè)計(jì)說明書 答案 B,100,【例3-21】軟件結(jié)構(gòu)設(shè)計(jì)的圖形工具是______。 A)DFD圖B)程序圖 C)PAD圖D)N-S圖 答案 B,101,【例3-22】下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為______。(2006年9月) 答案 3,,102,【例3-23】數(shù)據(jù)流圖的類型有______和事務(wù)型。 答案 變換
31、型,103,【例3-24】在軟件設(shè)計(jì)中,不屬于過程設(shè)計(jì)工具的是______。(2005年9月) A)PDL(過程設(shè)計(jì)語言) B)PAD圖 C)N-S圖 D)DFD圖 答案 D,104,【例3-25】程序流程圖(PFD)中的箭頭代表的是______。 A)數(shù)據(jù)流 B)控制流 C)調(diào)用關(guān)系 D)組成關(guān)系 答案 B,105,【例3-26】為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為______。 A)PAD圖 B)N-S圖 C)結(jié)構(gòu)圖 D)數(shù)據(jù)流圖 答案 B,106,【例3-27】下列對(duì)于軟件測(cè)試的描述中正確的是______。(2005年4月) A
32、)軟件測(cè)試的目的是證明程序是否正確 B)軟件測(cè)試的目的是使程序運(yùn)行結(jié)果正確 C)軟件測(cè)試的目的是盡可能地多發(fā)現(xiàn)程序中的錯(cuò)誤 D)軟件測(cè)試的目的是使程序符合結(jié)構(gòu)化原則 答案 C,107,【例3-28】為了提高測(cè)試的效率,應(yīng)該______。 A)隨機(jī)地選取測(cè)試數(shù)據(jù) B)取一切可能的輸入數(shù)據(jù)作為測(cè)試數(shù)據(jù) C)在完成編碼以后制定軟件的測(cè)試計(jì)劃 D)選擇發(fā)現(xiàn)錯(cuò)誤可能性大的數(shù)據(jù)作為測(cè)試數(shù)據(jù) 答案 D,108,【例3-29】程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試,其中______是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。(2006年4月) 答案 靜態(tài)分析,109,【例3-30
33、】使用白盒測(cè)試方法時(shí),確定測(cè)試數(shù)據(jù)應(yīng)根據(jù)______和指定的覆蓋標(biāo)準(zhǔn)。 A)程序的內(nèi)部邏輯 B)程序的復(fù)雜結(jié)構(gòu) C)使用說明書 D)程序的功能 答案 A,110,【例3-31】等價(jià)類型劃分法是______測(cè)試常用的方法。 答案 黑盒,111,【例3-32】在進(jìn)行模塊測(cè)試時(shí),要為每個(gè)被測(cè)試的模塊另外設(shè)計(jì)兩類模塊:驅(qū)動(dòng)模塊和承接模塊(樁模塊)。其中______的作用是將測(cè)試數(shù)據(jù)傳送給被測(cè)試的模塊,并顯示被測(cè)試模塊所產(chǎn)生的結(jié)果。(2005年9月) 答案 驅(qū)動(dòng)模塊,112,【例3-33】檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。 A)系統(tǒng)測(cè)試 B)集成測(cè)試 C)驗(yàn)收測(cè)試 D)單元測(cè)試 答案 C,113,【例3-34】______的任務(wù)是診斷和改正程序中的錯(cuò)誤。(2006年9月) 答案 調(diào)試,114,【例3-35】下列敘述中正確的是______。(2005年9月) A)程序設(shè)計(jì)就是編制程序 B)程序的測(cè)試必須由程序員自己去完成 C)程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試 D)程序經(jīng)調(diào)試改錯(cuò)后不必進(jìn)行再測(cè)試 答案 A,115,【例3-36】以下所述中,______是軟件調(diào)試技術(shù)。 A)錯(cuò)誤推斷 B)集成測(cè)試 C)回溯法 D)邊界值分析 答案 C,
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點(diǎn)美食推薦
- XX國有企業(yè)黨委書記個(gè)人述責(zé)述廉報(bào)告及2025年重點(diǎn)工作計(jì)劃
- 世界濕地日濕地的含義及價(jià)值
- 20XX年春節(jié)節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)人到場(chǎng)心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點(diǎn)節(jié)后常見的八大危險(xiǎn)
- 廈門城市旅游介紹廈門景點(diǎn)介紹廈門美食展示
- 節(jié)后開工第一課復(fù)工復(fù)產(chǎn)十注意節(jié)后復(fù)工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓(xùn)
- 深圳城市旅游介紹景點(diǎn)推薦美食探索
- 節(jié)后復(fù)工安全生產(chǎn)培訓(xùn)勿忘安全本心人人講安全個(gè)個(gè)會(huì)應(yīng)急
- 預(yù)防性維修管理
- 常見閥門類型及特點(diǎn)
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案