定 價:59.8 元
叢書名:普通高等教育軟件工程“十二五”規(guī)劃教材
- 作者:瞿中 宋琦 劉玲慧 王江濤
- 出版時間:2016/9/1
- ISBN:9787115431035
- 出 版 社:人民郵電出版社
- 中圖法分類:H31
- 頁碼:397
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書從實用的角度出發(fā),參照美國計算機協(xié)會(Association for Computing Machinery,ACM)和美國電氣電子工程師學會(Institute of Electrical and Electronic Engineers,IEEE)的計算教程(Computing Curricula)2014-201關于軟件工程的要求,吸取了國內外軟件工程的精華,詳細介紹了軟件工程、軟件開發(fā)過程、軟件計劃、需求分析、總體設計、詳細設計、編碼、軟件測試、軟件維護、軟件工程標準化和軟件文檔、軟件工程質量、軟件工程項目管理、開發(fā)實例、經(jīng)典例題分析等知識。每章配有習題,以指導讀者深入地進行學習。
本書內容豐富,結構合理,既可作為高等學校軟件工程、計算機專業(yè)課程的教材或教學參考書,也可作為通信、電子信息、自動化等相關專業(yè)讀者的計算機課程教材,還可供軟件工程師、軟件項目管理者和應用軟件開發(fā)人員閱讀參考。
1. 采用ACM和IEEE的軟件工程*新國際標準。
2. 配套資源豐富:ppt、書中案例文檔、教學大綱、授課計劃、教案。
3. 提供豐富習題,書中每章都有一節(jié)典型例題詳解,講解軟考歷年真題。
4. 實驗設計系統(tǒng)性強,全書實驗采用音樂點播管理系統(tǒng)貫穿,全書學完即可實現(xiàn)一個音樂點播管理系統(tǒng)的軟件開發(fā)全過程。
瞿中,博士,教授,現(xiàn)任重慶郵電大學軟件學院副院長。
主要從事數(shù)字圖像處理、云計算與物聯(lián)網(wǎng)等領域的科研工作,承擔***自然科學基金、“973”計劃前期研究專項、國家重大專項、省部級項目等研究工作,發(fā)表學術論文50余篇,獲技術發(fā)明專利2項、計算機軟件著作權3項,出版著作和教材9部,獲重慶市科技進步二等獎和重慶市教學成果三等獎各1項。參與完成***特色專業(yè)《計算機科學與技術》和***教學團隊《軟件教學研究部》申報和建設工作。主要從事計算機軟件與理論、計算機應用技術研究,包括數(shù)字圖像處理、數(shù)字新媒體、普適計算等。
第1章 概論 2
1.1 軟件 2
1.1.1 軟件的定義及特點 2
1.1.2 軟件的發(fā)展歷程 3
1.1.3 軟件的分類 3
1.1.4 軟件的應用領域 4
1.2 軟件危機 5
1.2.1 軟件危機的定義 5
1.2.2 軟件危機產生的原因 6
1.2.3 軟件危機解決的途徑 6
1.3 軟件工程 7
1.3.1 軟件工程的定義和研究對象 7
1.3.2 軟件工程的基本原理 7
1.3.3 軟件工程的基本目標 8
1.3.4 軟件工程的基本原則 8
1.4 軟件生存周期 9
1.5 軟件開發(fā)過程模型 10
1.6 軟件開發(fā)方法及工具 18
1.6.1 軟件的開發(fā)方法 18
1.6.2 軟件的開發(fā)工具 20
1.7 軟件工程的最新發(fā)展動向 20
1.8 典型例題詳解 21
小結 23
習題1 24
第2章 分析階段 26
2.1 問題定義 26
2.2 可行性研究 26
2.2.1 可行性研究的任務 26
2.2.2 可行性研究的基本內容 27
2.2.3 可行性研究的步驟 27
2.3 系統(tǒng)流程圖 29
2.3.1 系統(tǒng)流程圖的符號 29
2.3.2 系統(tǒng)流程圖舉例 30
2.3.3 分層 30
2.4 軟件計劃的制訂 31
2.4.1 確定軟件計劃 31
2.4.2 復審軟件計劃 32
2.4.3 開發(fā)方案的選擇 32
2.5 成本/效益分析 33
2.5.1 成本估算 33
2.5.2 成本/效益分析的方法 36
2.6 需求分析 37
2.6.1 需求分析的概念 37
2.6.2 需求分析的層次 37
2.6.3 需求分析的目標和任務 38
2.6.4 需求分析的原則 38
2.6.5 需求分析的過程及方法 39
2.6.6 應用域 40
2.6.7 業(yè)務模型的建立 40
2.6.8 需求規(guī)格說明書 42
2.6.9 評審 42
2.7 傳統(tǒng)的軟件建模 44
2.7.1 分析建!44
2.7.2 數(shù)據(jù)模型 44
2.7.3 功能模型 46
2.7.4 行為模型 46
2.7.5 數(shù)據(jù)字典 46
2.7.6 分析實例 47
2.8 典型例題詳解 50
2.9 實驗——音樂點播管理系統(tǒng)需求分析 52
小結 55
習題2 56
第3章 總體設計 58
3.1 總體設計的任務及過程 58
3.1.1 總體設計的任務 58
3.1.2 總體設計的過程 58
3.2 總體設計的原理 59
3.2.1 軟件結構和過程 59
3.2.2 模塊設計 60
3.2.3 結構設計 65
3.3 總體設計準則 67
3.4 總體設計的常用方法及工具 68
3.4.1 面向數(shù)據(jù)流的設計方法 68
3.4.2 總體設計中的工具 71
3.4.3 總體設計說明書編寫規(guī)范 73
3.5 模塊結構設計 73
3.6 數(shù)據(jù)存儲設計 73
3.7 模型—視圖—控制器框架 74
3.7.1 MVC模式 74
3.7.2 MVC中的模型類、視圖類和控制類 74
3.7.3 MVC的實現(xiàn) 75
3.8 軟件體系結構 75
3.8.1 軟件體系結構的興起 75
3.8.2 軟件體系結構的概念 76
3.8.3 軟件體系結構的現(xiàn)狀 77
3.8.4 軟件體系結構的描述方法 79
3.9 軟件體系結構與操作系統(tǒng) 82
3.9.1 分層結構 82
3.9.2 微內核結構 83
3.10 典型例題詳解 85
3.11 實驗——音樂點播管理系統(tǒng)總體設計 88
小結 91
習題3 91
第4章 詳細設計 94
4.1 詳細設計的任務 94
4.2 詳細設計的原則 95
4.3 詳細設計的方法及工具 95
4.3.1 詳細設計的方法 95
4.3.2 詳細設計的工具 96
4.3.3 詳細設計工具的選擇 103
4.4 詳細設計規(guī)格說明及復審 103
4.4.1 詳細設計說明 103
4.4.2 詳細設計復審 103
4.5 面向數(shù)據(jù)結構的設計方法 104
4.5.1 Jackson程序設計方法 104
4.5.2 Warnier程序設計方法 105
4.6 基于組件的設計方法 105
4.7 界面設計 106
4.7.1 用戶界面設計 106
4.7.2 字符界面設計 107
4.7.3 菜單設計 108
4.7.4 對話框設計 109
4.7.5 多窗口界面設計 109
4.8 典型例題詳解 110
4.9 實驗——音樂點播管理系統(tǒng)詳細設計 113
小結 114
習題4 114
第5章 編碼及測試 116
5.1 程序設計語言 116
5.1.1 程序設計語言的發(fā)展及分類 116
5.1.2 程序設計語言的選擇標準 118
5.2 程序設計風格 119
5.2.1 源程序文檔化 120
5.2.2 數(shù)據(jù)說明 120
5.2.3 表達式和語句結構 121
5.2.4 輸入和輸出 121
5.3 程序效率 122
5.3.1 代碼效率 122
5.3.2 存儲器效率 123
5.3.3 輸入/輸出效率 123
5.4 編程安全 123
5.4.1 冗余程序設計 123
5.4.2 防錯程序設計 124
5.5 結構化程序設計方法 124
5.6 程序的復雜性及度量 126
5.6.1 代碼行度量法 126
5.6.2 McCabe度量法 126
5.6.3 Halstead度量法 128
5.7 軟件測試 129
5.7.1 軟件測試的意義 129
5.7.2 軟件測試的基本概念 129
5.7.3 軟件測試的目的、任務、原則和研究對象 130
5.7.4 軟件測試的發(fā)展歷史及趨勢 132
5.7.5 軟件測試的需求規(guī)格說明 133
5.7.6 軟件測試的設計說明 134
5.8 軟件測試的方法 135
5.8.1 靜態(tài)測試和動態(tài)測試 135
5.8.2 黑盒測試法和白盒測試法 136
5.9 軟件測試的步驟 141
5.9.1 單元測試 141
5.9.2 集成測試 144
5.9.3 確認測試 148
5.9.4 系統(tǒng)測試 148
5.9.5 驗收測試 152
5.10 調試 154
5.10.1 調試過程 154
5.10.2 調試途徑 155
5.11 測試設計和管理 156
5.11.1 錯誤曲線 156
5.11.2 測試用例設計 157
5.12 軟件測試工具 165
5.12.1 自動軟件測試的優(yōu)點 165
5.12.2 測試工具分類 165
5.12.3 自動測試的相關問題 167
5.13 典型例題詳解 168
5.14 實驗——音樂點播管理系統(tǒng)測試 172
小結 174
習題5 175
第6章 軟件維護及軟件再工程 178
6.1 軟件維護 178
6.1.1 軟件維護的定義 178
6.1.2 軟件維護的分類 178
6.1.3 軟件維護的成本 180
6.1.4 軟件維護的特點 181
6.2 軟件維護過程 182
6.3 軟件的可維護性 185
6.3.1 影響軟件可維護性的因素 185
6.3.2 軟件可維護性度量 187
6.3.3 提高軟件可維護性的方法 187
6.4 逆向工程和再工程 189
6.4.1 預防性維護 189
6.4.2 軟件的逆向工程和再工程 189
6.4.3 軟件再工程過程 190
6.4.4 軟件再工程的方法 190
6.5 典型例題詳解 191
小結 191
習題6 192
第二篇 面向對象的軟件工程
第7章 面向對象方法學 195
7.1 面向對象方法學概述 195
7.1.1 面向對象方法學的要點 196
7.1.2 面向對象方法學的優(yōu)點 197
7.2 面向對象方法學的基本概念 199
7.2.1 對象 199
7.2.2 其他概念 201
7.3 面向對象建!203
7.4 對象模型 204
7.4.1 類圖的基本符號 204
7.4.2 表示關系的符號 205
7.5 動態(tài)模型 209
7.6 功能模型 210
7.6.1 用例圖 210
7.6.2 用例建!212
7.7 三種模型之間的關系 212
7.8 典型例題詳解 213
7.9 實驗——音樂點播管理系統(tǒng)面向對象方法學 214
小結 217
習題7 217
第8章 面向對象分析 219
8.1 面向對象分析建模過程 219
8.1.1 概述 219
8.1.2 3個子模型與5個層次 220
8.2 需求陳述 221
8.2.1 書寫要點 221
8.2.2 例子 221
8.3 建立對象模型 222
8.3.1 確定類與對象 222
8.3.2 確定關聯(lián) 224
8.3.3 劃分主題 226
8.3.4 確定屬性 227
8.3.5 識別繼承關系 228
8.3.6 反復修改 229
8.4 建立動態(tài)模型 231
8.4.1 編寫腳本 231
8.4.2 設想用戶界面 232
8.4.3 繪制事件跟蹤圖 232
8.4.4 繪制狀態(tài)圖 233
8.4.5 審查動態(tài)模型 234
8.5 建立功能模型 235
8.5.1 繪制基本系統(tǒng)模型圖 236
8.5.2 繪制功能級數(shù)據(jù)流圖 236
8.5.3 描述處理框功能 237
8.6 定義服務 237
8.7 典型例題詳解 238
8.8 實驗——音樂點播管理系統(tǒng)面向對象分析 240
小結 245
習題8 246
第9章 面向對象設計 248
9.1 面向對象設計的準則 248
9.2 啟發(fā)規(guī)則 250
9.3 軟件重用 251
9.3.1 概述 251
9.3.2 類構件 252
9.3.3 軟件重用的效益 254
9.4 劃分子系統(tǒng) 254
9.4.1 子系統(tǒng)之間的兩種交互方式 255
9.4.2 組織系統(tǒng)的兩種方案 255
9.4.3 設計系統(tǒng)的拓撲結構 256
9.5 設計子系統(tǒng) 256
9.5.1 設計問題域子系統(tǒng) 256
9.5.2 設計人機交互子系統(tǒng) 258
9.5.3 設計任務管理子系統(tǒng) 260
9.5.4 設計數(shù)據(jù)管理子系統(tǒng) 261
9.6 設計類中的服務 263
9.6.1 確定類中應有的服務 264
9.6.2 設計實現(xiàn)服務的方法 264
9.7 設計關聯(lián) 265
9.7.1 關聯(lián)的遍歷 265
9.7.2 關聯(lián)對象的實現(xiàn) 266
9.8 設計優(yōu)化 266
9.8.1 確定優(yōu)先級 266
9.8.2 提高效率的技術 266
9.8.3 調整繼承關系 267
9.9 設計模式 269
9.9.1 相關概念 269
9.9.2 描述設計模式 270
9.9.3 23種設計模式 271
9.10 典型例題詳解 272
9.11 實驗——音樂點播管理系統(tǒng)面向對象設計 273
小結 275
習題9 275
第10章 面向對象實現(xiàn) 277
10.1 面向對象語言 277
10.1.1 面向對象語言的優(yōu)點 277
10.1.2 面向對象語言的技術特點 278
10.1.3 面向對象語言的選擇原則 280
10.2 面向對象程序設計風格 281
10.2.1 提高可重用性 281
10.2.2 提高可擴充性 282
10.2.3 提高穩(wěn)健性 282
10.3 測試策略 283
10.3.1 面向對象測試模型 283
10.3.2 面向對象分析的測試 283
10.3.3 面向對象設計的測試 283
10.3.4 面向對象編程的測試 283
10.3.5 面向對象的單元測試 284
10.3.6 面向對象的集成測試 284
10.3.7 面向對象的系統(tǒng)測試 284
10.4 設計測試用例 285
10.4.1 設計類測試用例 285
10.4.2 測試類間測試用例 286
10.5 典型例題詳解 287
10.6 實驗——音樂點播管理系統(tǒng)面向對象實現(xiàn) 287
小結 288
習題10 288
第三篇 軟件工程管理及開發(fā)實例
第11章 軟件工程標準化和軟件
文檔 291
11.1 軟件工程標準化 291
11.1.1 軟件工程標準化的概念 291
11.1.2 軟件工程標準化的類型及意義 291
11.2 軟件工程標準的制定與推行 293
11.3 軟件工程標準的層次和體系框架 294
11.3.1 軟件工程標準的層次 294
11.3.2 中國的軟件工程標準化工作 295
11.4 ISO 9000國際標準簡介 296
11.5 軟件文檔 298
11.5.1 軟件文檔的作用和分類 298
11.5.2 軟件文檔編制的質量要求 301
11.5.3 軟件文檔的管理和維護 302
11.6 典型例題詳解 303
小結 305
習題11 305
第12章 軟件工程質量 308
12.1 軟件質量概述 308
12.1.1 軟件質量的定義 308
12.1.2 軟件質量的特性 309
12.2 軟件質量的度量模型 310
12.2.1 軟件度量和軟件質量的度量 310
12.2.2 軟件質量的度量模型 313
12.3 軟件質量保證 315
12.3.1 軟件質量保證的概念 315
12.3.2 軟件質量保證的主要任務 316
12.3.3 軟件質量保證的策略 316
12.4 技術評審 317
12.5 軟件質量管理體系 319
12.5.1 軟件產品質量管理的特點 319
12.5.2 軟件質量管理的指導思想 320
12.5.3 軟件質量管理體系 321
12.6 典型例題詳解 325
小結 325
習題12 326
第13章 軟件工程項目管理 328
13.1 軟件項目管理 328
13.1.1 軟件項目管理的特點 328
13.1.2 軟件項目管理的主要職能 328
13.1.3 軟件項目管理的主要內容 329
13.1.4 軟件項目管理活動 329
13.2 基于CASE技術的開發(fā)工具簡介 332
13.3 成本估算 333
13.4 計劃和組織 334
13.4.1 項目計劃的制訂 334
13.4.2 項目組人員組織與管理 335
13.5 進度計劃與控制 337
13.5.1 制訂開發(fā)進度計劃 337
13.5.2 Gantt圖與時間管理 338
13.5.3 工程網(wǎng)絡與關鍵路徑 338
13.5.4 項目進度跟蹤與控制 340
13.6 風險管理 342
13.6.1 風險識別與分類 342
13.6.2 風險評估與分析 344
13.6.3 風險策劃與管理 345
13.6.4 風險規(guī)避與監(jiān)控 346
13.7 配置管理 347
13.7.1 軟件配置 347
13.7.2 軟件配置管理的任務 347
13.7.3 軟件配置管理的過程 349
13.8 項目管理認證體系IPMP與PMP 352
13.8.1 IPMP概況 352
13.8.2 PMP簡介 352
13.9 典型例題詳解 353
13.10 軟件工程項目管理實驗 354
小結 359
習題13 359
第14章 簡單的人事管理系統(tǒng)設計
與開發(fā) 36114.1 項目論證和計劃 361
14.1.1 系統(tǒng)調查 361
14.1.2 新系統(tǒng)的總體功能需求和性能要求 361
14.1.3 系統(tǒng)開發(fā)的框架 362
14.2 可行性分析 362
14.3 需求分析 363
14.3.1 數(shù)據(jù)流分析 363
14.3.2 系統(tǒng)流程圖 364
14.3.3 數(shù)據(jù)字典 365
14.3.4 系統(tǒng)用例圖 366
14.4 總體設計 366
14.4.1 功能模塊圖 366
14.4.2 層次方框圖 367
14.4.3 IPO圖 367
14.4.4 工作流程圖 367
14.4.5 系統(tǒng)數(shù)據(jù)庫設計 368
14.5 詳細設計 369
14.6 系統(tǒng)實現(xiàn) 371
14.7 測試與維護 372
14.7.1 測試用例與測試結果 372
14.7.2 系統(tǒng)維護 373
小結 375
習題14 375
附錄一 可行性研究報告 377
附錄二 需求規(guī)格說明書 380
附錄三 總體設計說明書 382
附錄四 詳細設計說明書 385
附錄五 軟件測試的需求規(guī)格
說明書 387
附錄六 軟件維護手冊 390
附錄七 UML的模型及圖示表示 392
參考文獻 398