定 價:59.8 元
叢書名:普通高等教育軟件工程“十二五”規(guī)劃教材
- 作者:瞿中 宋琦 劉玲慧 王江濤
- 出版時間:2016/9/1
- ISBN:9787115431035
- 出 版 社:人民郵電出版社
- 中圖法分類:H31
- 頁碼:397
- 紙張:膠版紙
- 版次:1
- 開本:16K
本書從實用的角度出發(fā),參照美國計算機協(xié)會(Association for Computing Machinery,ACM)和美國電氣電子工程師學(xué)會(Institute of Electrical and Electronic Engineers,IEEE)的計算教程(Computing Curricula)2014-201關(guān)于軟件工程的要求,吸取了國內(nèi)外軟件工程的精華,詳細介紹了軟件工程、軟件開發(fā)過程、軟件計劃、需求分析、總體設(shè)計、詳細設(shè)計、編碼、軟件測試、軟件維護、軟件工程標準化和軟件文檔、軟件工程質(zhì)量、軟件工程項目管理、開發(fā)實例、經(jīng)典例題分析等知識。每章配有習(xí)題,以指導(dǎo)讀者深入地進行學(xué)習(xí)。
本書內(nèi)容豐富,結(jié)構(gòu)合理,既可作為高等學(xué)校軟件工程、計算機專業(yè)課程的教材或教學(xué)參考書,也可作為通信、電子信息、自動化等相關(guān)專業(yè)讀者的計算機課程教材,還可供軟件工程師、軟件項目管理者和應(yīng)用軟件開發(fā)人員閱讀參考。
1. 采用ACM和IEEE的軟件工程*新國際標準。
2. 配套資源豐富:ppt、書中案例文檔、教學(xué)大綱、授課計劃、教案。
3. 提供豐富習(xí)題,書中每章都有一節(jié)典型例題詳解,講解軟考歷年真題。
4. 實驗設(shè)計系統(tǒng)性強,全書實驗采用音樂點播管理系統(tǒng)貫穿,全書學(xué)完即可實現(xiàn)一個音樂點播管理系統(tǒng)的軟件開發(fā)全過程。
瞿中,博士,教授,現(xiàn)任重慶郵電大學(xué)軟件學(xué)院副院長。
主要從事數(shù)字圖像處理、云計算與物聯(lián)網(wǎng)等領(lǐng)域的科研工作,承擔***自然科學(xué)基金、“973”計劃前期研究專項、國家重大專項、省部級項目等研究工作,發(fā)表學(xué)術(shù)論文50余篇,獲技術(shù)發(fā)明專利2項、計算機軟件著作權(quán)3項,出版著作和教材9部,獲重慶市科技進步二等獎和重慶市教學(xué)成果三等獎各1項。參與完成***特色專業(yè)《計算機科學(xué)與技術(shù)》和***教學(xué)團隊《軟件教學(xué)研究部》申報和建設(shè)工作。主要從事計算機軟件與理論、計算機應(yīng)用技術(shù)研究,包括數(shù)字圖像處理、數(shù)字新媒體、普適計算等。
第1章 概論 2
1.1 軟件 2
1.1.1 軟件的定義及特點 2
1.1.2 軟件的發(fā)展歷程 3
1.1.3 軟件的分類 3
1.1.4 軟件的應(yīng)用領(lǐng)域 4
1.2 軟件危機 5
1.2.1 軟件危機的定義 5
1.2.2 軟件危機產(chǎn)生的原因 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
小結(jié) 23
習(xí)題1 24
第2章 分析階段 26
2.1 問題定義 26
2.2 可行性研究 26
2.2.1 可行性研究的任務(wù) 26
2.2.2 可行性研究的基本內(nèi)容 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 復(fù)審軟件計劃 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 需求分析的目標和任務(wù) 38
2.6.4 需求分析的原則 38
2.6.5 需求分析的過程及方法 39
2.6.6 應(yīng)用域 40
2.6.7 業(yè)務(wù)模型的建立 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
小結(jié) 55
習(xí)題2 56
第3章 總體設(shè)計 58
3.1 總體設(shè)計的任務(wù)及過程 58
3.1.1 總體設(shè)計的任務(wù) 58
3.1.2 總體設(shè)計的過程 58
3.2 總體設(shè)計的原理 59
3.2.1 軟件結(jié)構(gòu)和過程 59
3.2.2 模塊設(shè)計 60
3.2.3 結(jié)構(gòu)設(shè)計 65
3.3 總體設(shè)計準則 67
3.4 總體設(shè)計的常用方法及工具 68
3.4.1 面向數(shù)據(jù)流的設(shè)計方法 68
3.4.2 總體設(shè)計中的工具 71
3.4.3 總體設(shè)計說明書編寫規(guī)范 73
3.5 模塊結(jié)構(gòu)設(shè)計 73
3.6 數(shù)據(jù)存儲設(shè)計 73
3.7 模型—視圖—控制器框架 74
3.7.1 MVC模式 74
3.7.2 MVC中的模型類、視圖類和控制類 74
3.7.3 MVC的實現(xiàn) 75
3.8 軟件體系結(jié)構(gòu) 75
3.8.1 軟件體系結(jié)構(gòu)的興起 75
3.8.2 軟件體系結(jié)構(gòu)的概念 76
3.8.3 軟件體系結(jié)構(gòu)的現(xiàn)狀 77
3.8.4 軟件體系結(jié)構(gòu)的描述方法 79
3.9 軟件體系結(jié)構(gòu)與操作系統(tǒng) 82
3.9.1 分層結(jié)構(gòu) 82
3.9.2 微內(nèi)核結(jié)構(gòu) 83
3.10 典型例題詳解 85
3.11 實驗——音樂點播管理系統(tǒng)總體設(shè)計 88
小結(jié) 91
習(xí)題3 91
第4章 詳細設(shè)計 94
4.1 詳細設(shè)計的任務(wù) 94
4.2 詳細設(shè)計的原則 95
4.3 詳細設(shè)計的方法及工具 95
4.3.1 詳細設(shè)計的方法 95
4.3.2 詳細設(shè)計的工具 96
4.3.3 詳細設(shè)計工具的選擇 103
4.4 詳細設(shè)計規(guī)格說明及復(fù)審 103
4.4.1 詳細設(shè)計說明 103
4.4.2 詳細設(shè)計復(fù)審 103
4.5 面向數(shù)據(jù)結(jié)構(gòu)的設(shè)計方法 104
4.5.1 Jackson程序設(shè)計方法 104
4.5.2 Warnier程序設(shè)計方法 105
4.6 基于組件的設(shè)計方法 105
4.7 界面設(shè)計 106
4.7.1 用戶界面設(shè)計 106
4.7.2 字符界面設(shè)計 107
4.7.3 菜單設(shè)計 108
4.7.4 對話框設(shè)計 109
4.7.5 多窗口界面設(shè)計 109
4.8 典型例題詳解 110
4.9 實驗——音樂點播管理系統(tǒng)詳細設(shè)計 113
小結(jié) 114
習(xí)題4 114
第5章 編碼及測試 116
5.1 程序設(shè)計語言 116
5.1.1 程序設(shè)計語言的發(fā)展及分類 116
5.1.2 程序設(shè)計語言的選擇標準 118
5.2 程序設(shè)計風(fēng)格 119
5.2.1 源程序文檔化 120
5.2.2 數(shù)據(jù)說明 120
5.2.3 表達式和語句結(jié)構(gòu) 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 冗余程序設(shè)計 123
5.4.2 防錯程序設(shè)計 124
5.5 結(jié)構(gòu)化程序設(shè)計方法 124
5.6 程序的復(fù)雜性及度量 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 軟件測試的目的、任務(wù)、原則和研究對象 130
5.7.4 軟件測試的發(fā)展歷史及趨勢 132
5.7.5 軟件測試的需求規(guī)格說明 133
5.7.6 軟件測試的設(shè)計說明 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 調(diào)試 154
5.10.1 調(diào)試過程 154
5.10.2 調(diào)試途徑 155
5.11 測試設(shè)計和管理 156
5.11.1 錯誤曲線 156
5.11.2 測試用例設(shè)計 157
5.12 軟件測試工具 165
5.12.1 自動軟件測試的優(yōu)點 165
5.12.2 測試工具分類 165
5.12.3 自動測試的相關(guān)問題 167
5.13 典型例題詳解 168
5.14 實驗——音樂點播管理系統(tǒng)測試 172
小結(jié) 174
習(xí)題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 預(yù)防性維護 189
6.4.2 軟件的逆向工程和再工程 189
6.4.3 軟件再工程過程 190
6.4.4 軟件再工程的方法 190
6.5 典型例題詳解 191
小結(jié) 191
習(xí)題6 192
第二篇 面向?qū)ο蟮能浖こ?br />
第7章 面向?qū)ο蠓椒▽W(xué) 195
7.1 面向?qū)ο蠓椒▽W(xué)概述 195
7.1.1 面向?qū)ο蠓椒▽W(xué)的要點 196
7.1.2 面向?qū)ο蠓椒▽W(xué)的優(yōu)點 197
7.2 面向?qū)ο蠓椒▽W(xué)的基本概念 199
7.2.1 對象 199
7.2.2 其他概念 201
7.3 面向?qū)ο蠼!?03
7.4 對象模型 204
7.4.1 類圖的基本符號 204
7.4.2 表示關(guān)系的符號 205
7.5 動態(tài)模型 209
7.6 功能模型 210
7.6.1 用例圖 210
7.6.2 用例建!212
7.7 三種模型之間的關(guān)系 212
7.8 典型例題詳解 213
7.9 實驗——音樂點播管理系統(tǒng)面向?qū)ο蠓椒▽W(xué) 214
小結(jié) 217
習(xí)題7 217
第8章 面向?qū)ο蠓治觥?19
8.1 面向?qū)ο蠓治鼋_^程 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 確定關(guān)聯(lián) 224
8.3.3 劃分主題 226
8.3.4 確定屬性 227
8.3.5 識別繼承關(guān)系 228
8.3.6 反復(fù)修改 229
8.4 建立動態(tài)模型 231
8.4.1 編寫腳本 231
8.4.2 設(shè)想用戶界面 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 定義服務(wù) 237
8.7 典型例題詳解 238
8.8 實驗——音樂點播管理系統(tǒng)面向?qū)ο蠓治觥?40
小結(jié) 245
習(xí)題8 246
第9章 面向?qū)ο笤O(shè)計 248
9.1 面向?qū)ο笤O(shè)計的準則 248
9.2 啟發(fā)規(guī)則 250
9.3 軟件重用 251
9.3.1 概述 251
9.3.2 類構(gòu)件 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 設(shè)計系統(tǒng)的拓撲結(jié)構(gòu) 256
9.5 設(shè)計子系統(tǒng) 256
9.5.1 設(shè)計問題域子系統(tǒng) 256
9.5.2 設(shè)計人機交互子系統(tǒng) 258
9.5.3 設(shè)計任務(wù)管理子系統(tǒng) 260
9.5.4 設(shè)計數(shù)據(jù)管理子系統(tǒng) 261
9.6 設(shè)計類中的服務(wù) 263
9.6.1 確定類中應(yīng)有的服務(wù) 264
9.6.2 設(shè)計實現(xiàn)服務(wù)的方法 264
9.7 設(shè)計關(guān)聯(lián) 265
9.7.1 關(guān)聯(lián)的遍歷 265
9.7.2 關(guān)聯(lián)對象的實現(xiàn) 266
9.8 設(shè)計優(yōu)化 266
9.8.1 確定優(yōu)先級 266
9.8.2 提高效率的技術(shù) 266
9.8.3 調(diào)整繼承關(guān)系 267
9.9 設(shè)計模式 269
9.9.1 相關(guān)概念 269
9.9.2 描述設(shè)計模式 270
9.9.3 23種設(shè)計模式 271
9.10 典型例題詳解 272
9.11 實驗——音樂點播管理系統(tǒng)面向?qū)ο笤O(shè)計 273
小結(jié) 275
習(xí)題9 275
第10章 面向?qū)ο髮崿F(xiàn) 277
10.1 面向?qū)ο笳Z言 277
10.1.1 面向?qū)ο笳Z言的優(yōu)點 277
10.1.2 面向?qū)ο笳Z言的技術(shù)特點 278
10.1.3 面向?qū)ο笳Z言的選擇原則 280
10.2 面向?qū)ο蟪绦蛟O(shè)計風(fēng)格 281
10.2.1 提高可重用性 281
10.2.2 提高可擴充性 282
10.2.3 提高穩(wěn)健性 282
10.3 測試策略 283
10.3.1 面向?qū)ο鬁y試模型 283
10.3.2 面向?qū)ο蠓治龅臏y試 283
10.3.3 面向?qū)ο笤O(shè)計的測試 283
10.3.4 面向?qū)ο缶幊痰臏y試 283
10.3.5 面向?qū)ο蟮膯卧獪y試 284
10.3.6 面向?qū)ο蟮募蓽y試 284
10.3.7 面向?qū)ο蟮南到y(tǒng)測試 284
10.4 設(shè)計測試用例 285
10.4.1 設(shè)計類測試用例 285
10.4.2 測試類間測試用例 286
10.5 典型例題詳解 287
10.6 實驗——音樂點播管理系統(tǒng)面向?qū)ο髮崿F(xiàn) 287
小結(jié) 288
習(xí)題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 軟件文檔編制的質(zhì)量要求 301
11.5.3 軟件文檔的管理和維護 302
11.6 典型例題詳解 303
小結(jié) 305
習(xí)題11 305
第12章 軟件工程質(zhì)量 308
12.1 軟件質(zhì)量概述 308
12.1.1 軟件質(zhì)量的定義 308
12.1.2 軟件質(zhì)量的特性 309
12.2 軟件質(zhì)量的度量模型 310
12.2.1 軟件度量和軟件質(zhì)量的度量 310
12.2.2 軟件質(zhì)量的度量模型 313
12.3 軟件質(zhì)量保證 315
12.3.1 軟件質(zhì)量保證的概念 315
12.3.2 軟件質(zhì)量保證的主要任務(wù) 316
12.3.3 軟件質(zhì)量保證的策略 316
12.4 技術(shù)評審 317
12.5 軟件質(zhì)量管理體系 319
12.5.1 軟件產(chǎn)品質(zhì)量管理的特點 319
12.5.2 軟件質(zhì)量管理的指導(dǎo)思想 320
12.5.3 軟件質(zhì)量管理體系 321
12.6 典型例題詳解 325
小結(jié) 325
習(xí)題12 326
第13章 軟件工程項目管理 328
13.1 軟件項目管理 328
13.1.1 軟件項目管理的特點 328
13.1.2 軟件項目管理的主要職能 328
13.1.3 軟件項目管理的主要內(nèi)容 329
13.1.4 軟件項目管理活動 329
13.2 基于CASE技術(shù)的開發(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)絡(luò)與關(guān)鍵路徑 338
13.5.4 項目進度跟蹤與控制 340
13.6 風(fēng)險管理 342
13.6.1 風(fēng)險識別與分類 342
13.6.2 風(fēng)險評估與分析 344
13.6.3 風(fēng)險策劃與管理 345
13.6.4 風(fēng)險規(guī)避與監(jiān)控 346
13.7 配置管理 347
13.7.1 軟件配置 347
13.7.2 軟件配置管理的任務(wù) 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
小結(jié) 359
習(xí)題13 359
第14章 簡單的人事管理系統(tǒng)設(shè)計
與開發(fā) 36114.1 項目論證和計劃 361
14.1.1 系統(tǒng)調(diào)查 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 總體設(shè)計 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ù)庫設(shè)計 368
14.5 詳細設(shè)計 369
14.6 系統(tǒng)實現(xiàn) 371
14.7 測試與維護 372
14.7.1 測試用例與測試結(jié)果 372
14.7.2 系統(tǒng)維護 373
小結(jié) 375
習(xí)題14 375
附錄一 可行性研究報告 377
附錄二 需求規(guī)格說明書 380
附錄三 總體設(shè)計說明書 382
附錄四 詳細設(shè)計說明書 385
附錄五 軟件測試的需求規(guī)格
說明書 387
附錄六 軟件維護手冊 390
附錄七 UML的模型及圖示表示 392
參考文獻 398