UML是以面向?qū)ο髨D形的方式來描述任何類型的系統(tǒng),應(yīng)用領(lǐng)域非常廣泛,其中常用的是建立軟件系統(tǒng)的模型。本書以Rose2007為建模工具全面講解了UML2.0的基本概念和建模方法。
全書分為14章,分別講解了用例圖、類圖、對象圖、順序圖、通信圖、狀態(tài)機圖、活動圖、構(gòu)件圖、部署圖、包圖、組合結(jié)構(gòu)圖、定時圖和交互概覽圖等,并介紹了RUP過程開發(fā)模型。后安排了4個實戰(zhàn)案例,汽車租賃系統(tǒng)、新聞中心管理系統(tǒng)、BBS論壇系統(tǒng)和數(shù)碼錄音機系統(tǒng),通過這4個案例全面而系統(tǒng)地詳解UML建模與設(shè)計。
本書面向軟件工程師、系統(tǒng)架構(gòu)師、系統(tǒng)分析員、硬件工程師及其他系統(tǒng)設(shè)計人員,同時也適合高等院校和培訓(xùn)學(xué)校軟件相關(guān)專業(yè)的師生學(xué)習(xí)系統(tǒng)建模時參考使用。
軟件的發(fā)展至今已經(jīng)有近60年的歷史。面向?qū)ο蠹夹g(shù)開始有深入的研究并廣泛地應(yīng)用也近40年了,已經(jīng)成為軟件開發(fā)中分析、設(shè)計、實現(xiàn)的主流方法和技術(shù)。40年來,在面向?qū)ο蠹夹g(shù)發(fā)展的同時,面向?qū)ο蠹夹g(shù)的各種軟件設(shè)計工具、規(guī)范等也獲得了較大發(fā)展。其中,重要的一個面向?qū)ο蟮慕<夹g(shù)的成果就是統(tǒng)一建模語言(Uniffed Modeling Language,UML)的出現(xiàn)。
本書基于使用廣泛、工具齊全的UML 2.0版本,并以Rose 2007為建模工具,對UML建模語言及其系統(tǒng)建模過程進(jìn)行了詳細(xì)講解。內(nèi)容安排緊湊,案例實用。
軟件的發(fā)展至今已經(jīng)有近60年的歷史。面向?qū)ο蠹夹g(shù)開始有深入的研究并廣泛地應(yīng)用也近40年了,已經(jīng)成為軟件開發(fā)中分析、設(shè)計、實現(xiàn)的主流方法和技術(shù)。40年來,在面向?qū)ο蠹夹g(shù)發(fā)展的同時,面向?qū)ο蠹夹g(shù)的各種軟件設(shè)計工具、規(guī)范等也獲得了較大發(fā)展。其中,最重要的一個面向?qū)ο蟮慕<夹g(shù)的成果就是統(tǒng)一建模語言(Uniffed Modeling Language,UML)的出現(xiàn)。
UML的創(chuàng)建首先開始于1994年10月,由Grady Booch、Jim Rumbaugh和Ivar Jacobson共同開發(fā),并于1996年發(fā)布了UML版本0.9。隨后,公司聯(lián)合行動,由10多家公司組成UML伙伴組織,共同提出了UML 1.0和1.1,于1997年11月17日,對象管理組織(OMG)開始采納UML為其標(biāo)準(zhǔn)建模語言。第三階段的修訂是由OMG主導(dǎo)并控制完成了UML 1.2、1.3、1.4和1.5等版本。本世紀(jì)開始以來的修訂,推出了UML 2.0版本,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語言。到2011年8月,正式發(fā)布的版本已經(jīng)是UML 2.4.1了,目前UML 2.5正在醞釀之中。
本書基于使用最廣泛、工具最齊全的UML 2.0版本,并以Rose 2007為建模工具,對UML建模語言及其系統(tǒng)建模過程進(jìn)行了詳細(xì)講解。內(nèi)容安排緊湊,案例實用。本書由14章組成,講解的內(nèi)容劃分如下。
第1~3章:著重介紹UML的預(yù)備知識,包括面向?qū)ο蟾攀、UML概述以及常見的UML建模工具的介紹。
第4~9章:著重介紹UML的各種圖,包括用例圖、類圖、對象圖、順序圖、通信圖、狀態(tài)機圖、活動圖、構(gòu)件圖、部署圖、包圖、組合結(jié)構(gòu)圖、定時圖和交互概覽圖等,介紹了UML圖的基本概念、圖的組成要素和圖的建模技術(shù)和創(chuàng)建示例。通過這種方式能夠使讀者完整而系統(tǒng)地去把握和了解每一種UML圖。第9章對UML 2.0新增的幾種圖進(jìn)行了介紹。
第10章:著重對統(tǒng)一軟件過程RUP進(jìn)行介紹,并講解了Rose在RUP模型中的應(yīng)用。
第11~14章:詳細(xì)介紹了4個實戰(zhàn)案例,汽車租賃系統(tǒng)、新聞中心管理系統(tǒng)、BBS論壇系統(tǒng)和數(shù)碼錄音機系統(tǒng),其中數(shù)碼錄音機系統(tǒng)是一個實時嵌入式系統(tǒng),希望對硬件工程師使用UML設(shè)計嵌入式系統(tǒng)有啟迪作用。通過這4個實戰(zhàn)案例的學(xué)習(xí),讀者可以較為全面而系統(tǒng)地了解和掌握系統(tǒng)建模的過程。
不管您是業(yè)務(wù)系統(tǒng)的分析人員,還是從事面向?qū)ο筌浖_發(fā)的開發(fā)人員,或者是做嵌入式系統(tǒng)設(shè)計的硬件工程師,或者是希望通過學(xué)習(xí)UML幫助自己進(jìn)行系統(tǒng)建模的人員,本書都能夠幫助您全面了解UML的基本概念和建模方法。本書同樣也適合作為高等院校和培訓(xùn)學(xué)校計算機相關(guān)專業(yè)師生的教學(xué)用書或參考用書。
本書由李波、史江萍、楊弘平、呂海華和代欽等編寫,李波對全書進(jìn)行了規(guī)劃和整理。第1章、第4章、第5章由楊弘平完成;第2章、第3章和第13章由呂海華完成;第7章、第8章、第11章由史江萍完成;第9章由代欽完成;第6章和第10章由李波完成;第12章由楊弘平和史江萍共同完成;其他參與編寫的還有朱克敵、曾祥萍、孫憲麗、關(guān)穎、祝世東、衣云龍等排名不分先后。
由于編者水平有限,書中難免有疏漏之處,敬請讀者諒解。
如果下載有問題,請電子郵件聯(lián)系,郵件主題為“UML2與Rose示例”。
編者
2016年5月
李波,博士。從事軟件工程及其相關(guān)工作多年,編寫書籍教材多部,包括《JSP網(wǎng)絡(luò)編程學(xué)習(xí)筆記》《Android4.x從入門到精通》《UML基礎(chǔ)、建模與設(shè)計實戰(zhàn)》《PowerDesigner15系統(tǒng)分析與建模實戰(zhàn)》《Android5從入門到精通》等。
第1章 UML概述 1
1.1 什么是UML 1
1.2 UML的發(fā)展歷程 2
1.3 UML的特點 3
1.4 UML的組成 3
1.4.1 UML中的事物 3
1.4.2 UML中的關(guān)系 5
1.4.3 UML的圖 6
1.5 UML的視圖 12
1.5.1 用例視圖 13
1.5.2 邏輯視圖 13
1.5.3 并發(fā)視圖 13
1.5.4 組件視圖 13
1.5.5 部署視圖 13
1.6 系統(tǒng)開發(fā)階段 14
1.7 小 結(jié) 15
1.8 習(xí) 題 15
第2章 面向?qū)ο蠹夹g(shù)和建模基礎(chǔ) 16
2.1 面向?qū)ο蟮幕靖拍?16
2.1.1 面向?qū)ο蠓椒?17
2.1.2 對象 18
2.1.3 類 19
2.1.4 封裝 20
2.1.5 繼承 21
2.1.6 多態(tài) 22
2.1.7 消息 23
2.2 面向?qū)ο箝_發(fā) 24
2.2.1 系統(tǒng)調(diào)查和需求分析 24
2.2.2 面向?qū)ο蠓治龇椒?25
2.2.3 面向?qū)ο笤O(shè)計方法 26
2.3 軟件建模概述 27
2.3.1 軟件建模的概念 27
2.3.2 軟件建模的用途 27
2.3.3 軟件建模的優(yōu)點 28
2.4 小 結(jié) 28
2.5 習(xí) 題 29
第3章 UML建模工具簡介 30
3.1 常用UML建模工具 31
3.1.1 Visio 31
3.1.2 PowerDesigner 33
3.1.3 StarUML 34
3.1.4 Rational Rose 34
3.2 IBM Rational Rose Enterprise Edition 2007的安裝 37
3.2.1 安裝IBM Rational Rose Enterprise Edition 2007 37
3.2.2 插件程序的安裝 40
3.3 使用Rational Rose建模 40
3.3.1 Rational Rose可視化環(huán)境組成 41
3.3.2 Rose模型、視圖與圖 42
3.4 Rose建模的基本操作 43
3.4.1 新建Rose模型 44
3.4.2 打開Rose模型 45
3.4.3 創(chuàng)建Rose框圖 45
3.5 雙向工程 52
3.5.1 正向工程 52
3.5.2 逆向工程 56
3.6 小 結(jié) 57
3.7 習(xí) 題 58
第4章 用例和用例圖 59
4.1 用例和用例圖的概念 59
4.1.1 參與者 61
4.1.2 用例 62
4.1.3 用例描述 64
4.2 用例之間的可視化表示 65
4.2.1 包含關(guān)系 65
4.2.2 擴展關(guān)系 66
4.2.3 泛化關(guān)系 67
4.2.4 分組關(guān)系 67
4.3 用例圖建模技術(shù)及應(yīng)用 67
4.3.1 識別出系統(tǒng)中的角色和用例 68
4.3.2 區(qū)分用例優(yōu)先次序 72
4.3.3 構(gòu)建用例圖模型 73
4.4 超市進(jìn)銷存管理系統(tǒng)用例圖模型構(gòu)建實例 74
4.5 小 結(jié) 78
4.6 習(xí) 題 78
第5章 類圖和對象圖 79
5.1 類圖和對象圖概述 79
5.1.1 類圖的概述 79
5.1.2 對象圖的概述 82
5.1.3 接口 84
5.1.4 抽象類 84
5.2 類之間的關(guān)系 85
5.2.1 依賴關(guān)系 85
5.2.2 泛化關(guān)系 87
5.2.3 關(guān)聯(lián)關(guān)系 87
5.2.4 實現(xiàn)關(guān)系 92
5.3 類圖的建模技術(shù)及應(yīng)用 93
5.3.1 類圖的建立過程 93
5.3.2 類的識別方法 94
5.3.3 類圖分析實例 96
5.4 小 結(jié) 105
5.5 習(xí) 題 106
第6章 順序圖和通信圖 107
6.1 順序圖 107
6.1.1 順序圖概述 107
6.1.2 順序圖的組成元素 108
6.1.3 消息的語法格式 116
6.1.4 順序圖的建模技術(shù)及應(yīng)用 117
6.2 通信圖 124
6.2.1 通信圖概述 124
6.2.2 通信圖的基本內(nèi)容 125
6.2.3 通信圖建模技術(shù)及應(yīng)用 128
6.2.4 順序圖與通信圖的比較 132
6.3 小 結(jié) 133
6.4 習(xí) 題 134
第7章 狀態(tài)機圖和活動圖 135
7.1 狀態(tài)機圖 135
7.1.1 狀態(tài)機圖概述 135
7.1.2 狀態(tài)機圖的基本元素 137
7.1.3 狀態(tài) 137
7.1.4 轉(zhuǎn)換 140
7.1.5 狀態(tài)機圖的建模技術(shù)及應(yīng)用 142
7.2 活動圖 145
7.2.1 活動圖概述 145
7.2.2 活動圖的基本元素 146
7.2.3 動作狀態(tài) 146
7.2.4 活動狀態(tài) 147
7.2.5 轉(zhuǎn)移 147
7.2.6 分支 147
7.2.7 分叉和匯合 148
7.2.8 泳道 148
7.2.9 對象流 149
7.2.10 活動圖的建模技術(shù)及應(yīng)用 150
7.2.11 狀態(tài)機圖和活動圖的比較 156
7.3 小 結(jié) 156
7.4 習(xí) 題 156
第8章 構(gòu)件圖和部署圖 158
8.1 構(gòu)件圖 158
8.1.1 構(gòu)件圖概述 158
8.1.2 組件(Component) 160
8.1.3 接口(Interface) 161
8.1.4 關(guān)系(Relationship) 162
8.1.5 使用構(gòu)件圖對系統(tǒng)建模及應(yīng)用 163
8.2 部署圖 166
8.2.1 部署圖概述 166
8.2.2 節(jié)點(Node) 166
8.2.3 組件(Component) 168
8.2.4 關(guān)系(Relationship) 169
8.2.5 部署圖的系統(tǒng)建模及應(yīng)用 169
8.3 小 結(jié) 173
8.5 習(xí) 題 174
第9章 包圖、組合結(jié)構(gòu)圖、定時圖和交互概覽圖 175
9.1 包 圖 175
9.1.1 包圖概述 175
9.1.2 包之間的關(guān)系 176
9.1.3 包圖的建模技術(shù)及應(yīng)用 177
9.2 組合結(jié)構(gòu)圖 178
9.2.1 組合結(jié)構(gòu)圖概述 178
9.2.2 基本元素 178
9.2.3 組合結(jié)構(gòu)圖的建模技術(shù)及應(yīng)用 178
9.3 定時圖 179
9.3.1 定時圖概述 179
9.3.2 基本元素 179
9.3.3 定時圖的建模技術(shù)及應(yīng)用 179
9.4 交互概覽圖 181
9.4.1 交互概覽圖概述 181
9.4.2 基本元素 182
9.4.3 交互概覽圖的建模技術(shù)及應(yīng)用 182
9.5 小 結(jié) 185
9.6 習(xí) 題 185
第10章 統(tǒng)一軟件過程RUP 186
10.1 RUP簡介 186
10.1.1 什么是RUP過程 186
10.1.2 RUP的特點 187
10.2 RUP工作流程 189
10.2.1 業(yè)務(wù)建模 190
10.2.2 需求分析 190
10.2.3 分析與設(shè)計 190
10.2.4 實現(xiàn) 190
10.2.5 測試 190
10.2.6 部署 190
10.2.7 配置和變更管理 191
10.2.8 項目管理 191
10.2.9 環(huán)境 191
10.2.10 統(tǒng)一軟件開發(fā)過程RUP裁剪 191
10.3 RUP的十大要素 191
10.3.1 開發(fā)前景 191
10.3.2 達(dá)成計劃 192
10.3.3 標(biāo)識和減少風(fēng)險 192
10.3.4 分配和跟蹤任務(wù) 192
10.3.5 檢查商業(yè)理由 193
10.3.6 設(shè)計組件構(gòu)架 193
10.3.7 對產(chǎn)品進(jìn)行增量式的構(gòu)建和測試 193
10.3.8 驗證和評價結(jié)果 193
10.3.9 管理和控制變化 193
10.3.10 提供用戶支持 194
10.4 Rose在RUP模型中的應(yīng)用 194
10.4.1 可視化建模 194
10.4.2 Rose介紹 194
10.4.3 Rose建模與RUP 195
10.4.4 Rose建模與RUP應(yīng)用實例 196
10.5 小 結(jié) 199
10.6 習(xí) 題 200
第11章 汽車租賃系統(tǒng) 201
11.1 系統(tǒng)需求分析 201
11.1.1 汽車租賃系統(tǒng)的需求分析 201
11.1.2 功能模塊圖 202
11.2 用例圖設(shè)計建模 204
11.2.1 汽車租賃系統(tǒng)中的用例圖簡述 204
11.2.2 與客戶有關(guān)的用例圖 204
11.2.3 與系統(tǒng)維護(hù)人員有關(guān)的用例圖 205
11.2.4 與技術(shù)人員有關(guān)的用例圖 206
11.3 類圖設(shè)計建模 207
11.4 順序圖 209
11.4.1 汽車租賃系統(tǒng)中的數(shù)據(jù)流和相應(yīng)順序圖 209
11.4.2 與客戶有關(guān)的事件流和順序圖 209
11.4.3 與系統(tǒng)維護(hù)人員有關(guān)的事件流和順序圖 213
11.4.4 與技術(shù)人員有關(guān)的事件流和用例圖 217
11.5 通信圖設(shè)計建模 220
11.5.1 汽車租賃系統(tǒng)中的通信圖 220
11.5.2 與客戶有關(guān)的通信圖 220
11.5.3 與技術(shù)人員有關(guān)的通信圖 222
11.5.4 與系統(tǒng)維護(hù)人員有關(guān)的通信圖 223
11.6 活動圖 225
11.6.1 系統(tǒng)中的活動圖 225
11.6.2 與客戶有關(guān)的活動圖 226
11.6.3 與系統(tǒng)維護(hù)人員有關(guān)的活動圖 229
11.6.4 與技術(shù)人員有關(guān)的活動圖 232
11.7 狀態(tài)機圖設(shè)計建模 233
11.8 部署圖設(shè)計建模 235
第12章 新聞中心管理系統(tǒng) 237
12.1 系統(tǒng)需求說明 237
12.1.1 新聞中心管理系統(tǒng)的需求分析 237
12.1.2 新聞中心管理系統(tǒng)的功能模塊 238
12.1.3 UML對系統(tǒng)需求分析的支持 240
12.1.4 利用UML模型構(gòu)造軟件體系結(jié)構(gòu) 240
12.2 系統(tǒng)的用例圖 241
12.3 系統(tǒng)中的類圖 243
12.4 系統(tǒng)的順序圖 246
12.5 系統(tǒng)的通信圖 249
12.6 系統(tǒng)狀態(tài)機圖 250
12.7 系統(tǒng)的活動圖 252
12.8 系統(tǒng)的配置和實現(xiàn) 253
12.9 系統(tǒng)的部署圖 253
12.10 生成Java代碼 254
12.11 逆向工程的實現(xiàn) 260
第13章 BBS論壇系統(tǒng) 262
13.1 BBS論壇系統(tǒng)的需求分析 262
13.1.1 系統(tǒng)的功能需求 263
13.1.2 前臺功能模塊 265
13.1.3 后臺功能模塊 267
13.2 BBS論壇系統(tǒng)的UML建模 270
13.2.1 BBS論壇系統(tǒng)的用例圖 270
13.2.2 BBS論壇系統(tǒng)的順序圖 274
13.2.3 BBS論壇系統(tǒng)的通信圖 292
13.2.4 BBS論壇系統(tǒng)的狀態(tài)機圖 300
13.2.5 BBS論壇系統(tǒng)的活動圖 301
13.3 BBS論壇系統(tǒng)中的類及相互關(guān)系 308
13.3.1 BBS論壇系統(tǒng)中的類 308
13.3.2 類之間的關(guān)系圖 312
13.4 BBS論壇系統(tǒng)中的配置和部署 313
13.4.1 構(gòu)件圖的建立 313
13.4.2 部署圖的建立 313
第14章 數(shù)碼錄音機系統(tǒng) 314
14.1 數(shù)碼錄音機系統(tǒng)的需求分析 314
14.1.1 外部事件 315
14.1.2 數(shù)碼錄音機系統(tǒng)的用例圖 317
14.1.3 用例場景 318
14.2 數(shù)碼錄音機系統(tǒng)中的對象和類圖 319
14.2.1 數(shù)碼錄音機系統(tǒng)中的對象 319
14.2.2 數(shù)碼錄音機系統(tǒng)中的類圖 320
14.3 數(shù)碼錄音機系統(tǒng)的狀態(tài)圖 326
14.4 數(shù)碼錄音機系統(tǒng)的系統(tǒng)架構(gòu) 328
14.5 數(shù)碼錄音機系統(tǒng)的協(xié)作圖 330
14.6 數(shù)碼錄音機系統(tǒng)詳細(xì)設(shè)計 333
14.6.1 硬件的對象建模 333
14.6.2 音頻壓縮算法 333
14.6.3 使用直接內(nèi)存訪問通道 333
14.6.4 硬件資源分配 335
14.6.5 內(nèi)存分配 335
14.7 數(shù)碼錄音機系統(tǒng)實現(xiàn) 336
14.8 小 結(jié) 336