版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第三章第三章 軟件工程軟件工程3.1 軟件工程的基本概念軟件工程的基本概念3.2 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法3.3 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法3.4 軟件測試軟件測試3.5 軟件調(diào)試軟件調(diào)試3.6 軟件維護軟件維護返回到目錄頁231 軟件工程基本概念計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點包括:(1)軟件是一種邏輯實體;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制作過程;(3)軟件在運行、使用期間不存在磨損、老化問題;(4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導致了軟件移植的問題;(5)軟件復雜性高,成本昂貴;(6)軟
2、件開發(fā)涉及諸多的社會因素。331 軟件工程基本概念軟件按功能分為應用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。軟件危機主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。軟件工程是應用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序。軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用工程化原則工程化原則。軟件工程包括3個要素:方法、工具和過程。方法是完成軟件工程項目的技術(shù)手段;工具支持軟件的開發(fā)、管理文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制、管理。軟件工程過程是把輸入轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P軟件規(guī)格說明
3、;Plan(2)D軟件開發(fā); Do(3)C軟件確認; Check(4)A軟件演進。 Action4軟件的分類軟件的分類軟件按功能可分為:應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。應用軟件應用軟件是為解決特定領(lǐng)域的應用而開發(fā)的軟件。例如,事物處理軟件、工程與科學計算軟件、實時處理軟件、嵌入式軟件、人工智能軟件等應用性質(zhì)不同的各種軟件。系統(tǒng)軟件系統(tǒng)軟件是計算機管理自身資源,提高計算機使用效率并為計算機用戶提供各種服務的軟件,如操作系統(tǒng)、編譯程序、匯編程序、網(wǎng)絡(luò)軟件、數(shù)據(jù)庫管理系統(tǒng)等。支撐軟件支撐軟件是介于系統(tǒng)軟件和應用軟件之間,協(xié)助用戶開發(fā)軟件的工具性軟件,包括輔助和支撐開發(fā)和維護應用軟件的工具
4、軟件,如需求分析工具軟件、設(shè)計工具軟件、編碼工具軟件、測試工具軟件、維護工具軟件等,也包括輔助管理人員控制開發(fā)進程和項目管理的工具軟件,如計劃進度管理工具軟件、過程控制工具軟件、質(zhì)量管理及配置管理工具軟件等。 5軟件危機軟件危機軟件危機主要表現(xiàn)在: (1)軟件需求的增長得不到滿足; (2)軟件開發(fā)成本和進度無法控制; (3)軟件質(zhì)量難以保證; (4)軟件不可維護或維護程度非常低; (5)軟件成本不斷提高; (6)軟件開發(fā)生產(chǎn)效率的提高趕不上硬件的發(fā)展和應用需求的增長。 總之,可以將軟件危機歸結(jié)為成本、質(zhì)量和生產(chǎn)率等問題。6軟件周期軟件周期軟件周期:軟件產(chǎn)品從提出、實現(xiàn)、使用、維護到停止使用、退
5、役的過程。軟件生命周期三個階段:軟件定義、軟件開發(fā)、運行維護,主要活動階段是:(1)可行性研究與計劃制定;(2)需求分析; (3)軟件設(shè)計; (4)軟件實現(xiàn);(5)軟件測試;(6)運行和維護。 78軟件工程的目標和與原則:軟件工程的目標和與原則:目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品?;灸繕耍焊冻鲚^低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要較低的費用;能按時完成開發(fā),及時交付使用。基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗
6、證性。9軟件工程軟件工程軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。軟件工程管理包括:軟件管理學、軟件工程經(jīng)濟學、軟件心理學等內(nèi)容。軟件管理學包括人員組織、進度安排、質(zhì)量保證、配置管理、項目計劃等。10軟件開發(fā)工具與軟件開發(fā)環(huán)境1、軟件開發(fā)工具。是協(xié)助開發(fā)人員進行軟件開發(fā)活動所使用的軟件或環(huán)境,它包括需求分析工具、設(shè)計工具、編碼工具、排錯工具、測試工具等。 2、軟件開發(fā)環(huán)境。是指全面支持軟件開發(fā)全過程的軟件工具軟件工具集合。 11歷屆試題歷屆試題 2005.4(8)下列描述中
7、正確的是)下列描述中正確的是A)程序就是軟件)程序就是軟件B)軟件開發(fā)不受計算機系統(tǒng)的限制)軟件開發(fā)不受計算機系統(tǒng)的限制C)軟件既是邏輯實體,又是物理實體)軟件既是邏輯實體,又是物理實體D)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合)軟件是程序、數(shù)據(jù)與相關(guān)文檔的集合2005.9(5)下列描述中正確的是)下列描述中正確的是A)軟件工程只是解決軟件項目的管理問題)軟件工程只是解決軟件項目的管理問題B)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題)軟件工程主要解決軟件產(chǎn)品的生產(chǎn)率問題C)軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用)軟件工程的主要思想是強調(diào)在軟件開發(fā)過程中需要應用工程化原則工程化原則D)軟件工程只
8、是解決軟件開發(fā)中的技術(shù)問題)軟件工程只是解決軟件開發(fā)中的技術(shù)問題12歷屆試題歷屆試題(3)下列選項中不屬于軟件生命周期開發(fā)階段任務的是)下列選項中不屬于軟件生命周期開發(fā)階段任務的是A)軟件測試)軟件測試B)概要設(shè)計)概要設(shè)計C)軟件維護)軟件維護D)詳細設(shè)計)詳細設(shè)計2007.4(4)軟件生命周期可分為多個階段,一般分為定義階段、開)軟件生命周期可分為多個階段,一般分為定義階段、開發(fā)階段和維護階段。編碼和測試屬于發(fā)階段和維護階段。編碼和測試屬于 【4】 階段。階段。2007.9(1)軟件是指)軟件是指 A)程序程序 B)程序和文檔程序和文檔 C)算法加數(shù)據(jù)結(jié)構(gòu)算法加數(shù)據(jù)結(jié)構(gòu) D)程序、數(shù)據(jù)與相
9、關(guān)文檔的完整結(jié)合程序、數(shù)據(jù)與相關(guān)文檔的完整結(jié)合132008.9(3)軟件工程三要素包括方法、工具和過程,其中,【3】 支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。 【4】 是完成軟件工程項目的技術(shù)手段?!?】 支持軟件的開發(fā)、管理文檔生成。1432 結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計理論。需求分析方法有(1)結(jié)構(gòu)化需求分析方法;(2)面向?qū)ο蟮姆治龇椒?。從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析。153.2.1需求分析與需求分析方法1.需求分析需求分析需求分析是指用戶對目標系統(tǒng)的功能、行為、性能、設(shè)計約束等方面的期望。需求分析是指用戶對目標系統(tǒng)的功能、行為、性能、設(shè)計約束等方
10、面的期望。需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求的過程。需求分析將創(chuàng)建所需求分析的任務是發(fā)現(xiàn)需求、求精、建模和定義需求的過程。需求分析將創(chuàng)建所需數(shù)據(jù)模型、功能模型和控制模型。需數(shù)據(jù)模型、功能模型和控制模型。(1)需求分析定義)需求分析定義 1997年年IEEE軟件工程標準對需求分析定義如下:軟件工程標準對需求分析定義如下:用戶解決問題或達到目標所需的條件或權(quán)能用戶解決問題或達到目標所需的條件或權(quán)能系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其他正式規(guī)定文檔所需具有的系統(tǒng)或系統(tǒng)部件要滿足合同、標準、規(guī)范或其他正式規(guī)定文檔所需具有的條件或權(quán)能條件或權(quán)能 一種反映前面所述的條件或權(quán)能的文檔說明。一
11、種反映前面所述的條件或權(quán)能的文檔說明。(2)需求分析階段的工作)需求分析階段的工作需求分析階段包括四個方面:需求分析階段包括四個方面:需求獲取。確定對目標系統(tǒng)的各方面需求。需求獲取。確定對目標系統(tǒng)的各方面需求。需求分析。對獲取的需求進行分析和綜合,最終給出系統(tǒng)的解決方案和目需求分析。對獲取的需求進行分析和綜合,最終給出系統(tǒng)的解決方案和目標系統(tǒng)的邏輯模型。標系統(tǒng)的邏輯模型。編寫需求規(guī)格說明書。說明書作為需求分析的階段成果,可為用戶、分析編寫需求規(guī)格說明書。說明書作為需求分析的階段成果,可為用戶、分析人員和設(shè)計人員之間的交流提供方便,可以直接支持目標軟件系統(tǒng)的確認,又可人員和設(shè)計人員之間的交流提供
12、方便,可以直接支持目標軟件系統(tǒng)的確認,又可以作為控制軟件開發(fā)進程的依據(jù)以作為控制軟件開發(fā)進程的依據(jù)需求評審。需求分析最后一關(guān),對需求分析階段的工作進行復審,驗證需需求評審。需求分析最后一關(guān),對需求分析階段的工作進行復審,驗證需求文檔的一致性、可行性、完整性和有效性。求文檔的一致性、可行性、完整性和有效性。162.需求分析方法需求分析方法需求分析方法有:結(jié)構(gòu)化分析方法。包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法,面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法,面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開發(fā)方法。面向?qū)ο蟮姆治龇椒?。從需求分析建立的模型的特性來分,需求分析方法又為靜態(tài)分析方法和動態(tài)分析方法。173.2.2 結(jié)構(gòu)化分析方法
13、1.關(guān)于結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。結(jié)構(gòu)化分析的步驟如下:通過對用戶的調(diào)查,以軟件的需求為線索,獲得當前系統(tǒng)的具體模型。去掉具體模型中非本質(zhì)因素,抽象出當前系統(tǒng)的邏輯模型。根據(jù)計算機的特點分析當前系統(tǒng)與目標系統(tǒng)的差別,建立目標系統(tǒng)的邏輯模型。完善目標系統(tǒng)并補充細節(jié),寫出目標系統(tǒng)的軟件需求規(guī)格說明。評審直到確認完全符合用戶對軟件的需求。182.結(jié)構(gòu)化分析的常用工具結(jié)構(gòu)化分析的常用工具 (1)數(shù)據(jù)流圖(數(shù)據(jù)流圖(DFD-Data Flow Diagram)數(shù)據(jù)流圖(D
14、FD):描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。數(shù)據(jù)流圖中主要圖形元素有:數(shù)據(jù)流圖中主要圖形元素有: 一般通過對實際系統(tǒng)的了解和分析后,使用數(shù)據(jù)流圖為系統(tǒng)建立邏輯模型,建立數(shù)據(jù)流圖步驟如下:(1)由外向里:先畫系統(tǒng)的輸入和輸出,然后畫系統(tǒng)的內(nèi)部(2)自頂向下:順序完成頂層、中間層、底層數(shù)據(jù)流圖(3)逐層分解19銀行取款業(yè)務的數(shù)據(jù)流圖銀行取款業(yè)務的數(shù)據(jù)流圖20(2)數(shù)據(jù)字典)數(shù)據(jù)字典(DD)對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成分和中間計算結(jié)果有共同的理解。概括地說,數(shù)據(jù)字典的作用是
15、對DFD中出現(xiàn)的被命名的圖形元素的確切的解釋。數(shù)據(jù)字典的作用是對數(shù)據(jù)流圖(DFD)中出現(xiàn)的被命名的圖形元素的確切解釋。通常數(shù)據(jù)詞典包含的信息有:名稱、別名、何處使用/如何使用、內(nèi)容描述、補充信息等。 數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。21(3)判定樹)判定樹 、(、(4)判定表)判定表判定樹判定樹:從問題定義的文字描述中分清哪些是:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。
16、判定表判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。使用判定表描述比較適宜。22“檢查發(fā)貨單檢查發(fā)貨單”判定樹判定樹23“檢查發(fā)貨單檢查發(fā)貨單”判定表判定表243.2.3 軟件需求規(guī)格說明書軟件需求規(guī)格說明書是需求分析階段的最后成果,是軟件開發(fā)中重要文檔之一。軟件需求規(guī)格說明書的作用是:軟件需求規(guī)格說明書的作用是:便于用戶、開發(fā)人員進行理解和交流。便于用戶、開發(fā)人員進行理解
17、和交流。反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)。工作的基礎(chǔ)和依據(jù)。作為確認測試和驗收的依據(jù)。作為確認測試和驗收的依據(jù)。25軟件需求規(guī)格說明書的特點:軟件需求規(guī)格說明書的特點:(1)正確性;(2)無歧義性;(3)完整性;(4)可驗證性;(5)一致性;(6)可理解性;(7)可追蹤性。26歷年試題:歷年試題:2004.9(6)在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是 A)可行性分析 B)需求分析 C)詳細設(shè)計 D)程序編碼2007.4(5)在結(jié)構(gòu)化分析使用的數(shù)據(jù)流圖(DFD)中,利用 【5】 對其中的圖形元素進行確切解釋
18、。2007.9 (1)軟件需求規(guī)格說明書應具有完整性、無歧義性、正確性、可驗證性、可修改性等特性,其中最重要的是 【1】 。2008.4(4)在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是A)可行性分析報告 B)軟件需求規(guī)格說明書C)概要設(shè)計說明書 D)集成測試計劃272008.9(5)數(shù)據(jù)流圖中帶有箭頭的線段表示的是A)控制流 B)事件驅(qū)動 C)模塊調(diào)用 D)數(shù)據(jù)流(6)在軟件開發(fā)中,需求分析階段可以使用的工具是A)N-S圖 B)DFD圖 C)PAD圖 D)程序流程圖2833 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法軟件設(shè)計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何完成預定的任務,軟件設(shè)計是確定系統(tǒng)的
19、物理模型。軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準確地轉(zhuǎn)軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。從技術(shù)觀點來看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。結(jié)構(gòu)設(shè)計:結(jié)構(gòu)設(shè)計:定義軟件系統(tǒng)各主要部件之間的關(guān)系。數(shù)據(jù)設(shè)計:數(shù)據(jù)設(shè)計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。接口設(shè)計:接口設(shè)計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。過程設(shè)計:過程設(shè)計:把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。2933 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法從工程管理角度來看:概要設(shè)計和詳細設(shè)計。 概要設(shè)計將軟件需求轉(zhuǎn)化為
20、軟件體系結(jié)構(gòu)、確定系統(tǒng)級接口、全局數(shù)據(jù)結(jié)構(gòu)或數(shù)據(jù)庫模式; 詳細設(shè)計確立每個模塊的實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用適當方法表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。 3033 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法軟件概要設(shè)計的基本任務是:(1)設(shè)計軟件系統(tǒng)結(jié)構(gòu); (2)數(shù)據(jù)結(jié)構(gòu)及數(shù)據(jù)庫設(shè)計(3)編寫概要設(shè)計文檔; (4)概要設(shè)計文檔評審。模塊用一個矩形表示,箭頭表示模塊間的調(diào)用關(guān)系。在結(jié)構(gòu)圖中還可以用帶注釋的箭頭表示模塊調(diào)用過程中來回傳遞的信息。還可用帶實心圓的箭頭表示傳遞的是控制信息,空心圓箭心表示傳遞的是數(shù)據(jù)。結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復形式、選擇形式。結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)
21、調(diào)模塊 結(jié)構(gòu)圖中的有關(guān)術(shù)語:深度:表示控制的層數(shù)寬度:整體控制跨度(最大模塊數(shù)的層)的表示31深度:表示控制的層數(shù)。(深度:表示控制的層數(shù)。(4)寬度:最大模塊層的模塊數(shù)。(寬度:最大模塊層的模塊數(shù)。(6)扇入:調(diào)用一個給定模塊的模塊數(shù)。(扇入:調(diào)用一個給定模塊的模塊數(shù)。(2)扇出:一個模塊直接調(diào)用其他模塊的個數(shù)。(扇出:一個模塊直接調(diào)用其他模塊的個數(shù)。(3)原子模塊:樹中位于葉子結(jié)點的模塊數(shù)。(原子模塊:樹中位于葉子結(jié)點的模塊數(shù)。(6)3233 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法典型的數(shù)據(jù)流類型有兩種:變換型和事務型。變換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務型數(shù)據(jù)流的特點是:接受一項
22、事務,根據(jù)事務處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧缓蠼o出結(jié)果。3333 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法詳細設(shè)計:是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。常見的過程設(shè)計工具有:圖形工具(程序流程圖)表格工具(判定表)語言工具(PDL)341.程序流程圖(Program Flow Diagram)是一種傳統(tǒng)的、應用廣泛的軟件過程設(shè)計表示工具,通常也稱為程序框圖。主要元素:(1)方框:表示一個加工步驟(2)菱形框:表示一個邏輯條件(3)箭頭:表示控制流向:控制流:加工步驟:邏輯條件或352.N-S圖 為了避免流程圖在描述程序邏輯
23、時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為N-S圖。N-S輸送有以下特征:每個構(gòu)件具有明確的的功能域。控制轉(zhuǎn)移必須遵守結(jié)構(gòu)化要求。易于確定局部數(shù)據(jù)和全局數(shù)據(jù)的作用域。易于表達嵌套關(guān)系和模塊的層次結(jié)構(gòu)。363.PAD圖選擇結(jié)構(gòu)選擇結(jié)構(gòu)PAD圖是問題分析圖(Problem Analysis Diagram)的英文縮寫。它是繼程序流程圖和方框圖之后,提出的又一種主要用于描述軟件詳細設(shè)計的圖形表示工具。PAD圖有以下特征:結(jié)構(gòu)清晰,結(jié)構(gòu)化程度高。易于閱讀。最左端的縱線是程序的主干線,對于程序的第一層結(jié)構(gòu);每增加一層PAD圖向右擴展一條縱線,程序的縱線是程序?qū)哟螖?shù)。程序執(zhí)行,從
24、PAD圖最左主干線端結(jié)點開始、自上而下、自左向右依次執(zhí)行,程序終止于最左主干線。順序結(jié)構(gòu)順序結(jié)構(gòu)374.表格工具(判定表)表格工具(判定表)5.語言工具(語言工具(PDL)3833 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法 歷年試題歷年試題2004.9(7)在軟件開發(fā)中,下面任務不屬于設(shè)計階段的是A)數(shù)據(jù)結(jié)構(gòu)設(shè)計B)給出系統(tǒng)模塊結(jié)構(gòu) C)定義模塊算法D)定義需求并建立系統(tǒng)模型2005.9(6)在軟件設(shè)計中,不屬于過程設(shè)計工具的是A)PDL(過程設(shè)計語言) B)PAD圖 C)N-S圖 D)DFD圖3933 結(jié)構(gòu)化設(shè)計方法結(jié)構(gòu)化設(shè)計方法 歷年試題歷年試題2006.9(2)從工程管理角度,軟件設(shè)計一般分為兩步完
25、成,它們是A)概要設(shè)計與詳細設(shè)計 B)數(shù)據(jù)設(shè)計與接口設(shè)計C)軟件結(jié)構(gòu)設(shè)計與數(shù)據(jù)設(shè)計 D)過程設(shè)計與數(shù)據(jù)設(shè)計(1)下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為【1】。2008.4(1)程序流程圖中帶有箭頭的線段表示的是A)圖元關(guān)系 B)數(shù)據(jù)流 C)控制流 D)調(diào)用關(guān)系403.4 軟件測試3.4.1 軟件測試的目的軟件測試的目的軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結(jié)果與實際結(jié)果之間的差別。關(guān)于軟件測試的目的,Grenford J.Myers在The Art of Software Testing一書中給出了更深刻的闡述: 1. 軟件測試是為了發(fā)現(xiàn)
26、錯誤而執(zhí)行程序的過程是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。2. 一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例。3. 一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。Myers的觀點告訴人們測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。413.4.2 軟件測試的準則要做好軟件測試,設(shè)計出有效的測試方案和好的測試用例,軟件測試人員需要充分理解和運行軟件測試的一些基本準則:1. 測試的根本目的是滿足用戶需求。2. 嚴格執(zhí)行測試計劃,避免測試的隨意性。 3. 充分注意測試中的群集現(xiàn)象 。4. 程序員應避免檢查自己的程序。5. 窮舉測試不可能 。6. 妥善保存測試計劃、測試用例、出錯統(tǒng)計
27、和最終分析報告,為維護提供方便。 423.4 軟件測試軟件測試的目的:是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件測試:若從是否需要執(zhí)行被測軟件的角度,可以分為靜態(tài)測試和動態(tài)測試方法。若按照功能角度可以劃分為白盒測試和黑盒測試。靜態(tài)測試是指由人工進行,不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。使用人工測試能夠有效地發(fā)現(xiàn)30%到70%的邏輯錯誤和編碼錯誤。動態(tài)測試是基于計算機的測試,是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。設(shè)計高效、合理的測試用例是動態(tài)測試的關(guān)鍵。測試用例的格式為:(輸入值集),(輸出值集)433.4 軟件測試白盒測試:也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試。在程序內(nèi)部進
28、行,主要用于完成軟件內(nèi)部操作的驗證。白盒測試的基本原則是:保證所測模塊中每一獨立路徑至少要執(zhí)行一次;保證所測模塊所有判斷的每一分支至少執(zhí)行一次;保證所測模塊每一循環(huán)都在邊界條件和一般條件下至少各執(zhí)行一次。驗證所有內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性。白盒測試的主要方法:邏輯覆蓋、基本路徑測試。443.4 軟件測試黑盒測試:也稱功能測試或數(shù)據(jù)驅(qū)動測試。是對軟件已經(jīng)實現(xiàn)的功能是否滿足需求進行測試和驗證。黑盒測試完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求和功能規(guī)格說明,檢查程序的功能是否符合它的功能說明。所以,黑盒測試是在軟件接口處進行,完成功能驗證。黑盒測試主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)
29、或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯。黑盒測試的主要方法:等價類劃分法、邊界值分析等價類劃分法、邊界值分析法、錯誤推測法、因果法。法、錯誤推測法、因果法。453.4 軟件測試軟件測試過程一般按4個步驟進行:單元測試、集成測單元測試、集成測試、確認測試和系統(tǒng)測試試、確認測試和系統(tǒng)測試。單元測試單元測試也稱模塊測試,單元測試的目的是發(fā)現(xiàn)各模塊內(nèi)容可能存在的各種錯誤。通常以白盒動態(tài)測試為主,輔之以黑盒測試。集成測試:集成測試:是測試和組裝軟件的過程。確認測試:確認測試:確認測試的任務是驗證軟件的功能和性能及其特性是否滿足了需求規(guī)格說明書中確定的各種需求,以及軟件配置是否完全、正確。系統(tǒng)
30、測試:系統(tǒng)測試:是將通過測試確認的軟件,作為整個基于計算機系統(tǒng)的一個元素,與計算機硬件、外設(shè)、支持軟件、數(shù)據(jù)和人員等其他系統(tǒng)元素組合在一起,在實際運行環(huán)境下對計算機系統(tǒng)進行一系列的集成測試和確認測試。463.4 軟件測試 歷年試題2004.9(3)若按功能劃分,軟件測試的方法通常分為白盒測試方法和_測試方法。2005.4(6)下列對于軟件測試的描述中正確的是A)軟件測試的目的是證明程序是否正確B)軟件測試的目的是使程序運行結(jié)果正確C)軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤D)軟件測試的目的是使程序符合結(jié)構(gòu)化原則473.4 軟件測試 歷年試題2005.9(3)在進行模塊測試時,要為每個被測試
31、的模塊另外設(shè)計兩)在進行模塊測試時,要為每個被測試的模塊另外設(shè)計兩類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中類模塊:驅(qū)動模塊和承接模塊(樁模塊)。其中_的作用是將測試的作用是將測試數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。數(shù)據(jù)傳送給被測試的模塊,并顯示被測試模塊所產(chǎn)生的結(jié)果。注釋:模擬環(huán)境是單元測試常用的。所謂模注釋:模擬環(huán)境是單元測試常用的。所謂模擬環(huán)境就是在單元測試中,用一些輔助模塊擬環(huán)境就是在單元測試中,用一些輔助模塊去模擬與被測模塊的相聯(lián)系的其他模塊。即去模擬與被測模塊的相聯(lián)系的其他模塊。即為被測模塊設(shè)計和搭建驅(qū)動模塊和樁模塊。為被測模塊設(shè)計和搭建驅(qū)動模塊和樁模塊。其中,驅(qū)
32、動模塊相當于被測模塊的主程序。其中,驅(qū)動模塊相當于被測模塊的主程序。它接收測試數(shù)據(jù),并傳給被測模塊,輸出實它接收測試數(shù)據(jù),并傳給被測模塊,輸出實際測試結(jié)果。樁模塊通常用于代替被測模塊際測試結(jié)果。樁模塊通常用于代替被測模塊調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操調(diào)用的其他模塊,其作用僅做少量的數(shù)據(jù)操作,是一個模擬子程序,不必將子模塊的所作,是一個模擬子程序,不必將子模塊的所有功能帶入有功能帶入。483.4 軟件測試 歷年試題2006.4(4)程序測試分為靜態(tài)分析和動態(tài)測試。其中_是指不執(zhí)行程序,而只是對程序文本進行檢查,通過閱讀和討論,分析和發(fā)現(xiàn)程序中的錯誤。2007.4(3)下列敘述中正確的是A
33、)軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤B)軟件測試的主要目的是確定程序中錯誤的位置C)為了提高軟件測試的效率,最好由程序編制者自己來完成軟件測試的工作D)軟件測試是證明軟件沒有錯誤(2)軟件測試分為白箱(盒)測試和黑箱(盒)測試。等價類劃分法屬于 【2】 測試。493.4 軟件測試 歷年試題2007.9 (2)在兩種基本測試方法中,【2】測試的原則之一是保證所測模塊中每一個獨立路徑至少要執(zhí)行一次。2008.4 (1)測試用例包括輸入值集和 【】 值集。2008.9(2)按照軟件測試的一般步驟,集成測試應該在【2】 測試之后進行。503.5 程序的調(diào)試程序的調(diào)試在對程序進行了成功的測試之后將進入
34、程序調(diào)試(通常稱Debug,即排錯)。程序調(diào)試的任務是診斷和改正程序中的錯誤。它與軟件測試不同,軟件測試是盡可能多地發(fā)現(xiàn)軟件中的錯誤。先要發(fā)現(xiàn)軟件的錯誤,然后借助一定的調(diào)試工具去執(zhí)行找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,調(diào)試主要在開發(fā)階段。513.5 程序的調(diào)試程序的調(diào)試程序調(diào)試的基本步驟:(1)錯誤定位;(2)修改設(shè)計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤。 523.5 程序的調(diào)試程序的調(diào)試軟件調(diào)試可分靜態(tài)調(diào)試和動態(tài)調(diào)試。靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯,是主要的設(shè)計手段,而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試。主要調(diào)試方法有:(1)強行排錯法;(2)回溯
35、法;(3)原因排除法。533.5 程序的調(diào)試程序的調(diào)試 歷年試題歷年試題2005.4(3)診斷和改正程序中錯誤的工作通常稱為_。2005.9(1)下列敘述中正確的是A)程序設(shè)計就是編制程序B)程序的測試必須由程序員自己去完成C)程序經(jīng)調(diào)試改錯后還應進行再測試D)程序經(jīng)調(diào)試改錯后不必進行再測試2006.4(3)下列敘述中正確的是A)軟件測試應該由程序開發(fā)者來完成B)程序經(jīng)調(diào)試后一般不需要再測試C)軟件維護只包括對程序代碼的維護D)以上三種說法都不對543.5 程序的調(diào)試程序的調(diào)試 歷年試題歷年試題2006.9(2)_的任務是診斷和改正程序中的錯誤。2007.9(2)軟件調(diào)試的目的是A)發(fā)現(xiàn)錯誤
36、B)改正錯誤C)改善軟件的性能 D)驗證軟件的正確性553.6軟件維護軟件維護軟件維護活動包括以下幾類:改正性維護、適應性維改正性維護、適應性維護、完善性維護和預防性維護護、完善性維護和預防性維護。 改正性維護改正性維護是指在軟件交付使用后,為了識別和糾正軟件錯誤、改正軟件性能上的缺陷、排除實施中的誤使用,應當進行的診斷和改正錯誤的過程。 適應性維護適應性維護是指為了使軟件適應變化,而去修改軟件的過程。 完善性維護完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。 預防性維護預防性維護是為了提高軟件的可
37、維護性、可靠性等,為以后的進一步改進軟件打下良好基礎(chǔ)。 56歷年試題歷年試題05.9(7)下列敘述中正確的是A)軟件交付使用后還需要進行維護B)軟件一旦交付使用就不需要再進行維護C)軟件交付使用后其生命周期就結(jié)束D)軟件維護是指修復程序中被破壞的指令57一一.選擇題選擇題 1.在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是( ) A.概要設(shè)計 B.詳細設(shè)計 C.可行性研究 D.需求分析 2.下面不屬于軟件工程的3個要素的是( ) A.工具 B.過程 C.方法 D.環(huán)境 3.檢查軟件產(chǎn)品是否符合需求定義的過程稱為( )A.確認測試 B.集成測試 C.驗證測試 D.驗收
38、測試 58一一.選擇題選擇題 4.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是( ) A.控制流 B.加工 C.數(shù)據(jù)存儲 D.源和潭 5.下面不屬于軟件設(shè)計原則的是 A.抽象 B.模塊化 C.自底向上 D.信息隱蔽 6.程序流程圖(PFD)中的箭頭代表的是 ( )A.數(shù)據(jù)流 B.控制流 C.調(diào)用關(guān)系 D.組成關(guān)系 597.下列工具中為需求分析的常用工具的是 ( ) A. PAD B. PFD C. N-S D. DFD 8.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是( ) A.詳細設(shè)計 B.需求分析 C.總體設(shè)
39、計 D.編程調(diào)試 9.軟件調(diào)試的目的是( ) A. 發(fā)現(xiàn)錯誤 B.改正錯誤 C.改善軟件的性能 D.挖掘軟件的潛能 10.軟件需求分析階段的工作,可以分為四個方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及( )A.階段性報告 B.需求評審 C.總結(jié) D.都不正確 601.軟件是程序、數(shù)據(jù)和( )的集合. 2.Jackson方法是一種面向( )的結(jié)構(gòu)化方法 .3.軟件工程研究的內(nèi)容主要包括( )技術(shù)和軟件工程管理.4.數(shù)據(jù)流圖的類型有( )和事務型.5.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的( )集合.61參考答案一選擇題 1D 2.D 3.A 4.A 5.C 6.B 7.D 8.C 9.B 10.B 二填空題 1)文檔 2)數(shù)據(jù)結(jié)構(gòu) 3)軟件開發(fā) 4)變換型 5)軟件工具622009.03(5)軟件按功能可分為:應用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應用軟件的是A)編譯程序 B)操作系統(tǒng) C)教務管理系統(tǒng) D)匯編程序(6)下面敘述中錯誤的是A)軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤B)對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟C)程序調(diào)試通常也稱為DebugD)軟件測試應該嚴格執(zhí)行測試計劃,排除測試的隨意性(2)軟件測試可分為白盒測試和黑盒測試,基本路徑測試屬于【2】
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度汽車銷售代理傭金協(xié)議書合同
- 二零二五年度離婚協(xié)議書電子版隱私保護合同
- 臨時電源接入合同(2024年修訂)
- 碎石購銷合同(2025年度含稅收承擔)2篇
- 二零二五版企業(yè)保安隊伍聘用管理合同3篇
- 2025年度特種車輛買賣合同規(guī)范范本4篇
- 2025年木工勞動合同范本編制與實施手冊14篇
- 2025年度食品出口銷售合同(含質(zhì)量檢測認證)4篇
- 臨時用地補償合同范本(2024年版)版B版
- 二零二五版孕婦營養(yǎng)餐配送服務合同4篇
- 2024年上海核工程研究設(shè)計院股份有限公司招聘筆試沖刺題(帶答案解析)
- 眼的解剖結(jié)構(gòu)與生理功能課件
- 2024年銀行考試-興業(yè)銀行筆試參考題庫含答案
- 泵站運行管理現(xiàn)狀改善措施
- 2024屆武漢市部分學校中考一模數(shù)學試題含解析
- SYT 0447-2014《 埋地鋼制管道環(huán)氧煤瀝青防腐層技術(shù)標準》
- 浙教版七年級下冊科學全冊課件
- 弧度制及弧度制與角度制的換算
- 瓦楞紙箱計算公式測量方法
- DB32-T 4004-2021水質(zhì) 17種全氟化合物的測定 高效液相色譜串聯(lián)質(zhì)譜法-(高清現(xiàn)行)
- DB15T 2724-2022 羊糞污收集處理技術(shù)規(guī)范
評論
0/150
提交評論