定 價(jià):39.8 元
叢書名: 21世紀(jì)高等教育計(jì)算機(jī)規(guī)劃教材
- 作者:鐘珞、袁勝瓊、袁景凌、李琳
- 出版時(shí)間:2017/1/1
- ISBN:9787115446497
- 出 版 社:人民郵電出版社
- 中圖法分類:H31
- 頁碼:243
- 紙張:膠版紙
- 版次:1
- 開本:16K
教材主要包含四個(gè)部分:第一部分是對軟件工程的一般性介紹,包括軟件及軟件工程過程等的基本概念;第二部分主要介紹面向?qū)ο蟮脑O(shè)計(jì)及設(shè)計(jì)模式的使用;第三部分介紹團(tuán)隊(duì)開發(fā)管理和敏捷開發(fā)方法;第四部分面向特定領(lǐng)域的軟件工程-數(shù)字傳媒工程的興起。
1. 以案例分析貫穿教材,適宜教師開展項(xiàng)目式教學(xué)。
2. 對軟件工程以及軟件開發(fā)熱點(diǎn)問題展開討論,有利于學(xué)生把握前沿,盡早確定研究方向。
3. 加入很多諸如敏捷開發(fā)、數(shù)字傳媒技術(shù)等主題的新材料, 并以數(shù)字傳媒為契機(jī),探討面向特定領(lǐng)域的軟件工程。
第1章 軟件工程概述 1
1.1 軟件及其特性 1
1.2 軟件工程的產(chǎn)生與發(fā)展 2
1.2.1 軟件危機(jī) 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 開放計(jì)算 9
1.4.3 云計(jì)算 10
習(xí)題一 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 可轉(zhuǎn)換模型 18
2.3 敏捷開發(fā)過程 18
2.3.1 敏捷方法的由來 19
2.3.2 計(jì)劃驅(qū)動(dòng)開發(fā)和敏捷開發(fā) 20
2.3.3 敏捷方法 21
習(xí)題二 23
第3章 對象模型 24
3.1 面向?qū)ο蠡A(chǔ) 24
3.1.1 面向?qū)ο蟮幕靖拍睢?5
3.1.2 對象、屬性與方法 26
3.2 面向?qū)ο蠓椒ǖ囊亍?7
3.2.1 對象元素的訪問控制 30
3.2.2 對象職責(zé) 32
3.2.3 通過繼承和組合實(shí)現(xiàn)重用和擴(kuò)展 32
3.3 統(tǒng)一建模語言UML 33
3.3.1 UML的基本實(shí)體 33
3.3.2 UML圖的使用實(shí)例 34
習(xí)題三 37
第4章 需求獲取 38
4.1 需求分析與用戶故事 38
4.2 需求及其分類 41
4.2.1 需求的定義 41
4.2.2 需求的內(nèi)容 41
4.2.3 需求的分類 42
4.3 需求獲取技術(shù) 44
4.4 需求分析方法 47
4.4.1 結(jié)構(gòu)化分析 47
4.4.2 面向?qū)ο蠓治觥?0
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
習(xí)題四 68
第5章 用例建模 69
5.1 用例模型的基本概念 69
5.1.1 系統(tǒng) 69
5.1.2 參與者 70
5.1.3 用例 71
5.1.4 關(guān)系 71
5.2 用例建模過程 73
5.2.1 尋找參與者 74
5.2.2 尋找用例 75
5.3 用例建模技巧 77
5.3.1 用例定義與功能分解 77
5.3.2 關(guān)聯(lián)關(guān)系的確定 78
5.3.3 詳細(xì)的用例規(guī)約 79
5.4 行為建!80
5.4.1 順序圖建模 81
5.4.2 狀態(tài)建!83
習(xí)題五 85
第6章 軟件體系結(jié)構(gòu) 86
6.1 軟件體系結(jié)構(gòu)的概念 86
6.1.1 體系結(jié)構(gòu)的由來 86
6.1.2 軟件體系結(jié)構(gòu)的內(nèi)容 86
6.1.3 軟件體系結(jié)構(gòu)的目標(biāo) 87
6.1.4 軟件體系結(jié)構(gòu)的發(fā)展 87
6.1.5 體系結(jié)構(gòu)風(fēng)格、設(shè)計(jì)模式與軟件
框架 88
6.2 系統(tǒng)設(shè)計(jì) 89
6.2.1 問題架構(gòu) 89
6.2.2 軟件設(shè)計(jì)原則 91
6.3 軟件體系結(jié)構(gòu)風(fēng)格 94
6.3.1 管道/過濾器風(fēng)格 94
6.3.2 調(diào)用/返回風(fēng)格 95
6.3.3 基于事件的隱式調(diào)用風(fēng)格 98
6.3.4 倉庫風(fēng)格 99
6.3.5 體系結(jié)構(gòu)風(fēng)格的選擇 100
6.4 軟件設(shè)計(jì)過程 100
習(xí)題六 103
第7章 面向?qū)ο笤O(shè)計(jì) 104
7.1 “好的”軟件設(shè)計(jì) 104
7.1.1 對象職責(zé)分配 104
7.1.2 GRASP職責(zé)分配原則 106
7.2 SOLID設(shè)計(jì)原則 109
7.3 類圖建!113
7.3.1 類的定義 113
7.3.2 類關(guān)系 115
7.3.3 類圖建模 118
7.4 CRC卡片分揀法 119
7.5 設(shè)計(jì)模式 121
7.5.1 橋梁模式 122
7.5.2 其他常用GOF模式 125
習(xí)題七 127
第8章 編寫高質(zhì)量代碼 129
8.1 程序設(shè)計(jì)語言 129
8.1.1 程序設(shè)計(jì)語言的發(fā)展及分類 129
8.1.2 程序設(shè)計(jì)語言的選擇 130
8.2 良好的編程風(fēng)格 131
8.2.1 源程序文檔化 132
8.2.2 數(shù)據(jù)說明的方法 133
8.2.3 表達(dá)式和語句結(jié)構(gòu) 133
8.2.4 輸入/輸出方面 133
8.3 程序的復(fù)雜性及度量 134
8.3.1 程序的復(fù)雜性 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 結(jié)對編程實(shí)踐 138
習(xí)題八 140
第9章 測試驅(qū)動(dòng)的實(shí)現(xiàn) 141
9.1 軟件測試的目的與準(zhǔn)則 141
9.1.1 軟件測試的目標(biāo) 141
9.1.2 軟件測試的準(zhǔn)則 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 確認(rèn)測試 157
9.4.4 系統(tǒng)測試 158
9.5 回歸測試 159
9.6 本章小結(jié) 159
習(xí)題九 160
第10章 團(tuán)隊(duì)開發(fā)管理 161
10.1 團(tuán)隊(duì)組織與管理 161
10.1.1 人力資源規(guī)劃 162
10.1.2 開發(fā)團(tuán)隊(duì) 163
10.1.3 團(tuán)隊(duì)建設(shè) 164
10.1.4 團(tuán)隊(duì)管理 166
10.2 項(xiàng)目溝通管理 167
10.3 項(xiàng)目估算 169
10.3.1 項(xiàng)目計(jì)劃 169
10.3.2 項(xiàng)目估算方法 170
習(xí)題十 173
第11章 敏捷開發(fā)與配置管理 174
11.1 敏捷開發(fā)之Scrum 174
11.1.1 Scrum框架之角色 174
11.1.2 Scrum框架之制品 175
11.1.3 Scrum框架之活動(dòng) 177
11.2 用戶故事與估算 177
11.2.1 用戶故事 178
11.2.2 構(gòu)造好的用戶故事 178
11.2.3 用戶故事的劃分 179
11.2.4 故事點(diǎn)估算 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
習(xí)題十一 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)設(shè)計(jì)與
實(shí)現(xiàn) 194
12.2.1 系統(tǒng)概述 194
12.2.2 選題系統(tǒng)的需求分析 195
12.2.3 選題系統(tǒng)的概要設(shè)計(jì) 201
12.2.4 選題詳細(xì)功能設(shè)計(jì) 208
12.2.5 選題系統(tǒng)的測試 215
12.3 數(shù)字出版技術(shù)發(fā)展趨勢 219
習(xí)題十二 221
第13章 軟件開發(fā)實(shí)踐 222
13.1 敏捷開發(fā)實(shí)踐之結(jié)對編程 222
13.1.1 待解決問題描述——生命游戲 222
13.1.2 若干結(jié)對編程實(shí)戰(zhàn) 223
13.2 UML建!228
13.2.1 待解決問題描述——網(wǎng)上選課
系統(tǒng) 228
13.2.2 用例建!228
13.2.3 行為建模 231
13.2.4 對象建!234
13.3 Git開發(fā)實(shí)踐 237
13.3.1 安裝配置Git 237
13.3.2 Git基本操作 238
13.3.3 Eclipse中使用Git進(jìn)行版本
控制 240
參考文獻(xiàn) 242