《UML基礎:案例與套用(第3版修訂版)》是2020年3月人民郵電出版社出版的圖書,作者是[美]施穆勒。
基本介紹
- 中文名:UML基礎:案例與套用(第3版修訂版)
- 作者:[美]施穆勒
- ISBN:9787115471376
- 頁數:318頁
- 定價:59元
- 出版社:人民郵電出版社
- 出版時間:2020年3月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書教讀者循序漸進地、系統地學習UML基礎知識和套用技術。和前一版相比,本書內容根據UML 2.0進行了補充和更新。
本書包括四部分內容。第 一部分“基礎知識”包括第 1章到第 15章,主要介紹UML語言的基礎知識以及面向對象的概念和思想,還簡單介紹了UML在開發過程中的套用方法。第 二部分“學習案例”包括第 16章到第 22章,結合實例詳細分析了UML的套用方法與技巧,還介紹了UML在熱點領域設計模式中的套用。第三部分“高 級套用”包括第 23章和第 24章,先是運用UML來描述設計模式和嵌入式系統,然後討論UML在其他領域的套用前景。第四部分“附錄”給出了每章的小測驗答案,介紹了使用Microsoft Visio專業版繪製常用UML圖的方法和步驟,還對常用UML圖進行了總結。
本書適用於從事面向對象軟體開發的軟體工程人員,也特別適合UML的國中級學習者。
圖書目錄
第 一部分 基 礎 知 識
第 1章 UML簡介 1
1.1 在紛繁複雜中尋求解決問題的辦法 2
1.2 UML的誕生 2
1.3 UML的組成 3
1.3.1 類圖 3
1.3.2 對象圖 4
1.3.3 用例圖 5
1.3.4 狀態圖 5
1.3.5 順序圖 6
1.3.6 活動圖 7
1.3.7 協作圖 8
1.3.8 構件圖 9
1.3.9 部署圖 9
1.4 其他特徵 10
1.4.1 注釋 10
1.4.2 關鍵字和構造型 10
1.5 UML 2.0中的新圖 11
1.5.1 組成結構圖 11
1.5.2 互動縱覽圖 12
1.5.3 計時圖 13
1.5.4 有創新也有保留的包圖 13
1.6 為什麼需要這么多種圖 14
1.7 這不僅僅是一系列圖 14
1.8 小結 15
1.9 常見問題解答 15
1.10 小測驗和習題 16
1.10.1 小測驗 16
1.10.2 習題 16
第 2章 理解面向對象 18
2.1 無處不在的對象 18
2.2 一些面向對象的概念 20
2.2.1 抽象 20
2.2.2 繼承 21
2.2.3 多態性 22
2.2.4 封裝 22
2.2.5 訊息傳遞 23
2.2.6 關聯 24
2.2.7 聚集 25
2.3 意義 26
2.4 小結 27
2.5 常見問題解答 27
2.6 小測驗和習題 28
第3章 運用面向對象 29
3.1 類的可視化表示 29
3.2 屬性 30
3.3 操作 31
3.4 屬性、操作和可視化表達 32
3.5 職責和約束 33
3.6 附加注釋 34
3.7 類——應該做什麼和如何識別
它們 35
3.8 小結 37
3.9 常見問題解答 37
3.10 小測驗和習題 37
3.10.1 小測驗 37
3.10.2 習題 38
第4章 關係 39
4.1 關聯 39
4.1.1 關聯上的約束 40
4.1.2 關聯類 41
4.1.3 鏈 41
4.2 多重性 41
4.3 限定關聯 43
4.4 自身關聯 43
4.5 繼承和泛化 44
4.5.1 找出繼承關係 45
4.5.2 抽象類 46
4.6 依賴 46
4.7 類圖和對象圖 47
4.8 小結 48
4.9 常見問題解答 49
4.10 小測驗和習題 49
4.10.1 小測驗 49
4.10.2 習題 49
第5章 聚集、組成、接口和實現 51
5.1 聚集 51
5.2 組成 52
5.3 組成結構圖 52
5.4 接口和實現 53
5.5 接口和連線埠 56
5.5.1 可見性 56
5.5.2 作用域 57
5.6 小結 57
5.7 常見問題解答 58
5.8 小測驗和習題 58
5.8.1 小測驗 58
5.8.2 習題 58
第6章 介紹用例 59
6.1 什麼是用例 59
6.2 用例的重要性 60
6.3 舉例:飲料銷售機 60
6.3.1 用例“買飲料” 60
6.3.2 其他用例 61
6.4 包含用例 62
6.5 擴展用例 63
6.6 開始用例分析 64
6.7 小結 64
6.8 常見問題解答 64
6.9 小測驗和習題 65
6.9.1 小測驗 65
6.9.2 習題 65
第7章 用例圖 66
7.1 用例模型的表示法 66
7.1.1 回顧飲料銷售機 67
7.1.2 跟蹤場景中的步驟 67
7.2 用例之間關係的可視化表示 68
7.2.1 包含 68
7.2.2 擴展 69
7.2.3 泛化 70
7.2.4 分組 71
7.3 用例圖在分析過程中的作用 71
7.4 運用用例模型:舉例 71
7.4.1 理解領域 71
7.4.2 理解用戶 72
7.4.3 理解用例 73
7.4.4 進一步深入 74
7.5 “清查存貨” 75
7.5.1 結構元素 75
7.5.2 關係 75
7.5.3 分組 76
7.5.4 注釋 76
7.5.5 擴展 76
7.5.6 其他 76
7.6 UML“大圖” 76
7.7 小結 77
7.8 常見問題解答 77
7.9 小測驗和習題 77
7.9.1 小測驗 78
7.9.2 習題 78
第8章 狀態圖 79
8.1 什麼是狀態圖 79
8.1.1 基本符號集 80
8.1.2 在狀態圖示中增加細節 80
8.1.3 增加轉移的細節:事件和動作 81
8.1.4 增加轉移的細節:保護
條件 82
8.2 子狀態 82
8.2.1 順序子狀態 82
8.2.2 並發子狀態 83
8.3 歷史狀態 84
8.4 UML 2.0中的新變化 84
8.5 為什麼狀態圖很重要 85
8.6 UML“大圖” 85
8.7 小結 86
8.8 常見問題解答 87
8.9 小測驗和習題 87
8.9.1 小測驗 87
8.9.2 習題 87
第9章 順序圖 88
9.1 什麼是順序圖 88
9.1.1 對象 88
9.1.2 訊息 88
9.1.3 時間 89
9.2 汽車和車鑰匙 90
9.2.1 類圖 90
9.2.2 順序圖 91
9.3 飲料銷售機 92
9.4 順序圖:一般順序圖 95
9.5 在訊息序列中創建對象實例 96
9.6 幀化順序圖:UML 2.0中的
順序圖 98
9.6.1 互動事件 98
9.6.2 互動片段的組合 100
9.7 UML“大圖” 101
9.8 小結 102
9.9 常見問題解答 102
9.10 小測驗和習題 102
9.10.1 小測驗 103
9.10.2 習題 103
第 10章 協作圖 104
10.1 什麼是協作圖 104
10.2 汽車和車鑰匙 105
10.3 飲料銷售機 108
10.4 創建對象 109
10.5 編號的一點注意事項 109
10.6 其他概念 110
10.6.1 傳送給多對象的訊息 110
10.6.2 返回結果 110
10.6.3 主動對象 111
10.6.4 同步 111
10.7 UML“大圖” 112
10.8 小結 113
10.9 常見問題解答 113
10.10 小測驗和習題 113
10.10.1 小測驗 113
10.10.2 習題 114
第 11章 活動圖 115
11.1 基礎:什麼是活動圖 115
11.1.1 判定 116
11.1.2 並發路徑 116
11.1.3 信號 117
11.2 活動圖的套用 117
11.3 泳道 118
11.4 混合圖 120
11.5 UML 2.0中的新概念 121
11.5.1 一個活動的對象 121
11.5.2 處理異常 122
11.5.3 活動的析構 122
11.5.4 標記時間並結束流程 123
11.5.5 特殊影響 124
11.6 對一個互動的縱覽 125
11.7 UML“大圖” 128
11.8 小結 128
11.9 常見問題解答 129
11.10 小測驗和習題 130
11.10.1 小測驗 130
11.10.2 習題 130
第 12章 構件圖 131
12.1 什麼是構件 131
12.2 構件和接口 131
12.2.1 回顧接口 132
12.2.2 替換和復用 132
12.3 什麼是構件圖 133
12.3.1 在UML 1.x和UML 2.0中表示一個構件 133
12.3.2 接口表示法 134
12.3.3 黑盒和白盒 135
12.4 套用構件圖 135
12.5 UML“大圖”中的構件圖 139
12.6 小結 140
12.7 常見問題解答 140
12.8 小測驗和習題 141
12.8.1 小測驗 141
12.8.2 習題 141
第 13章 部署圖 142
13.1 什麼是部署圖 142
13.2 套用部署圖 144
13.2.1 家用計算機系統 144
13.2.2 令牌環網 145
13.2.3 ARCnet 146
13.2.4 細纜乙太網 146
13.2.5 Ricochet無線網 147
13.3 UML“大圖”中的部署圖 148
13.4 小結 149
13.5 常見問題解答 149
13.6 小測驗和習題 149
13.6.1 小測驗 149
13.6.2 習題 149
第 14章 理解包和UML語言基礎 150
14.1 包圖 150
14.1.1 包的作用 150
14.1.2 包之間的關係 151
14.1.3 合併包 152
14.2 層級 153
14.2.1 一個類比 154
14.2.2 繼續 155
14.3 大膽深入 155
14.4 用包表示UML的底層結構 156
14.4.1 Core包 157
14.4.2 Profiles包 158
14.5 回到UML 160
14.5.1 又見4層結構 161
14.5.2 用包表示UML的上層
結構 161
14.6 UML的擴展 163
14.6.1 構造型 163
14.6.2 圖形構造型 164
14.6.3 約束 165
14.6.4 標記值 165
14.7 小結 165
14.8 常見問題解答 165
14.9 小測驗和習題 166
14.9.1 小測驗 166
14.9.2 練習 166
第 15章 在開發過程中運用UML 167
15.1 開發過程方法學:傳統的和
現代的 167
15.1.1 傳統的開發過程方
法學 167
15.1.2 新的開發過程方法學 168
15.2 開發過程中必須做什麼 168
15.3 GRAPPLE 169
15.4 RAD3:GRAPPLE的結構 170
15.4.1 需求收集 171
15.4.2 分析 172
15.4.3 設計 173
15.4.4 開發 174
15.4.5 部署 174
15.5 GRAPPLE總結 175
15.6 小結 175
15.7 常見問題解答 175
15.8 小測驗和習題 176
第 二部分 學 習 案 例
第 16章 學習案例介紹 177
16.1 從業務入手 177
16.2 用GRAPPLE開發過程解決
問題 177
16.3 發現業務過程 178
16.3.1 招待一位顧客 178
16.3.2 準備飯菜 185
16.3.3 清理餐桌 186
16.4 吸取的經驗教訓 186
16.5 小結 187
16.6 常見問題解答 187
16.7 小測驗和習題 188
16.7.1 小測驗 188
16.7.2 習題 188
第 17章 領域分析 189
17.1 分析業務過程會談 189
17.2 開發初步類圖 190
17.3 對類分組 191
17.4 形成關聯 193
17.4.1 Customer參與的關聯 193
17.4.2 Server參與的關聯 195
17.4.3 Chef參與的關聯 197
17.4.4 Busser參與的關聯 197
17.4.5 Manager參與的關聯 197
17.4.6 其他問題 198
17.5 形成聚集和組成 199
17.6 填充類的信息 200
17.6.1 Customer類 200
17.6.2 Employee類 200
17.6.3 Check類 202
17.7 有關模型的一些問題 202
17.7.1 模型詞典 202
17.7.2 模型圖的組織 202
17.8 吸取的經驗教訓 203
17.9 小結 203
17.10 常見問題解答 203
17.11 小測驗和習題 203
17.11.1 小測驗 204
17.11.2 習題 204
第 18章 收集系統需求 205
18.1 開發系統的映像 207
18.2 收集系統需求 211
18.3 需求聯合套用開發會議 211
18.4 結果 214
18.5 下一步該做什麼 216
18.6 小結 216
18.7 常見問題解答 216
18.8 小測驗和習題 217
18.8.1 小測驗 217
18.8.2 習題 217
第 19章 開發用例 218
19.1 分析和描述用例 218
19.2 用例分析 218
19.3 Server包 219
19.3.1 用例“Take an Order” 220
19.3.2 用例“Transmit the Order
to the Kitchen” 220
19.3.3 用例“Change an
Order” 221
19.3.4 用例“Track Order
Status” 221
19.3.5 用例“Notify Chef about
Party Status” 222
19.3.6 用例“Total Up a
Check” 223
19.3.7 用例“Print a Check” 223
19.3.8 用例“Summon
an Assistant” 224
19.3.9 其餘的用例 225
19.4 系統中的構件 225
19.5 小結 226
19.6 常見問題解答 226
19.7 小測驗和習題 227
19.7.1 小測驗 227
19.7.2 習題 227
第 20章 互動 228
20.1 系統中的工作部件 228
20.1.1 Server包 228
20.1.2 Chef包 229
20.1.3 Busser包 229
20.1.4 Assistant Server包 229
20.1.5 Assistant Chef包 229
20.1.6 Bartender Chef包 230
20.1.7 Coat-Check Clerk包 230
20.2 系統中的互動 230
20.2.1 用例“Take an Order” 230
20.2.2 用例“Change an
Order” 232
20.2.3 用例“Track Order
Status” 233
20.3 結論 234
20.4 小結 234
20.5 常見問題解答 235
20.6 小測驗和習題 235
20.6.1 小測驗 235
20.6.2 習題 236
第 21章 設計外觀、感覺和部署 237
21.1 GUI設計的一般原則 237
21.2 用於GUI設計的 JAD
Session 239
21.3 從用例到用戶界面 239
21.4 用於GUI設計的UML圖 241
21.5 描繪出系統的部署 242
21.5.1 網路 242
21.5.2 節點和系統部署圖 243
21.6 下一步 244
21.7 聽聽項目的發起人怎么說 244
21.7.1 擴展銷售區的地理
範圍 244
21.7.2 擴展餐館的地理範圍 245
21.8 小結 246
21.9 常見問題解答 246
21.10 小測驗和習題 247
21.10.1 小測驗 247
21.10.2 習題 247
第 22章 理解設計模式 248
22.1 參數化 248
22.2 設計模式 250
22.3 職責鏈模式 251
22.3.1 職責鏈模式:餐館
領域 252
22.3.2 職責鏈模式:Web瀏覽
器事件模型 253
22.4 我們自己的設計模式 254
22.5 使用設計模式的好處 256
22.6 小結 256
22.7 常見問題解答 257
22.8 小測驗和習題 257
22.8.1 小測驗 257
22.8.2 習題 257
第三部分 高 級 應 用
第 23章 嵌入式系統建模 258
23.1 回到餐館 258
23.2 發明之母 258
23.3 研製GetAGrip 259
23.4 什麼是嵌入式系統 261
23.5 嵌入式系統中的基本概念 261
23.5.1 時間 261
23.5.2 執行緒 261
23.5.3 中斷 262
23.5.4 作業系統 263
23.6 對GetAGrip系統建模 265
23.6.1 類 265
23.6.2 用例 267
23.6.3 互動 267
23.6.4 整體狀態變化 270
23.6.5 整體部署 270
23.7 鍛鍊肌肉 271
23.8 小結 271
23.9 常見問題解答 272
23.10 小測驗和習題 272
23.10.1 小測驗 272
23.10.2 習題 272
第 24章 描繪UML的未來 273
24.1 在業務領域的擴展 273
24.2 從業務領域的擴展得到的經驗 274
24.3 圖形用戶界面 274
24.3.1 連線到用例 274
24.3.2 GUI建模 275
24.4 專家系統 276
24.4.1 專家系統的構件 276
24.4.2 舉例 278
24.4.3 知識庫建模 279
24.5 Web套用 281
24.6 就寫到這裡吧 283
24.7 小結 283
24.8 常見問題解答 283
24.9 小測驗和習題 284
24.9.1 小測驗 284
24.9.2 習題 284
第四部分 附 錄
附錄A 小測驗答案 285
附錄B UML建模工具 294
附錄C UML圖總結 312