UML面向?qū)ο笤O(shè)計與分析基礎(chǔ)教程
定 價:29.8 元
- 作者:牛麗平、郭新志、楊繼萍
- 出版時間:2007/7/1
- ISBN:9787302154297
- 出 版 社:清華大學(xué)出版社
- 中圖法分類:TP312
- 頁碼:
- 紙張:20
- 版次:1
- 開本:16開
本書全面介紹使用UML進行軟件設(shè)計、分析與開發(fā)的知識。UML適合于以體系結(jié)構(gòu)為中心、用例驅(qū)動、迭代式和漸增式的軟件開發(fā)過程,其應(yīng)用領(lǐng)域非常廣泛。本書內(nèi)容包括面向?qū)ο蟮姆治龇椒ê驮O(shè)計方法,面向?qū)ο蠓治龅娜龑釉O(shè)計,用例圖、類圖、對象圖和包圖、活動圖、順序圖和協(xié)作圖、狀態(tài)圖、構(gòu)造組件圖和部署圖等,UML核心語義以及擴展機制的三個重要組成部分:構(gòu)造型、標記值和約束,使用與UML緊密結(jié)合的RUP進行軟件開發(fā),對象約束語言,UML在Web應(yīng)用程序中的應(yīng)用,使用C++語言實現(xiàn)UML模型(重點介紹類圖模型的實現(xiàn))的基本原理和方法。
本書適合作為普通高校計算機專業(yè)教材,也可以作為軟件設(shè)計人員和開發(fā)人員的參考資料。
20世紀90年代,人們推出了許多不同的面向?qū)ο笤O(shè)計和分析方法。這些不同的面向?qū)ο蟮姆椒ň哂胁煌慕7栿w系,這些不同的符號體系極大地妨礙了軟件的設(shè)計人員、開發(fā)人員和用戶之間的交流。因此,有必要在分析、比較不同的建模語言以及總結(jié)面向?qū)ο蠹夹g(shù)應(yīng)用實踐的基礎(chǔ)上,建立一個標準的、統(tǒng)一的建模語言。UML就是這樣的建模語言,UML在1997年11月17日被對象管理組織OMG采納成為基于面向?qū)ο蠹夹g(shù)的標準建模語言。統(tǒng)一建模語言UML不僅統(tǒng)一了面向?qū)ο蠓椒ㄖ械姆柋硎荆以谄浠A(chǔ)上進一步發(fā)展,并最終被統(tǒng)一為被人們所接受的標準。
UML相當(dāng)適合于以體系結(jié)構(gòu)為中心的、用例驅(qū)動的、迭代式和漸增式的軟件開發(fā)過程,其應(yīng)用領(lǐng)域頗為廣泛,除了可用于具有實時性要求軟件系統(tǒng)建模以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)建模外,還可用于描述非軟件領(lǐng)域的系統(tǒng)。
UML適用于系統(tǒng)開發(fā)過程中從需求分析到完成測試的各個階段:在需求分析階段,可以用用戶模型視圖來捕獲用戶需求;在分析和設(shè)計階段,可以用靜態(tài)結(jié)構(gòu)和行為模型視圖來描述系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為;在實現(xiàn)階段,可以將UML模型自動轉(zhuǎn)換為用面向?qū)ο蟪绦蛟O(shè)計語言實現(xiàn)代碼。
本書以漸進的順序來介紹UML,從需求分析開始,然后再構(gòu)建和部署系統(tǒng)。
第1章 主要介紹什么是面向?qū)ο蟮姆治龇椒ê驮O(shè)計方法,面向?qū)ο蠓治龅娜龑釉O(shè)計;然后介紹面向?qū)ο蠓治龅墓ぞ吆头椒ā猆ML,以及UML的主要構(gòu)成。
第2章 主要介紹什么是用例圖,用例圖的組成,以及如何使用用例圖對系統(tǒng)進行需求分析。
第3章 介紹類圖、對象圖和包圖的基本概念,重點介紹了類與類之間的關(guān)系以及如何建模類圖。
第4章 主要介紹活動圖的相關(guān)知識和活動圖在UML建模中發(fā)揮的作用,并輔以圖書館管理系統(tǒng)活動圖實例。
第5章 介紹系統(tǒng)交互之一的順序圖,其中主要介紹系統(tǒng)順序圖的作用,以及順序圖的組成。UML2.0在UML1.x的基礎(chǔ)上,為管理復(fù)雜交互添加了順序片段部分。
第6章 主要介紹通信圖,通信圖也是描述系統(tǒng)交互的動態(tài)視圖,其在UML1.x中稱為協(xié)作圖,在本章介紹了構(gòu)成通信圖的主要部件,以及如何實現(xiàn)通信圖與順序圖之間的轉(zhuǎn)換。
第7章 本章主要介紹UML2.0新增的交互視圖——時序圖。當(dāng)正在建模的系統(tǒng)對時間有需求時,就需要使用時序圖對其進行交互建模。
第8章 本章主要介紹交互概況圖和組合結(jié)構(gòu)圖,交互概況圖將順序圖、通信圖和時序圖組合在一起,使用各種類型的交互圖的特長為用例進行建模。組合結(jié)構(gòu)圖則從另一個方面描述了類之間的組成結(jié)構(gòu)。
第9章 主要介紹了狀態(tài)圖的基礎(chǔ)知識,并著重介紹狀態(tài)圖中的重要元素,最后給出了圖書館管理系統(tǒng)中用到的狀態(tài)圖。
第10章 介紹如何構(gòu)造組件圖和部署圖。
第11章 介紹如何通過與UML緊密結(jié)合的RUP進行軟件開發(fā),重點介紹了RUP的二維空間和RUP的核心工作流程。
第12章 介紹如何根據(jù)UML模型進行數(shù)據(jù)庫設(shè)計。
第13章 本章由淺入深地介紹了對象約束語言,包括對象約束語言的結(jié)構(gòu)、語法、集合的使用和OCL標準庫等。
第14章 本章從UML四層體系結(jié)構(gòu)入手,詳細介紹了UML核心語義及擴展機制的三個重要組成部分:構(gòu)造型、標記值和約束。
第15章 介紹用C++語言實現(xiàn)UML模型(重點介紹類圖模型的實現(xiàn))的基本原理和方法。
第16章 介紹使用UML分析一個比較完整的案例——圖書管理系統(tǒng),這一章是對前面基礎(chǔ)部分的總結(jié),展示了如何使用UML為系統(tǒng)建模。
第17章 主要介紹嵌入式系統(tǒng)的分析,以及嵌入式系統(tǒng)的技術(shù)特點和開發(fā)過程,并通過一個案例——MP3播放器,介紹UML在嵌入式系統(tǒng)中的應(yīng)用。
第18章 主要介紹UML在Web應(yīng)用程序中的應(yīng)用,通過本章的介紹,將使讀者對Web應(yīng)用程序的開發(fā)有一個全新的認識。
本書特色
本書是一本完整介紹UML在軟件設(shè)計和開發(fā)過程中應(yīng)用的教程,在編寫過程中我們精心設(shè)計了豐富的體例,以幫助讀者順利學(xué)習(xí)本書內(nèi)容。
? 理論緊密結(jié)合實踐 全書提供了3個完整的分析案例,通過示例分析、設(shè)計過程講解UML的應(yīng)用知識。
? 圖文并茂 UML理論知識比較抽象,本書繪制了大量UML圖,幫助讀者直觀理解抽象內(nèi)容。
? 網(wǎng)站互動 我們在網(wǎng)站上提供了本書案例和擴展內(nèi)容的資料鏈接,便于讀者繼續(xù)學(xué)習(xí)相關(guān)知識;授課教師也可以下載本書教學(xué)課件和其他教學(xué)資源。
? 思考與練習(xí) 簡答題測試讀者對各章內(nèi)容的掌握程度;分析題理論結(jié)合實際,引導(dǎo)讀者深入掌握UML理論知識。
讀者對象
本書在多家院校成熟教案以及自編教材的基礎(chǔ)上整合編寫,全面介紹使用UML進行軟件設(shè)計、分析與開發(fā)的知識,適合作為普通高校計算機專業(yè)教材,也可以作為軟件設(shè)計人員和開發(fā)人員的參考資料。
本書作者均從事軟件分析、開發(fā)和教學(xué)工作,擁有豐富的UML開發(fā)案例。參與本書編寫人員除了封面署名人員之外,還有吳俊海、張瑞萍、董志鵬、祝紅濤、王海峰、郝相林、劉萬軍、楊寧寧、郭曉俊、康顯麗、辛愛軍、牛小平、賈栓穩(wěn)、王立新、蘇靜、趙元慶、王蕾、亢鳳林、韋潛、郝安林等人。由于時間倉促,書中錯誤在所難免,敬請讀者批評指正。讀者可以通過清華大學(xué)出版社網(wǎng)站www.tup.tsinghua.edu.cn與我們聯(lián)系。
編 者
第1章 UML與面向?qū)ο?
1.1 面向?qū)ο箝_發(fā)2
1.1.1 理解面向?qū)ο箝_發(fā)2
1.1.2 面向?qū)ο蟮闹饕拍?
1.1.3 OO開發(fā)的優(yōu)點8
1.2 OO開發(fā)中的三層設(shè)計8
1.3 UML簡介9
1.3.1 為什么對系統(tǒng)建模9
1.3.2 UML的發(fā)展10
1.3.3 UML的構(gòu)成10
1.3.4 “統(tǒng)一”的意義11
1.4 UML視圖11
1.5 UML圖13
1.6 模型元素15
1.6.1 事物15
1.6.2 關(guān)系17
1.7 通用機制18
1.8 使用UML建模19
1.9 思考與練習(xí)20
第2章 用例圖21
2.1 用例圖的構(gòu)成21
2.1.1 系統(tǒng)22
2.1.2 參與者22
2.1.3 用例24
2.1.4 關(guān)系26
2.2 泛化27
2.2.1 泛化用例27
2.2.2 泛化參與者29
2.3 描述用例30
2.4 用例之間的關(guān)系33
2.4.1 包含關(guān)系33
2.4.2 擴展關(guān)系34
2.5 用例建模36
2.5.1 確定系統(tǒng)涉及的總體信息36
2.5.2 確定系統(tǒng)的參與者36
2.5.3 確定用例與構(gòu)造用例模型37
2.6 思考與練習(xí)40
第3章 類圖、對象圖和包圖41
3.1 類圖41
3.1.1 概述41
3.1.2 類及類的表示42
3.1.3 定義類47
3.2 關(guān)聯(lián)關(guān)系47
3.2.1 二元關(guān)聯(lián)48
3.2.2 關(guān)聯(lián)類53
3.2.3 或關(guān)聯(lián)與反身關(guān)聯(lián)54
3.2.4 聚合55
3.2.5 組成55
3.3 泛化關(guān)系56
3.3.1 泛化的含義和用途56
3.3.2 泛化的層次與多重繼承57
3.3.3 泛化約束58
3.4 依賴關(guān)系和實現(xiàn)關(guān)系59
3.5 構(gòu)造類圖模型61
3.6 抽象類63
3.7 接口64
3.8 對象圖65
3.8.1 對象和鏈65
3.8.2 使用對象圖建模66
3.9 包圖67
3.9.1 理解包圖67
3.9.2 導(dǎo)入包68
3.9.3 使用包圖建模70
3.10 思考與練習(xí)70
第4章 活動圖72
4.1 定義活動圖72
4.2 認識活動圖標記符73
4.2.1 活動74
4.2.2 狀態(tài)75
4.2.3 轉(zhuǎn)移75
4.2.4 控制點76
4.2.5 判斷節(jié)點與合并節(jié)點77
4.2.6 綜合應(yīng)用79
4.3 其他標記符79
4.3.1 事件和觸發(fā)器79
4.3.2 分叉和匯合80
4.3.3 泳道81
4.3.4 對象流82
4.4 建造活動圖模型83
4.4.1 建;顒訄D步驟83
4.4.2 標識用例84
4.4.3 建模主路徑84
4.4.4 建模從路徑85
4.4.5 添加泳道86
4.4.6 改進高層活動87
4.5 思考與練習(xí)87
第5章 順序圖89
5.1 定義順序圖89
5.2 順序圖的組成90
5.2.1 對象與生命線90
5.2.2 消息91
5.2.3 激活94
5.3 創(chuàng)建對象和分支、從屬流95
5.3.1 創(chuàng)建對象95
5.3.2 分支和從屬流96
5.4 建模時間97
5.5 建模迭代98
5.6 消息中的參數(shù)和序號99
5.7 管理復(fù)雜交互的順序圖片段100
5.8 創(chuàng)建順序圖模型101
5.8.1 確定用例與工作流101
5.8.2 布置對象與添加消息101
5.9 思考與練習(xí)104
第6章 通信圖105
6.1 通信圖的構(gòu)成105
6.1.1 對象和類角色105
6.1.2 關(guān)聯(lián)角色106
6.1.3 通信鏈接107
6.1.4 消息107
6.2 對消息使用序列號和控制點108
6.3 在通信圖中創(chuàng)建對象109
6.4 迭代110
6.5 順序圖與通信圖110
6.6 思考與練習(xí)112
第7章 時序圖113
7.1 時序圖構(gòu)成113
7.1.1 時序圖中的對象113
7.1.2 狀態(tài)115
7.1.3 時間115
7.1.4 狀態(tài)線116
7.1.5 事件與消息116
7.2 時間約束117
7.3 時序圖的替代表示法118
7.4 思考與練習(xí)119
第8章 交互概況圖和組合結(jié)構(gòu)圖120
8.1 交互概況圖的組成120
8.2 為用例建模交互概況圖121
8.2.1 交互122
8.2.2 組合交互124
8.3 組合結(jié)構(gòu)圖125
8.3.1 內(nèi)部結(jié)構(gòu)125
8.3.2 使用類127
8.3.3 合作128
8.4 思考與練習(xí)129
第9章 狀態(tài)機圖130
9.1 定義狀態(tài)機圖130
9.1.1 狀態(tài)機130
9.1.2 對象、狀態(tài)和事件131
9.1.3 狀態(tài)機圖131
9.2 認識狀態(tài)機圖中的標記符132
9.2.1 狀態(tài)132
9.2.2 轉(zhuǎn)移132
9.2.3 決策點135
9.2.4 同步135
9.3 指定狀態(tài)機圖中的動作和事件136
9.3.1 事件136
9.3.2 動作138
9.4 組成狀態(tài)141
9.4.1 順序子狀態(tài)141
9.4.2 并發(fā)子狀態(tài)142
9.4.3 子狀態(tài)機引用狀態(tài)143
9.4.4 同步狀態(tài)144
9.4.5 歷史狀態(tài)145
9.5 建造狀態(tài)機圖模型146
9.5.1 分析狀態(tài)機圖146
9.5.2 完成狀態(tài)機圖146
9.6 思考與練習(xí)147
第10章 構(gòu)造實現(xiàn)方式圖148
10.1 組件圖概述148
10.2 組件及其表示149
10.3 接口和組件間的關(guān)系149
10.4 組件圖的應(yīng)用150
10.5 部署圖151
10.5.1 節(jié)點152
10.5.2 關(guān)聯(lián)關(guān)系153
10.5.3 部署圖的應(yīng)用153
10.6 組合組件圖和部署圖155
10.7 建模實現(xiàn)方式圖156
10.7.1 添加節(jié)點和關(guān)聯(lián)關(guān)系156
10.7.2 添加組件、類和對象157
10.7.3 添加依賴關(guān)系157
10.7.4 圖書管理系統(tǒng)的實現(xiàn)
方式圖158
10.8 思考與練習(xí)160
第11章 UML與RUP162
11.1 理解軟件開發(fā)過程162
11.2 Rational統(tǒng)一過程(RUP)163
11.2.1 理解RUP163
11.2.2 為什么要使用RUP164
11.3 RUP的二維空間165
11.3.1 時間維165
11.3.2 RUP的靜態(tài)結(jié)構(gòu)167
11.4 核心工作流程169
11.4.1 需求獲取工作流169
11.4.2 分析工作流172
11.4.3 設(shè)計工作流174
11.4.4 實現(xiàn)工作流176
11.4.5 測試工作流179
11.5 思考與練習(xí)182
第12章 UML與數(shù)據(jù)庫設(shè)計183
12.1 數(shù)據(jù)庫結(jié)構(gòu)183
12.2 數(shù)據(jù)庫接口183
12.3 數(shù)據(jù)庫結(jié)構(gòu)轉(zhuǎn)換184
12.3.1 類到表的轉(zhuǎn)換184
12.3.2 關(guān)聯(lián)關(guān)系的轉(zhuǎn)換186
12.4 完整性與約束驗證188
12.4.1 父表的約束188
12.4.2 子表的約束191
12.5 關(guān)于存儲過程和觸發(fā)器191
12.6 鐵路系統(tǒng)UML模型到
數(shù)據(jù)庫的轉(zhuǎn)換192
12.7 用SQL語句實現(xiàn)數(shù)據(jù)庫功能194
12.8 思考與練習(xí)195
第13章 對象約束語言197
13.1 OCL概述197
13.2 OCL結(jié)構(gòu)198
13.2.1 抽象語法198
13.2.2 具體語法198
13.3 OCL表達式199
13.4 OCL語法200
13.4.1 固化類型200
13.4.2 數(shù)據(jù)類型、運算符和
操作201
13.5 深入固化類型202
13.5.1 屬性約束建模202
13.5.2 對操作約束建模203
13.6 使用集合204
13.6.1 創(chuàng)建集合204
13.6.2 操作集合205
13.7 使用消息206
13.8 元組208
13.9 OCL標準庫209
13.9.1 OclVoid和OclAny
類型209
13.9.2 OclMessage類型210
13.9.3 集合類型210
13.9.4 模型元素類型215
13.9.5 基本類型216
13.10 思考與練習(xí)218
第14章 UML擴展機制220
14.1 UML的體系結(jié)構(gòu)220
14.1.1 四層體系結(jié)構(gòu)220
14.1.2 元元模型層222
14.1.3 元模型層223
14.2 UML核心語義224
14.3 構(gòu)造型226
14.3.1 表示構(gòu)造型226
14.3.2 UML標準構(gòu)造型226
14.3.3 數(shù)據(jù)建模229
14.3.4 Web建模和業(yè)務(wù)
建模擴展230
14.4 標記值231
14.4.1 表示標記值231
14.4.2 標記值應(yīng)用元素231
14.4.3 自定義標記值232
14.4.4 UML標準標記值233
14.5 約束233
14.5.1 表示約束233
14.5.2 UML標準約束234
14.5.3 自定義約束236
14.6 思考與練習(xí)236
第15章 UML模型的實現(xiàn)237
15.1 類的實現(xiàn)237
15.2 關(guān)聯(lián)關(guān)系的實現(xiàn)239
15.2.1 一般關(guān)聯(lián)的實現(xiàn)240
15.2.2 有序關(guān)聯(lián)的實現(xiàn)244
15.2.3 關(guān)聯(lián)類的實現(xiàn)244
15.2.4 受限關(guān)聯(lián)的實現(xiàn)246
15.3 聚合與組合關(guān)系的實現(xiàn)249
15.4 泛化關(guān)系的實現(xiàn)250
15.5 接口類和包的實現(xiàn)251
15.6 思考與練習(xí)252
第16章 圖書管理系統(tǒng)的
分析與設(shè)計256
16.1 系統(tǒng)需求256
16.2 需求分析257
16.2.1 識別參與者和用例257
16.2.2 用例描述259
16.3 靜態(tài)結(jié)構(gòu)模型262
16.3.1 定義系統(tǒng)中的
對象和類262
16.3.2 定義用戶界面類266
16.3.3 類之間的關(guān)系269
16.4 動態(tài)行為模型271
16.4.1 建立順序圖271
16.4.2 建立狀態(tài)圖280
16.5 物理模型281
第17章 嵌入式系統(tǒng)設(shè)計283
17.1 嵌入式系統(tǒng)的技術(shù)特點283
17.2 嵌入式系統(tǒng)的開發(fā)技術(shù)285
17.2.1 嵌入式系統(tǒng)開發(fā)過程285
17.2.2 軟件移植286
17.3 嵌入式系統(tǒng)的需求分析286
17.3.1 MP3播放器的
工作原理287
17.3.2 外部事件287
17.3.3 識別用例289
17.3.4 使用順序圖描述用例290
17.4 系統(tǒng)的靜態(tài)模型293
17.4.1 識別系統(tǒng)中的
對象或類293
17.4.2 繪制類圖294
17.5 系統(tǒng)的動態(tài)模型298
17.5.1 狀態(tài)圖298
17.5.2 協(xié)作圖300
17.6 體系結(jié)構(gòu)302
第18章 Web應(yīng)用程序設(shè)計303
18.1 Web應(yīng)用程序的結(jié)構(gòu)303
18.1.1 瘦客戶模式304
18.1.2 胖客戶模式306
18.1.3 Web傳輸模式307
18.1.4 程序結(jié)構(gòu)模式對
程序的影響307
18.2 Web應(yīng)用系統(tǒng)的UML
建模方法308
18.3 UML在學(xué)生成績管理系統(tǒng)
建模中的運用311
18.3.1 系統(tǒng)需求分析311
18.3.2 系統(tǒng)設(shè)計311
18.4 系統(tǒng)詳細設(shè)計318
18.5 系統(tǒng)部署320