《軟件入門與提高叢書(shū):UML2軟件建模入門與提高》從初學(xué)者的角度出發(fā),由淺入深、循序漸進(jìn)地介紹統(tǒng)一建模語(yǔ)言UML的相關(guān)知識(shí),書(shū)中提供了大量操作UML的示例。另外,還向讀者提供了很多實(shí)戰(zhàn)案例和上機(jī)練習(xí),用于演練。
本書(shū)共分為16章,內(nèi)容包括面向?qū)ο笏枷牒蛙浖7诸,UML發(fā)展歷史、組成元素、體系結(jié)構(gòu)、建模流程和應(yīng)用領(lǐng)域,常用的UML建模工具,用例圖、類圖、對(duì)象圖和包圖、狀態(tài)機(jī)圖、活動(dòng)圖、順序圖和時(shí)間圖、通信圖和交互概覽圖、組件圖和部署圖,UML到關(guān)系型數(shù)據(jù)庫(kù)的映射,UML與統(tǒng)一過(guò)程,UML與Java語(yǔ)言的映射,以及UML與設(shè)計(jì)模式等。最后一章提供了一個(gè)綜合的案例。
本書(shū)示例新穎,內(nèi)容豐富,涉及面廣泛,適合所有的UML初學(xué)者學(xué)習(xí),也可以幫助有基礎(chǔ)知識(shí)的讀者提高創(chuàng)建UML模型圖的技能。另外,對(duì)于大中專學(xué)生和培訓(xùn)班的學(xué)生來(lái)說(shuō),本書(shū)更是一本不可多得的教材和自學(xué)用書(shū)。
UML是英文Unified Modeling Language的縮寫(xiě),又稱為統(tǒng)一建模語(yǔ)言,或者標(biāo)準(zhǔn)建模語(yǔ)言,它是始于1997年的一個(gè)OMG標(biāo)準(zhǔn),是一個(gè)支持模型化和軟件系統(tǒng)開(kāi)發(fā)的圖形化語(yǔ)言,可為軟件開(kāi)發(fā)的所有階段提供模型化和可視化支持。面向?qū)ο蟮姆治雠c設(shè)計(jì)方法在20世紀(jì)80年代末至90年代中出現(xiàn)了一個(gè)高潮,UML正是這個(gè)高潮的產(chǎn)物,它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且做了進(jìn)一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標(biāo)準(zhǔn)建模語(yǔ)言。
本書(shū)內(nèi)容
全書(shū)共分16章,主要內(nèi)容如下。
第1章:面向?qū)ο蠛蛙浖!哪P烷_(kāi)始介紹,接著介紹面向?qū)ο笏枷氲娜笠亍⑷竽P、常用的三層開(kāi)發(fā)方法、軟件建模知識(shí),最后介紹常用的建模分類。
第2章:UML入門基礎(chǔ)。著重介紹UML的基礎(chǔ)知識(shí),包括UML的概念、發(fā)展歷史、目標(biāo)、組成元素、體系結(jié)構(gòu)、建模流程以及應(yīng)用領(lǐng)域等內(nèi)容。
第3章:UML建模工具。從目前眾多的UML建模工具中挑選出應(yīng)用最廣泛且在建模工具中最有影響力的3種工具(Visio、Enterprise Architect和PowerDesigner)進(jìn)行介紹。
第4章:用例圖。介紹用例圖的構(gòu)成、設(shè)計(jì)和使用,包括用例圖的組成部分、各個(gè)部分成員的確定和使用,以及如何繪制完整的用例圖等。
第5章:類圖。詳細(xì)介紹UML中的類圖,包括類圖中的類、抽象類、接口和各種關(guān)系的實(shí)現(xiàn)等內(nèi)容,還介紹如何使用類圖進(jìn)行建模。
第6章:對(duì)象圖和包圖。首先介紹對(duì)象圖,包括概念、組成、繪制和閱讀,以及如何建模等;然后介紹包圖,包括概念、組成、分類、設(shè)計(jì)原則以及如何建模等。
第7章:狀態(tài)機(jī)圖。詳細(xì)介紹狀態(tài)機(jī)圖的繪制,首先介紹狀態(tài)機(jī)圖的基本內(nèi)容,包括概念、標(biāo)記、狀態(tài)類型和狀態(tài)機(jī)圖的應(yīng)用等,然后介紹狀態(tài)機(jī)圖中的轉(zhuǎn)移元素,最后介紹組合狀態(tài)。
第8章:活動(dòng)圖。詳細(xì)介紹活動(dòng)圖的繪制,其內(nèi)容包括活動(dòng)圖的定義、作用、與狀態(tài)機(jī)圖的區(qū)別、組成元素和活動(dòng)轉(zhuǎn)換等。
第9章:順序圖和時(shí)間圖。介紹UML中的兩種交互圖,即順序圖和時(shí)間圖。順序圖描述系統(tǒng)對(duì)象之間的交互順序,但是這個(gè)順序沒(méi)有細(xì)致的時(shí)間刻度,只是一個(gè)大概的流程,而時(shí)間圖彌補(bǔ)了這個(gè)不足,它們共同繪制了系統(tǒng)對(duì)象間交互的順序和時(shí)間。
第10章:通信圖和交互概覽圖。首先對(duì)通信圖的概念進(jìn)行介紹,然后介紹通信圖中的消息、對(duì)象的創(chuàng)建和消息迭代等內(nèi)容,最后介紹交互圖和交互概覽圖的繪制。
第11章:繪制UML的實(shí)現(xiàn)圖。首先介紹組件圖的繪制和建模,然后介紹部署圖的繪制和建模。
第12章:UML到關(guān)系型數(shù)據(jù)庫(kù)的映射。著重介紹如何將UML類圖中的類和關(guān)系映射到關(guān)系型數(shù)據(jù)庫(kù)表。首先介紹基本結(jié)構(gòu)的映射,然后介紹泛化關(guān)系和關(guān)聯(lián)關(guān)系的映射,最后介紹完整性與約束檢查以及存儲(chǔ)過(guò)程、觸發(fā)器和索引等內(nèi)容。
第13章:UML與統(tǒng)一過(guò)程。首先討論軟件開(kāi)發(fā)過(guò)程和成熟標(biāo)準(zhǔn),然后詳細(xì)介紹一種使用UML的過(guò)程,即統(tǒng)一過(guò)程,最后簡(jiǎn)單介紹使用UML過(guò)程的一般特征。
第14章:UML與Java語(yǔ)言映射。主要介紹UML類圖映射為Java語(yǔ)言實(shí)現(xiàn)的方法,包括轉(zhuǎn)換為Java類、轉(zhuǎn)換原則、轉(zhuǎn)換類之間的關(guān)聯(lián)、泛化關(guān)聯(lián)以及包和接口等。
第15章:UML與設(shè)計(jì)模式。首先介紹模式的一些基本概念,接著介紹UML對(duì)設(shè)計(jì)模式的支持,然后通過(guò)具體的示例討論如何使用設(shè)計(jì)模式進(jìn)行系統(tǒng)設(shè)計(jì)。
第16章:即時(shí)通信系統(tǒng)。綜合UML建模系統(tǒng)的各類模型,通過(guò)對(duì)即時(shí)通信系統(tǒng)的分析,繪制該系統(tǒng)的UML模型圖,包括用例圖、靜態(tài)圖、行為圖和交互圖等多種圖形。
本書(shū)特色
本書(shū)內(nèi)容詳細(xì)、示例豐富,知識(shí)面廣,全面地講解了UML的應(yīng)用和開(kāi)發(fā)。本書(shū)最大的特點(diǎn)體現(xiàn)在如下幾個(gè)方面。
。1)知識(shí)全面,內(nèi)容豐富
本書(shū)緊密圍繞UML的相關(guān)知識(shí)展開(kāi)詳細(xì)的講解,涵蓋了實(shí)際開(kāi)發(fā)應(yīng)用中的具體應(yīng)用代碼。
。2)理論和示例結(jié)合
書(shū)中幾乎每一個(gè)知識(shí)點(diǎn)都有豐富而典型的示例,而且每一章最后都會(huì)通過(guò)一個(gè)或多個(gè)綜合的實(shí)戰(zhàn)介紹該章的知識(shí)。作為一本UML入門類型的書(shū),將理論和實(shí)踐很好地結(jié)合起來(lái)進(jìn)行講解,讓讀者最容易快速掌握。
。3)應(yīng)用廣泛,提供文檔
對(duì)于大多數(shù)的精選實(shí)戰(zhàn)案例,都會(huì)向讀者提供詳細(xì)的實(shí)現(xiàn)步驟,結(jié)構(gòu)清晰簡(jiǎn)明,分析深入淺出,而且有些實(shí)戰(zhàn)案例貼近實(shí)際。
。4)網(wǎng)站技術(shù)支持
讀者在學(xué)習(xí)或者工作的過(guò)程中,如果遇到實(shí)際問(wèn)題,可與我們?nèi)〉寐?lián)系,作者會(huì)在第一時(shí)間給予幫助。
。5)貼心的提示
為了便于讀者閱讀,書(shū)中還穿插著一些技巧、提示等小貼士,體例約定如下。
提示:通常是一些提醒,讓讀者加深印象或提供建議及解決問(wèn)題的方法。
注意:提出學(xué)習(xí)過(guò)程中需要特別注意的一些知識(shí)點(diǎn)和內(nèi)容,或者相關(guān)信息。
技巧:通過(guò)簡(jiǎn)短的文字,指出知識(shí)點(diǎn)在應(yīng)用時(shí)的一些小竅門。
讀者對(duì)象
本書(shū)適合作為軟件開(kāi)發(fā)入門者的自學(xué)用書(shū),也適合作為高等院校相關(guān)專業(yè)的教學(xué)參考書(shū),還可供開(kāi)發(fā)人員查閱、參考。本書(shū)特別適合下列人員閱讀:
UML初學(xué)者。
各大中專院校的在校學(xué)生和相關(guān)授課教師。
準(zhǔn)備從事與UML應(yīng)用相關(guān)工作的人員。
作者團(tuán)隊(duì)
除了封面署名作者之外,參與本書(shū)編寫(xiě)的人員還有程朝斌、王詠梅、郝軍啟、王慧、鄭小營(yíng)、張浩華、王超英、張凡、趙振方、張艷梅等,在此表示感謝。在本書(shū)的編寫(xiě)過(guò)程中,我們力求精益求精,但難免存在一些不足之處,懇請(qǐng)廣大讀者批評(píng)指正。
編 者
第1章 面向?qū)ο蠛蛙浖?
1.1 模型2
1.2 面向?qū)ο蟮乃枷?
1.2.1 了解面向?qū)ο?
1.2.2 面向?qū)ο蟮娜笠?
1.2.3 面向?qū)ο蟮娜竽P?
1.2.4 面向?qū)ο蟮某S萌龑?
1.2.5 面向?qū)ο蟮拈_(kāi)發(fā)方法10
1.3 軟件建模11
1.3.1 軟件建模概述11
1.3.2 建模的三要素11
1.3.3 面向?qū)ο蠼?2
1.4 建模分類14
1.4.1 業(yè)務(wù)建模14
1.4.2 數(shù)據(jù)建模16
1.4.3 應(yīng)用程序建模16
1.5 思考與練習(xí)17
第2章 UML入門基礎(chǔ)19
2.1 UML概述20
2.1.1 UML簡(jiǎn)介20
2.1.2 UML發(fā)展歷史21
2.1.3 UML的目標(biāo)22
2.2 UML的基本組成23
2.2.1 建模元素23
2.2.2 關(guān)系26
2.2.3 圖28
2.2.4 規(guī)則30
2.2.5 通用機(jī)制31
2.2.6 UML標(biāo)準(zhǔn)通用機(jī)制34
2.3 UML其他內(nèi)容40
2.3.1 UML的體系結(jié)構(gòu)40
2.3.2 UML建模流程41
2.3.3 UML的應(yīng)用領(lǐng)域42
2.4 UML 2.0概述42
2.5 思考與練習(xí)44
第3章 UML建模工具45
3.1 使用建模工具需知46
3.1.1 建模工具的作用46
3.1.2 選擇建模工具的方法47
3.1.3 常用建模工具48
3.2 Visio 201049
3.2.1 Visio 2010簡(jiǎn)介49
3.2.2 實(shí)戰(zhàn)——繪制論壇系統(tǒng)的用例圖51
3.3 Enterprise Architect 854
3.3.1 Enterprise Architect 8簡(jiǎn)介54
3.3.2 實(shí)戰(zhàn)——繪制論壇系統(tǒng)的類圖57
3.4 PowerDesigner 16.5 61
3.4.1 PowerDesigner簡(jiǎn)介62
3.4.2 實(shí)戰(zhàn)——安裝
PowerDesigner 16.563
3.4.3 實(shí)戰(zhàn)——繪制活動(dòng)圖65
3.4.4 實(shí)戰(zhàn)——生成模型報(bào)告68
3.4.5 實(shí)戰(zhàn)——對(duì)MySQL進(jìn)行反向工程70
3.5 思考與練習(xí)73
第4章 用例圖75
4.1 用例圖簡(jiǎn)介76
4.2 用例圖的構(gòu)成78
4.2.1 系統(tǒng)78
4.2.2 參與者79
4.2.3 用例79
4.2.4 關(guān)系80
4.3 使用參與者81
4.3.1 參與者的確定81
4.3.2 參與者的使用82
4.4 用例的使用83
4.4.1 識(shí)別用例83
4.4.2 用例描述87
4.5 關(guān)系88
4.5.1 關(guān)聯(lián)關(guān)系88
4.5.2 泛化關(guān)系89
4.5.3 包含關(guān)系90
4.5.4 擴(kuò)展關(guān)系91
4.6 實(shí)戰(zhàn)——圖書(shū)館管理系統(tǒng)用例圖92
4.7 思考與練習(xí)97
第5章 類圖101
5.1 類圖和元素102
5.1.1 類圖概述102
5.1.2 類104
5.1.3 抽象類109
5.1.4 接口109
5.2 依賴關(guān)系110
5.2.1 依賴關(guān)系概述110
5.2.2 依賴關(guān)系分類111
5.3 關(guān)聯(lián)關(guān)系113
5.3.1 關(guān)聯(lián)關(guān)系概述113
5.3.2 常見(jiàn)的關(guān)聯(lián)118
5.3.3 聚合關(guān)聯(lián)121
5.3.4 組合關(guān)聯(lián)122
5.3.5 建立關(guān)聯(lián)123
5.4 泛化關(guān)系123
5.4.1 泛化關(guān)系概述124
5.4.2 常用的泛化125
5.4.3 泛化集126
5.4.4 泛化約束127
5.5 實(shí)現(xiàn)關(guān)系128
5.6 類圖建模步驟130
5.7 實(shí)戰(zhàn)——構(gòu)建病房監(jiān)護(hù)系統(tǒng)的類型131
5.8 思考與練習(xí)133
第6章 對(duì)象圖和包圖137
6.1 了解對(duì)象138
6.1.1 對(duì)象概述138
6.1.2 對(duì)象符號(hào)139
6.2 對(duì)象圖142
6.2.1 對(duì)象圖概述142
6.2.2 繪制和閱讀對(duì)象圖143
6.2.3 使用對(duì)象圖建模144
6.3 對(duì)象圖和類圖144
6.4 實(shí)戰(zhàn)——繪制訂單管理系統(tǒng)的對(duì)象圖145
6.5 了解包146
6.5.1 包概述146
6.5.2 包的符號(hào)147
6.6 包圖149
6.6.1 包圖概述149
6.6.2 包圖分類150
6.6.3 包導(dǎo)入和包合并152
6.6.4 使用包圖建模154
6.6.5 包圖設(shè)計(jì)原則154
6.7 實(shí)戰(zhàn)——繪制劇院系統(tǒng)的包圖157
6.8 思考與練習(xí)159
第7章 狀態(tài)機(jī)圖161
7.1 狀態(tài)機(jī)圖簡(jiǎn)介162
7.1.1 狀態(tài)機(jī)概述162
7.1.2 狀態(tài)機(jī)標(biāo)記163
7.1.3 狀態(tài)類型165
7.1.4 狀態(tài)機(jī)圖的應(yīng)用166
7.2 轉(zhuǎn)移167
7.2.1 轉(zhuǎn)移簡(jiǎn)介167
7.2.2 事件168
7.2.3 動(dòng)作170
7.2.4 活動(dòng)與延遲事件171
7.2.5 轉(zhuǎn)移的類型172
7.3 組合狀態(tài)174
7.3.1 順序狀態(tài)174
7.3.2 并發(fā)狀態(tài)174
7.3.3 同步狀態(tài)175
7.3.4 歷史狀態(tài)175
7.3.5 子狀態(tài)機(jī)引用176
7.4 實(shí)戰(zhàn)——自動(dòng)存取款系統(tǒng)狀態(tài)機(jī)圖178
7.5 思考與練習(xí)180
第8章 活動(dòng)圖181
8.1 活動(dòng)圖的基本概念182
8.1.1 活動(dòng)圖的定義182
8.1.2 活動(dòng)圖的作用182
8.1.3 活動(dòng)圖的主要元素183
8.1.4 理解活動(dòng)與動(dòng)作184
8.1.5 活動(dòng)圖與狀態(tài)圖的區(qū)別186
8.2 活動(dòng)圖的元素詳解186
8.2.1 動(dòng)作狀態(tài)186
8.2.2 活動(dòng)狀態(tài)186
8.2.3 開(kāi)始和結(jié)束狀態(tài)187
8.2.4 分支與合并188
8.2.5 分叉與匯合190
8.2.6 對(duì)象流191
8.2.7 泳道192
8.3 活動(dòng)轉(zhuǎn)換193
8.3.1 轉(zhuǎn)移193
8.3.2 判定194
8.3.3 發(fā)送和接收信號(hào)動(dòng)作195
8.3.4 事件和觸發(fā)器195
8.3.5 可中斷區(qū)間196
8.3.6 異常197
8.4 實(shí)戰(zhàn)——活動(dòng)圖的應(yīng)用198
8.5 思考與練習(xí)200
第9章 順序圖和時(shí)間圖203
9.1 順序圖簡(jiǎn)介204
9.2 順序圖的構(gòu)成205
9.2.1 對(duì)象205
9.2.2 生命線和激活期208
9.2.3 消息209
9.2.4 序號(hào)210
9.2.5 參數(shù)212
9.2.6 激活期規(guī)范213
9.3 消息類型217
9.3.1 同步消息217
9.3.2 異步消息218
9.3.3 反身消息219
9.3.4 接收發(fā)送消息220
9.3.5 消息分支和從屬流220
9.4 組合片段222
9.4.1 組合片段簡(jiǎn)介222
9.4.2 選項(xiàng)組合片段224
9.4.3 備選組合片段225
9.4.4 循環(huán)組合片段226
9.4.5 引用組合片段227
9.5 時(shí)間圖228
9.5.1 時(shí)間圖概述228
9.5.2 時(shí)間圖的構(gòu)成229
9.5.3 時(shí)間約束234
9.5.4 替代表示法235
9.6 實(shí)戰(zhàn)——團(tuán)購(gòu)系統(tǒng)順序圖236
9.7 思考與練習(xí)241
第10章 通信圖和交互概覽圖245
10.1 通信圖簡(jiǎn)介246
10.1.1 通信圖概述246
10.1.2 對(duì)象與類角色247
10.1.3 關(guān)聯(lián)角色與鏈接248
10.1.4 消息250
10.2 消息序號(hào)和控制點(diǎn)251
10.2.1 消息序號(hào)252
10.2.2 消息控制點(diǎn)252
10.3 創(chuàng)建對(duì)象253
10.4 消息迭代253
10.4.1 對(duì)象的迭代254
10.4.2 消息的迭代254
10.5 交互圖255
10.6 交互概覽圖256
10.6.1 交互概覽圖簡(jiǎn)介256
10.6.2 繪制交互概覽圖257
10.7 實(shí)戰(zhàn)——在線報(bào)考系統(tǒng)的交互圖257
10.8 思考與練習(xí)259
第11章 繪制UML的實(shí)現(xiàn)圖261
11.1 了解組件262
11.1.1 組件概述262
11.1.2 組件的符號(hào)262
11.2 組件圖265
11.2.1 組件圖概述265
11.2.2 組件間的關(guān)系267
11.2.3 組件圖和類圖268
11.2.4 實(shí)戰(zhàn)——繪制組件圖268
11.3 使用組件圖建模269
11.3.1 對(duì)源代碼建模270
11.3.2 對(duì)可執(zhí)行體的發(fā)布建模270
11.3.3 對(duì)物理數(shù)據(jù)庫(kù)建模271
11.3.4 對(duì)可適應(yīng)的系統(tǒng)建模272
11.4 了解節(jié)點(diǎn)272
11.4.1 節(jié)點(diǎn)的符號(hào)272
11.4.2 節(jié)點(diǎn)和組件的區(qū)別273
11.5 部署圖274
11.5.1 部署圖概述274
11.5.2 部署圖的關(guān)系275
11.5.3 實(shí)戰(zhàn)——繪制部署圖276
11.6 使用部署圖建模278
11.6.1 對(duì)嵌入式系統(tǒng)建模278
11.6.2 對(duì)客戶/服務(wù)器建模279
11.6.3 對(duì)全分布式系統(tǒng)建模280
11.7 思考與練習(xí)281
第12章 UML到關(guān)系型數(shù)據(jù)庫(kù)的映射285
12.1 關(guān)系型數(shù)據(jù)庫(kù)與UML模型286
12.1.1 關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)286
12.1.2 UML模型286
12.2 基本結(jié)構(gòu)映射287
12.2.1 主鍵的生成287
12.2.2 屬性類型到域的映射288
12.2.3 屬性到列的映射289
12.3 泛化關(guān)系的映射289
12.3.1 所有類的映射289
12.3.2 除無(wú)屬性外類的映射291
12.3.3 父類屬性下移291
12.3.4 子類屬性上移292
12.3.5 映射方法比較293
12.4 關(guān)聯(lián)關(guān)系的映射294
12.4.1 一對(duì)一關(guān)聯(lián)的映射294
12.4.2 零或一對(duì)一關(guān)聯(lián)的映射295
12.4.3 一對(duì)多關(guān)聯(lián)的映射295
12.4.4 多對(duì)多關(guān)聯(lián)的映射297
12.4.5 聚合和組合關(guān)系的映射298
12.4.6 映射時(shí)應(yīng)避免的情況298
12.5 完整性與約束檢查299
12.5.1 父表的約束300
12.5.2 子表的約束301
12.6 其他相關(guān)問(wèn)題302
12.6.1 存儲(chǔ)過(guò)程302
12.6.2 觸發(fā)器302
12.6.3 索引303
12.7 實(shí)戰(zhàn)——軟件公司UML模型的映射303
12.8 思考與練習(xí)305
第13章 UML與統(tǒng)一過(guò)程309
13.1 軟件開(kāi)發(fā)過(guò)程簡(jiǎn)介310
13.2 定義和理解軟件工程的過(guò)程311
13.3 軟件成熟標(biāo)準(zhǔn):CMM311
13.3.1 使用CMM的意義311
13.3.2 CMM等級(jí)312
13.3.3 CMM框架314
13.3.4 CMM結(jié)構(gòu)315
13.4 RUP簡(jiǎn)介316
13.4.1 使用RUP的意義316
13.4.2 什么是RUP317
13.4.3 RUP的特點(diǎn)318
13.4.4 RUP六大開(kāi)發(fā)經(jīng)驗(yàn)320
13.5 RUP二維開(kāi)發(fā)模型321
13.5.1 時(shí)間維322
13.5.2 RUP的靜態(tài)結(jié)構(gòu)324
13.6 RUP工作流程326
13.6.1 初始階段326
13.6.2 細(xì)化階段327
13.6.3 構(gòu)造階段328
13.6.4 交付階段329
13.7 RUP的核心工作流329
13.7.1 商業(yè)建模329
13.7.2 需求329
13.7.3 分析和設(shè)計(jì)331
13.7.4 實(shí)現(xiàn)332
13.7.5 測(cè)試332
13.7.6 部署333
13.7.7 配置和變更管理333
13.7.8 項(xiàng)目管理334
13.7.9 環(huán)境334
13.8 如何在過(guò)程中使用UML334
13.8.1 以架構(gòu)為中心334
13.8.2 用例驅(qū)動(dòng)335
13.8.3 UML對(duì)迭代開(kāi)發(fā)的支持335
13.8.4 UML圖與工作流程之間的關(guān)系336
13.9 思考與練習(xí)336
第14章 UML與Java語(yǔ)言映射339
14.1 模型映射為Java的實(shí)現(xiàn)340
14.1.1 轉(zhuǎn)換為Java類340
14.1.2 轉(zhuǎn)換原則341
14.2 實(shí)現(xiàn)常見(jiàn)關(guān)聯(lián)342
14.2.1 基本關(guān)聯(lián)342
14.2.2 強(qiáng)制對(duì)可選或者強(qiáng)制關(guān)聯(lián)343
14.2.3 可選對(duì)可選關(guān)聯(lián)344
14.2.4 可選對(duì)多關(guān)聯(lián)345
14.2.5 強(qiáng)制對(duì)多關(guān)聯(lián)346
14.2.6 多對(duì)多關(guān)聯(lián)346
14.2.7 關(guān)聯(lián)類的實(shí)現(xiàn)347
14.2.8 聚合關(guān)聯(lián)的實(shí)現(xiàn)348
14.2.9 組合關(guān)聯(lián)的實(shí)現(xiàn)348
14.3 實(shí)現(xiàn)泛化349
14.4 特殊模型的映射350
14.4.1 包350
14.4.2 接口350
14.4.3 枚舉352
14.5 實(shí)戰(zhàn)——類圖與Java的工程化352
14.5.1 正向工程352
14.5.2 逆向工程355
14.6 思考與練習(xí)357
第15章 UML與設(shè)計(jì)模式359
15.1 了解模式360
15.2 軟件設(shè)計(jì)模式360
15.2.1 了解設(shè)計(jì)模式360
15.2.2 設(shè)計(jì)模式的誕生362
15.2.3 設(shè)計(jì)模式的原則363
15.2.4 設(shè)計(jì)模式的分類364
15.3 設(shè)計(jì)模式的元素366
15.3.1 關(guān)鍵元素366
15.3.2 其他元素367
15.4 創(chuàng)建型模式367
15.4.1 了解創(chuàng)建型模式368
15.4.2 簡(jiǎn)單工廠模式368
15.4.3 工廠方法模式372
15.4.4 抽象工廠模式375
15.4.5 單例模式380
15.5 結(jié)構(gòu)型模式384
15.5.1 了解結(jié)構(gòu)型模式384
15.5.2 適配器模式385
15.5.3 外觀模式388
15.6 觀察者模式390
15.6.1 了解觀察者模式390
15.6.2 實(shí)戰(zhàn)——自定義觀察者模式391
15.7 思考與練習(xí)393
第16章 即時(shí)通信系統(tǒng)395
16.1 系統(tǒng)建模概述396
16.1.1 系統(tǒng)開(kāi)發(fā)的背景396
16.1.2 系統(tǒng)建模的基本步驟396
16.2 系統(tǒng)分析397
16.2.1 系統(tǒng)結(jié)構(gòu)397
16.2.2 需求分析398
16.3 用例圖398
16.3.1 確定參與者399
16.3.2 確定用例399
16.3.3 繪制系統(tǒng)用例圖400
16.4 靜態(tài)圖402
16.4.1 即時(shí)通信類402
16.4.2 即時(shí)通信類圖404
16.5 行為圖405
16.5.1 行為分析405
16.5.2 用戶聊天的活動(dòng)圖406
16.5.3 可疑言論處理活動(dòng)圖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
附錄 各章思考與練習(xí)答案415