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