軟體工程導論(雙語版)

軟體工程導論(雙語版)

《軟體工程導論(雙語版)》是2017年9月電子工業出版社出版的圖書,作者是呂雲翔。

基本介紹

  • 書名:軟體工程導論(雙語版)
  • 作者:呂雲翔
  • ISBN:9787121324772
  • 頁數:360頁
  • 定價:48元
  • 出版社:電子工業出版社
  • 出版時間:2017年9月
  • 開本:16開
內容簡介,圖書目錄,

內容簡介

本書按照典型的軟體開發過程來組織內容,旨在培養學生具備軟體工程思想及實際軟體開發的能力。全書共10章,主要內容包括軟體工程的起源,軟體工程相關概念,軟體工程方法、過程和工具,軟體可行性研究及需求分析,軟體設計,軟體編碼及實現,軟體測試與維護,面向對象的軟體工程,軟體工程中涉及的管理方面的內容,如軟體規模估算、進度計畫、人員組織、軟體開發風險管理等,以及課程設計方面的內容。本書可以作為普通高海紋寒校計算機相關專業“軟體工程”課程的教材,也可以供學習軟體工程(包括參加計算機等級考試或相關專業自學考試)的讀者使用參考。

圖書目錄

目 錄
第1章 軟體工程概述 1
1.1 軟體 1
1.1.1 軟體的概念及特點 1
1.1.2 軟體的分類 2
1.2 軟體危機 3
1.2.1 軟體危機的表現與原因 3
1.2.2 軟體危機的啟示 4
1.3 軟體工程 5
1.3.1 軟體工程的概念 5
1.3.2 軟體工程研究的內容 5
1.3.3 軟體茅坑碑頁工程目標和原則 6
1.3.4 軟體工程知識體系 7
1.3.5 軟體工程的發展 8
1.4 軟體過程概述 9
1.5.1 軟體生命周期的概念 10
1.5.2 傳統軟體生命周期的各個階段 10
1.6.1 瀑布模型 12
1.6.3 增量模型 13
1.6.4 螺旋模己斷型 14
1.6.5 噴泉模型 14
1.6.6 基於組件的開發模型 15
1.6.7 統一軟體開發過程模型 16
1.6.8 敏捷過程與極限編程 17
1.6.9 幾種模型之間的關係 19
1.6.10 選擇軟體過程模型 20
1.7 軟體過程模型實例 20
1.8 軟體開發方法 22
小結 25
習題 26
第2章 可行性研究及需求分析 28
2.1 可行性研究 28
2.1.1 項目立項概述 28
2.1.2 可行性研究的內容 28
2.1.3 可行性研究的步驟 29
2.2 需求分析 30
2.2.1 需求分析的任務 30
2.2.2 需求分析的步驟 31
2.2.3 需求管理 33
2.2.4 需求分析的常用方法 34
2.3 結構化分析概述 34
2.4 結構化分析方法 35
2.4.1 功能建模 36
2.4.2 數據建模 39
2.4.3 行為建模 40
2.4.4 數據字典 42
2.4.5 加工規格說明 43
2.5 結構化分析圖形工具 44
2.5.1 層次方框圖 44
2.5.2 Warnier圖 45
2.5.3 IPO圖 46
2.6 結構化分析實例 46
2.7 軟體開發計畫書編寫指南 49
2.8 需求規格說明書編寫指南 54
小結 59
習題 59
第3章 軟體設計 62
3.1 軟體設計的基本概念 62
3.1.1 軟體設計的意義和目標 62
3.1.2 軟體設計的原則 62
3.1.3 軟體設計的分類 66
3.2 結構化軟體設計概述 67
3.3 結構化設計與結構化分析的關係 67
3.4 體系結構設計 68
3.4.1 表示軟體結構的圖形工具 68
3.4.2 面向戀刪挨數據流的雄頸趨設計方法 70
3.4.3 面向數據結構的設計方法 72
3.5 接口設計 77
3.5.1 接口設計概述 77
3.5.2 界面設計 78
3.6 數據廈捆請設計 79
3.7 過程設計 81
3.7.2 N-S圖 82
3.7.3 PAD圖 83
3.7.4 結構化語言 84
3.8 結構化設計實例 85
3.9 軟體設計說明書編寫指南 88
小雅套背嘗結 92
習題 93
第4章 軟體編程 95
4.1 程式語言 95
4.1.1 程式語言的發展與分類 95
4.1.2 選擇程式語言需考慮的因素 98
4.2 編程風格 99
4.3 軟體編程實例 103
小結 105
習題 105
第5章 軟體測試與維護 107
5.1 軟體測試的基本概念 107
5.1.1 軟體測試的原則 107
5.1.2 軟體測試模型 108
5.2 軟體測試的分類 110
5.3 測試用例 112
5.3.1 測試用例編寫 112
5.3.3 測試用例場景 112
5.4 軟體測試方法 113
5.5 黑盒測試 113
5.5.1 等價類劃分法 114
5.5.3 錯誤推測法 116
5.5.4 因果圖法 117
5.5.5 決策表法 119
5.5.6 場景法 120
5.5.7 黑盒測試選擇 122
5.6 白盒測試 122
5.6.1 代碼檢查法 122
5.6.2 靜態結構分析法 123
5.6.3 程式插樁技術 123
5.6.4 邏輯覆蓋法 123
5.6.5 基本路徑法 125
5.6.6 白盒測試方法選擇 127
5.6.7 白盒測試與黑盒測試比較 127
5.7 軟體測試的一般步驟 128
5.8 單元測試 128
5.8.1 單元測試概述 128
5.8.2 單元測試內容 129
5.8.3 單元測試方法 129
5.9 集成測試 130
5.9.1 集成測試概述 130
5.9.2 集成測試分析 130
5.9.3 集成測試策略 131
5.10 系統測試 134
5.10.1 系統測試概述 134
5.10.2 系統測試類型 134
5.11 驗收測試 136
5.11.1 驗收測試概述 136
5.11.2 驗收測試內容 136
5.11.3 α測試和β測試 136
5.12 回歸測試 137
5.13 軟體調試 138
5.13.1 調試過程 138
5.13.2 調試途徑 138
5.14 軟體測試實例 138
5.15 測試分析報告編寫指南 144
5.16 軟體維護 147
5.16.1 軟體維護的過程 147
5.16.2 軟體維護的分類 149
5.16.3 軟體的可維護性 150
5.16.4 軟體維護的副作用 151
5.16.5 軟體再工程技術 152
小結 153
習題 154
第6章 面向對象方法與UML 157
6.1 面向對象的軟體工程方法 157
6.1.1 面向對象的基本概念 157
6.1.2 面向對象的軟體工程方法的特徵與優勢 158
6.1.3 面向對象的實施步驟 159
6.2 統一建模語言(UML) 160
6.2.1 UML簡述 160
6.2.2 UML的特點 160
6.2.3 UML的套用範圍 161
6.2.4 UML的圖 161
6.2.5 UML“4+1”視圖 162
6.3 靜態建模機制 163
6.3.1 用例圖 163
6.3.2 類圖和對象圖 165
6.3.3 包圖 169
6.4 動態建模機制 170
6.4.1 順序圖 170
6.4.2 協作圖 171
6.4.3 狀態圖 172
6.4.4 活動圖 173
6.5 描述物理架構的機制 174
6.5.1 構件圖 174
6.5.2 部署圖 175
小結 175
習題 176
第7章 面向對象分析 179
7.1 面向對象分析方法 179
7.1.1 面向對象分析過程 179
7.1.2 面向對象分析原則 180
7.2 面向對象建模 181
7.2.1 建立對象模型 182
7.2.2 建立動態模型 186
7.2.3 建立功能模型 189
7.2.4 3種模型之間的關係 190
7.3 面向對象分析實例 190
小結 195
習題 195
第8章 面向對象設計與實現 197
8.1 面向對象設計與結構化設計 197
8.2 面向對象設計與面向對象分析的關係 197
8.3 面向對象設計的過程與規則 197
8.3.1 面向對象設計的過程 197
8.3.2 面向對象設計的原則 199
8.4 面向對象設計的啟發規則 200
8.5 系統設計 200
8.5.1 系統分解 201
8.5.2 問題域子系統的設計 202
8.5.3 人機互動子系統的設計 205
8.5.4 任務管理子系統的設計 208
8.5.5 數據管理子系統的設計 209
8.6 對象設計 211
8.6.1 設計類中的服務 211
8.6.2 設計類的關聯 213
8.6.3 對象設計最佳化 214
8.7 面向對象設計實例 217
8.8 面向對象實現 221
8.9 面向對象的軟體測試 221
小結 224
習題 224
第9章 軟體工程管理 226
9.1 軟體估算 226
9.1.1 軟體估算的概念 226
9.1.2 軟體估算的方法 227
9.1.3 軟體估算的原則與技巧 228
9.2 軟體開發進度計畫 229
9.2.1 Gantt圖 229
9.2.2 PERT圖 229
9.3 軟體開發人員組織 230
9.3.1 民主製程序員組 230
9.3.2 主程式設計師組 230
9.3.3 現代程式設計師組 231
9.4 軟體開發風險管理 231
9.4.1 軟體開發風險 231
9.4.2 軟體開發風險管理 232
9.5 軟體質量保證 233
9.5.1 軟體質量的基本概念 233
9.5.2 軟體質量保證的措施 235
9.6 軟體配置管理概述 235
9.6.1 軟體配置管理術語 235
9.6.2 配置管理的過程 238
9.6.3 配置管理的角色劃分 239
9.7 軟體工程標準與軟體文檔 240
9.7.1 軟體工程標準 240
9.7.2 軟體文檔 241
9.8 軟體過程能力成熟度模型 243
9.9 軟體項目管理 244
9.9.1 軟體項目管理概述 244
9.9.2 軟體項目管理與軟體工程的關係 245
9.10 軟體復用 245
小結 247
習題 248
第10章 課程設計 250
10.1 課程設計指導 250
10.2 案例——“Web Publishing System” 255
10.2.1 Software Project Plan 255
10.2.2 Software Requirements Specification 263
10.2.3 Software Design Specification 284
10.2.4 Software Testing Report 313
小結 324
習題 324
附錄A 辭彙與縮略語 325
附錄B 案例——Web Publishing System(通過掃描二維碼獲取中文文檔和原始碼) 330
附錄C 部分習題參考答案 331
參考文獻 349
2.5 結構化分析圖形工具 44
2.5.1 層次方框圖 44
2.5.2 Warnier圖 45
2.5.3 IPO圖 46
2.6 結構化分析實例 46
2.7 軟體開發計畫書編寫指南 49
2.8 需求規格說明書編寫指南 54
小結 59
習題 59
第3章 軟體設計 62
3.1 軟體設計的基本概念 62
3.1.1 軟體設計的意義和目標 62
3.1.2 軟體設計的原則 62
3.1.3 軟體設計的分類 66
3.2 結構化軟體設計概述 67
3.3 結構化設計與結構化分析的關係 67
3.4 體系結構設計 68
3.4.1 表示軟體結構的圖形工具 68
3.4.2 面向數據流的設計方法 70
3.4.3 面向數據結構的設計方法 72
3.5 接口設計 77
3.5.1 接口設計概述 77
3.5.2 界面設計 78
3.6 數據設計 79
3.7 過程設計 81
3.7.2 N-S圖 82
3.7.3 PAD圖 83
3.7.4 結構化語言 84
3.8 結構化設計實例 85
3.9 軟體設計說明書編寫指南 88
小結 92
習題 93
第4章 軟體編程 95
4.1 程式語言 95
4.1.1 程式語言的發展與分類 95
4.1.2 選擇程式語言需考慮的因素 98
4.2 編程風格 99
4.3 軟體編程實例 103
小結 105
習題 105
第5章 軟體測試與維護 107
5.1 軟體測試的基本概念 107
5.1.1 軟體測試的原則 107
5.1.2 軟體測試模型 108
5.2 軟體測試的分類 110
5.3 測試用例 112
5.3.1 測試用例編寫 112
5.3.3 測試用例場景 112
5.4 軟體測試方法 113
5.5 黑盒測試 113
5.5.1 等價類劃分法 114
5.5.3 錯誤推測法 116
5.5.4 因果圖法 117
5.5.5 決策表法 119
5.5.6 場景法 120
5.5.7 黑盒測試選擇 122
5.6 白盒測試 122
5.6.1 代碼檢查法 122
5.6.2 靜態結構分析法 123
5.6.3 程式插樁技術 123
5.6.4 邏輯覆蓋法 123
5.6.5 基本路徑法 125
5.6.6 白盒測試方法選擇 127
5.6.7 白盒測試與黑盒測試比較 127
5.7 軟體測試的一般步驟 128
5.8 單元測試 128
5.8.1 單元測試概述 128
5.8.2 單元測試內容 129
5.8.3 單元測試方法 129
5.9 集成測試 130
5.9.1 集成測試概述 130
5.9.2 集成測試分析 130
5.9.3 集成測試策略 131
5.10 系統測試 134
5.10.1 系統測試概述 134
5.10.2 系統測試類型 134
5.11 驗收測試 136
5.11.1 驗收測試概述 136
5.11.2 驗收測試內容 136
5.11.3 α測試和β測試 136
5.12 回歸測試 137
5.13 軟體調試 138
5.13.1 調試過程 138
5.13.2 調試途徑 138
5.14 軟體測試實例 138
5.15 測試分析報告編寫指南 144
5.16 軟體維護 147
5.16.1 軟體維護的過程 147
5.16.2 軟體維護的分類 149
5.16.3 軟體的可維護性 150
5.16.4 軟體維護的副作用 151
5.16.5 軟體再工程技術 152
小結 153
習題 154
第6章 面向對象方法與UML 157
6.1 面向對象的軟體工程方法 157
6.1.1 面向對象的基本概念 157
6.1.2 面向對象的軟體工程方法的特徵與優勢 158
6.1.3 面向對象的實施步驟 159
6.2 統一建模語言(UML) 160
6.2.1 UML簡述 160
6.2.2 UML的特點 160
6.2.3 UML的套用範圍 161
6.2.4 UML的圖 161
6.2.5 UML“4+1”視圖 162
6.3 靜態建模機制 163
6.3.1 用例圖 163
6.3.2 類圖和對象圖 165
6.3.3 包圖 169
6.4 動態建模機制 170
6.4.1 順序圖 170
6.4.2 協作圖 171
6.4.3 狀態圖 172
6.4.4 活動圖 173
6.5 描述物理架構的機制 174
6.5.1 構件圖 174
6.5.2 部署圖 175
小結 175
習題 176
第7章 面向對象分析 179
7.1 面向對象分析方法 179
7.1.1 面向對象分析過程 179
7.1.2 面向對象分析原則 180
7.2 面向對象建模 181
7.2.1 建立對象模型 182
7.2.2 建立動態模型 186
7.2.3 建立功能模型 189
7.2.4 3種模型之間的關係 190
7.3 面向對象分析實例 190
小結 195
習題 195
第8章 面向對象設計與實現 197
8.1 面向對象設計與結構化設計 197
8.2 面向對象設計與面向對象分析的關係 197
8.3 面向對象設計的過程與規則 197
8.3.1 面向對象設計的過程 197
8.3.2 面向對象設計的原則 199
8.4 面向對象設計的啟發規則 200
8.5 系統設計 200
8.5.1 系統分解 201
8.5.2 問題域子系統的設計 202
8.5.3 人機互動子系統的設計 205
8.5.4 任務管理子系統的設計 208
8.5.5 數據管理子系統的設計 209
8.6 對象設計 211
8.6.1 設計類中的服務 211
8.6.2 設計類的關聯 213
8.6.3 對象設計最佳化 214
8.7 面向對象設計實例 217
8.8 面向對象實現 221
8.9 面向對象的軟體測試 221
小結 224
習題 224
第9章 軟體工程管理 226
9.1 軟體估算 226
9.1.1 軟體估算的概念 226
9.1.2 軟體估算的方法 227
9.1.3 軟體估算的原則與技巧 228
9.2 軟體開發進度計畫 229
9.2.1 Gantt圖 229
9.2.2 PERT圖 229
9.3 軟體開發人員組織 230
9.3.1 民主製程序員組 230
9.3.2 主程式設計師組 230
9.3.3 現代程式設計師組 231
9.4 軟體開發風險管理 231
9.4.1 軟體開發風險 231
9.4.2 軟體開發風險管理 232
9.5 軟體質量保證 233
9.5.1 軟體質量的基本概念 233
9.5.2 軟體質量保證的措施 235
9.6 軟體配置管理概述 235
9.6.1 軟體配置管理術語 235
9.6.2 配置管理的過程 238
9.6.3 配置管理的角色劃分 239
9.7 軟體工程標準與軟體文檔 240
9.7.1 軟體工程標準 240
9.7.2 軟體文檔 241
9.8 軟體過程能力成熟度模型 243
9.9 軟體項目管理 244
9.9.1 軟體項目管理概述 244
9.9.2 軟體項目管理與軟體工程的關係 245
9.10 軟體復用 245
小結 247
習題 248
第10章 課程設計 250
10.1 課程設計指導 250
10.2 案例——“Web Publishing System” 255
10.2.1 Software Project Plan 255
10.2.2 Software Requirements Specification 263
10.2.3 Software Design Specification 284
10.2.4 Software Testing Report 313
小結 324
習題 324
附錄A 辭彙與縮略語 325
附錄B 案例——Web Publishing System(通過掃描二維碼獲取中文文檔和原始碼) 330
附錄C 部分習題參考答案 331
參考文獻 349

相關詞條

熱門詞條

聯絡我們