ch10_軟件工程基礎(chǔ)_第1頁
ch10_軟件工程基礎(chǔ)_第2頁
ch10_軟件工程基礎(chǔ)_第3頁
ch10_軟件工程基礎(chǔ)_第4頁
ch10_軟件工程基礎(chǔ)_第5頁
已閱讀5頁,還剩36頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、公共基礎(chǔ)知識公共基礎(chǔ)知識公共基礎(chǔ)知識v 數(shù)據(jù)結(jié)構(gòu)和算法 數(shù)據(jù)結(jié)構(gòu):線性表、棧、隊列和樹等 算法:順序查找、二分查找、交換排序和選擇排序等v 軟件工程基礎(chǔ) 軟件工程的基本概念:生命周期等 結(jié)構(gòu)化分析和設(shè)計方法 軟件測試v 數(shù)據(jù)庫設(shè)計基礎(chǔ) 數(shù)據(jù)庫的基本概念 數(shù)據(jù)模型 關(guān)系代數(shù)運算 數(shù)據(jù)庫設(shè)計的方法和步驟v程序設(shè)計基礎(chǔ) 程序設(shè)計方法與風(fēng)格 結(jié)構(gòu)化程序設(shè)計 面向?qū)ο蟮脑O(shè)計方法 全國計算機二級公共基礎(chǔ)知識第3部分-軟件工程基礎(chǔ)第三部分 軟件工程基礎(chǔ) v31 軟件工程基本概念計算機軟件是包括程序、數(shù)據(jù)及相關(guān)文檔的完整集合。軟件的特點包括:(1)軟件是一種邏輯實體;(2)軟件的生產(chǎn)與硬件不同,它沒有明顯的制

2、作過程;(3)軟件在運行、使用期間不存在磨損、老化問題;(4)軟件的開發(fā)、運行對計算機系統(tǒng)具有依賴性,受計算機系統(tǒng)的限制,這導(dǎo)致了軟件移植的問題;(5)軟件復(fù)雜性高,成本昂貴;(6)軟件開發(fā)涉及諸多的社會因素。v軟件按功能分為應(yīng)用軟件、系統(tǒng)軟件、支撐軟件(或工具軟件)。v軟件危機主要表現(xiàn)在成本、質(zhì)量、生產(chǎn)率等問題。v軟件工程是應(yīng)用于計算機軟件的定義、開發(fā)和維護的一整套方法、工具、文檔、實踐標準和工序。 v軟件工程包括3個要素:方法、工具和過程。v軟件工程過程是把軟件轉(zhuǎn)化為輸出的一組彼此相關(guān)的資源和活動,包含4種基本活動:(1)P軟件規(guī)格說明; v(2)D軟件開發(fā);v(3)C軟件確認;v(4)A

3、軟件演進。 軟件生命周期軟件生命周期v軟件周期:軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程。軟件生命周期三個階段:軟件定義、軟件開發(fā)、運行維護,主要活動階段是:(1)可行性研究與計劃制定;v(2)需求分析v(3)軟件設(shè)計;v(4)軟件實現(xiàn);v(5)軟件測試;v(6)運行和維護。 軟件工程的目標和與原則軟件工程的目標和與原則v軟件工程的目標和與原則:目標:在給定成本、進度的前提下,開發(fā)出具有有效性、可靠性、可理解性、可維護性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品。基本目標:付出較低的開發(fā)成本;達到要求的軟件功能;取得較好的軟件性能;開發(fā)軟件易于移植;需要

4、較低的費用;能按時完成開發(fā),及時交付使用。v基本原則:抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。 軟件工程的理論和技術(shù)性研究軟件工程的理論和技術(shù)性研究v軟件工程的理論和技術(shù)性研究的內(nèi)容主要包括:軟件開發(fā)技術(shù)和軟件工程管理。軟件開發(fā)技術(shù)包括:軟件開發(fā)方法學(xué)、開發(fā)過程、開發(fā)工具和軟件工程環(huán)境。v軟件工程管理包括:軟件管理學(xué)、軟件工程經(jīng)濟學(xué)、軟件心理學(xué)等內(nèi)容。軟件管理學(xué)包括人員組織、進度安排、質(zhì)量保證、配置管理、項目計劃等。v軟件工程原則包括抽象、信息隱蔽、模塊化、局部化、確定性、一致性、完備性和可驗證性。 結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法v32 結(jié)構(gòu)化分析方法結(jié)構(gòu)化方法的核心和

5、基礎(chǔ)是結(jié)構(gòu)化程序設(shè)計理論。需求分析方法有(1)結(jié)構(gòu)化需求分析方法; (2)面向?qū)ο蟮姆治龅姆椒?。從需求分析建立的模型的特性來分:靜態(tài)分析和動態(tài)分析。結(jié)構(gòu)化分析方法的實質(zhì):著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。 結(jié)構(gòu)化分析的常用工具v結(jié)構(gòu)化分析的常用工具 (1)數(shù)據(jù)流圖; (2)數(shù)據(jù)字典; (3)判定樹; (4)判定表。數(shù)據(jù)流圖:描述數(shù)據(jù)處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統(tǒng)功能建模。數(shù)據(jù)字典:對所有與系統(tǒng)相關(guān)的數(shù)據(jù)元素的一個有組織的列表,以及精確的、嚴格的定義,使得用戶和系統(tǒng)分析員對于輸入、輸出、存儲成

6、分和中間計算結(jié)果有共同的理解。 v判定樹:從問題定義的文字描述中分清哪些是判定的條件,哪些是判定的結(jié)論,根據(jù)描述材料中的連接詞找出判定條件之間的從屬關(guān)系、并列關(guān)系、選擇關(guān)系,根據(jù)它們構(gòu)造判定樹。判定表:與判定樹相似,當數(shù)據(jù)流圖中的加工要依賴于多個邏輯條件的取值,即完成該加工的一組動作是由于某一組條件取值的組合而引發(fā)的,使用判定表描述比較適宜。數(shù)據(jù)字典是結(jié)構(gòu)化分析的核心。 v軟件需求規(guī)格說明書的特點:(1)正確性;v(2)無岐義性;v(3)完整性;v(4)可驗證性;v(5)一致性;v(6)可理解性;v(7)可追蹤性。v33 結(jié)構(gòu)化設(shè)計方法 軟件設(shè)計的基本目標是用比較抽象概括的方式確定目標系統(tǒng)如何

7、完成預(yù)定的任務(wù),軟件設(shè)計是確定系統(tǒng)的物理模型。 軟件設(shè)計是開發(fā)階段最重要的步驟,是將需求準確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑。從技術(shù)觀點來看,軟件設(shè)計包括軟件結(jié)構(gòu)設(shè)計、數(shù)據(jù)設(shè)計、接口設(shè)計、過程設(shè)計。結(jié)構(gòu)設(shè)計:定義軟件系統(tǒng)各主要部件之間的關(guān)系。數(shù)據(jù)設(shè)計:將分析時創(chuàng)建的模型轉(zhuǎn)化為數(shù)據(jù)結(jié)構(gòu)的定義。接口設(shè)計:描述軟件內(nèi)部、軟件和協(xié)作系統(tǒng)之間以及軟件與人之間如何通信。v 過程設(shè)計:把系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述。v 從工程管理角度來看:概要設(shè)計和詳細設(shè)計。軟件設(shè)計的一般過程:軟件設(shè)計是一個迭代的過程;先進行高層次的結(jié)構(gòu)設(shè)計;后進行低層次的過程設(shè)計;穿插進行數(shù)據(jù)設(shè)計和接口設(shè)計。 衡量軟件模塊獨立

8、性使用耦合性和內(nèi)聚性兩個定性的度量標準。 v 在程序結(jié)構(gòu)中各模塊的內(nèi)聚性越強,則耦合性越弱。優(yōu)秀軟件應(yīng)高內(nèi)聚,低耦合。v軟件概要設(shè)計的基本任務(wù)是:(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ù)。 v結(jié)構(gòu)圖的基本形式:基本形式、順序形式、重復(fù)形式、選擇形式。結(jié)構(gòu)圖有四種模塊類型:傳入模塊、傳出模塊、變換模塊和協(xié)調(diào)模塊。典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變

9、換型系統(tǒng)結(jié)構(gòu)圖由輸入、中心變換、輸出三部分組成。事務(wù)型數(shù)據(jù)流的特點是:接受一項事務(wù),根據(jù)事務(wù)處理的特點和性質(zhì),選擇分派一個適當?shù)奶幚韱卧?,然后給出結(jié)果。詳細設(shè)計:是為軟件結(jié)構(gòu)圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結(jié)構(gòu),用某種選定的表達工具表示算法和數(shù)據(jù)結(jié)構(gòu)的細節(jié)。 常見的過程設(shè)計工具有:圖形工具(程序流程圖)、表格工具(判定表)、語言工具(PDL)。34 軟件測試v34 軟件測試軟件測試定義:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別。軟件測試的目的:發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。軟件v測試方法:靜態(tài)測試和動態(tài)測試。v靜態(tài)測

10、試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析、代碼質(zhì)量度量。不實際運行軟件,主要通過人工進行。v動態(tài)測試:是基于計算機的測試,主要包括白盒測試方法和黑盒測試方法。v白盒測試:在程序內(nèi)部進行,主要用于完成軟件內(nèi)部操作的驗證。主要方法有邏輯覆蓋、基本基路徑測試。黑盒測試:主要診斷功能不對或遺漏、界面錯誤、數(shù)據(jù)結(jié)構(gòu)或外部數(shù)據(jù)庫訪問錯誤、性能錯誤、初始化和終止條件錯,用于軟件確認。主要方法有等價類劃分法、邊界值分析法、錯誤推測法、因果圖等。軟件測試過程一般按4個步驟進行:單元測試、集成測試、驗收測試(確認測試)和系統(tǒng)測試。 35 程序的調(diào)試v35 程序的調(diào)試程序調(diào)試的任務(wù)是診斷和改正程序中的錯誤,主要在開發(fā)階段進行。

11、程序調(diào)試的基本步驟:(1)錯誤定位;(2)修改設(shè)計和代碼,以排除錯誤;(3)進行回歸測試,防止引進新的錯誤。軟件調(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)回溯法;(3)原因排除法。 v一一. 選擇題選擇題 1.在軟件生命令周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是( ) A.概要設(shè)計 B.詳細設(shè)計 C.可行性研究 D.需求分析 2.下面不屬于軟件工程的3個要素的是( ) A.工具 B.過程 C.方法 D環(huán)境 3.檢查軟件產(chǎn)品是否符合需求定義的過程稱為

12、( ) A.確認測試 B.集成測試 C.驗證測試 D.驗收測試 4.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是( ) A.控制流 B.加工 C.數(shù)據(jù)存儲 D.源和潭 v5.下面不屬于軟件設(shè)計原則的是 A.抽象 B.模塊化 C.自底向上 D.信息隱蔽 6.程序流程圖(PFD)中的箭頭代表的是( ) A.數(shù)據(jù)流 B.控制流 C.調(diào)用關(guān)系 D.組成關(guān)系 7.下列工具中為需求分析的常用工具的是( ) A. PAD B. PFD C. N-S D. DFD 8.在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是( ) A.詳細

13、設(shè)計 B.需求分析 C.總體設(shè)計 D.編程調(diào)試 v9.軟件調(diào)試的目的是( ) A. 發(fā)現(xiàn)錯誤 B.改正錯誤 C.改善軟件的性能 D.挖掘軟件的潛能 10.軟件需求分析階段的工作,可以分為四個方面:需求獲取,需求分析,編寫需求規(guī)格說明書,以及( ) A.階段性報告 B.需求評審 C.總結(jié) D.都不正確 二二.填空題填空題 1.軟件是程序、數(shù)據(jù)和( )的集合. 2.Jackson方法是一種面向( )的結(jié)構(gòu)化方法文檔數(shù)據(jù)流v3.軟件工程研究的內(nèi)容主要包括( )技術(shù)和軟件工程管理 4.數(shù)據(jù)流圖的類型有( )和事務(wù)型 5.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的( )集合。 軟件開發(fā)變換型軟件工具 v(6

14、) 在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(DFD)作為描述工具的軟件開發(fā)階段是_。A. 可行性分析 B. 需求分析 C. 詳細設(shè)計 D. 程序編碼 (7) 在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計階段的是_。A. 數(shù)據(jù)結(jié)構(gòu)設(shè)計 B. 給出系統(tǒng)模塊結(jié)構(gòu) C. 定義模塊算法 D. 定義需求并建立系統(tǒng)模型 BDv (15) 在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是_。A. 概要設(shè)計 B. 詳細設(shè)計 C. 可行性分析 D. 需求分析 (16) 數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是_。A. 控制流 B. 加

15、工 C. 數(shù)據(jù)存儲 D. 源和潭 DAv(17) 軟件需求分析階段的工作,可以分為四個方面:需求獲取、需求分析、編寫需求規(guī)格說明書以及_。A. 階段性報告 B. 需求評審 C. 總結(jié) D. 都不正確 Bv(26) 下面不屬于軟件工程的3個要素的是_。A. 工具 B. 過程 C. 方法 D. 環(huán)境 (27) 程序流程圖(PFD)中的箭頭代表的是_。A. 數(shù)據(jù)流 B. 控制流 C. 調(diào)用關(guān)系 D. 組成關(guān)系 DBv(35) 檢查軟件產(chǎn)品是否符合需求定義的過程稱為_。A. 確認測試 B. 集成測試 C. 驗證測試 D. 驗收測試 (36) 下列工具中屬于需求分析常用工具的是_。A. PAD B. P

16、FD C. N-S D. DFD ADv(37) 下面不屬于軟件設(shè)計原則的是_。A. 抽象 B. 模塊化 C. 自底向上 D. 信息隱蔽 Cv(45) 信息隱蔽的概念與下述哪一種概念直接相關(guān)_。A. 軟件結(jié)構(gòu)定義 B. 模塊獨立性 C. 模塊類型劃分 D. 模擬耦合度 Bv(47) 在結(jié)構(gòu)化方法中,軟件功能分解屬于下列軟件開發(fā)中的階段是_。A. 詳細設(shè)計 B. 需求分析 C. 總體設(shè)計 D. 編程調(diào)試 (48) 軟件調(diào)試的目的是_。A. 發(fā)現(xiàn)錯誤 B. 改正錯誤 C. 改善軟件的性能 D. 挖掘軟件的潛能 CBv(56) 下列不屬于軟件調(diào)試技術(shù)的是_。A. 強行排錯法 B. 集成測試法 C.

17、回溯法 D. 原因排除法 (57) 下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是_。A. 便于用戶、開發(fā)人員進行理解和交流 B. 反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù) C. 作為確認測試和驗收的依據(jù) D. 便于開發(fā)人員進行需求分析 BDv(58) 在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示_。 A. 控制程序的執(zhí)行順序 B. 模塊之間的調(diào)用關(guān)系 C. 數(shù)據(jù)的流向 D. 程序的組成成分 Cv (65) 軟件設(shè)計包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計,其中軟件的過程設(shè)計是指_。A. 模塊間的關(guān)系 B. 系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述 C. 軟件層次結(jié)構(gòu) D. 軟件開發(fā)過程 (66

18、) 為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為_。A. PAD圖 B. N-S圖 C. 結(jié)構(gòu)圖 D. 數(shù)據(jù)流圖 BBv(70) 需求分析階段的任務(wù)是確定_。A. 軟件開發(fā)方法 B. 軟件開發(fā)工具 C. 軟件開發(fā)費用 D. 軟件系統(tǒng)功能 Dv(75) 下列不屬于結(jié)構(gòu)化分析的常用工具的是_。A. 數(shù)據(jù)流圖 B. 數(shù)據(jù)字典 C. 判定樹 D. PAD圖 (76) 軟件開發(fā)的結(jié)構(gòu)化生命周期方法將軟件生命周期劃分成_。A. 定義、開發(fā)、運行維護 B. 設(shè)計階段、編程階段、測試階段 C. 總體設(shè)計、詳細設(shè)計、編程調(diào)試 D. 需求分析、功能定義、系統(tǒng)設(shè)計 DAv(77) 在軟件工程中,白箱測試法可用于測試程序的內(nèi)部結(jié)構(gòu)。此方法將程序看做是_。A. 循環(huán)的集合 B. 地址的集合 C. 路徑的集合 D. 目標的集

溫馨提示

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

最新文檔

評論

0/150

提交評論