內容簡介
軟體工程學是計算機專業的一門非常重要的學科,它的研究範圍包括技術、方法、工具和管理等許多方面。 本書共12章,介紹軟體工程的背景和基礎知識,軟體項目管理的方法和技術,軟體分析、設計的技術,人機互動的設計,軟體構件的設計技術,面向對象的概念和分析、設計方法,軟體的測試和維護的基礎知識。 本書可作為計算機專業的本科生、研究生、專科生和專升本的教材,也適合從事研發工作的軟體工作者和廣大計算機用戶參考或自學。
圖書目錄
第1章軟體工程基礎
1.1計算機系統工程
1.1.1硬體與硬體工程
1.1.2軟體與軟體工程
1.1.3人機工程
1.1.4資料庫工程
1.1.5網路工程
1.2軟體工程
1.2.1軟體
1.2.2軟體工程的概念
1.2.3軟體生命周期
1.2.4軟體開發模型
1.3軟體生命周期模型
1.3.1軟體生命周期模型基礎
1.3.2瀑布模型
1.3.3原型模型
1.3.4螺旋模型
1.3.5基於四代技術模型
1.3.6噴泉模型
1.3.7增量模型
1.4軟體開發方法
1.4.1結構化方法
1.4.2面向數據結構方法
1.4.3面向對象方法
1.4.4原型法
1.5軟體工程環境
1.5.1軟體工程環境的定義
1.5.2軟體開發環境的特點
1.6小結
習題1
第2章軟體項目管理基礎
2.1軟體項目管理概述
2.2軟體項目管理基本概念
2.2.1任務和活動
2.2.2工作產品,工作包和角色
2.2.3工作分解結構
2.2.4任務模型
2.2.5技能矩陣
2.2.6組織
2.2.7呈現組織結構
2.2.8軟體項目管理計畫
2.3項目管理活動
2.3.1計畫項目
2.3.2組織項目
2.3.3控制項目
2.3.4終結項目
2.4項目計畫案例
2.4.1項目描述
2.4.2初期項目計畫
2.4.3詳細項目計畫
2.4.4用項目管理軟體制定項目計畫
2.5小結
習題2
第3章軟體需求分析基礎
3.1需求分析的概念和原則
3.1.1需求獲取
3.1.2需求分析
3.1.3分析的原則
3.1.4需求規格說明
3.1.5評審
3.2軟體需求分析基礎:以結構化分析方法為例
3.2.1數據流圖
3.2.2數據字典
3.2.3實體關係圖(ER圖)
3.2.4狀態轉換圖
3.3小結
習題3
第4章軟體設計基礎
4.1軟體設計的目標和任務
4.2軟體設計的基本概念
4.2.1模組與模組化
4.2.2抽象與逐步求精
4.2.3信息隱藏
4.2.4模組獨立性
4.2.5軟體體系結構
4.3軟體設計原則
4.4軟體程式結構的啟發式設計準則與最佳化
4.5設計規格說明書與評審
4.5.1軟體設計規格說明書
4.5.2設計複審
4.6小結
習題4
第5章軟體體系結構設計
5.1軟體體系結構
5.1.1軟體體系結構的概念
5.1.2軟體體系結構的重要性
5.2數據體系結構設計
5.3軟體體系結構風格
5.4軟體體系結構中的技術
5.4.1軟體體系結構的開發技術
5.4.2軟體分治策略
5.4.3軟體可變性和依賴性管理
5.4.4集成策略
5.5將需求映射到軟體體系結構——結構化方法實例
5.5.1變換流
5.5.2事務流
5.6面向數據流方法設計過程
5.6.1變換映射
5.6.2事務映射
5.6.3設計求精後的文檔撰寫與評審
5.7小結
習題5
第6章人機互動界面設計
6.1人機界面設計的歷史、現狀和未來
6.1.1人機界面設計的歷史
6.1.2人機界面的現狀
6.1.3人機界面的未來
6.2人類因素
6.2.1人類感知基礎
6.2.2用戶技巧
6.2.3任務與用戶的特殊要求
6.3人機界面風格
6.4人機界面設計過程
6.4.1界面設計的模型
6.4.2任務分析與建模
6.4.3界面設計的一般問題
6.4.4構造界面原型
6.4.5界面設計的評估
6.5人機界面設計的原則與標準
6.5.1界面設計原則
6.5.2界面設計標準
6.6小結
習題6
第7章構件級設計
7.1構件級設計的任務
7.2構件級設計的工具
7.2.1圖形描述工具
7.2.2判定表工具
7.2.3偽代碼工具
7.3程式設計語言的特性
7.3.1心理特性
7.3.2工程特性
7.4程式設計語言的基本機制
7.5程式設計風格
7.5.1命名
7.5.2表達式和語句
7.5.3程式注釋
7.5.4輸入與輸出
7.6程式設計語言的選擇
7.6.1程式設計語言的分類
7.6.2程式設計語言的選擇
7.6.3程式設計支持環境
7.7小結
習題7
第8章面向對象中的概念、記號和過程
8.1面向對象中的概念
8.1.1項目參與者和角色
8.1.2系統和模型
8.1.3工作產品
8.1.4活動、任務和資源
8.1.5功能需求和非功能需求
8.1.6記號、方法和方法學
8.1.7對象概念
8.1.8類及其他概念
8.2面向對象建模中的記號
8.2.1用例圖
8.2.2類圖
8.2.3互動圖
8.2.4狀態圖
8.2.5活動圖
8.2.6部署圖
8.3面向對象軟體開發過程
8.3.1需求獲取過程
8.3.2需求分析過程
8.3.3系統設計過程
8.3.4對象設計過程
8.3.5實現過程
8.3.6測試過程
8.4小結
習題8
第9章面向對象的需求獲取與分析方法
9.1需求獲取方法
9.1.1需求獲取概述
9.1.2需求獲取中的活動
9.1.3需求獲取中的管理方法
9.2需求分析方法
9.2.1需求分析概述
9.2.2需求分析中的管理方法
9.3小結
習題9
第10章面向對象設計方法
10.1系統設計方法
10.1.1系統設計概述
10.1.2系統設計中的概念
10.1.3系統設計活動
10.2系統設計中的設計目標實現
10.2.1系統設計中的目標
10.2.2系統設計活動概述
10.2.3滿足設計目標的系統設計活動
10.2.4系統設計文檔管理
10.3對象設計方法
10.3.1對象設計概述
10.3.2軟體重用中的概念
10.3.3基於設計模式的設計活動
10.4對象設計中的接口設計方法
10.4.1接口規格說明概述
10.4.2接口規格說明概念
10.4.3接口規格說明活動
10.4.4對象設計文檔管理
10.5小結
習題10
第11章軟體測試
11.1軟體測試概述
11.1.1軟體測試的意義
11.1.2基本概念
11.1.3軟體測試的定義、目的、原則和研究對象
11.2軟體審查活動概述
11.2.1審查過程
11.2.2審查過程實施
11.3軟體質量度量
11.3.1實施軟體度量程式的策略
11.3.2軟體質量度量框架
11.3.3有助於軟體確認活動的度量
11.4基本測試方法
11.4.1靜態測試
11.4.2動態測試
11.4.3測試用例設計
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
第12章軟體維護
12.1軟體維護概述
12.1.1軟體維護及其特點
12.1.2軟體維護的類型
12.1.3軟體維護的成本
12.2軟體維護過程
12.3軟體的可維護性
12.3.1決定軟體可維護性的因素
12.3.2軟體可維護性的度量
12.3.3提高軟體可維護性的方法
12.4程式修改的步驟
12.5軟體再工程
12.5.1什麼是軟體再工程
12.5.2軟體再工程過程
12.5.3軟體再工程的方法
12.6小結
習題12
參考文獻