內容簡介
本書按照典型的軟體開發過程來組織內容,旨在培養讀者具備軟體工程思想及實際軟體開發的能力。全書共12章,主要內容包括軟體工程與軟體過程、軟體需求分析與建模、軟體設計與建模、軟體編程與軟體測試以及軟體工程的其他相關內容, 如軟體規模估算、進度計畫、人員組織、軟體開發風險管理等。
本書可以作為普通高校計算機相關專業“軟體工程”課程的教材,也可以供學習軟體工程的讀者單獨使用(包括參加計算機等級考試或相關專業自學考試)參考。
本書是高等院校計算機科學、軟體工程及相關專業“軟體工程”課程的理想教材,也可以供程式設計師、軟體測試工程師、系統工程師以及軟體項目經理等相關人員閱讀參考。
圖書目錄
第一部分軟體工程與軟體過程
第1章軟體工程概述
1.1軟體
1.1.1軟體的概念
1.1.2軟體的特點
1.1.3軟體的分類
1.2軟體危機
1.2.1軟體危機的表現
1.2.2軟體危機的原因
1.3軟體工程
1.3.1軟體工程的概念
1.3.2軟體工程的基本內容
1.3.3軟體工程目標和原則
1.3.4軟體工程的知識體系
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敏捷模型
小結
習題
第二部分軟體需求分析與建模
第3章可行性研究及需求分析
3.1可行性研究
3.1.1可行性研究的目的與意義
3.1.2可行性研究的內容
3.1.3可行性研究的步驟
3.2需求分析
3.2.1需求分析的目的與意義
3.2.2需求分析的步驟
3.2.3需求管理
3.3軟體開發計畫書編寫指南
3.4需求規格說明書編寫指南
3.5實驗
3.5.1Visio的功能及使用方法介紹
3.5.2Rose的功能及使用方法介紹
小結
習題
第4章結構化需求分析
4.1結構化需求分析的方法
4.2結構化需求分析的工具
4.2.1實體關係(ER)圖
4.2.2數據流圖
4.2.3狀態轉換圖
4.2.4數據字典
4.3實驗:利用Visio繪製“小型網上書店系統”的數據流圖
小結
習題
第5章面向對象分析
5.1面向對象的軟體工程方法
5.1.1面向對象的基本概念
5.1.2面向對象的軟體工程方法的特徵與優勢
5.2UML簡介
5.2.1用例圖
5.2.2類圖和對象圖
5.2.3狀態圖
5.2.4順序圖
5.2.5活動圖
5.2.6協作圖
5.2.7構件圖
5.2.8部署圖
5.2.9包圖
5.3面向對象分析方法
5.3.1面向對象分析過程
5.3.2面向對象分析原則
5.4面向對象建模
5.4.1建立對象模型
5.4.2建立動態模型
5.4.3建立功能模型
5.4.4三種模型之間的關係
5.5實驗
5.5.1利用Rose繪製“小型網上書店系統”的用例圖
5.5.2利用Rose繪製“小型網上書店系統”的類圖
5.5.3利用Rose繪製“小型網上書店系統”的對象圖
5.5.4利用Rose繪製“小型網上書店系統”的狀態圖
5.5.5利用Rose繪製“小型網上書店系統”的順序圖
5.6案例:“小型網上書店系統”的需求規格說明書
小結
習題
第三部分軟體設計與建模
第6章軟體設計
6.1軟體設計的基本概念
6.1.1軟體設計的意義和目標
6.1.2軟體設計的分類
6.1.3軟體設計的原則
6.2軟體的體系結構
6.2.1軟體的體系結構概述
6.2.2軟體系統的設計模式
6.3分散式系統結構
6.3.1多處理器體系結構
6.3.2客戶/伺服器體系結構
6.3.3分散式對象體系結構
6.3.4對等端體系結構
6.3.5代理
6.4體系結構框架
6.4.1模型視圖控制器
6.4.2模型視圖表示器
6.4.3J2EE體系結構框架
6.4.4PCMEF
6.4.5PCBMER
6.5資料庫結構設計
6.6人機界面設計
6.7軟體設計說明書編寫指南
小結
習題
第7章結構化設計方法
7.1結構化軟體設計方法
7.1.1表示軟體結構的圖形工具
7.1.2面向數據流的設計方法
7.1.3面向數據結構的設計方法
7.2結構化軟體設計工具
7.2.1流程圖
7.2.2NS圖
7.2.3PAD
7.2.4判定表
7.2.5判定樹
7.2.6過程設計語言
7.3實驗:利用Visio繪製“小型網上書店系統”的結構圖
小結
習題
第8章面向對象設計
8.1面向對象設計方法
8.1.1面向對象的設計原則
8.1.2面向對象設計的啟發規則
8.1.3系統設計
8.1.4對象設計
8.2實驗
8.2.1利用Rose繪製“小型網上書店系統”的活動圖
8.2.2利用Rose繪製“小型網上書店系統”的協作圖
8.2.3利用Rose繪製“小型網上書店系統”的構件圖
8.2.4利用Rose繪製“小型網上書店系統”的部署圖
8.3案例:“小型網上書店系統”的軟體設計說明書
小結
習題
第四部分軟體編程與軟體測試
第9章軟體編程
9.1程式語言
9.1.1程式語言的發展與分類
9.1.2選擇程式語言需考慮的因素
9.2編程風格
9.3編程人員的基本素質
9.4實驗
9.4.1VisualStudio使用方法介紹
9.4.2利用VisualStudio實現“小型網上書店系統”的用戶登錄模組
小結
習題
第10章軟體測試概述
10.1軟體測試的基本概念
10.1.1軟體測試的原則
10.1.2軟體測試模型
10.2軟體測試的分類
10.3測試用例
10.3.1測試用例編寫
10.3.2測試用例設計
10.3.3測試用例場景
10.4測試分析報告編寫指南
小結
習題
第11章軟體測試方法與過程
11.1軟體測試方法
11.2黑盒測試
11.2.1等價類劃分法
11.2.2邊界值分析法
11.2.3錯誤推測法
11.2.4因果圖法
11.2.5決策表法
11.2.6場景法
11.2.7黑盒測試選擇
11.3白盒測試
11.3.1代碼檢查法
11.3.2靜態結構分析法
11.3.3程式插樁技術
11.3.4邏輯覆蓋法
11.3.5基本路徑法
11.3.6白盒測試方法選擇
11.3.7白盒測試和黑盒測試比較
11.4軟體測試的一般步驟
11.5單元測試
11.5.1單元測試概述
11.5.2單元測試內容
11.5.3單元測試方法
11.6集成測試
11.6.1集成測試概述
11.6.2集成測試分析
11.6.3集成測試策略
11.7系統測試
11.7.1系統測試概述
11.7.2系統測試類型
11.8驗收測試
11.8.1驗收測試概述
11.8.2驗收測試內容
11.8.3α測試和β測試
11.9回歸測試
11.10面向對象的軟體測試
11.11軟體調試
11.11.1調試過程
11.11.2調試途徑
11.12實驗
11.12.1利用Visual Studio中的工具進行單元測試
11.12.2利用Visual Studio對“小型網上書店系統”的用戶登錄模組
進行
單元測試
11.13案例:“小型網上書店系統”的測試分析報告
小結
習題
第五部分軟體工程的其他相關內容
第12章軟體工程的其他相關內容
12.1軟體估算
12.1.1軟體估算的概念
12.1.2軟體估算的方法
12.1.3軟體估算的原則與技巧
12.2軟體開發進度計畫
12.2.1Gantt圖
12.2.2PERT圖
12.3軟體開發人員組織
12.3.1民主製程序員組
12.3.2主程式設計師組
12.3.3現代程式設計師組
12.4軟體開發風險管理
12.4.1軟體開發風險
12.4.2軟體開發風險管理
12.5軟體質量保證
12.5.1軟體質量的基本概念
12.5.2軟體質量保證的措施
12.6軟體配置管理概述
12.6.1軟體配置管理術語
12.6.2配置管理的過程
12.6.3配置管理的角色劃分
12.7軟體維護
12.7.1軟體維護的過程
12.7.2軟體維護的分類
12.7.3軟體的可維護性
12.7.4軟體維護的副作用
12.7.5軟體再工程技術
12.8軟體工程標準與軟體文檔
12.8.1軟體工程標準
12.8.2軟體文檔
12.9軟體過程能力成熟度模型
12.10軟體項目管理
12.10.1軟體項目管理概述
12.10.2軟體項目管理與軟體工程的關係
12.11軟體復用
12.12實驗
12.12.1Project的功能及使用方法介紹
12.12.2利用Project管理“小型網上書店系統”的開發過程
小結
習題
附錄A課程設計指導
附錄B模擬考試題與參考答案
附錄C部分習題參考答案
參考文獻