注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書教育/教材/教輔教材研究生/本科/專科教材軟件工程案例教程:軟件項目開發(fā)實踐(第4版)

軟件工程案例教程:軟件項目開發(fā)實踐(第4版)

軟件工程案例教程:軟件項目開發(fā)實踐(第4版)

定 價:¥69.00

作 者: 韓萬江,姜立新
出版社: 機械工業(yè)出版社
叢編項:
標 簽: 暫缺

ISBN: 9787111722663 出版時間: 2023-04-01 包裝: 平裝
開本: 16開 頁數(shù): 字數(shù):  

內容簡介

  本書以一個貫穿始終的軟件項目案例為基礎,講述了軟件項目開發(fā)中需求分析、概要設計、詳細設計、編碼、測試、交付以及維護等各個過程中涉及的理論、方法、技術、提交的產(chǎn)品和文檔等。本書注重實效、系統(tǒng)、全面,通過貫穿始終案例的講述可以讓學習者在短時間內掌握軟件項目開發(fā)的基本知識、基本過程,并有效提高實踐能力。

作者簡介

  北京郵電大學軟件學院副教授,一直致力于軟件工程領域的教學和研究,撰寫教材多本,百余所高校采用。獲國家十一、十二五規(guī)劃教材、北京市精品教材、北京市優(yōu)質教材、校師德標兵、北京市教學成果一等獎1項、校教學成果一等獎3項、二等獎2項、特等獎1項、中國高校計算機教育MOOC聯(lián)盟優(yōu)秀課程、第三屆全國雙創(chuàng)實踐新技術高峰論壇優(yōu)秀論文二等獎、第二屆全國高?;旌鲜浇虒W設計創(chuàng)新大賽三等獎、全國軟件工程教學案例比賽優(yōu)秀獎。

圖書目錄

目 錄
前言
第1章 軟件工程之道1
1.1 軟件工程的背景1
1.1.1 軟件定義一切1
1.1.2 軟件工程的誕生2
1.1.3 軟件工程的本質3
1.2 軟件工程知識體系4
1.3 軟件工程路線圖6
1.3.1 軟件項目開發(fā)路線圖9
1.3.2 軟件項目管理路線圖9
1.3.3 軟件過程改進路線圖10
1.4 軟件開發(fā)的傳統(tǒng)模型13
1.4.1 瀑布模型13
1.4.2 V模型14
1.4.3 原型模型14
1.4.4 增量式模型14
1.4.5 噴泉模型14
1.4.6 智能模型15
1.5 軟件開發(fā)的敏捷模型15
1.5.1 Scrum16
1.5.2 XP20
1.5.3 DevOps23
1.5.4 規(guī)模化敏捷模型24
1.6 軟件工程中的復用原則24
1.7 小結25
1.8 練習題25
第2章 軟件工程模型與方法27
2.1 軟件工程建模27
2.1.1 信息模型28
2.1.2 行為模型28
2.1.3 結構模型28
2.1.4 統(tǒng)一建模語言—UML28
2.2 軟件工程方法30
2.2.1 面向過程(結構化)方法32
2.2.2 面向對象方法34
2.2.3 數(shù)據(jù)建模方法37
2.2.4 形式化方法37
2.2.5 快速原型方法38
2.2.6 面向構件方法38
2.2.7 面向代理方法39
2.2.8 敏捷開發(fā)方法41
2.2.9 模型驅動開發(fā)方法42
2.2.10 無代碼開發(fā)模式43
2.3 軟件工程方法對比44
2.4 軟件逆向工程44
2.5 基于容器技術的軟件工程化管理44
2.6 MSHD項目案例說明45
2.7 小結46
2.8 練習題46
第3章 軟件項目的需求分析48
3.1 軟件項目需求概述48
3.1.1 需求定義49
3.1.2 需求類型49
3.1.3 需求的重要性50
3.2 傳統(tǒng)需求工程50
3.2.1 需求獲取51
3.2.2 需求分析53
3.2.3 需求規(guī)格說明編寫54
3.2.4 需求驗證55
3.2.5 需求變更55
3.3 敏捷需求工程56
3.3.1 需求獲取56
3.3.2 需求建模57
3.3.3 需求變更58
3.4 傳統(tǒng)需求分析方法58
3.4.1 結構化需求分析方法58
3.4.2 面向對象需求分析方法61
3.5 敏捷需求分析73
3.5.1 影響地圖73
3.5.2 需求池74
3.5.3 用戶故事編寫74
3.5.4 用戶故事分解76
3.5.5 用戶故事的INVEST準則76
3.5.6 用戶故事地圖78
3.6 需求的實例化78
3.6.1 BDD78
3.6.2 實例化需求80
3.7 需求分析的可視化工具81
3.7.1 IPO圖81
3.7.2 判斷矩陣81
3.7.3 功能列表82
3.8 原型設計工具83
3.8.1 Axure RP83
3.8.2 Balsamiq Mockups84
3.8.3 Prototype Composer84
3.8.4 GUI Design Studio84
3.9 需求規(guī)格說明文檔84
3.10 MSHD項目案例—需求分析87
3.10.1 MSHD用戶地圖87
3.10.2 MSHD用戶故事分解88
3.10.3 MSHD登錄系統(tǒng)Story88
3.10.4 MSHD響應時間需求Story89
3.11 小結89
3.12 練習題89
第4章 軟件項目的概要設計92
4.1 軟件設計綜述92
4.1.1 軟件設計過程93
4.1.2 軟件設計的原則93
4.1.3 軟件設計的模式94
4.1.4 概要設計的定義96
4.2 軟件架構設計96
4.2.1 單體架構(H/T體系結構)97
4.2.2 客戶服務架構98
4.2.3 分層架構100
4.2.4 分布式架構103
4.2.5 面向服務的架構105
4.2.6 微服務架構107
4.2.7 領域驅動設計108
4.2.8 整潔架構115
4.2.9 插件架構115
4.2.10 無服務架構116
4.2.11 云原生架構119
4.2.12 面向工作流引擎122
4.3 應用程序框架124
4.3.1 前端框架125
4.3.2 后臺業(yè)務框架129
4.3.3 后臺數(shù)據(jù)框架134
4.3.4 應用組合架構136
4.3.5 Python Web應用架構137
4.3.6 基于技術中臺的設計139
4.4 模塊(構件)設計140
4.4.1 模塊分解141
4.4.2 外部接口和內部接口設計142
4.4.3 模塊的耦合度142
4.4.4 模塊的內聚度143
4.5 數(shù)據(jù)模型設計145
4.5.1 數(shù)據(jù)庫的設計過程147
4.5.2 數(shù)據(jù)庫的概念結構設計147
4.5.3 數(shù)據(jù)庫的邏輯結構設計149
4.5.4 數(shù)據(jù)庫的物理結構設計153
4.5.5 文件設計154
4.6 用戶界面設計155
4.7 結構化設計方法156
4.7.1 變換流與事務流158
4.7.2 功能模塊劃分158
4.7.3 數(shù)據(jù)流映射為結構圖160
4.7.4 輸入/輸出設計161
4.8 面向對象的設計方法161
4.8.1 對象和類162
4.8.2 基于UML的設計圖示163
4.8.3 面向對象設計步驟168
4.8.4 對象類設計實例171
4.9 敏捷設計176
4.9.1 腐化軟件的味道176
4.9.2 防止腐化的設計177
4.10 概要設計文檔標準178
4.11 MSHD項目案例—概要設計180
4.11.1 架構設計181
4.11.2 模塊設計182
4.11.3 數(shù)據(jù)庫設計183
4.11.4 界面設計184
4.12 小結184
4.13 練習題185
第5章 軟件項目的詳細設計187
5.1 詳細設計的概念187
5.1.1 詳細設計的定義187
5.1.2 詳細設計的內容188
5.2 詳細設計的表示工具188
5.2.1 程序流程圖188
5.2.2 N-S圖描述算法189
5.2.3 PAD描述算法190
5.2.4 決策表191
5.2.5 過程設計語言192
5.2.6 偽代碼193
5.3 結構化詳細設計194
5.3.1 算法194
5.3.2 JSD方法194
5.3.3 Warnier方法197
5.3.4 結構化詳細設計的例子198
5.4 面向對象詳細設計200
5.4.1 類之間關系的詳細設計200
5.4.2 類的詳細設計201
5.4.3 包的設計204
5.4.4 面向對象詳細設計的例子204
5.5 敏捷化的整潔設計209
5.5.1 整潔設計209
5.5.2 基于TDD的詳細設計209
5.6 詳細設計文檔210
5.7 MSHD項目案例—詳細設計211
5.8 小結215
5.9 練習題215
第6章 軟件項目的編程217
6.1 編程概述217
6.1.1 編程語言218
6.1.2 編程環(huán)境219
6.1.3 編程范式219
6.2 面向過程(結構化)編程219
6.2.1 算法實現(xiàn)220
6.2.2 控制結構220
6.2.3 編程過程規(guī)則222
6.3 面向對象編程225
6.3.1 對象和類225
6.3.2 面向對象編程的基本結構228
6.3.3 面向對象編程與面向
   過程編程的對比229
6.4 聲明式編程230
6.5 編程模式與策略231
6.5.1 面向組件編程231
6.5.2 面向服務編程232
6.5.3 面向切面編程233
6.5.4 低代碼模式233
6.5.5 編程策略234
6.6 敏捷化編程實踐234
6.6.1 測試驅動開發(fā)234
6.6.2 重構235
6.6.3 結對編程238
6.6.4 紅-綠-藍循環(huán)238
6.7 整潔代碼244
6.7.1 什么是整潔代碼244
6.7.2 整潔的命名244
6.7.3 整潔函數(shù)248
6.7.4 整潔注釋248
6.7.5 整潔對象和數(shù)據(jù)結構249
6.7.6 整潔交付250
6.7.7 復用原則250
6.7.8 McCabe程序復雜度251
6.7.9 防御性編程252
6.7.10 編程標準和規(guī)范252
6.8 MSHD項目案例—編程過程
  ?。ㄏ到y(tǒng)構建)253
6.8.1 項目開發(fā)環(huán)境的建立253
6.8.2 編程標準和規(guī)范255
6.8.3 TDD&Refactor開發(fā)模式256
6.9 小結261
6.10 練習題261
第7章 軟件項目的測試263
7.1 軟件測試概述263
7.1.1 什么是軟件測試264
7.1.2 軟件測試技術綜述265
7.2 靜態(tài)測試266
7.2.1 文檔審查266
7.2.2 代碼檢查268
7.2.3 技術評審269
7.3 白盒測試方法介紹270
7.4 白盒測試方法——基于控制流
   的測試270
7.4.1 語句覆蓋270
7.4.2 判定覆蓋271
7.4.3 條件覆蓋271
7.4.4 判定/條件覆蓋272
7.4.5 條件組合覆蓋272
7.4.6 路徑覆蓋272
7.4.7 ESTCA規(guī)則273
7.4.8 LCSAJ覆蓋274
7.4.9 MC/DC覆蓋274
7.5 白盒測試方法——基于數(shù)據(jù)流
     的測試275
7.5.1 定義/使用測試275
7.5.2 程序片測試 277
7.6 白盒測試方法——變異測試279
7.7 黑盒測試方法280
7.7.1 邊界值分析280
7.7.2 等價類劃分281
7.7.3 規(guī)范導出法282
7.7.4 錯誤猜測法283
7.7.5 基于故障的測試方法283
7.7.6 因果圖法283
7.7.7 決策表法284
7.7.8 場景法286
7.8 其他測試技術290
7.8.1 回歸測試290
7.8.2 隨機測試290
7.8.3 探索性測試290
7.9 軟件測試級別292
7.9.1 單元測試292
7.9.2 集成測試294
7.9.3 系統(tǒng)測試296
7.9.4 驗收測試298
7.9.5 上線測試299
7.10 面向對象的測試299
7.10.1 面向對象分析的測試299
7.10.2 面向對象設計的測試300
7.10.3 面向對象的單元測試300
7.10.4 面向對象的集成測試301
7.10.5 面向對象的系統(tǒng)測試302
7.11 測試過程管理302
7.11.1 軟件測試計劃303
7.11.2 軟件測試設計304
7.11.3 軟件測試開發(fā)307
7.11.4 軟件測試執(zhí)行307
7.11.5 軟件測試跟蹤308
7.11.6 軟件測試評估與總結312
7.12 敏捷測試315
7.12.1 敏捷測試層次316
7.12.2 敏捷測試模型316
7.12.3 持續(xù)測試318
7.12.4 自動化測試319
7.13 軟件測試過程的文檔321
7.13.1 測試計劃文檔321
7.13.2 測試設計文檔322
7.13.3 軟件測試報告330
7.14 MSHD項目案例—軟件
     測試過程332
7.14.1 單元測試333
7.14.2 接口測試333
7.14.3 UI測試337
7.14.4 探索性測試340
7.14.5 性能測試342
7.14.6 測試結論345

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號