-
>
闖進數學世界――探秘歷史名題
-
>
中醫基礎理論
-
>
當代中國政府與政治(新編21世紀公共管理系列教材)
-
>
高校軍事課教程
-
>
思想道德與法治(2021年版)
-
>
毛澤東思想和中國特色社會主義理論體系概論(2021年版)
-
>
中醫內科學·全國中醫藥行業高等教育“十四五”規劃教材
軟件工程基礎-(第3版) 版權信息
- ISBN:9787302518297
- 條形碼:9787302518297 ; 978-7-302-51829-7
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
軟件工程基礎-(第3版) 本書特色
軟件工程是利用工程化的原理和方法指導計算機軟件系統開發、測試和維護的學科,具有知識面廣、實踐性強、不斷發展等特點。本書系統介紹軟件工程的基本概念、原理、方法與技術,全書共11章,可分為四部分:*部分為第1章,簡要介紹軟件工程的發展與過程模型;第二部分包括第2~6章,以瀑布模型為基礎,以結構化方法為主線,介紹軟件工程各階段的任務、過程、方法、工具與測試技術;第三部分包括第7~10章,以瀑布模型為基礎,以面向對象方法為主線,介紹統一建模語言UML、面向對象分析與過程、面向對象設計與建模、軟件測試、軟件維護等;第四部分為第11章,介紹軟件項目管理與CMM。
軟件工程基礎-(第3版) 內容簡介
軟件工程是利用工程化的原理和方法指導計算機軟件系統開發、測試和維護的學科,具有知識面廣、實踐性強、不斷發展等特點。本書系統介紹軟件工程的基本概念、原理、方法與技術,全書共11章,可分為四部分:**部分為第1章,簡要介紹軟件工程的發展與過程模型;第二部分包括第2~6章,以瀑布模型為基礎,以結構化方法為主線,介紹軟件工程各階段的任務、過程、方法、工具與測試技術;第三部分包括第7~10章,以瀑布模型為基礎,以面向對象方法為主線,介紹統一建模語言UML、面向對象分析與過程、面向對象設計與建模、軟件測試、軟件維護等;第四部分為第11章,介紹軟件項目管理與CMM。
軟件工程基礎-(第3版) 目錄
1.1.2 軟件危機出現的原因 3
1.1.3 軟件工程的發展 4
1.2 軟件工程的概念 5
1.2.1 軟件工程的定義 5
1.2.2 軟件工程的目標 6
1.2.3 軟件工程的實施原則 8
1.2.4 軟件工程的基本原理 91.3 軟件與軟件過程 10 1.3.1 軟件的概念 11
1.3.2 軟件的分類 12
1.3.3 軟件生命周期 13
1.4 軟件過程模型 16
1.4.1 瀑布模型 16
1.4.2 原型模型 17
1.4.3 增量模型 18
1.4.4 螺旋模型 19
1.4.5 噴泉模型 20
1.4.6 敏捷過程模型 21
1.4.7 漸進交付迭代模型 23
1.4.8 微軟解決框架過程模型 24
1.4.9 軟件過程模型的比較 26
1.5 軟件開發方法 26
1.5.1 結構化開發方法 27
1.5.2 面向對象開發方法 27
1.6 案例描述 28
1.6.1 簡歷信息自動獲取和查詢系統 28
1.6.2 試卷自動生成系統 29
1.7 本章小結 30
習題 31
第2章 軟件需求工程 /?33
2.1 軟件需求的基本概念 33
2.1.1 需求分析的任務 33
2.1.2 需求分析的原則 34
2.1.3 需求分析的內容 35
2.2 可行性分析 36
2.2.1 可行性分析的內容 36
2.2.2 系統流程圖 38
2.3 需求工程的過程 39
2.3.1 需求工程中的參與人員 39
2.3.2 需求工程中的活動 40
2.3.3 需求工程的管理 41
2.4 需求獲取技術 42
2.5 結構化需求分析和建模 45
2.5.1 結構化需求分析概述 45
2.5.2 面向數據的數據建模 45
2.5.3 面向數據流的功能建模 47
2.5.4 面向狀態轉換的行為建模 51
2.6 數據字典 54
2.6.1 數據字典的編寫要求 54
2.6.2 數據字典的定義 55
2.7 案例——簡歷自動獲取和查詢系統的需求建模 56
2.7.1 數據建模——E-R圖描述 56
2.7.2 功能建模——數據流圖 57
2.7.3 行為建模——狀態轉換圖 59
2.7.4 加工邏輯——PDL語言的描述 59
2.7.5 數據字典 59
2.8 需求評審 61
2.8.1 軟件需求規格說明 61
2.8.2 需求評審標準及需求驗證 64
2.8.3 需求變更管理 66
2.9 本章小結 67
習題 67
第3章 軟件設計基礎 /?70
3.1 軟件設計概述 70
3.1.1 軟件設計與軟件需求 70
3.1.2 軟件設計的任務 71
3.1.3 軟件設計的原則 73
3.2 軟件體系結構設計 74
3.2.1 體系結構設計概述 74
3.2.2 以數據為中心的數據倉庫模型 74
3.2.3 客戶端/服務器模式的分布式結構 75
3.2.4 層次模型 77
3.2.5 MVC模型 78
3.3 模塊化設計 80
3.3.1 軟件模塊化與分解 80
3.3.2 抽象 81
3.3.3 信息隱藏 81
3.3.4 模塊獨立性 82
3.3.5 啟發式規則 85
3.4 界面設計 88
3.4.1 界面設計的任務 88
3.4.2 界面設計的原則 89
3.4.3 界面設計的特性 90
3.5 軟件設計評審 91
3.5.1 軟件設計規格說明 91
3.5.2 軟件設計評審標準 94
3.5.3 軟件設計驗證 96
3.6 本章小結 97
習題 98
第4章 結構化設計方法 /?99
4.1 結構化設計方法概述 99
4.2 面向數據流的設計方法 100
4.2.1 層次圖和結構圖 100
4.2.2 變換分析法 102
4.2.3 事務分析法 106
4.2.4 混合分析法 107
4.3 案例——簡歷自動獲取和查詢系統的數據流設計方法 108
4.3.1 用變換分析法進行設計 108
4.3.2 用事務分析法進行設計 109
4.3.3 兩種方法的比較 111
4.4 結構化詳細設計的工具 111
4.4.1 程序流程圖 111
4.4.2 盒圖 113
4.4.3 問題分析圖 114
4.4.4 判定樹 115
4.4.5 判定表 116
4.4.6 詳細設計工具的比較 116
4.5 本章小結 117
習題 118
第5章 軟件實現 /?120
5.1 程序設計語言 120
5.1.1 程序設計語言的分類 120
5.1.2 程序設計語言的特性 121
5.1.3 選擇程序設計語言 122
5.2 程序設計風格 124
5.2.1 程序編排和組織的準則 124
5.2.2 程序設計的效率 128
5.3 代碼重用 130
5.4 代碼評審 131
5.5 本章小結 135
習題 135
第6章 軟件測試 /?138
6.1 軟件測試基礎 138
6.1.1 軟件測試概念 138
6.1.2 軟件測試過程模型 139
6.1.3 軟件測試原則 141
6.1.4 軟件測試在軟件開發各階段的工作流程 143
6.1.5 軟件測試信息流 145
6.1.6 軟件測試技術分類 145
6.2 白盒測試 147
6.2.1 邏輯覆蓋 147
6.2.2 循環測試 150
6.2.3 路徑測試 152
6.3 黑盒測試 156
6.3.1 等價類劃分 156
6.3.2 邊界值分析 158
6.3.3 錯誤推測法 158
6.3.4 因果圖法 159
6.4 白盒測試和黑盒測試的比較 161
6.4.1 應用角度的不同 161
6.4.2 白盒測試的優點與不足 162
6.4.3 黑盒測試的優點與不足 162
6.5 軟件測試策略 162
6.5.1 單元測試 162
6.5.2 集成測試 165
6.5.3 確認測試 169
6.5.4 系統測試 170
6.6 調試 172
6.6.1 軟件調試過程 172
6.6.2 軟件調試方法 173
6.7 軟件測試報告 174
6.7.1 軟件測試說明 174
6.7.2 軟件測試報告 176
6.8 本章小結 177
習題 177
第7章 統一建模語言UML /?180
7.1 UML的發展 180
7.1.1 UML的產生 180
7.1.2 UML的構成 181
7.1.3 UML的特點 182
7.2 面向對象的基本概念 182
7.3 UML視圖 188
7.4 UML的圖和模型元素 189
7.4.1 用例圖 189
7.4.2 類圖 191
7.4.3 包圖 192
7.4.4 狀態圖 193
7.4.5 活動圖 193
7.4.6 順序圖 195
7.4.7 協作圖 196
7.4.8 構件圖 197
7.4.9 配置圖 198
7.5 UML的關系 198
7.5.1 關聯關系 199
7.5.2 泛化關系 202
7.5.3 依賴關系 205
7.5.4 實現關系 206
7.6 UML的通用機制 206
7.6.1 修飾 206
7.6.2 注釋 207
7.6.3 規格說明 207
7.6.4 擴展機制 207
7.7 基于UML的軟件過程 209
7.8 本章小結 211
習題 211
第8章 面向對象分析 /?213
8.1 面向對象分析概述 213
8.1.1 傳統軟件過程中的不足 213
8.1.2 面向對象的特點 214
8.1.3 面向對象分析的基本過程 215
8.1.4 面向對象分析的3類模型 215
8.1.5 靜態模型的5個層次 216
8.2 建立功能模型(用例模型) 217
8.2.1 識別參與者 218
8.2.2 識別用例 218
8.2.3 識別用例間關系 220
8.2.4 用例描述文檔 221
8.3 建立靜態模型(對象模型) 222
8.3.1 識別類與對象 222
8.3.2 劃分主題 224
8.3.3 確定結構 225
8.3.4 確定屬性 226
8.3.5 確定服務 226
8.3.6 類圖描述文檔 227
8.3.7 包圖描述文檔 228
8.4 建立動態模型 229
8.4.1 建立順序圖及其描述文檔 229
8.4.2 建立狀態圖及其描述文檔 231
8.4.3 建立協作圖及其描述文檔 232
8.4.4 建立活動圖及其描述文檔 233
8.5 “會議中心系統”的面向對象分析案例研究 234
8.5.1 建立功能模型——用例分析 235
8.5.2 建立靜態模型——5層結構 235
8.5.3 建立動態模型——交互行為 238
8.6 本章小結 239
習題 240
第9章 面向對象設計 /?241
9.1 面向對象設計概述 241
9.1.1 面向對象分析與設計的關系 241
9.1.2 面向對象設計原則 242
9.2 精化類及類間關系 243
9.2.1 設計類的屬性 243
9.2.2 設計類的方法 244
9.2.3 設計類間泛化關系 244
9.2.4 設計關聯類 247
9.3 數據設計 247
9.3.1 基于關系數據庫的數據設計 247
9.3.2 基于其他方式的數據設計 250
9.4 人機交互設計 250
9.5 建立實現模型 251
9.5.1 構件圖及其描述文檔 252
9.5.2 配置圖及其描述文檔 253
9.6 設計模式簡介 255
9.6.1 概述 255
9.6.2 Singleton模式 256
9.6.3 Abstract Factory模式 257
9.6.4 Mediator模式 258
9.6.5 Adapter模式 261
9.6.6 Iterator模式 263
9.6.7 State模式 266
9.7 面向對象的測試 268
9.7.1 面向對象測試概述 268
9.7.2 面向對象的單元測試 269
9.7.3 基于過程的面向對象單元測試 273
9.8 本章小結 273
習題 274
第10章 軟件維護 /?277
10.1 軟件維護概述 277
10.1.1 軟件維護的任務 277
10.1.2 軟件維護的特點 278
10.1.3 軟件維護的分類 278
10.2 軟件維護過程 279
10.2.1 軟件維護方式 280
10.2.2 軟件維護管理的基本內容 281
10.2.3 維護中存在的問題 285
10.2.4 維護活動記錄 286
10.3 軟件的可維護性 287
10.3.1 可維護性因素 287
10.3.2 提高軟件的可維護性 288
10.4 逆向工程 290
10.5 軟件維護評審 292
10.5.1 軟件維護規格說明文檔 292
10.5.2 軟件維護評審 295
10.6 本章小結 296
習題 297
第11章 軟件項目管理 /?299
11.1 軟件項目管理概述 299
11.1.1 軟件項目管理的特點和內容 299
11.1.2 軟件項目管理目標 300
11.1.3 軟件項目管理的4P觀點 301
11.2 軟件項目規模度量 302
11.2.1 代碼行技術 303
11.2.2 功能點計算 304
11.2.3 代碼行與功能點間的轉換 307
11.3 軟件項目估算 308
11.3.1 代碼行和功能點的其他估算模型 308
11.3.2 專家估算模型 308
11.3.3 Putnam模型 309
11.3.4 COCOMO模型 309
11.3.5 項目估算模型的小結 312
11.4 項目進度管理 312
11.4.1 項目進度控制 312
11.4.2 甘特圖 313
11.4.3 工程網絡圖 314
11.5 項目風險管理 316
11.5.1 軟件風險概念 316
11.5.2 風險管理過程 317
11.6 項目質量管理 320
11.6.1 軟件質量因素 320
11.6.2 軟件質量保證活動 324
11.6.3 軟件質量保證計劃 325
11.7 軟件配置管理 327
11.7.1 軟件配置項 327
11.7.2 配置管理過程 328
11.7.3 軟件配置管理計劃 331
11.8 項目人員組織管理 332
11.8.1 團隊組織 332
11.8.2 團隊組織方式 333
11.9 軟件能力成熟度模型 335
11.9.1 基本概念 335
11.9.2 軟件能力成熟度模型等級 336
11.9.3 關鍵過程域 337
11.10 本章小結 338
習題 339
參考文獻 /?341
軟件工程基礎-(第3版) 作者簡介
胡思康,北京理工大學計算機學院教師,博士。研究方向為自然語言理解、Web數據挖掘、軟件需求、面向對象技術等領域。主講本科生和留學生“面向對象技術”“軟件工程基礎”“軟件工程綜合訓練”課程10多年。前兩門課程前后銜接,在課程講解過程中,秉承理“論指導實踐、實踐融入理論”的教學理念,為學生從“程序員”邁入“軟件工程師”夯實基礎。后兩門課是對軟件工程由課堂走入實踐的貫通學習。
- >
名家帶你讀魯迅:朝花夕拾
- >
唐代進士錄
- >
中國歷史的瞬間
- >
大紅狗在馬戲團-大紅狗克里弗-助人
- >
人文閱讀與收藏·良友文學叢書:一天的工作
- >
詩經-先民的歌唱
- >
煙與鏡
- >
莉莉和章魚