軟體工程(微課視頻版)

《軟體工程(微課視頻版)》是2023年清華大學出版社出版的圖書,作者是杜文峰、袁琳、朱安民、葉聰。

基本介紹

  • 書名:軟體工程(微課視頻版)
  • 作者:杜文峰、袁琳、朱安民、葉聰
  • 出版社:清華大學出版社
  • 出版時間:2023年2月1日
  • 定價:69.80 元
  • ISBN:9787302606840
內容簡介,圖書目錄,

內容簡介

全書共5篇、14章,涵蓋軟體工程領域涉及的主要內容。前四篇內容主要包括:軟體的發展歷程,軟體的定義和特點,軟體危機產生的原因,軟體工程產生的背景以及軟體生命周期中各階段的工作;如何利用數據流圖、狀態轉換圖和數據字典等來建模用戶需求,如何採用層次圖、IPO圖及程式流程圖來設計軟體,如何有效地將結構化設計結果轉換為程式代碼,對完成的軟體進行測試;如何提取用戶需求、分析用戶活動、建模系統狀態、提取類的候選者和類關係,對象之間如何互動來完成業務邏輯、如何實現面向對象設計結果,為以面向對象方法實現的軟體設計測試用例;經典的軟體開發過程、現代主流的軟體開發過程以及項目開發過程中的管理實踐。最後一篇講解騰訊公司內部的敏捷開發流程和開發平台,以及結合領域驅動設計總結如何分析、設計和實現雲原生軟體系統。
本書配有1000分鐘左右的MOOC視頻、教學大綱、PPT課件、習題等豐富的教學資源。
本書可作為高等學校計算機相關專業的教材、軟體工程專業的導論課教材,也可作為計算機軟體相關領域從業者的參考資料和相關培訓的教材。

圖書目錄

第一篇 軟體工程基礎
第1章 軟體發展史及軟體工程 3
1.1 軟體的發展歷程 3
1.2 軟體的定義和特點 5
1.3 軟體危機 6
1.4 軟體工程 7
1.5 軟體開發方法 9
1.6 軟體工程知識體系 12
1.7 小結 13
1.8 習題 13
第2章 軟體生命周期 14
2.1 項目構想和立項 14
2.2 可行性分析 15
2.3 項目開發計畫 17
2.3.1 制訂項目開發計畫 17
2.3.2 項目開發計畫評審 19
2.4 需求分析 19
2.4.1 需求的定義和組成 20
2.4.2 需求管理 21
2.5 軟體設計 24
2.5.1 軟體設計的目標和任務 25
2.5.2 軟體設計階段 26
2.5.3 模組化與模組獨立 26
2.5.4 經典軟體體系結構 27
2.5.5 設計複審 34
2.6 軟體實現 35
2.6.1 程式設計語言的選擇 35
2.6.2 軟體編碼規範 37
2.6.3 軟體效率 38
2.7 軟體測試 41
2.7.1 軟體測試的發展歷程 42
2.7.2 軟體測試技術 45
2.7.3 軟體測試策略 50
2.7.4 軟體測試步驟 55
2.7.5 軟體測試的原則 56
2.7.6 軟體調試 58
2.7.7 軟體可靠性 61
2.8 軟體維護 61
2.8.1 軟體維護分類 62
2.8.2 軟體維護實施 62
2.9 小結 67
2.10 習題 67
第二篇 結構化方法
第3章 結構化分析 71
3.1 結構化需求描述方法 71
3.2 結構化需求建模 73
3.2.1 數據流圖 73
3.2.2 處理/加工邏輯說明 77
3.2.3 狀態轉換圖 80
3.2.4 數據模型 82
3.3 小結 87
3.4 習題 88
第4章 結構化設計 89
4.1 結構化設計與結構化分析的關係 89
4.2 結構化模組及模組獨立性 90
4.2.1 結構化的模組獨立性 90
4.2.2 結構化設計啟發式規則 97
4.3 系統結構設計 98
4.3.1 系統結構圖 99
4.3.2 HIPO圖 101
4.3.3 面向數據流的設計方法 101
4.4 數據設計 109
4.4.1 數據元素設計 110
4.4.2 數據結構設計 110
4.4.3 檔案格式設計 111
4.4.4 資料庫設計 113
4.5 過程設計 116
4.5.1 程式流程圖 116
4.5.2 PDL 118
4.5.3 模組過程設計 121
4.6 設計最佳化 121
4.7 小結 122
4.8 習題 122
第5章 結構化實現 123
5.1 結構化實現與結構化設計的關係 123
5.2 結構化編碼 124
5.2.1 結構化程式的原始碼組成 124
5.2.2 結構化程式的編譯過程 126
5.2.3 結構化程式多檔案組織 127
5.2.4 結構化模組集成 129
5.3 結構化測試 132
5.3.1 結構化測試階段 132
5.3.2 結構化白盒測試覆蓋標準 134
5.3.3 結構化白盒測試用例設計 138
5.3.4 結構化黑盒測試用例設計 143
5.3.5 結構化測試實施 146
5.4 小結 147
5.5 習題 147
第三篇 面向對象方法
第6章 統一建模語言 151
6.1 統一建模語言的發展史 151
6.2 UML中的圖 152
6.2.1 用例圖 152
6.2.2 活動圖 154
6.2.3 類圖 155
6.2.4 對象圖 158
6.2.5 順序圖 158
6.2.6 通信圖 162
6.2.7 狀態圖 164
6.2.8 構件圖 166
6.2.9 部署圖 167
6.2.10 包圖 169
6.3 小結 171
6.4 習題 171
第7章 面向對象分析 172
7.1 業務用例分析 172
7.2 業務用例描述 173
7.3 活動建模 174
7.4 分析模型 176
7.4.1 對象建模 176
7.4.2 互動建模 180
7.4.3 狀態建模 182
7.4.4 劃分內容主題 183
7.4.5 完善分析模型 184
7.5 面向對象分析評審 185
7.6 小結 186
7.7 習題 186
第8章 面向對象設計 187
8.1 分析模型到設計模型的轉換 187
8.2 面向對象設計原則 188
8.2.1 面向對象的模組獨立性 188
8.2.2 面向對象設計啟發式規則 191
8.2.3 設計模式 198
8.3 面向對象架構設計 201
8.3.1 軟體架構設計 202
8.3.2 類方法設計 207
8.3.3 類屬性設計 211
8.4 軟體構件設計 214
8.4.1 構件設計原則 214
8.4.2 軟體構件的設計方法 215
8.5 部署設計 218
8.6 小結 222
8.7 習題 222
第9章 面向對象實現 223
9.1 面向對象編碼 223
9.1.1 項目檔案組織 223
9.1.2 面向對象業務實現 226
9.2 面向對象測試 228
9.2.1 面向對象測試階段 228
9.2.2 面向對象測試策略 230
9.2.3 面向對象測試用例設計 231
9.3 小結 239
9.4 習題 240
第四篇 軟體過程及管理
第10章 軟體過程 243
10.1 瀑布模型 244
10.2 演化模型 246
10.3 快速原型法 247
10.4 增量模型 249
10.5 螺旋模型 251
10.6 噴泉模型 253
10.7 構件組裝模型 254
10.8 統一過程 255
10.9 能力成熟度模型 257
10.10 淨室軟體工程 258
10.11 敏捷開發過程 260
10.11.1 極限編程 261
10.11.2 Scrum 262
10.12 小結 264
10.13 習題 264
第11章 軟體項目管理 265
11.1 項目管理概述 265
11.2 項目管理框架 266
11.3 項目階段管理 268
11.3.1 項目準備與啟動 268
11.3.2 項目計畫 270
11.3.3 項目的執行與控制 277
11.3.4 項目的收尾與總結 295
11.4 小結 297
11.5 習題 297
第五篇 現代軟體開發
第12章 騰訊敏捷軟體開發 301
12.1 騰訊敏捷研發理念 301
12.2 騰訊敏捷解決方案 303
12.3 敏捷的核心套用 304
12.3.1 看板 304
12.3.2 需求 305
12.3.3 疊代 306
12.3.4 測試 307
12.3.5 缺陷 308
12.3.6 DevOps 310
12.3.7 報表 311
12.3.8 文檔 312
12.4 小結 312
12.5 習題 313
第13章 基於領域驅動的雲原生軟體開發 314
13.1 雲原生概述 314
13.2 雲原生架構及其設計原則 317
13.3 領域驅動設計 322
13.4 基於領域的敏捷需求分析 323
13.4.1 領域分析及子領域識別 323
13.4.2 業務需求分析 324
13.5 雲原生軟體架構設計 324
13.5.1 界限上下文劃分 325
13.5.2 實體及值對象分析 326
13.5.3 聚合分析與設計 327
13.5.4 事件識別及服務分析 330
13.5.5 存儲庫設計 331
13.5.6 數據一致性 332
13.5.7 軟體前端設計 335
13.6 雲原生軟體系統實現及部署 336
13.6.1 雲原生軟體實現 336
13.6.2 容量估算及組件選型 341
13.6.3 系統測試 341
13.6.4 軟體發布及部署 342
13.7 小結 343
13.8 習題 344
第14章 人機互動設計 345
14.1 人機互動 345
14.2 互動模型和框架 347
14.3 人機互動設計原則 350
14.4 人機互動界面的設計過程 354
14.5 小結 356
14.6 習題 356
參考文獻 357

相關詞條

熱門詞條

聯絡我們