UML 與 Rose 建模實用教程, 2/e
呂雲翔 趙天宇
相關主題
商品描述
本書介紹使用UML進行軟件建模的基礎知識以及使用Rational Rose進行UML建模的基本方法。
本書主要分為3部分。第一部分簡要介紹軟件工程的產生、發展過程等,並對面向對象方法的概念和原則加以闡釋,由此推出UML的概念和作用,對UML建模的重要工具—Rational Rose進行介紹。第二部分從UML概念模型出發,對每種UML圖進行具體介紹,涵蓋UML中的用例圖、類圖、對象圖、包圖、順序圖、協作圖、狀態圖、活動圖、組件圖、部署圖等。第三部分首先結合UML的實用過程,介紹統一軟件開發過程的相關概念;然後通過小型網上書店系統、小型二手貨交易系統、汽車服務管理系統3個具體案例,幫助讀者更深刻地認識UML在實際開發過程中的使用。
本書既可以作為高等院校電腦與軟件相關專業的教材,也可以作為軟件從業人員的學習指導書。
作者簡介
吕云翔,北京航空航天大学软件学院副教授。长期从事“软件工程基础”课程的一线教学,曾多次获得北航校级教学成果奖。“软件工程基础”课程获评2021中国计算机教育大会计算机类教学资源建设优秀课程配套资源与优秀教学案例奖。具有多年的软件开发、项目管理、计算机教学经验,对IT行业具有较全面的认识,主编畅销教材多部。
目錄大綱
第一部分 概述
第1章 軟件工程與面向對象方法 2
1.1 軟件工程簡介 2
1.1.1 軟件工程的發展過程 2
1.1.2 軟件工程的目標和原則 3
1.2 面向對象方法簡介 3
1.2.1 什麽是面向對象方法 3
1.2.2 面向對象方法的發展歷史 4
1.2.3 面向對象方法的基本概念 4
1.2.4 面向對象方法的優勢 6
小結 7
習題 7
第2章 統一建模語言 9
2.1 軟件建模簡介 9
2.1.1 什麽是模型 9
2.1.2 建模的重要性 9
2.1.3 建模的基本原理 10
2.2 UML簡述 10
2.3 UML的發展歷史 11
2.3.1 UML的出現背景 11
2.3.2 UML的誕生及標準化 12
2.3.3 UML 2?規範 12
2.4 UML的目標與應用範圍 13
2.4.1 UML的目標 13
2.4.2 UML的應用範圍 14
2.5 UML建模工具 14
小結 17
習題 17
第3章 Rational Rose工具概述 19
3.1 Rational Rose簡述 19
3.1.1 何謂Rational Rose 19
3.1.2 Rose對UML的支持 20
3.2 Rose的安裝 21
3.2.1 安裝前的準備 21
3.2.2 安裝過程 22
3.3 Rose的使用 28
3.3.1 Rose界面介紹 28
3.3.2 Rose的基本操作 34
小結 40
習題 40
第二部分 UML概念詳解
第4章 UML概念模型 42
4.1 構造塊 42
4.1.1 事物 42
4.1.2 關系 44
4.1.3 圖 45
4.2 通用機制 46
4.2.1 規格說明 47
4.2.2 修飾 47
4.2.3 通用劃分 47
4.2.4 擴展機制 47
4.3 “4+1”視圖模型 49
4.3.1 “4+1”視圖模型的概念和組成 49
4.3.2 “4+1”視圖模型要解決的問題 50
4.3.3 運用“4+1”視圖模型方法進行軟件架構設計 50
小結 51
習題 52
第5章 用例圖 54
5.1 用例圖的基本概念 54
5.2 參與者 55
5.2.1 參與者的概念 55
5.2.2 確定參與者 55
5.2.3 參與者的泛化關系 56
5.3 用例 57
5.3.1 用例的概念 57
5.3.2 用例與參與者 57
5.3.3 用例的特徵 58
5.3.4 用例粒度 59
5.4 用例之間的關系 60
5.4.1 泛化關系 60
5.4.2 依賴關系 60
5.5 用例描述與用例文檔 62
5.5.1 用例描述概述 62
5.5.2 前置條件與後置條件 63
5.5.3 事件流 63
5.5.4 補充約束 64
5.5.5 用例文檔 64
5.6 使用用例圖建模 65
5.6.1 用例圖的建模技術 66
5.6.2 用例圖使用要點 67
5.7 實驗:使用Rose繪制用例圖 67
5.7.1 用例圖的Rose操作 67
5.7.2 繪制機票預訂系統的
用例圖 69
小結 71
習題 71
第6章 類圖與對象圖 75
6.1 類圖的基本概念 75
6.2 類圖的組成元素 76
6.2.1 類 76
6.2.2 接口 79
6.2.3 類圖中的關系 79
6.2.4 涉及類的其他概念 85
6.3 類圖的實例——對象圖 88
6.3.1 對象圖概述 88
6.3.2 對象圖的組成元素 89
6.4 類圖與對象圖的建模技術 89
6.4.1 類圖的建模技術 90
6.4.2 正向工程與逆向工程 91
6.4.3 對象圖的建模技術 91
6.4.4 面向對象設計的原則 91
6.5 實驗:使用Rose繪制類圖 94
6.5.1 類圖的Rose操作 94
6.5.2 繪制機票預訂系統的
類圖 99
小結 103
習題 103
第7章 包圖 106
7.1 包圖的基本概念 106
7.2 包 106
7.2.1 包的概念 106
7.2.2 包的作用 108
7.2.3 元素的分包原則 109
7.3 包的依賴關系 109
7.4 包圖的建模技術 111
7.5 實驗:使用Rose繪制包與
?包圖 111
7.5.1 包圖的Rose操作 111
7.5.2 繪制機票預訂系統
的包圖 113
小結 114
習題 114
第8章 順序圖 116
8.1 順序圖的概念 116
8.2 順序圖的組成元素 117
8.2.1 對象 117
8.2.2 生命線 117
8.2.3 激活 118
8.2.4 消息 118
8.3 (*)UML 2中的“片段”
????????????概念 120
8.4 順序圖的建模技術 121
8.5 (*)順序圖的變體——時
???????????間圖 122
8.6 實驗:使用Rose繪制
???順序圖 123
8.6.1 順序圖的Rose操作 123
8.6.2 繪制機票預訂系統中“登錄”用例的順序圖 124
小結 126
習題 126
第9章 協作圖 129
9.1 協作圖的概念 129
9.2 協作圖的組成元素 130
9.2.1 對象 130
9.2.2 鏈 130
9.2.3 消息 131
9.3 協作圖與順序圖 132
9.4 協作圖的建模技術 133
9.5 (*)UML 2中的通信圖 133
9.6 實驗:使用Rose繪制協作圖 134
9.6.1 協作圖的Rose操作 134
9.6.2 繪制機票預訂系統中“查詢航班信息”用例的協作圖 136
小結 137
習題 137
第10章 狀態圖 140
10.1 狀態圖的基本概念 140
10.1.1 狀態機 140
10.1.2 狀態圖 141
10.2 狀態圖的組成元素 142
10.2.1 簡單狀態 142
10.2.2 轉換 143
10.2.3 偽狀態 145
10.3 復合狀態 146
10.4 狀態圖的建模技術 148
10.5 實驗:使用Rose繪制狀態圖 149
10.5.1 狀態圖的Rose操作 149
10.5.2 繪制機票預訂系統中“航班”類的狀態圖 153
小結 155
習題 155
第11章 活動圖 158
11.1 活動圖的基本概念 158
11.2 活動圖的組成元素 159
11.2.1 動作和活動節點 159
11.2.2 開始和終止 160
11.2.3 控制流 160
11.2.4 判斷節點 160
11.2.5 合並節點 161
11.2.6 泳道 161
11.3 活動圖的高級概念 162
11.3.1 並發 162
11.3.2 分叉節點 162
11.3.3 結合節點 162
11.3.4 對象流 162
11.3.5 擴展區域 163
11.4 活動圖的建模技術 163
11.5 活動圖的進一步說明 164
11.6 實驗:使用Rose繪制活動圖 164
11.6.1 活動圖的Rose操作 165
11.6.2 繪制機票預訂系統中“購買機票”用例的活動圖 166
小結 167
習題 167
第12章 組件圖 170
12.1 組件圖的基本概念 170
12.2 組件圖的組成元素 171
12.2.1 組件 171
12.2.2 接口 172
12.2.3 組件圖中的關系 173
12.2.4 (*)Rose中的特殊
組件 173
12.2.5 (*)UML 2中組件的
嵌套 174
12.3 組件圖的建模技術 175
12.4 實驗:使用Rose繪制組件圖 175
12.4.1 組件圖的Rose操作 175
12.4.2 繪制機票預訂系統的
組件圖 177
小結 178
習題 178
第13章 部署圖 181
13.1 部署圖的基本概念 181
13.2 部署圖的組成元素 182
13.2.1 節點 182
13.2.2 部署圖中的關系 182
13.3 部署圖的建模技術 183
13.4 實驗:使用Rose繪制部署圖 183
13.4.1 部署圖的Rose操作 183
13.4.2 繪制機票預訂系統的
部署圖 184
小結 185
習題 185
第三部分 建模過程剖析
第14章 統一軟件開發過程 190
14.1 統一軟件開發過程概述 190
14.1.1 什麽是軟件開發過程 190
14.1.2 統一軟件開發過程
簡介 191
14.1.3 統一軟件開發過程
發展歷程 191
14.2 過程總覽 192
14.3 階段和迭代——動態維度 192
14.3.1 起始階段 193
14.3.2 細化階段 194
14.3.3 構建階段 195
14.3.4 轉化階段 196
14.3.5 迭代 196
14.4 過程的靜態結構 197
14.4.1 工作者 197
14.4.2 活動 197
14.4.3 製品 198
14.4.4 工作流 198
14.5 核心工作流 198
14.6 在統一軟件開發過程中使用UML圖 201
14.6.1 起始階段常用的
UML圖 202
14.6.2 細化階段常用的
UML圖 203
14.6.3 構建階段常用的
UML圖 203
14.6.4 轉化階段常用的
UML圖 204
小結 205
習題 206
第15章 案例:小型網上書店系統 208
15.1 需求分析 208
15.1.1 項目背景描述 208
15.1.2 系統需求分析 208
15.1.3 用戶管理模塊 209
15.1.4 訂單管理模塊 209
15.1.5 書目管理模塊 209
15.2 系統的UML基本模型 210
15.2.1 需求分析階段模型 210
15.2.2 基本動態模型 211
15.3 類的設計與實現 213
15.3.1 系統設計類 214
15.3.2 類的實現 214
15.4 系統的組件圖和部署圖 216
15.4.1 系統的組件圖 216
15.4.2 系統的部署圖 217
第16章 案例:小型二手貨交易系統 218
16.1 需求分析 218
16.1.1 子系統劃分 219
16.1.2 系統功能需求 219
16.1.3 系統非功能需求 222
16.2 系統設計 222
16.2.1 系統設計類圖 222
16.2.2 關鍵用例的動態模型 225
16.2.3 類的代碼框架 228
第17章 案例:汽車服務管理系統 230
17.1 需求分析 230
17.1.1 系統功能需求 230
17.1.2 車輛及路線管理模塊 231
17.1.3 人員管理模塊 231
17.1.4 信息管理模塊 231
17.2 系統的UML基本模型 231
17.2.1 需求分析階段模型 231
17.2.2 基本動態模型 232
17.3 系統中的類 235
17.3.1 系統類圖 235
17.3.2 生成類的代碼框架 237
17.4 系統的劃分與部署 238
17.4.1 系統的包圖 238
17.4.2 系統的部署圖 238
附錄A 附加案例 240
A.1 機票預訂系統 240
A.2 青年租房管理系統 241
附錄B 軟件設計模式及其應用 242
B.1 軟件設計模式 242
B.1.1 工廠模式 243
B.1.2 橋接模式 244
B.1.3 策略模式 245
B.1.4 其他模式 245
B.2 軟件設計模式應用 247
附錄C 本書二維碼索引列表 253
參考文獻 255