UML面向對象設計與分析教程
內容描述
《UML面向對象設計與分析教程》全面講述面向對象設計與分析技術和統一建模語言(UML)的基本內容和相關知識。全書共分為11章,深入介紹面向對象的基本概念、UML視圖、UML模型圖、需求分析、靜態分析、動態分析、用例圖模型、類圖和對象圖建模、交互模型、行為模型、系統設計模型、軟件開發過程等內容。 《UML面向對象設計與分析教程》內容豐富、結構合理、思路清晰、語言簡練流暢、示例翔實,主要針對面向對象技術初學者,適合作為高等院校軟件開發技術及相關專業、軟件工程專業的教材,還可作為軟件系統開發人員的參考資料。 《UML面向對象設計與分析教程》的電子課件和習題答案可以到http://www.tupwk.com.cn/downpage網站下載,也可通過掃描封底的二維碼下載。
目錄大綱
目 錄
第1章 面向對象與UML 1
1.1 面向對象介紹 1
1.1.1 軟件系統概述 2
1.1.2 軟件工程 3
1.1.3 面向對象的含義 6
1.1.4 什麼是對象 8
1.1.5 類 10
1.1.6 封裝、信息隱藏和消息傳遞 12
1.1.7 繼承與多態 14
1.2 面向對象的開發模式 16
1.2.1 面向對象程序的工作原理 17
1.2.2 面向對象方法論 18
1.2.3 面向對象建模 20
1.2.4 對概念而非實現建模 21
1.2.5 面向對象分析與面向對象設計 22
1.3 UML帶來了什麼 24
1.3.1 什麼是UML 25
1.3.2 UML與面向對象軟件開發 25
1.4 UML建模工具 28
1.4.1 UML建模工具概述 28
1.4.2 常用的UML建模工具 29
1.4.3 三種常用UML建模工具的性能對比 30
1.5 小結 30
1.6 思考練習 31
第2章 UML構成與建模工具Rational Rose簡介 33
2.1 UML表示法 33
2.1.1 用例圖 34
2.1.2 類圖 34
2.1.3 對像圖 35
2.1.4 序列圖 35
2.1.5 協作圖 36
2.1.6 狀態圖 36
2.1.7 活動圖 37
2.1.8 構件圖 38
2.1.9 部署圖 38
2.2 UML視圖 39
2.2.1 UML視圖概述 39
2.2.2 用例視圖 41
2.2.3 邏輯視圖 43
2.2.4 並發視圖 45
2.2.5 構件視圖 45
2.2.6 部署視圖 46
2.3 UML元素 46
2.3.1 參與者 47
2.3.2 用例 48
2.3.3 關係 48
2.3.4 包 50
2.3.5 構件 50
2.3.6 節點 50
2.3.7 構造型 50
2.4 UML公共機制 51
2.4.1 規格說明 51
2.4.2 修飾 51
2.4.3 通用劃分 52
2.4.4 擴展機制 52
2.5 Rational Rose簡介 53
2.5.1 Rational Rose的啟動與主界面 53
2.5.2 使用Rational Rose建模 58
2.5.3 Rational Rose全局選項設置 59
2.5.4 Rational Rose視圖 61
2.5.5 Rational Rose雙向工程 62
2.6 小結 72
2.7 思考練習 73
第3章 需求分析與用例建模 75
3.1 需求分析 75
3.1.1 軟件需求的含義 76
3.1.2 需求分析的要點和難點 76
3.1.3 如何做需求分析 78
3.2 參與者 79
3.2.1 參與者的定義 79
3.2.2 參與者的確定 80
3.2.3 參與者之間的關係 81
3.2.4 業務主角與業務工人 81
3.2.5 參與者與用戶的關係 83
3.3 用例 83
3.3.1 用例定義 83
3.3.2 用例特點 84
3.3.3 用例間關係 85
3.3.4 用例描述 87
3.3.5 用例粒度 90
3.3.6 業務用例和系統用例 91
3.4 建立用例圖模型 92
3.4.1 創建用例圖 92
3.4.2 用例圖的工具欄按鈕 93
3.4.3 創建參與者與用例 93
3.4.4 創建關係 94
4.4.5 用例圖建模案例 95
3.5 小結 97
3.6 思考練習 97
第4章 靜態分析與類圖 99
4.1 類圖的定義 99
4.1.1 類圖概述 99
4.1.2 類及類的表示 100
4.1.3 接口 104
4.1.4 類之間的關係 104
4.1.5 基本類型的使用 105
4.2 類之間的關係 105
4.2.1 關聯關係 105
4.2.2 泛化關係 109
4.2.3 依賴關係 111
4.2.4 實現關係 112
4.3 系統靜態分析技術 112
4.3.1 如何獲取類 113
4.3.2 領域分析 113
4.3.3 保持模型簡單 114
4.3.4 啟發式方法 114
4.3.5 靜態分析過程中的技巧 115
4.4 構造類圖模型 115
4.4.1 創建類 116
4.4.2 創建類與類之間的關係 117
4.4.3 案例分析 118
4.5 小結 121
4.6 思考練習 121
第5章 靜態分析與對像圖 123
5.1 對像簡介 123
5.1.1 對象的概念 123
5.1.2 封裝 126
5.1.3 關聯和聚合 126
5.2 對像圖 128
5.2.1 對像圖的表示法 128
5.2.2 鏈的可導航性 129
5.2.3 消息 130
5.2.4 啟動操作 131
5.2.5 面向對象程序的工作原理 132
5.2.6 垃圾收集 133
5.2.7 術語 134
5.2.8 類圖與對像圖的區別 135
5.3 對像圖建模 135
5.3.1 使用Rational Rose建立對像圖 135
5.3.2 對象屬性建模詳解 136
5.3.3 關聯類 138
5.3.4 有形對象和無形對象 139
5.3.5 好的對象 141
5.4 小結 142
5.5 思考練習 142
第6章 動態分析與序列圖 143
6.1 序列圖簡介 143
6.1.1 動態分析 143
6.1.2 對象交互 144
6.1.3 序列圖概述 146
6.2 序列圖的組成要素 146
6.2.1 對象 147
6.2.2 生命線 147
6.2.3 激活 148
6.2.4 消息 149
6.3 序列圖建模及示例 150
6.3.1 創建對象 150
6.3.2 創建生命線 153
6.3.3 創建消息 153
6.3.4 銷毀對象 156
6.3.5 序列圖建模示例 156
6.4 序列圖建模的指導原則與並發建模 160
6.4.1 指導原則 160
6.4.2 並發建模 161
6.5 小結 161
6.6 思考練習 162
第7章 動態分析與協作圖 163
7.1 協作圖簡介 163
7.1.1 協作圖定義 163
7.1.2 與序列圖的區別與聯繫 165
7.2 協作圖的組成要素 165
7.2.1 對象 165
7.2.2 消息 166
7.2.3 鏈 168
7.2.4 邊界、控制器和實體 168
7.3 協作圖建模及示例 169
7.3.1 創建對象 169
7.3.2 創建消息 172
7.3.3 創建鏈 172
7.3.4 示例 173
7.4 小結 175
7.5 思考練習 175
第8章 動態分析與狀態圖 177
8.1 狀態圖簡介 177
8.1.1 狀態機 177
8.1.2 狀態和事件 178
8.1.3 對象的特性和狀態 179
8.1.4 狀態圖 179
8.2 狀態圖的組成要素 181
8.2.1 狀態 181
8.2.2 轉換 186
8.2.3 判定 189
8.2.4 同步 189
8.2.5 事件 190
8.2.6 狀態圖的特殊化 192
8.3 狀態圖建模及示例 192
8.3.1 創建狀態圖 192
8.3.2 創建初始狀態和終止狀態 193
8.3.3 創建狀態 194
8.3.4 創建狀態之間的轉換 195
8.3.5 創建事件 196
8.3.6 創建動作 196
8.3.7 創建監護條件 197
8.3.8 狀態圖建模示例 197
8.3.9 生命週期方法 199
8.3.10 一致性檢查 200
8.3.11 質量準則 200
8.4 小結 201
8.5 思考練習 201
第9章 活動圖 203
9.1 活動圖簡介 203
9.1.1 基於活動的系統行為建模 203
9.1.2 活動圖的作用 204
9.1.3 活動圖建模目的 205
9.2 活動圖的組成要素 206
9.2.1 動作狀態 206
9.2.2 活動狀態 206
9.2.3 組合活動 207
9.2.4 分叉與匯合 207
9.2.5 分支與合併 208
9.2.6 泳道 208
9.2.7 對象流 209
9.3 活動圖建模 211
9.3.1 創建活動圖 211
9.3.2 創建初始狀態和終止狀態 212
9.3.3 創建動作狀態 212
9.3.4 創建活動狀態 213
9.3.5 創建轉換 214
9.3.6 創建分叉與匯合 214
9.3.7 創建分支與合併 215
9.3.8 創建泳道 215
9.3.9 創建對象流 216
9.3.10 活動圖建模示例 218
9.4 小結 220
9.5 思考練習 220
第10章 系統設計模型 223
10.1 系統體系結構概述 223
10.1.1 系統設計的主要任務 223
10.1.2 系統體系結構建模的主要活動 224
10.1.3 架構的含義 225
10.2 包圖 226
10.2.1 包圖的基本概念 226
10.2.2 包的表示方法 228
10.2.3 可見性 228
10.2.4 包之間的關係 229
10.2.5 使用Rational Rose創建包圖 229
10.3 構件圖的基本概念 232
10.3.1 構件 233
10.3.2 構件圖 235
10.3.3 基於構件的開發 236
10.4 部署圖的基本概念 237
10.4.1 節點 237
10.4.2 部署圖 239
10.5 構件圖與部署圖建模及案例分析 240
10.5.1 創建構件圖 240
10.5.2 創建部署圖 243
10.5.3 案例分析 248
10.6 小結 250
10.7 思考練習 250
第11章 統一軟件過程 251
11.1 軟件開發過程概述 251
11.1.1 軟件開發方法學 251
11.1.2 軟件開發過程中的經典階段 253
11.1.3 關鍵問題 255
11.2 傳統軟件開發方法學 256
11.2.1 傳統軟件開發方法學簡介 256
11.2.2 瀑布模型 257
11.2.3 瀑布模型的有效性 258
11.2.4 瀑布模型存在的問題 258
11.3 現代軟件開發方法學 260
11.3.1 什麼是統一過程RUP 260
11.3.2 RUP的發展歷程及應用 260
11.3.3 RUP二維模型 261
11.3.4 RUP的核心工作流 266
11.3.5 RUP迭代開發模型 268
11.3.6 RUP的應用優勢和局限性 268
11.4 其他軟件開發模型 269
11.4.1 噴泉模型 269
11.4.2 原型模型 270
11.4.3 XP模型 270
11.4.4 動態系統開發方法 271
11.4.5 選擇方法論時的考慮 272
11.5 小結 273
11.6 思考練習 273
參考文獻 275
作者介紹
全書內容豐富、結構合理、思路清晰、語言幹練流暢、示例翔實。每章的引言部分概述了該章的作用和意義。在每章的正文中,遵循從簡單到復雜、由淺入深的思路組織教程內容,並結合所講述的關鍵技術和難點,穿插了大量極富實用價值的示例。每章的末尾都安排了有針對性的思考練習,有助於讀者鞏固所學的基本概念、培養實際動手能力、增強對基本概念的理解和實際應用能力。