注冊 | 登錄讀書好,好讀書,讀好書!
讀書網-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網絡軟件工程及軟件方法學軟件工程(第二版)

軟件工程(第二版)

軟件工程(第二版)

定 價:¥35.00

作 者: 張海藩編著
出版社: 人民郵電出版社
叢編項: 高等學校21世紀教材
標 簽: 暫缺

ISBN: 9787115140708 出版時間: 2006-01-01 包裝: 膠版紙
開本: 26cm 頁數: 360 字數:  

內容簡介

  本書是在第一版的基礎上,依據教育部《高職高專教育基礎課程教學的基本要求》和《高職高專教育專業(yè)人才培養(yǎng)目標與規(guī)格》經過全面修訂而成的。在修訂中強調內容的實用性,以問題帶知識點的方式來闡述,反映學科最新發(fā)展方向的新內容,加強了計算機網絡、面向對象軟件技術等實用技術的介紹,對統(tǒng)一建模語言(UML)和統(tǒng)一過程(RUP)作了深入淺出的介紹。本書共14章,內容主要包括:軟件危機與軟件工程、軟件生命周期及軟件開發(fā)模型、計算機系統(tǒng)工程、需求分析、總體設計、詳細設計、編碼與測試、軟件維護、面向對象方法學引論、面向對象的分析、面向對象系統(tǒng)設計、快速原型技術、軟件重用技術。本書內容精練,重點突出,概念清楚,強調專業(yè)知識與工程實踐相結合,注重專業(yè)技術與技能的訓練,引入典型工程案例。書中含有豐富的例題與習題,便于教學與自學。適合作為高職高專、成人高校計算機及相關專業(yè)學生的教材,也可作為軟件開發(fā)人員的參考書。本書所配電子教案可從中國水利水電出版社網站下載,網址為:http://WWW.waterpub.com.cn/softdown/。

作者簡介

暫缺《軟件工程(第二版)》作者簡介

圖書目錄

第一篇 軟件工程與軟件過程 1

第1章 軟件工程 1
1.1 軟件危機 1
1.1.1 計算機系統(tǒng)的發(fā)展歷程 1
1.1.2 軟件危機的含義 2
1.1.3 產生軟件危機的原因 3
1.1.4 消除軟件危機的途徑 5
1.2 軟件工程 6
1.2.1 什么是軟件工程 6
1.2.2 軟件工程的基本原理 6
1.2.3 軟件工程方法學 8
1.3 小結 10
習題 11

第2章 軟件過程 13
2.1 軟件生命周期的基本任務 13
2.2 瀑布模型 16
2.3 快速原型模型 18
2.4 增量模型 19
2.5 螺旋模型 20
2.6 噴泉模型 22
2.7 小結 23
習題 24

第二篇 傳統(tǒng)方法學 25

第3章 結構化分析 25
3.1 概述 25
3.2 與用戶通信的技術 26
3.2.1 訪談 26
3.2.2 簡易的應用規(guī)格說明技術 27
3.2.3 軟件原型 28
3.3 分析建模與規(guī)格說明 29
3.3.1 分析建?!?9
3.3.2 軟件需求規(guī)格說明 29
3.4 實體—關系圖 31
3.4.1 數據對象 31
3.4.2 屬性 31
3.4.3 關系 32
3.4.4 實體—關系圖的符號 32
3.5 數據流圖 33
3.5.1 數據流圖符號 33
3.5.2 例子 34
3.5.3 命名 37
3.6 狀態(tài)轉換圖 37
3.6.1 狀態(tài) 38
3.6.2 事件 38
3.6.3 符號 38
3.6.4 例子 39
3.7 數據字典 40
3.8 結構化分析實例 41
3.8.1 問題陳述 42
3.8.2 問題定義 42
3.8.3 可行性研究 43
3.8.4 需求分析 48
3.9 小結 53
習題 55

第4章 結構化設計 56
4.1 結構化設計與結構化分析的關系 56
4.2 軟件設計的概念和原理 57
4.2.1 模塊化 57
4.2.2 抽象 59
4.2.3 逐步求精 59
4.2.4 信息隱藏 60
4.3 模塊獨立 61
4.3.1 耦合 61
4.3.2 內聚 62
4.4 啟發(fā)規(guī)則 63
4.4.1 改進軟件結構提高模塊獨立性 63
4.4.2 模塊規(guī)模應該適中 64
4.4.3 深度、寬度、扇出和扇入都應適當 64
4.4.4 模塊的作用域應該在控制域之內 64
4.4.5 力爭降低模塊接口的復雜程度 65
4.4.6 設計單入口單出口的模塊 65
4.4.7 模塊功能應該可以預測 65
4.5 表示軟件結構的圖形工具 65
4.5.1 層次圖和HIPO圖 65
4.5.2 結構圖 67
4.6 面向數據流的設計方法 68
4.6.1 概念 68
4.6.2 變換分析 69
4.6.3 事務分析 75
4.6.4 設計優(yōu)化 76
4.7 人機界面設計 77
4.7.1 人機界面設計問題 77
4.7.2 人機界面設計過程 78
4.7.3 界面設計指南 79
4.8 過程設計 81
4.9 過程設計的工具 83
4.9.1 程序流程圖 83
4.9.2 盒圖(N-S圖) 84
4.9.3 PAD圖 84
4.9.4 判定表 86
4.9.5 判定樹 87
4.9.6 過程設計語言(PDL) 87
4.10 面向數據結構的設計方法 88
4.10.1 Jackson圖 88
4.10.2 改進的Jackson圖 89
4.10.3 Jackson方法 89
4.11 小結 94
習題 95

第5章 結構化實現 98
5.1 編碼 98
5.1.1 選擇程序設計語言 98
5.1.2 編碼風格 100
5.2 軟件測試基礎 102
5.2.1 測試目標 102
5.2.2 黑盒測試和白盒測試 103
5.2.3 測試準則 103
5.2.4 流圖 103
5.3 邏輯覆蓋 106
5.4 控制結構測試 108
5.4.1 基本路徑測試 108
5.4.2 條件測試 111
5.4.3 數據流測試 113
5.4.4 循環(huán)測試 114
5.5 黑盒測試技術 115
5.5.1 等價劃分 116
5.5.2 邊界值分析 118
5.5.3 錯誤推測 119
5.6 測試策略 120
5.6.1 測試步驟 120
5.6.2 單元測試 121
5.6.3 集成測試 123
5.6.4 確認測試 126
5.7 調試 127
5.7.1 調試過程 127
5.7.2 調試途徑 128
5.8 軟件可靠性 130
5.8.1 基本概念 130
5.8.2 估算平均無故障時間的方法 131
5.9 小結 132
習題 133

第三篇 面向對象方法學 139

第6章 面向對象方法學導論 139
6.1 面向對象程序設計實例 139
6.1.1 用對象分解取代功能分解 141
6.1.2 設計類等級 143
6.1.3 定義屬性和服務 144
6.1.4 用C++語言實現 147
6.2 面向對象方法學概述 147
6.2.1 面向對象方法學的要點 149
6.2.2 面向對象的軟件過程 150
6.3 面向對象方法學的主要優(yōu)點 153
6.4 面向對象的概念 153
6.4.1 對象 156
6.4.2 其他概念 159
6.5 面向對象建?!?60
6.6 對象模型 160
6.6.1 表示類的符號 161
6.6.2 表示關系的符號 164
6.7 動態(tài)模型 165
6.8 功能模型 165
6.9 三種模型之間的關系 166
6.10 小結 166
習題 166

第7章 面向對象分析 168
7.1 分析過程 168
7.1.1 概述 168
7.1.2 三個子模型與五個層次 169
7.2 需求陳述 170
7.2.1 書寫要點 170
7.2.2 例子 171
7.3 建立對象模型 172
7.3.1 確定類與對象 172
7.3.2 確定關聯(lián) 174
7.3.3 劃分主題 177
7.3.4 確定屬性 177
7.3.5 識別繼承關系 178
7.3.6 反復修改 179
7.4 建立動態(tài)模型 182
7.4.1 編寫腳本 182
7.4.2 設想用戶界面 183
7.4.3 畫事件跟蹤圖 184
7.4.4 畫狀態(tài)圖 184
7.4.5 審查動態(tài)模型 186
7.5 建立功能模型 187
7.5.1 畫出基本系統(tǒng)模型圖 187
7.5.2 畫出功能級數據流圖 187
7.5.3 描述處理框功能 188
7.6 定義服務 189
7.6.1 常規(guī)行為 189
7.6.2 從事件導出的操作 189
7.6.3 與數據流圖中處理框對應的操作 189
7.6.4 利用繼承減少冗余操作 189
7.7 面向對象分析實例 190
7.7.1 需求陳述 190
7.7.2 建立對象模型 190
7.7.3 建立動態(tài)模型 191
7.7.4 建立功能模型 193
7.7.5 進一步完善 194
7.8 小結 194
習題 195

第8章 面向對象設計 197
8.1 面向對象設計的準則 197
8.1.1 模塊化 198
8.1.2 抽象 198
8.1.3 信息隱藏 198
8.1.4 弱耦合 198
8.1.5 強內聚 199
8.1.6 可重用 199
8.2 啟發(fā)規(guī)則 199
8.2.1 設計結果應該清晰易懂 200
8.2.2 一般—特殊結構的深度應適當 200
8.2.3 設計簡單的類 200
8.2.4 使用簡單的協(xié)議 201
8.2.5 使用簡單的服務 201
8.2.6 把設計變動減至最小 201
8.3 系統(tǒng)分解 201
8.3.1 子系統(tǒng)之間的兩種交互方式 202
8.3.2 組織系統(tǒng)的兩種方案 202
8.3.3 設計系統(tǒng)的拓撲結構 203
8.4 設計問題域子系統(tǒng) 203
8.4.1 調整需求 204
8.4.2 重用已有的類 204
8.4.3 把問題域類組合在一起 204
8.4.4 增添一般化類以建立協(xié)議 204
8.4.5 ATM系統(tǒng)之例 204
8.5 設計人-機交互子系統(tǒng) 205
8.5.1 設計人-機交互界面的準則 205
8.5.2 設計人-機交互子系統(tǒng)的策略 206
8.6 設計任務管理子系統(tǒng) 207
8.6.1 分析并發(fā)性 208
8.6.2 設計任務管理子系統(tǒng) 208
8.7 設計數據管理子系統(tǒng) 209
8.7.1 選擇數據存儲管理模式 209
8.7.2 設計數據管理子系統(tǒng) 210
8.7.3 例子 212
8.8 設計類中的服務 212
8.8.1 確定類中應有的服務 212
8.8.2 設計實現服務的方法 213
8.9 設計關聯(lián) 214
8.9.1 關聯(lián)的遍歷 214
8.9.2 實現單向關聯(lián) 214
8.9.3 實現雙向關聯(lián) 215
8.9.4 關聯(lián)對象的實現方法 215
8.10 設計優(yōu)化 215
8.10.1 確定優(yōu)先級 215
8.10.2 提高效率的幾項技術 216
8.10.3 調整繼承關系 217
8.11 面向對象分析與設計實例 218
8.11.1 面向對象分析 219
8.11.2 面向對象設計 221
8.12 小結 225
習題 226

第9章 面向對象實現 227
9.1 程序設計語言 227
9.1.1 面向對象語言的優(yōu)點 227
9.1.2 面向對象語言的技術特點 228
9.1.3 選擇面向對象語言 231
9.2 程序設計風格 232
9.2.1 提高可重用性 232
9.2.2 提高可擴充性 234
9.2.3 提高健壯性 234
9.3 測試策略 235
9.3.1 面向對象的單元測試 235
9.3.2 面向對象的集成測試 235
9.3.3 面向對象的確認測試 236
9.4 設計測試用例 236
9.4.1 測試類的方法 236
9.4.2 集成測試方法 238
9.5 小結 240
習題 240

第四篇 軟件項目管理 242

第10章 計劃 242
10.1 度量軟件規(guī)?!?42
10.1.1 代碼行技術 243
10.1.2 功能點技術 245
10.2 工作量估算 245
10.2.1 靜態(tài)單變量模型 245
10.2.2 動態(tài)多變量模型 245
10.2.3 COCOMO2模型 246
10.3 進度計劃 248
10.3.1 基本原則 249
10.3.2 估算軟件開發(fā)時間 250
10.3.3 Gantt圖 251
10.3.4 工程網絡 252
10.3.5 估算進度 253
10.3.6 關鍵路徑 254
10.3.7 機動時間 255
10.4 小結 256
習題 257

第11章 組織 259
11.1 民主制程序員組 259
11.2 主程序員組 260
11.3 現代程序員組 262
11.4 軟件項目組 263
11.4.1 三種組織方式 264
11.4.2 四種組織范型 265
11.5 小結 266
習題 266

第12章 控制 267
12.1 風險管理 267
12.1.1 軟件風險分類 267
12.1.2 風險識別 268
12.1.3 風險預測 272
12.1.4 處理風險的策略 274
12.2 質量保證 275
12.2.1 軟件質量 275
12.2.2 軟件質量保證措施 276
12.3 配置管理 279
12.3.1 軟件配置 279
12.3.2 軟件配置管理過程 281
12.4 小結 286
習題 286

第13章 國際標準 288
13.1 IEEE 1058.1軟件項目管理計劃標準 288
13.1.1 軟件項目管理計劃的組成 288
13.1.2 IEEE軟件項目管理計劃 288
13.2 ISO9000質量標準 289
13.2.1 基本思想 291
13.2.2 ISO9000-3標準 291
13.3 ISO/IEC 12207軟件生命周期過程標準 292
13.3.1 概述 294
13.3.2 軟件生命周期過程 294
13.4 ISO/IEC TR 15504軟件過程評估標準 295
13.4.1 概述 298
13.4.2 標準的結構 299
13.5 能力成熟度模型 299
13.5.1 能力成熟度模型的結構 300
13.5.2 能力成熟度等級 301
13.5.3 關鍵過程域 302
13.5.4 應用CMM 303
13.6 小結 304
習題 305

第五篇 高級課題 306

第14章 形式化方法 306
14.1 概述 306
14.1.1 非形式化方法的缺點 306
14.1.2 14.1.2 軟件開發(fā)過程中的數學 307
14.1.3 應用形式化方法的準則 307
14.2 有窮狀態(tài)機 308
14.2.1 基本概念 308
14.2.2 電梯問題 309
14.2.3 評論 312
14.3 Petri網 312
14.3.1 基本概念 312
14.3.2 應用實例 314
14.4 Z語言 315
14.4.1 簡介 315
14.4.2 評論 317
14.5 小結 318
習題 318

第15章 統(tǒng)一建模語言UML 320
15.1 概述 320
15.1.1 UML的產生和發(fā)展 320
15.1.2 UML的結構 321
15.1.3 UML的圖 322
15.1.4 UML的應用領域 323
15.2 靜態(tài)建模機制 324
15.2.1 用例圖 324
15.2.2 類圖和對象圖 327
15.3 動態(tài)建模機制 336
15.3.1 消息 336
15.3.2 狀態(tài)圖 336
15.3.3 順序圖 337
15.3.4 協(xié)作圖 339
15.3.5 活動圖 340
15.4 描述物理架構的機制 341
15.4.1 邏輯架構和物理架構 341
15.4.2 構件圖 341
15.4.3 配置圖 342
15.5 使用和擴展UM L343
15.5.1 使用UML的準則 343
15.5.2 擴展UML的機制 344
15.6 小結 345
習題 345

第16章 軟件重用 346
16.1 可重用的軟件成分 346
16.2 軟件重用過程 347
16.2.1 構件組裝模型 347
16.2.2 類構件 348
16.2.3 重用過程模型 349
16.3 領域工程 350
16.3.1 分析過程 350
16.3.2 領域特征 351
16.3.3 結構建模和結構點 352
16.4 開發(fā)可重用的構件 352
16.4.1 為了重用的分析與設計 352
16.4.2 基于構件的開發(fā) 353
16.5 分類和檢索構件 354
16.5.1 描述可重用的構件 355
16.5.2 重用環(huán)境 357
16.6 軟件重用的效益 357
16.7 小結 358
習題 359

參考文獻 360

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.afriseller.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號