二級C語言第3章軟件工程基礎ppt課件
《二級C語言第3章軟件工程基礎ppt課件》由會員分享,可在線閱讀,更多相關《二級C語言第3章軟件工程基礎ppt課件(27頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第3章軟件工程基礎 3 1軟件工程基本概念3 2結構化分析方法3 3結構化設計方法3 4軟件測試3 5程序的調(diào)試 1 軟件定義與軟件特點軟件危機與軟件工程軟件工程過程與軟件生命周期軟件工程的目標和與原則 3 1軟件工程基本概念 2 軟件定義與軟件特點 計算機軟件是包括程序 數(shù)據(jù)及相關文檔的完整集合 軟件的特點包括 1 軟件是一種邏輯實體 2 軟件的生產(chǎn)與硬件不同 它沒有明顯的制作過程 3 軟件在運行 使用期間不存在磨損 老化問題 4 軟件的開發(fā) 運行對計算機系統(tǒng)具有依賴性 受計算機系統(tǒng)的限制 這導致了軟件移植的問題 5 軟件復雜性高 成本昂貴 6 軟件開發(fā)涉及諸多的社會因素 3 軟件危機與軟件工程 軟件危機泛指在計算機軟件開發(fā)和維護過程中所遇到的一系列嚴重問題 主要表現(xiàn)為成本 質(zhì)量 生產(chǎn)率等問題 4 軟件工程定義 軟件工程是應用于計算機軟件的定義 開發(fā)和維護的一整套方法 工具 文檔 實踐標準和工序 GB 軟件工程是建立并使用完善的工程化原則 以較經(jīng)濟的手段獲得能在實際機器上有效運行的可靠軟件的一系列方法 FritzBauer 將系統(tǒng)化的 規(guī)范的 可度量的方法應用于軟件的開發(fā) 運行和維護的過程 即將工程化應用于軟件中 IEEE 軟件工程包括3個要素 方法 完成軟件工程項目的技術手段 工具 支持軟件的開發(fā) 管理 文檔生成 和過程 支持軟件開發(fā)的各環(huán)節(jié)的控制 管理 5 軟件工程過程 軟件工程過程是把輸入轉(zhuǎn)化為輸出的一組彼此相關的資源和活動 軟件工程過程是指為獲得軟件產(chǎn)品 在軟件工具支持下由軟件工程師完成的一系列軟件工程活動 基于這個層面 軟件工程過程通常包含4種基本活動 1 Plan 軟件規(guī)格說明 2 Do 軟件開發(fā) 3 Check 軟件確認 4 Action 軟件演進 從軟件開發(fā)的觀點 軟件工程過程就是使用適當?shù)馁Y源 包括人員 硬軟件工具 時間等 為開發(fā)軟件進行的一組開發(fā)活動 在過程結束時將輸入 用戶要求 轉(zhuǎn)化為輸出 軟件產(chǎn)品 6 軟件生命周期 軟件生命周期 軟件產(chǎn)品從提出 實現(xiàn) 使用維護到停止使用退役的過程 軟件生命周期三個階段 軟件定義 軟件開發(fā) 運行維護 主要活動階段是 1 可行性研究與計劃制定 2 需求分析 3 軟件設計 4 軟件實現(xiàn) 5 軟件測試 6 運行和維護 7 軟件工程的目標和與原則 目標 在給定成本 進度的前提下 開發(fā)出具有有效性 可靠性 可理解性 可維護性 可重用性 可適應性 可移植性 可追蹤性和可互操作性且滿足用戶需求的產(chǎn)品 基本目標 付出較低的開發(fā)成本 達到要求的軟件功能 取得較好的軟件性能 開發(fā)軟件易于移植 需要較低的費用 能按時完成開發(fā) 及時交付使用 基本原則 抽象 信息隱蔽 模塊化 局部化 確定性 一致性 完備性和可驗證性 8 軟件工程的理論和技術性研究的內(nèi)容 軟件工程的理論和技術性研究的內(nèi)容主要包括 軟件開發(fā)技術和軟件工程管理 軟件開發(fā)技術包括 軟件開發(fā)方法學 開發(fā)過程 開發(fā)工具和軟件工程環(huán)境 軟件工程管理包括 軟件管理學 軟件工程經(jīng)濟學 軟件心理學等內(nèi)容 軟件管理學包括人員組織 進度安排 質(zhì)量保證 配置管理 項目計劃等 9 軟件開發(fā)工具與軟件開發(fā)環(huán)境 軟件開發(fā)工具軟件開發(fā)方法的有效實施必須得到相應工具的支持 否則方法將難以有效實施 軟件開發(fā)環(huán)境軟件開發(fā)環(huán)境或軟件工程環(huán)境是全面支持軟件開發(fā)全過程的軟件工具集合 這些軟件工具按照一定的方法或模式組合起來 支持軟件生命周期內(nèi)的各個階段和各項任務的完成 計算機輔助軟件工程 CASE CASE將各種軟件工具 開發(fā)機器和一個存放開發(fā)過程信息的中心數(shù)據(jù)庫組合起來 形成軟件工程環(huán)境 10 軟件開發(fā)方法是軟件開發(fā)過程所遵循的方法和步驟 其目的在于有效得到一些工作產(chǎn)品 即程序和文檔 并且滿足質(zhì)量要求 軟件開發(fā)方法包括分析方法 設計方法和程序設計方法 結構化分析方法 11 需求分析 軟件需求是指用戶對軟件在功能 行為 性能 設計約束等方面的期望 IEEE定義 用戶解決問題或達到目標所需的條件或權能 系統(tǒng)或系統(tǒng)部件要滿足合同 標準 規(guī)范或其他正式規(guī)定文檔所需具有的條件或權能 一種反映 所描述的條件或職能的文檔說明 需求分析階段的工作 需求獲取 需求分析 編寫需求規(guī)格說明書 需求評審 12 需求分析方法 需求分析方法有 1 結構化需求分析方法 面向數(shù)據(jù)流 SA Structuredanalysis 面向數(shù)據(jù)結構 JSD Jacksonsystemdevelopmentmethod 面向數(shù)據(jù)結構的結構化數(shù)據(jù)系統(tǒng)開發(fā)方法 DSSD Datastructuredsystemdevelopmentmethod 2 面向?qū)ο蟮姆治龅姆椒?OOA Object Orientedmethod 從需求分析建立的模型的特性來分靜態(tài)分析動態(tài)分析 13 結構化分析方法 結構化分析方法的實質(zhì) 著眼于數(shù)據(jù)流 自頂向下 逐層分解 建立系統(tǒng)的處理流程 以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具 建立系統(tǒng)的邏輯模型 結構化分析的常用工具 1 數(shù)據(jù)流圖 DFD DataFlowDiagram 2 數(shù)據(jù)字典 DD 3 判定樹 4 判定表 14 數(shù)據(jù)流圖 描述數(shù)據(jù)處理過程的工具 是需求理解的邏輯模型的圖形表示 它直接支持系統(tǒng)的功能建模 圖形元素建立數(shù)據(jù)流圖的步驟 由外向里 先畫系統(tǒng)的輸入輸出 再畫系統(tǒng)的外部 自頂向下 順序完成頂層 中間層 底層數(shù)據(jù)流圖 逐層分解 15 數(shù)據(jù)字典 數(shù)據(jù)字典是結構化分析的核心數(shù)據(jù)字典的作用是對DFD中出現(xiàn)的被命名的圖形元素的確切解釋通常數(shù)據(jù)字典包含的信息有 名稱 別名 何處使用 如何使用 內(nèi)容描述 補充信息等在數(shù)據(jù)字典的編制過程中 常使用定義方式描述數(shù)據(jù)結構 16 需求分析階段的最后成果 軟件需求規(guī)格說明書 軟件需求規(guī)格說明書的特點 1 正確性 2 無岐義性 3 完整性 4 可驗證性 5 一致性 6 可理解性 7 可追蹤性 17 3 3結構化設計方法 軟件設計是開發(fā)階段最重要的步驟 是將需求準確地轉(zhuǎn)化為完整的軟件產(chǎn)品或系統(tǒng)的唯一途徑 從工程管理角度來看 軟件設計分為概要設計和詳細設計 概要設計 確定軟件體系結構 系統(tǒng)級接口 全局數(shù)據(jù)結構或數(shù)據(jù)庫模式 詳細設計 確立模塊的實現(xiàn)算法和局部數(shù)據(jù)結構 18 衡量軟件模塊獨立性的標準 衡量軟件模塊獨立性使用耦合性和內(nèi)聚性兩個定性的度量標準 在程序結構中各模塊的內(nèi)聚性越強 則耦合性越弱 優(yōu)秀軟件應高內(nèi)聚 低耦合 功能內(nèi)聚 非直接耦合 序列內(nèi)聚 數(shù)據(jù)耦合 通信內(nèi)聚 標記耦合內(nèi)聚 過程內(nèi)聚耦合 控制耦合 時間內(nèi)聚 外部耦合 邏輯內(nèi)聚 公共耦合 偶然內(nèi)聚 內(nèi)容耦合 19 軟件概要設計的基本任務 1 設計軟件系統(tǒng)結構 2 數(shù)據(jù)結構及數(shù)據(jù)庫設計 3 編寫概要設計文檔 4 概要設計文檔評審 常用的軟件設計工具是結構圖 SC StructureChart 結構圖的基本形式 基本形式 順序形式 重復形式 選擇形式 結構圖有四種模塊類型 傳入模塊 傳出模塊 變換模塊和協(xié)調(diào)模塊 20 典型的數(shù)據(jù)流類型有兩種 變換型和事務型 變換型系統(tǒng)結構圖由輸入 中心變換 輸出三部分組成 事務型數(shù)據(jù)流的特點是 接受一項事務 根據(jù)事務處理的特點和性質(zhì) 選擇分派一個適當?shù)奶幚韱卧?然后給出結果 面向數(shù)據(jù)流的設計方法 21 詳細設計是為軟件結構圖中的每一個模塊確定實現(xiàn)算法和局部數(shù)據(jù)結構 用某種選定的表達工具表示算法和數(shù)據(jù)結構的細節(jié) 常見的過程設計工具有 圖形工具 程序流程圖 N S PAD HIPO 表格工具 判定表 語言工具 PDL 詳細設計 22 3 4軟件測試 軟件測試定義 使用人工或自動手段來運行或測定某個系統(tǒng)的過程 其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結果與實際結果之間的差別 軟件測試的目的 發(fā)現(xiàn)錯誤而執(zhí)行程序的過程 一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例 一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試 23 軟件測試方法 靜態(tài)測試和動態(tài)測試 靜態(tài)測試包括代碼檢查 靜態(tài)結構分析 代碼質(zhì)量度量 不實際運行軟件 主要通過人工進行 動態(tài)測試 是基本計算機的測試 主要包括白盒測試方法和黑盒測試方法 白盒測試 在程序內(nèi)部進行 主要用于完成軟件內(nèi)部操作的驗證 主要方法有邏輯覆蓋 基本基路徑測試 黑盒測試 主要診斷功能不對或遺漏 界面錯誤 數(shù)據(jù)結構或外部數(shù)據(jù)庫訪問錯誤 性能錯誤 初始化和終止條件錯 用于軟件確認 主要方法有等價類劃分法 邊界值分析法 錯誤推測法 因果圖等 軟件測試方法 24 軟件測試過程一般按4個步驟進行 單元測試 模塊測試集成測試 增量與非增量方式驗收測試驗證軟件的功能和性能是否滿足需求系統(tǒng)測試 軟件測試過程 驅(qū)動模塊 被測單元 樁模塊 樁模塊 25 程序調(diào)試的任務是診斷和改正程序中的錯誤 主要在開發(fā)階段進行 程序調(diào)試的基本步驟 1 錯誤定位 2 修改設計和代碼 以排除錯誤 3 進行回歸測試 防止引進新的錯誤 3 5程序的調(diào)試 26 軟件調(diào)試可分表靜態(tài)調(diào)試和動態(tài)調(diào)試 靜態(tài)調(diào)試主要是指通過人的思維來分析源程序代碼和排錯 是主要的設計手段 而動態(tài)調(diào)試是輔助靜態(tài)調(diào)試 主要調(diào)試方法有 1 強行排錯法 2 回溯法 3 原因排除法 軟件調(diào)試的方法 27- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 二級 語言 軟件工程 基礎 ppt 課件
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://www.hcyjhs8.com/p-5878146.html