《UML面向對象設計與分析教程(第二版)(微課版)》全面講述面向對象設計與分析技術和統(tǒng)一建模語言(UML)的基本內容和相關知識。全書共分為11章,深入介紹面向對象的基本概念、UML視圖、UML模型圖、需求分析、靜態(tài)分析、動態(tài)分析、用例圖模型、類圖和對象圖建模、交互模型、行為模型、系統(tǒng)設計模型、軟件開發(fā)過程等內容。
《UML面向對象設計與分析教程(第二版)(微課版)》采用微課形式配合視頻講解和實踐操作,幫助讀者全面了解面向對象設計與分析的理論知識及實踐方法,并掌握UML建模工具的使用技巧。本書內容豐富,結構合理,語言簡練流暢,示例翔實,適合初學者使用。本書可作為高等院校軟件開發(fā)技術及相關專業(yè)、軟件工程專業(yè)的教材,也可作為軟件系統(tǒng)開發(fā)人員的參考資料。
《UML面向對象設計與分析教程(第二版)(微課版)》配套的電子課件、實例源文件和習題答案可以到http://www.tupwk.com.cn/downpage網站下載,也可以掃描前言中的配套資源二維碼獲取。掃描前言中的看視頻二維碼可以直接觀看教學視頻。
實用性強。面向對象設計和分析基礎知識與UML建模實踐相結合,實例豐富,操作性強,可切實提高讀者的學習興趣。
深入淺出。覆蓋相關的基礎知識和前沿知識,并且結合實際場景,讓學生能夠看到知識點之間的聯(lián)系和應用,從而更好地理解和掌握知識。
圖文并茂。充分運用圖片、圖表、插圖等多種形式輔助文字說明,以便更好地呈現(xiàn)知識點和概念,幫助學生更好地跟蹤和理解復雜的概念與信息。
自20世紀40年代計算機問世以來,計算機在人類社會的各個領域得到了廣泛應用。為了解決計算機軟件開發(fā)的低效率,以及傳統(tǒng)過程式編程方法在處理復雜問題時所遇到的難維護、重用性差等問題,計算機業(yè)界提出了軟件工程的思想和方法。面向對象技術是一種系統(tǒng)開發(fā)方法,是軟件工程學的一個重要分支。面向對象設計與分析是使用現(xiàn)實世界的概念模型來思考問題的一種方法。對于理解問題、與應用領域專家交流、建模企業(yè)級應用、編寫文檔、設計程序和數(shù)據(jù)庫來說,面向對象模型都非常有用。
統(tǒng)一建模語言(unified modeling language,UML)是一種功能強大且普遍適用的面向對象建模語言。它融入了軟件工程領域的新思想、新方法和新技術。它的作用域不限于支持面向對象分析與設計,還支持從需求分析開始的軟件開發(fā)全過程。
UML的應用貫穿于軟件開發(fā)的五個階段。
需求分析階段。UML 的用例視圖可以表示客戶的需求。通過用例建模,可以對外部的角色以及它們所需要的系統(tǒng)功能建模。
分析階段。分析階段主要考慮所要解決的問題,可用UML的邏輯視圖和動態(tài)視圖來描述。
設計階段。在設計階段,把分析階段的結果擴展成技術解決方案。加入新的類來提供技術基礎結構,如用戶界面、數(shù)據(jù)庫操作等。分析階段的領域問題類被嵌入這個技術基礎結構中。
構造階段。在構造(或程序設計)階段,把設計階段的類轉換成某種面向對象程序設計語言的代碼。
測試階段。不同的測試小組使用不同的UML圖作為其工作的基礎:單元測試使用類圖和類的規(guī)格說明,集成測試典型地使用組件圖和協(xié)作圖,而系統(tǒng)測試通過實現(xiàn)用例圖來確認系統(tǒng)的行為符合這些用例圖中的定義。
UML模型在面向對象軟件開發(fā)中的使用非常普遍。本書全面講述面向對象設計與分析技術UML的相關知識,主要內容包括面向對象的基本概念、UML視圖、UML模型圖、需求分析、靜態(tài)分析、動態(tài)分析、系統(tǒng)設計模型及軟件開發(fā)過程等,并且運用大量實例對各種關鍵技術進行深入淺出的分析。從相關內容中,讀者能感受到UML在描述軟件系統(tǒng)方法方面十分有效,以及使用UML建模工具開發(fā)面向對象設計與分析模型的便捷性和高效性。為了提高學習效率,在每一章的末尾還提供了一定數(shù)量的思考練習題。
本書采用微課形式配合視頻講解和實踐操作,幫助讀者全面了解面向對象設計與分析的理論知識及實踐方法。全書由具體案例貫穿始終,并由案例引入相關的操作和模型創(chuàng)建過程。同時,本書在講解相關概念時,列舉了大量實例。利用這些實例,讀者可以更快地掌握UML的基本元素和建模技巧,也能讓讀者更好地理解面向對象技術的基本原理。
本書主要針對面向對象技術的初學者,適合作為高等院校軟件開發(fā)技術及相關專業(yè)、軟件工程專業(yè)的教材,也可作為軟件系統(tǒng)開發(fā)人員的參考資料。
由于作者水平有限,本書難免有不足之處,歡迎廣大讀者批評指正。我們的電子郵箱是992116@qq.com,電話是010-62796045。
本書配套的電子課件、實例源文件和習題答案可以到http://www.tupwk.com.cn/downpage網站下載,也可以掃描下方的配套資源二維碼獲取。掃描下方的看視頻二維碼可以直接觀看教學視頻。
掃描下載
配套資源 掃一掃
看視頻
作 者
2023年10月
第1章 面向對象與UML 1
1.1 面向對象介紹 1
1.1.1 軟件系統(tǒng)概述 2
1.1.2 軟件工程 3
1.1.3 面向對象的含義 7
1.1.4 什么是對象 8
1.1.5 類 10
1.1.6 封裝、信息隱藏和消息傳遞 13
1.1.7 繼承與多態(tài) 14
1.2 面向對象的開發(fā)模式 17
1.2.1 面向對象程序的工作原理 17
1.2.2 面向對象方法論 18
1.2.3 面向對象建模 21
1.2.4 對概念而非實現(xiàn)建模 22
1.2.5 面向對象分析與面向對象設計 23
1.3 UML帶來了什么 25
1.3.1 什么是UML 26
1.3.2 UML與面向對象軟件開發(fā) 26
1.4 UML建模工具 29
1.4.1 UML建模工具概述 29
1.4.2 常用的UML建模工具 30
1.4.3 三種常用UML建模工具的性能
?對比 31
1.5 小結 32
1.6 思考練習 32
第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 協(xié)作圖 36
2.1.6 狀態(tài)圖 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 并發(fā)視圖 46
2.2.5 構件視圖 46
2.2.6 部署視圖 46
2.3 UML元素 47
2.3.1 參與者 48
2.3.2 用例 49
2.3.3 關系 49
2.3.4 包 51
2.3.5 構件 51
2.3.6 節(jié)點 52
2.3.7 構造型 52
2.4 UML公共機制 52
2.4.1 規(guī)格說明 52
2.4.2 修飾 53
2.4.3 通用劃分 53
2.4.4 擴展機制 53
2.5 Rational Rose簡介 54
2.5.1 Rational Rose的啟動與主界面 55
2.5.2 使用Rational Rose建模 58
2.5.3 Rational Rose全局選項設置 60
2.5.4 Rational Rose視圖 61
2.5.5 Rational Rose雙向工程 62
2.6 小結 71
2.7 思考練習 72
第3章 需求分析與用例建模 141
3.1 需求分析 73
3.1.1 軟件需求的含義 74
3.1.2 需求分析的要點和難點 74
3.1.3 如何做需求分析 77
3.2 參與者 78
3.2.1 參與者的定義 78
3.2.2 參與者的確定 79
3.2.3 參與者之間的關系 79
3.2.4 業(yè)務主角與業(yè)務工人 80
3.2.5 參與者與用戶的關系 82
3.3 用例 82
3.3.1 用例定義 82
3.3.2 用例特點 83
3.3.3 用例間關系 84
3.3.4 用例描述 85
3.3.5 用例粒度 89
3.3.6 業(yè)務用例和系統(tǒng)用例 89
3.4 建立用例圖模型 90
3.4.1 創(chuàng)建用例圖 91
3.4.2 用例圖的工具欄按鈕 91
3.4.3 創(chuàng)建參與者與用例 92
3.4.4 創(chuàng)建關系 92
3.4.5 用例圖建模案例 93
3.5 小結 95
3.6 思考練習 95
第4章 靜態(tài)分析與類圖 97
4.1 類圖的定義 97
4.1.1 類圖概述 98
4.1.2 類及類的表示 98
4.1.3 接口 102
4.1.4 類之間的關系 103
4.1.5 基本類型的使用 103
4.2 類之間的關系 103
4.2.1 關聯(lián)關系 104
4.2.2 泛化關系 108
4.2.3 依賴關系 110
4.2.4 實現(xiàn)關系 110
4.3 系統(tǒng)靜態(tài)分析技術 111
4.3.1 如何獲取類 111
4.3.2 領域分析 112
4.3.3 保持模型簡單 112
4.3.4 啟發(fā)式方法 113
4.3.5 靜態(tài)分析過程中的技巧 114
4.4 構造類圖模型 114
4.4.1 創(chuàng)建類 115
4.4.2 創(chuàng)建類與類之間的關系 116
4.4.3 案例分析 117
4.5 小結 120
4.6 思考練習 120
第5章 靜態(tài)分析與對象圖 121
5.1 對象簡介 121
5.1.1 對象的概念 121
5.1.2 封裝 124
5.1.3 關聯(lián)和聚合 124
5.2 對象圖 126
5.2.1 對象圖的表示法 126
5.2.2 鏈的可導航性 128
5.2.3 消息 128
5.2.4 啟動操作 130
5.2.5 面向對象程序的工作原理 130
5.2.6 垃圾收集 131
5.2.7 術語 132
5.2.8 類圖與對象圖的區(qū)別 133
5.3 對象圖建模 133
5.3.1 使用Rational Rose建立對象圖 134
5.3.2 對象屬性建模詳解 134
5.3.3 關聯(lián)類 137
5.3.4 有形對象和無形對象 137
5.3.5 好的對象 140
5.4 小結 140
5.5 思考練習 140
第6章 動態(tài)分析與序列圖 141
6.1 序列圖簡介 141
6.1.1 動態(tài)分析 142
6.1.2 對象交互 143
6.1.3 序列圖概述 144
6.2 序列圖的組成要素 145
6.2.1 對象 145
6.2.2 生命線 146
6.2.3 激活 146
6.2.4 消息 148
6.3 序列圖建模及示例 149
6.3.1 創(chuàng)建對象 149
6.3.2 創(chuàng)建生命線 152
6.3.3 創(chuàng)建消息 152
6.3.4 銷毀對象 154
6.3.5 序列圖建模示例 155
6.4 序列圖建模的指導原則與并發(fā)
???????建模 158
6.4.1 指導原則 158
6.4.2 并發(fā)建模 159
6.5 小結 160
6.6 思考練習 160
第7章 動態(tài)分析與協(xié)作圖 161
7.1 協(xié)作圖簡介 161
7.1.1 協(xié)作圖的定義 161
7.1.2 與序列圖的區(qū)別與聯(lián)系 163
7.2 協(xié)作圖的組成要素 163
7.2.1 對象 164
7.2.2 消息 164
7.2.3 鏈 166
7.2.4 邊界、控制器和實體 166
7.3 協(xié)作圖建模及示例 167
7.3.1 創(chuàng)建對象 167
7.3.2 創(chuàng)建消息 170
7.3.3 創(chuàng)建鏈 171
7.3.4 示例 171
7.4 小結 173
7.5 思考練習 173
第8章 動態(tài)分析與狀態(tài)圖 174
8.1 狀態(tài)圖簡介 174
8.1.1 狀態(tài)機 174
8.1.2 狀態(tài)和事件 176
8.1.3 對象的特性和狀態(tài) 176
8.1.4 狀態(tài)圖 177
8.2 狀態(tài)圖的組成要素 178
8.2.1 狀態(tài) 178
8.2.2 轉換 184
8.2.3 判定 186
8.2.4 同步 187
8.2.5 事件 187
8.2.6 狀態(tài)圖的特殊化 190
8.3 狀態(tài)圖建模及示例 190
8.3.1 創(chuàng)建狀態(tài)圖 190
8.3.2 創(chuàng)建初始狀態(tài)和終止狀態(tài) 191
8.3.3 創(chuàng)建狀態(tài) 191
8.3.4 創(chuàng)建狀態(tài)之間的轉換 193
8.3.5 創(chuàng)建事件 193
8.3.6 創(chuàng)建動作 194
8.3.7 創(chuàng)建監(jiān)護條件 194
8.3.8 狀態(tài)圖建模示例 195
8.3.9 生命周期方法 196
8.3.10 一致性檢查 197
8.3.11 質量準則 197
8.4 小結 198
8.5 思考練習 198
第9?章 活動圖 199
9.1 活動圖簡介 199
9.1.1 基于活動的系統(tǒng)行為建模 199
9.1.2 活動圖的作用 200
9.1.3 活動圖建模目的 201
9.2 活動圖的組成要素 202
9.2.1 動作狀態(tài) 202
9.2.2 活動狀態(tài) 202
9.2.3 組合活動 203
9.2.4 分叉與匯合 204
9.2.5 分支與合并 204
9.2.6 泳道 205
9.2.7 對象流 206
9.3 活動圖建模 207
9.3.1 創(chuàng)建活動圖 207
9.3.2 創(chuàng)建初始狀態(tài)和終止狀態(tài) 209
9.3.3 創(chuàng)建動作狀態(tài) 209
9.3.4 創(chuàng)建活動狀態(tài) 210
9.3.5 創(chuàng)建轉換 210
9.3.6 創(chuàng)建分叉與匯合 211
9.3.7 創(chuàng)建分支與合并 211
9.3.8 創(chuàng)建泳道 212
9.3.9 創(chuàng)建對象流 212
9.3.10 活動圖建模示例 213
9.4 小結 216
9.5 思考練習 216
第10?章 系統(tǒng)設計模型 217
10.1 系統(tǒng)體系結構概述 217
10.1.1 系統(tǒng)設計的主要任務 217
10.1.2 系統(tǒng)體系結構建模的主要活動 218
10.1.3 架構的含義 219
10.2 包圖 220
10.2.1 包圖的基本概念 220
10.2.2 包的表示方法 222
10.2.3 可見性 223
10.2.4 包之間的關系 223
10.2.5 使用Rational Rose創(chuàng)建包圖 224
10.3 構件圖的基本概念 226
10.3.1 構件 227
10.3.2 構件圖 230
10.3.3 基于構件的開發(fā) 231
10.4 部署圖的基本概念 232
10.4.1 節(jié)點 232
10.4.2 部署圖 234
10.5 構件圖與部署圖建模及案例
?分析 235
10.5.1 創(chuàng)建構件圖 235
10.5.2 創(chuàng)建部署圖 238
10.5.3 案例分析 242
10.6 小結 244
10.7 思考練習 244
第11章 統(tǒng)一軟件開發(fā)過程 245
11.1 軟件開發(fā)過程概述 245
11.1.1 軟件開發(fā)方法學 245
11.1.2 軟件開發(fā)過程中的經典階段 247
11.1.3 關鍵問題 249
11.2 傳統(tǒng)軟件開發(fā)方法學 250
11.2.1 傳統(tǒng)軟件開發(fā)方法學簡介 250
11.2.2 瀑布模型 251
11.2.3 瀑布模型的有效性 252
11.2.4 瀑布模型存在的問題 253
11.3 現(xiàn)代軟件開發(fā)方法學 254
11.3.1 什么是統(tǒng)一過程(RUP) 254
11.3.2 RUP的發(fā)展歷程及應用 255
11.3.3 RUP二維模型 256
11.3.4 RUP的核心工作流 261
11.3.5 RUP迭代開發(fā)模型 263
11.3.6 RUP的應用優(yōu)勢和局限性 263
11.4 其他軟件開發(fā)模型 264
11.4.1 噴泉模型 264
11.4.2 原型模型 265
11.4.3 XP模型 265
11.4.4 動態(tài)系統(tǒng)開發(fā)方法 266
11.4.5 選擇方法論時的考慮 267
11.5 小結 268
11.6 思考練習 268
參考文獻 269