定 價:39.8 元
叢書名: 21世紀高等教育計算機規(guī)劃教材
- 作者:鐘珞、袁勝瓊、袁景凌、李琳
- 出版時間:2017/1/1
- ISBN:9787115446497
- 出 版 社:人民郵電出版社
- 中圖法分類:H31
- 頁碼:243
- 紙張:膠版紙
- 版次:1
- 開本:16K
教材主要包含四個部分:第一部分是對軟件工程的一般性介紹,包括軟件及軟件工程過程等的基本概念;第二部分主要介紹面向對象的設計及設計模式的使用;第三部分介紹團隊開發(fā)管理和敏捷開發(fā)方法;第四部分面向特定領域的軟件工程-數(shù)字傳媒工程的興起。
1. 以案例分析貫穿教材,適宜教師開展項目式教學。
2. 對軟件工程以及軟件開發(fā)熱點問題展開討論,有利于學生把握前沿,盡早確定研究方向。
3. 加入很多諸如敏捷開發(fā)、數(shù)字傳媒技術等主題的新材料, 并以數(shù)字傳媒為契機,探討面向特定領域的軟件工程。
第1章 軟件工程概述 1
1.1 軟件及其特性 1
1.2 軟件工程的產生與發(fā)展 2
1.2.1 軟件危機 2
1.2.2 軟件工程的發(fā)展 3
1.3 軟件工程的基本概念 4
1.3.1 什么是軟件工程 4
1.3.2 軟件工程的基本要素 5
1.3.3 軟件工程的基本原理 7
1.4 軟件工程的現(xiàn)狀與發(fā)展趨勢 8
1.4.1 敏捷開發(fā) 8
1.4.2 開放計算 9
1.4.3 云計算 10
習題一 11
第2章 軟件過程 12
2.1 軟件過程概述 12
2.2 軟件過程模型 14
2.2.1 瀑布模型 15
2.2.2 原型法模型 16
2.2.3 迭代式開發(fā) 16
2.2.4 可轉換模型 18
2.3 敏捷開發(fā)過程 18
2.3.1 敏捷方法的由來 19
2.3.2 計劃驅動開發(fā)和敏捷開發(fā) 20
2.3.3 敏捷方法 21
習題二 23
第3章 對象模型 24
3.1 面向對象基礎 24
3.1.1 面向對象的基本概念 25
3.1.2 對象、屬性與方法 26
3.2 面向對象方法的要素 27
3.2.1 對象元素的訪問控制 30
3.2.2 對象職責 32
3.2.3 通過繼承和組合實現(xiàn)重用和擴展 32
3.3 統(tǒng)一建模語言UML 33
3.3.1 UML的基本實體 33
3.3.2 UML圖的使用實例 34
習題三 37
第4章 需求獲取 38
4.1 需求分析與用戶故事 38
4.2 需求及其分類 41
4.2.1 需求的定義 41
4.2.2 需求的內容 41
4.2.3 需求的分類 42
4.3 需求獲取技術 44
4.4 需求分析方法 47
4.4.1 結構化分析 47
4.4.2 面向對象分析 50
4.4.3 面向問題域的分析 51
4.5 需求分析的工具 62
4.5.1 SADT 62
4.5.2 PSL/PSA 63
4.6 傳統(tǒng)的軟件建!64
4.6.1 軟件建模 64
4.6.2 數(shù)據(jù)模型的建立 65
4.6.3 功能模型、行為模型的建立及數(shù)據(jù)
字典 66
習題四 68
第5章 用例建模 69
5.1 用例模型的基本概念 69
5.1.1 系統(tǒng) 69
5.1.2 參與者 70
5.1.3 用例 71
5.1.4 關系 71
5.2 用例建模過程 73
5.2.1 尋找參與者 74
5.2.2 尋找用例 75
5.3 用例建模技巧 77
5.3.1 用例定義與功能分解 77
5.3.2 關聯(lián)關系的確定 78
5.3.3 詳細的用例規(guī)約 79
5.4 行為建!80
5.4.1 順序圖建模 81
5.4.2 狀態(tài)建!83
習題五 85
第6章 軟件體系結構 86
6.1 軟件體系結構的概念 86
6.1.1 體系結構的由來 86
6.1.2 軟件體系結構的內容 86
6.1.3 軟件體系結構的目標 87
6.1.4 軟件體系結構的發(fā)展 87
6.1.5 體系結構風格、設計模式與軟件
框架 88
6.2 系統(tǒng)設計 89
6.2.1 問題架構 89
6.2.2 軟件設計原則 91
6.3 軟件體系結構風格 94
6.3.1 管道/過濾器風格 94
6.3.2 調用/返回風格 95
6.3.3 基于事件的隱式調用風格 98
6.3.4 倉庫風格 99
6.3.5 體系結構風格的選擇 100
6.4 軟件設計過程 100
習題六 103
第7章 面向對象設計 104
7.1 “好的”軟件設計 104
7.1.1 對象職責分配 104
7.1.2 GRASP職責分配原則 106
7.2 SOLID設計原則 109
7.3 類圖建!113
7.3.1 類的定義 113
7.3.2 類關系 115
7.3.3 類圖建!118
7.4 CRC卡片分揀法 119
7.5 設計模式 121
7.5.1 橋梁模式 122
7.5.2 其他常用GOF模式 125
習題七 127
第8章 編寫高質量代碼 129
8.1 程序設計語言 129
8.1.1 程序設計語言的發(fā)展及分類 129
8.1.2 程序設計語言的選擇 130
8.2 良好的編程風格 131
8.2.1 源程序文檔化 132
8.2.2 數(shù)據(jù)說明的方法 133
8.2.3 表達式和語句結構 133
8.2.4 輸入/輸出方面 133
8.3 程序的復雜性及度量 134
8.3.1 程序的復雜性 134
8.3.2 McCabe 度量法 134
8.3.3 Halstead方法 135
8.4 代碼審查與代碼優(yōu)化 136
8.4.1 代碼審查 136
8.4.2 代碼優(yōu)化 137
8.5 結對編程實踐 138
習題八 140
第9章 測試驅動的實現(xiàn) 141
9.1 軟件測試的目的與準則 141
9.1.1 軟件測試的目標 141
9.1.2 軟件測試的準則 142
9.2 軟件測試的類型 143
9.3 軟件測試的方法 145
9.3.1 測試用例 145
9.3.2 測試通過率和測試覆蓋率 146
9.3.3 黑盒測試方法 146
9.3.4 白盒測試方法 149
9.3.5 測試方法的選擇 152
9.4 軟件測試過程 153
9.4.1 單元測試 153
9.4.2 集成測試 155
9.4.3 確認測試 157
9.4.4 系統(tǒng)測試 158
9.5 回歸測試 159
9.6 本章小結 159
習題九 160
第10章 團隊開發(fā)管理 161
10.1 團隊組織與管理 161
10.1.1 人力資源規(guī)劃 162
10.1.2 開發(fā)團隊 163
10.1.3 團隊建設 164
10.1.4 團隊管理 166
10.2 項目溝通管理 167
10.3 項目估算 169
10.3.1 項目計劃 169
10.3.2 項目估算方法 170
習題十 173
第11章 敏捷開發(fā)與配置管理 174
11.1 敏捷開發(fā)之Scrum 174
11.1.1 Scrum框架之角色 174
11.1.2 Scrum框架之制品 175
11.1.3 Scrum框架之活動 177
11.2 用戶故事與估算 177
11.2.1 用戶故事 178
11.2.2 構造好的用戶故事 178
11.2.3 用戶故事的劃分 179
11.2.4 故事點估算 180
11.2.5 策劃撲克估算 182
11.3 軟件配置管理 183
11.4 配置管理工具Git 185
11.4.1 版本控制系統(tǒng) 186
11.4.2 版本庫操作 187
11.4.3 分支管理 188
習題十一 189
第12章 數(shù)字傳播工程 190
12.1 數(shù)字出版概述 190
12.1.1 數(shù)字出版及特征 190
12.1.2 數(shù)字出版與數(shù)字傳播 192
12.1.3 數(shù)字出版?zhèn)鞑サ默F(xiàn)狀 193
12.2 數(shù)字出版ERP選題系統(tǒng)設計與
實現(xiàn) 194
12.2.1 系統(tǒng)概述 194
12.2.2 選題系統(tǒng)的需求分析 195
12.2.3 選題系統(tǒng)的概要設計 201
12.2.4 選題詳細功能設計 208
12.2.5 選題系統(tǒng)的測試 215
12.3 數(shù)字出版技術發(fā)展趨勢 219
習題十二 221
第13章 軟件開發(fā)實踐 222
13.1 敏捷開發(fā)實踐之結對編程 222
13.1.1 待解決問題描述——生命游戲 222
13.1.2 若干結對編程實戰(zhàn) 223
13.2 UML建!228
13.2.1 待解決問題描述——網上選課
系統(tǒng) 228
13.2.2 用例建!228
13.2.3 行為建模 231
13.2.4 對象建!234
13.3 Git開發(fā)實踐 237
13.3.1 安裝配置Git 237
13.3.2 Git基本操作 238
13.3.3 Eclipse中使用Git進行版本
控制 240
參考文獻 242