《UML2軟體建模入門與提高》是2015年由清華大學出版社出版的圖書,作者是李勇、楊曉軍。
基本介紹
- 書名:《UML2軟體建模入門與提高》
- 作者:李勇、楊曉軍
- ISBN:9787302386100
- 定價:56元
- 出版社:清華大學出版社
- 出版時間:2015-1-9
- 裝幀:平裝
圖書簡介,目錄,
圖書簡介
本書從初學者的角度出發,由淺入深、循序漸進地介紹統一建模語言UML的相關知識,書中提供了大量操作UML的示例。另外,還向讀者提供了很多實戰案例和上機練習,用於演練。
目錄
第1章面向對象和軟體建模 1
1.1模型 2
1.2面向對象的思想 3
1.2.1了解面向對象 3
1.2.2面向對象的三大要素 5
1.2.3面向對象的三大模型 7
1.2.4面向對象的常用三層 8
1.2.5面向對象的開發方法 10
1.3軟體建模 11
1.3.1軟體建模概述 11
1.3.2建模的三要素 11
1.3.3面向對象建模 12
1.4建模分類 14
1.4.1業務建模 14
1.4.2數據建模 16
1.4.3應用程式建模 16
1.5思考與練習 17
第2章UML入門基礎 19
2.1UML概述 20
2.1.1UML簡介 20
2.1.2UML發展歷史 21
2.1.3UML的目標 22
2.2UML的基本組成 23
2.2.1建模元素 23
2.2.2關係 26
2.2.3圖 28
2.2.4規則 30
2.2.5通用機制 31
2.2.6UML標準通用機制 34
2.3UML其他內容 40
2.3.1UML的體系結構 40
2.3.2UML建模流程 41
2.3.3UML的套用領域 42
2.4UML2.0概述 42
2.5思考與練習 44
第3章UML建模工具 45
3.1使用建模工具需知 46
3.1.1建模工具的作用 46
3.1.2選擇建模工具的方法 47
3.1.3常用建模工具 48
3.2Visio2010 49
3.2.1Visio2010簡介 49
3.2.2實戰——繪製論壇系統的用例圖 51
3.3EnterpriseArchitect8 54
3.3.1EnterpriseArchitect8簡介 54
3.3.2實戰——繪製論壇系統的類圖 57
3.4PowerDesigner16.5 61
3.4.1PowerDesigner簡介 62
3.4.2實戰——安裝
PowerDesigner16.5 63
3.4.3實戰——繪製活動圖 65
3.4.4實戰——生成模型報告 68
3.4.5實戰——對MySQL進行反向工程 70
3.5思考與練習 73
第4章用例圖 75
4.1用例圖簡介 76
4.2用例圖的構成 78
4.2.1系統 78
4.2.2參與者 79
4.2.3用例 79
4.2.4關係 80
4.3使用參與者 81
4.3.1參與者的確定 81
4.3.2參與者的使用 82
4.4用例的使用 83
4.4.1識別用例 83
4.4.2用例描述 87
4.5關係 88
4.5.1關聯關係 88
4.5.2泛化關係 89
4.5.3包含關係 90
4.5.4擴展關係 91
4.6實戰——圖書館管理系統用例圖 92
4.7思考與練習 97
第5章類圖 101
5.1類圖和元素 102
5.1.1類圖概述 102
5.1.2類 104
5.1.3抽象類 109
5.1.4接口 109
5.2依賴關係 110
5.2.1依賴關係概述 110
5.2.2依賴關係分類 111
5.3關聯關係 113
5.3.1關聯關係概述 113
5.3.2常見的關聯 118
5.3.3聚合關聯 121
5.3.4組合關聯 122
5.3.5建立關聯 123
5.4泛化關係 123
5.4.1泛化關係概述 124
5.4.2常用的泛化 125
5.4.3泛化集 126
5.4.4泛化約束 127
5.5實現關係 128
5.6類圖建模步驟 130
5.7實戰——構建病房監護系統的類型 131
5.8思考與練習 133
第6章對象圖和包圖 137
6.1了解對象 138
6.1.1對象概述 138
6.1.2對象符號 139
6.2對象圖 142
6.2.1對象圖概述 142
6.2.2繪製和閱讀對象圖 143
6.2.3使用對象圖建模 144
6.3對象圖和類圖 144
6.4實戰——繪製訂單管理系統的對象圖 145
6.5了解包 146
6.5.1包概述 146
6.5.2包的符號 147
6.6包圖 149
6.6.1包圖概述 149
6.6.2包圖分類 150
6.6.3包導入和包合併 152
6.6.4使用包圖建模 154
6.6.5包圖設計原則 154
6.7實戰——繪製劇院系統的包圖 157
6.8思考與練習 159
第7章狀態機圖 161
7.1狀態機圖簡介 162
7.1.1狀態機概述 162
7.1.2狀態機標記 163
7.1.3狀態類型 165
7.1.4狀態機圖的套用 166
7.2轉移 167
7.2.1轉移簡介 167
7.2.2事件 168
7.2.3動作 170
7.2.4活動與延遲事件 171
7.2.5轉移的類型 172
7.3組合狀態 174
7.3.1順序狀態 174
7.3.2並髮狀態 174
7.3.3同步狀態 175
7.3.4歷史狀態 175
7.3.5子狀態機引用 176
7.4實戰——自動存取款系統狀態機圖 178
7.5思考與練習 180
第8章活動圖 181
8.1活動圖的基本概念 182
8.1.1活動圖的定義 182
8.1.2活動圖的作用 182
8.1.3活動圖的主要元素 183
8.1.4理解活動與動作 184
8.1.5活動圖與狀態圖的區別 186
8.2活動圖的元素詳解 186
8.2.1動作狀態 186
8.2.2活動狀態 186
8.2.3開始和結束狀態 187
8.2.4分支與合併 188
8.2.5分叉與匯合 190
8.2.6對象流 191
8.2.7泳道 192
8.3活動轉換 193
8.3.1轉移 193
8.3.2判定 194
8.3.3傳送和接收信號動作 195
8.3.4事件和觸發器 195
8.3.5可中斷區間 196
8.3.6異常 197
8.4實戰——活動圖的套用 198
8.5思考與練習 200
第9章順序圖和時間圖 203
9.1順序圖簡介 204
9.2順序圖的構成 205
9.2.1對象 205
9.2.2生命線和激活期 208
9.2.3訊息 209
9.2.4序號 210
9.2.5參數 212
9.2.6激活期規範 213
9.3訊息類型 217
9.3.1同步訊息 217
9.3.2異步訊息 218
9.3.3反身訊息 219
9.3.4接收傳送訊息 220
9.3.5訊息分支和從屬流 220
9.4組合片段 222
9.4.1組合片段簡介 222
9.4.2選項組合片段 224
9.4.3備選組合片段 225
9.4.4循環組合片段 226
9.4.5引用組合片段 227
9.5時間圖 228
9.5.1時間圖概述 228
9.5.2時間圖的構成 229
9.5.3時間約束 234
9.5.4替代表示法 235
9.6實戰——團購系統順序圖 236
9.7思考與練習 241
第10章通信圖和互動概覽圖 245
10.1通信圖簡介 246
10.1.1通信圖概述 246
10.1.2對象與類角色 247
10.1.3關聯角色與連結 248
10.1.4訊息 250
10.2訊息序號和控制點 251
10.2.1訊息序號 252
10.2.2訊息控制點 252
10.3創建對象 253
10.4訊息疊代 253
10.4.1對象的疊代 254
10.4.2訊息的疊代 254
10.5互動圖 255
10.6互動概覽圖 256
10.6.1互動概覽圖簡介 256
10.6.2繪製互動概覽圖 257
10.7實戰——線上報考系統的互動圖 257
10.8思考與練習 259
第11章繪製UML的實現圖 261
11.1了解組件 262
11.1.1組件概述 262
11.1.2組件的符號 262
11.2組件圖 265
11.2.1組件圖概述 265
11.2.2組件間的關係 267
11.2.3組件圖和類圖 268
11.2.4實戰——繪製組件圖 268
11.3使用組件圖建模 269
11.3.1對原始碼建模 270
11.3.2對可執行體的發布建模 270
11.3.3對物理資料庫建模 271
11.3.4對可適應的系統建模 272
11.4了解節點 272
11.4.1節點的符號 272
11.4.2節點和組件的區別 273
11.5部署圖 274
11.5.1部署圖概述 274
11.5.2部署圖的關係 275
11.5.3實戰——繪製部署圖 276
11.6使用部署圖建模 278
11.6.1對嵌入式系統建模 278
11.6.2對客戶/伺服器建模 279
11.6.3對全分散式系統建模 280
11.7思考與練習 281
第12章UML到關係型資料庫的映射 285
12.1關係型資料庫與UML模型 286
12.1.1關係型資料庫管理系統 286
12.1.2UML模型 286
12.2基本結構映射 287
12.2.1主鍵的生成 287
12.2.2屬性類型到域的映射 288
12.2.3屬性到列的映射 289
12.3泛化關係的映射 289
12.3.1所有類的映射 289
12.3.2除無屬性外類的映射 291
12.3.3父類屬性下移 291
12.3.4子類屬性上移 292
12.3.5映射方法比較 293
12.4關聯關係的映射 294
12.4.1一對一關聯的映射 294
12.4.2零或一對一關聯的映射 295
12.4.3一對多關聯的映射 295
12.4.4多對多關聯的映射 297
12.4.5聚合和組合關係的映射 298
12.4.6映射時應避免的情況 298
12.5完整性與約束檢查 299
12.5.1父表的約束 300
12.5.2子表的約束 301
12.6其他相關問題 302
12.6.1存儲過程 302
12.6.2觸發器 302
12.6.3索引 303
12.7實戰——軟體公司UML模型的映射 303
12.8思考與練習 305
第13章UML與統一過程 309
13.1軟體開發過程簡介 310
13.2定義和理解軟體工程的過程 311
13.3軟體成熟標準:CMM 311
13.3.1使用CMM的意義 311
13.3.2CMM等級 312
13.3.3CMM框架 314
13.3.4CMM結構 315
13.4RUP簡介 316
13.4.1使用RUP的意義 316
13.4.2什麼是RUP 317
13.4.3RUP的特點 318
13.4.4RUP六大開發經驗 320
13.5RUP二維開發模型 321
13.5.1時間維 322
13.5.2RUP的靜態結構 324
13.6RUP工作流程 326
13.6.1初始階段 326
13.6.2細化階段 327
13.6.3構造階段 328
13.6.4交付階段 329
13.7RUP的核心工作流 329
13.7.1商業建模 329
13.7.2需求 329
13.7.3分析和設計 331
13.7.4實現 332
13.7.5測試 332
13.7.6部署 333
13.7.7配置和變更管理 333
13.7.8項目管理 334
13.7.9環境 334
13.8如何在過程中使用UML 334
13.8.1以架構為中心 334
13.8.2用例驅動 335
13.8.3UML對疊代開發的支持 335
13.8.4UML圖與工作流程之間的關係 336
13.9思考與練習 336
第14章UML與Java語言映射 339
14.1模型映射為Java的實現 340
14.1.1轉換為Java類 340
14.1.2轉換原則 341
14.2實現常見關聯 342
14.2.1基本關聯 342
14.2.2強制對可選或者強制關聯 343
14.2.3可選對可選關聯 344
14.2.4可選對多關聯 345
14.2.5強制對多關聯 346
14.2.6多對多關聯 346
14.2.7關聯類的實現 347
14.2.8聚合關聯的實現 348
14.2.9組合關聯的實現 348
14.3實現泛化 349
14.4特殊模型的映射 350
14.4.1包 350
14.4.2接口 350
14.4.3枚舉 352
14.5實戰——類圖與Java的工程化 352
14.5.1正向工程 352
14.5.2逆向工程 355
14.6思考與練習 357
第15章UML與設計模式 359
15.1了解模式 360
15.2軟體設計模式 360
15.2.1了解設計模式 360
15.2.2設計模式的誕生 362
15.2.3設計模式的原則 363
15.2.4設計模式的分類 364
15.3設計模式的元素 366
15.3.1關鍵元素 366
15.3.2其他元素 367
15.4創建型模式 367
15.4.1了解創建型模式 368
15.4.2簡單工廠模式 368
15.4.3工廠方法模式 372
15.4.4抽象工廠模式 375
15.4.5單例模式 380
15.5結構型模式 384
15.5.1了解結構型模式 384
15.5.2適配器模式 385
15.5.3外觀模式 388
15.6觀察者模式 390
15.6.1了解觀察者模式 390
15.6.2實戰——自定義觀察者模式 391
15.7思考與練習 393
第16章即時通信系統 395
16.1系統建模概述 396
16.1.1系統開發的背景 396
16.1.2系統建模的基本步驟 396
16.2系統分析 397
16.2.1系統結構 397
16.2.2需求分析 398
16.3用例圖 398
16.3.1確定參與者 399
16.3.2確定用例 399
16.3.3繪製系統用例圖 400
16.4靜態圖 402
16.4.1即時通信類 402
16.4.2即時通信類圖 404
16.5行為圖 405
16.5.1行為分析 405
16.5.2用戶聊天的活動圖 406
16.5.3可疑言論處理活動圖 406
16.6互動圖 408
16.6.1用戶登錄順序圖 408
16.6.2離線訊息順序圖 409
16.6.3言論處理順序圖 409
16.6.4線上通信順序圖 410
16.6.5互動概覽圖 411
16.7組件圖 412
附錄各章思考與練習答案 415