●第 1章 軟件與軟件工程1.1 軟件1.1.1 軟件的概念及特點1.1.2 軟件的分類1.2 軟件危機1.2.1 軟件危機的表現與原因1.2.2 軟件危機的啟示1.3 軟件工程 1.3.1 軟件工程的概念 1.3.2 軟件工程研究的內容 1.3.3 軟件工程的目標和原則 1.3.4 軟件工程的知識體繫 1.3.5 軟件工程的發展1.4 軟件開發方法1.5 軟件工程工具1.6“小型網上書店繫統”案例介紹習題第 2章 軟件工程2.1 軟件工程概述2.2 軟件生命周期2.2.1 軟件生命周期的概念2.2.2 傳統軟件生命周期的各個階段2.3 軟件過程模型 2.3.1 瀑布模型 2.3.2 快速原型模型 2.3.3 增量模型 2.3.4 螺旋模型 2.3.5 噴泉模型 2.3.6 基於組件的開發模型 2.3.7 統一軟件開發過程模型 2.3.8 敏捷過程與極限編程 2.3.9 幾種模型之間的關繫 2.3.10 選擇軟件過程模型2.4 軟件過程模型實例習題第3章 可行性研究與項目開發計劃3.1 項目立項概述3.2 可行性研究的任務3.3 技術可行性3.4 操作可行性3.5 經濟可行性3.6 可行性研究的步驟3.7 制定項目開發計劃3.8 可行性研究實例3.9 案例:“小型網上書店繫統”的軟件開發計劃書習題第4章 結構化分析4.1 需求分析4.1.1 需求分析的任務和原則4.1.2 需求分析的步驟4.1.3 需求管理4.1.4 需求分析的常用方法4.2 結構化分析概述4.3 結構化分析的方法4.3.1 功能建模4.3.2 數據建模4.3.3 行為建模4.3.4 數據字典4.3.5 加工規格說明4.4 結構化分析的圖形工具4.4.1層次方框圖4.4.2 Warnier圖4.4.3 IPO圖4.5 結構化分析實例4.6 實驗:利用Visio繪制“小型網上書店繫統”的數據流圖習題第5章 結構化設計5.1 軟件設計的基本概念5.1.1 軟件設計的意義和目標5.1.2 軟件設計的原則5.1.3 軟件設計的分類5.2 數據庫結構設計5.3 用戶界面設計 5.3.1 設計驅動開發5.3.2 目標用戶群體5.3.3 簡潔與清晰5.3.4 實現模型與心智模型5.3.5 設計的規範性5.3.6 設計的可用性和易用性5.3.7 設計的一致性5.3.8 設計的容錯性5.4 結構化軟件設計概述5.5 結構化設計與結構化分析的關繫5.6 體繫結構設計5.6.1 表示軟件結構的圖形工具5.6.2 面向數據流的設計方法5.6.3 面向數據結構的設計方法5.7 接口設計5.7.1 接口設計概述5.7.2 界面設計5.8 數據設計5.9 過程設計5.9.1 程序流程圖5.9.2 N-S圖5.9.3 PAD圖5.10結構化設計實例5.11實驗:利用Visio繪制“小型網上書店繫統”的結構圖習題第6章 面向對像方法與UML6.1 面向對像的軟件工程方法6.1.1 面向對像的基本概念6.1.2 面向對像的軟件工程方法的特征與優勢6.1.3 面向對像的實施步驟6.2. 統一建模語言UML6.2.1 UML簡述6.2.2 UML的特點6.2.3 UML的應用範圍6.2.4 UML的圖6.2.5 UML“4+1”視圖6.3 靜態建模機制 6.3.1 用例圖 6.3.2 類圖和對像圖6.3.3 包圖6.4 動態建模機制6.4.1 順序圖6.4.2 協作圖6.4.3 狀態圖6.4.4 活動圖6.5 描述物理架構的機制6.5.1 構件圖6.5.2 部署圖習題第7章 面向對像分析7.1 面向對像分析方法7.1.1 面向對像分析過程7.1.2 面向對像分析原則7.2 面向對像建模7.2.1 建立對像模型7.2.2 建立動態模型7.2.3 建立功能模型7.2.4 3種模型之間的關繫7.3 面向對像分析實例7.4實驗7.4.1 利用Rose創建“小型網上書店繫統”的用例模型7.4.2 利用Rose繪制“小型網上書店繫統”的類圖7.4.3 利用Rose繪制“小型網上書店繫統”的對像圖7.4.4 利用Rose繪制“小型網上書店繫統”的狀態圖7.4.5 使用Rose繪制“小型網上書店繫統”的順序圖7.5 案例:“小型網上書店繫統”的需求規格說明書習題第8章 軟件體繫結構與設計模式8.1 軟件體繫結構的概念8.1.1 什麼是軟件體繫結構8.1.2 軟件體繫結構建模8.1.3 軟件體繫結構的分層模型8.1.4 軟件體繫結構的作用8.2 典型的軟件體繫結構風格8.2.1 數據流風格8.2.2 調用∕返回風格8.2.3 獨立構件風格8.2.4 虛擬機風格8.2.5 倉庫風格8.3 軟件質量屬性8.4 分布式繫統結構8.4.1 多處理器體繫結構8.4.2 客戶機/服務器體繫結構8.4.3 分布式對像體繫結構8.4.4 對等端體繫結構8.4.5 代理8.5 體繫結構框架8.5.1 模型-視圖-控制器8.5.2 模型-視圖-表示器8.5.3 J2EE體繫結構框架8.5.4 PCMEF框架8.5.5 PCBMER框架8.6軟件繫統的設計模式8.6.1 工廠模式8.6.2 橋接模式8.6.3 策略模式8.6.4 其他模式習題第9章 面向對像設計9.1 面向對像設計與結構化設計9.2 面向對像設計與面向對像分析的關繫9.3 面向對像設計的過程與規則9.3.1 面向對像設計的過程9.3.2 面向對像設計的原則9.4 面向對像設計的啟發規則9.5 繫統設計9.5.1 繫統分解9.5.2 問題域子繫統的設計9.5.3 人機交互子繫統的設計9.5.4 任務管理子繫統的設計9.5.5 數據管理子繫統的設計9.6 對像設計9.6.1 設計類中的服務9.6.2 設計類的關聯9.6.3 對像設計優化9.7 面向對像設計實例9.8 實驗9.8.1 利用Rose繪制“小型網上書店繫統”的活動圖9.8.2 利用Rose繪制“小型網上書店繫統”的協作圖9.8.3 利用Rose繪制“小型網上書店繫統”的構件圖9.8.4 利用Rose繪制“小型網上書店繫統”的部署圖9.9 案例:“小型網上書店繫統”的軟件設計說明書習題第 10章 軟件實現10.1 編程語言10.1.1 編程語言的發展與分類10.1.2 選擇編程語言需考慮的因素10.2 編程風格10.3 面向對像實現10.4 軟件實現實例10.5 利用Visual Studio實現“小型網上書店繫統”的用戶登錄模塊10.6 案例:“小型網上書店繫統”的源代碼和部署文檔習題第 11章 軟件測試與維護11.1 軟件測試的基本概念11.1.1 軟件測試的原則11.1.2 軟件測試模型11.2 軟件測試的分類11.3 測試用例11.3.1 測試用例編寫11.3.2 測試用例設計11.3.3 測試用例場景11.4 軟件測試方法11.5 黑盒測試11.5.1 等價類劃分法11.5.2 邊界值分析法11.5.3 錯誤推測法11.5.4 因果圖法11.5.5 決策表法11.5.6 場景法11.5.7 黑盒測試選擇11.6 白盒測試11.6.1 代碼檢查法11.6.2 靜態結構分析法11.6.3 程序插樁技術11.6.4 邏輯覆蓋法11.6.5 基本路徑法11.6.6 白盒測試方法選擇11.6.7 白盒測試與黑盒測試比較11.7 軟件測試的一般步驟11.8 &nbs測試11.8.1 &nbs測試概述11.8.2 &nbs測試內容11.8.3 &nbs測試方法11.9 集成測試11.9.1 集成測試概述11.9.2 集成測試分析11.9.3 集成測試策略11.10 繫統測試11.10.1 繫統測試概述11.10.2 繫統測試類型11.11 驗收測試11.11.1 驗收測試概述11.11.2 驗收測試內容11.11.3 α測試和β測試11.12 回歸測試11.13 面向對像的軟件測試11.14 軟件調試11.14.1 調試過程11.14.2 調試途徑11.15 軟件測試實例11.16 實驗:利用Visual Studio對“小型網上書店繫統”的用戶登錄模塊測試11.17 案例:“小型網上書店繫統”的測試分析報告習題第 12章 軟件維護與軟件工程管理12.1 軟件維護12.1.1 軟件維護的過程12.1.2 軟件維護的分類12.1.3 軟件的可維護性12.1.4 軟件維護的副作用12.1.5 軟件再工程技術12.2 軟件估算12.2.1 軟件估算的概念12.2.2 軟件估算的方法12.2.3 軟件估算的原則與技巧12.3 軟件開發進度計劃12.3.1 Gantt圖12.3.2 PERT圖12.4 軟件開發人員組織12.4.1 民主制程序員組12.4.2 主程序員組12.4.3 現代程序員組12.5 軟件開發風險管理12.5.1 軟件開發風險12.5.2 軟件開發風險管理12.6 軟件質量保證12.6.1 軟件質量的基本概念12.6.2 軟件質量保證的措施12.7 軟件配置管理概述12.7.1 軟件配置管理術語12.7.2 配置管理的過程12.7.3 配置管理的角色劃分12.8 軟件工程標準與軟件文檔12.8.1 軟件工程標準12.8.2 軟件文檔12.9 軟件過程能力成熟度模型12.10 軟件項目管理12.10.1 軟件項目管理概述12.10.2 軟件項目管理與軟件工程的關繫12.11 軟件復用12.12 實驗:利用Project管理“小型網上書店繫統”的開發過程習題附錄 A 課程設計A.1課程設計指導A.2課程設計的可選項目附錄 B課程設計開發文檔B.1 可行性研究報告B.2 軟件開發計劃書編寫指南B.3 需求規格說明書編寫指南B.4 軟件設計說明書編寫指南B.5 測試分析報告編寫指南參考文獻
內容簡介
內容提要本書按照典型的軟件開發過程來組織內容,旨在培養讀者具備軟件工程思想及實際軟件開發的能力。本書共分為12章, 內容涉及軟件與軟件工程、軟件過程、可行性研究與項目開發計劃、結構化分析、結構化設計、面向對像方法與UML、面向對像分析、軟件體繫結構與設計模式、面向對像設計、軟件實現、軟件測試、軟件維護與軟件工程管理。本書理論與實踐相結合,內容翔實,可操作性強。本書是高等院校計算機科學、軟件工程及相關專業“軟件工程”課程的理想教材。