UML 基礎 案例與應用, 3/e (修訂版) Sams Teach Yourself UML in 24 Hours, 3/e

Joseph Schmuller

買這商品的人也買了...

商品描述

本書教讀者循序漸進地、系統地學習UML基礎知識和應用技術。和前一版相比,本書內容根據UML 2.0進行了補充和更新。
本書包括四部分內容。第 一部分“基礎知識”包括第 1章到第 15章,主要介紹UML語言的基礎知識以及面向對象的概念和思想,還簡單介紹了UML在開發過程中的應用方法。第 二部分“學習案例”包括第 16章到第 22章,結合實例詳細分析了UML的應用方法與技巧,還介紹了UML在熱點領域設計模式中的應用。第三部分“高 級應用”包括第 23章和第 24章,先是運用UML來描述設計模式和嵌入式系統,然後討論UML在其他領域的應用前景。第四部分“附錄”給出了每章的小測驗答案,介紹了使用Microsoft Visio專業版繪制常用UML圖的方法和步驟,還對常用UML圖進行了總結。
本書適用於從事面向對象軟件開發的軟件工程人員,也特別適合UML的初中級學習者。

作者簡介

Joseph Schmuller在IT行業有20年的工作經驗,是一位技術架構師,也是暢銷圖書和技術文章的作者。
他擁有威斯康辛大學的博士學位,還是北弗羅里達州立大學的助理教授。

目錄大綱

第一部分基礎知識

第1章UML簡介1 
1.1在紛繁複雜中尋求解決問題的辦法2 
1.2 UML的誕生2 
1.3 UML的組成3 
1.3.1類圖3 
1.3.2對像圖4 
1.3.3用例圖5 
1.3 .4狀態圖5 
1.3.5順序圖6 
1.3.6活動圖7 
1.3.7協作圖8 
1.3.8構件圖9 
1.3.9部署圖9 
1.4其他特徵10 
1.4.1註釋10 
1.4.2關鍵字和構造型10 
1.5 UML 2.0中的新圖11 
1.5.1組成結構圖11 
1.5.2交互縱覽圖12 
1.5.3計時圖13 
1.5.4有創新也有保留的包圖13 
1.6為什麼需要這麼多種圖14 
1.7這不僅僅是一系列圖14 
1.8小結15 
1.9常見問題解答15 
1.10小測驗和習題16 
1.10.1小測驗16 
1.10.2習題16 

第2章理解面向對象18 
2.1無處不在的對象18
2.2一些面向對象的概念20 
2.2.1抽象20 
2.2.2繼承21 
2.2.3多態性22 
2.2.4封裝22 
2.2.5消息傳遞23 
2.2.6關聯24 
2.2.7聚集25 
2.3意義26 
2.4小結27 
2.5常見問題解答27 
2.6小測驗和習題28 

第3章運用面向對象29 
3.1類的可視化表示29 
3.2屬性30 
3.3操作31 
3.4屬性、操作和可視化表達32 
3.5職責和約束33 
3.6附加註釋34 
3.7類——應該做什麼和如何識別
它們35 
3.8小結37 
3.9常見問題解答37 
3.10小測驗和習題37 
3.10.1小測驗37 
3.10.2習題38 

第4章關係39 
4.1關聯39 
4.1.1關聯上的約束40 
4.1.2關聯類41 
4.1.3鏈41 
4.2多重性41 
4.3限定關聯43 
4.4自身關聯43
4.5繼承和泛化44 
4.5.1找出繼承關係45 
4.5.2抽像類46 
4.6依賴46 
4.7類圖和對像圖47 
4.8小結48 
4.9常見問題解答49 
4.10小測驗和習題49 
4.10.1小測驗49 
4.10.2習題49 

第5章聚集、組成、接口和實現51 
5.1聚集51 
5.2組成52 
5.3組成結構圖52 
5.4接口和實現53 
5.5接口和端口56 
5.5.1可見性56 
5.5.2作用域57 
5.6小結57 
5.7常見問題解答58 
5.8小測驗和習題58 
5.8.1小測驗58 
5.8.2習題58 

第6章介紹用例59 
6.1什麼是用例59 
6.2用例的重要性60 
6.3舉例:飲料銷售機60 
6.3. 1用例“買飲料” 60 
6.3.2其他用例61 
6.4包含用例62 
6.5擴展用例63 
6.6開始用例分析64 
6.7小結64 
6.8常見問題解答64
6.9小測驗和習題65 
6.9.1小測驗65 
6.9.2習題65 

第7章用例圖66 
7.1用例模型的表示法66 
7.1.1回顧飲料銷售機67 
7.1.2跟踪場景中的步驟67 
7.2用例之間關係的可視化表示68 
7.2.1包含68 
7.2.2擴展69 
7.2.3泛化70 
7.2.4分組71 
7.3用例圖在分析過程中的作用71 
7.4運用用例模型:舉例71 
7.4.1理解領域71 
7.4.2理解用戶72 
7.4.3理解用例73 
7.4.4進一步深入74 
7.5 “清查存貨” 75 
7.5.1結構元素75 
7.5.2關係75 
7.5.3分組76 
7.5.4註釋76 
7.5.5擴展76 
7.5.6其他76 
7.6 UML“大圖” 76 
7.7小結77 
7.8常見問題解答77 
7.9小測驗和習題77 
7.9.1小測驗78 
7.9.2習題78 

第8章狀態圖79 
8.1什麼是狀態圖79
8.1.1基本符號集80 
8.1.2在狀態圖標中增加細節80 
8.1.3增加轉移的細節:事件和動作81 
8.1.4增加轉移的細節:保護
條件82 
8.2子狀態82 
8.2.1順序子狀態82 
8.2.2並發子狀態83 
8.3歷史狀態84 
8.4 UML 2.0中的新變化84 
8.5為什麼狀態圖很重要85 
8.6 UML“大圖” 85 
8.7小結86 
8.8常見問題解答87 
8.9小測驗和習題87 
8.9. 1小測驗87 
8.9.2習題87 

第9章順序圖88 
9.1什麼是順序圖88 
9.1.1對象88 
9.1.2消息88 
9.1.3時間89 
9.2汽車和車鑰匙90 
9.2.1類圖90 
9.2. 2順序圖91 
9.3飲料銷售機92 
9.4順序圖:一般順序圖95 
9.5在消息序列中創建對象實例96 
9.6幀化順序圖:UML 2.0中的
順序圖98 
9.6.1交互事件98 
9.6.2交互片段的組合100
9.7 UML“大圖” 101 
9.8小結102 
9.9常見問題解答102 
9.10小測驗和習題102 
9.10.1小測驗103 
9.10.2習題103 

第10章協作圖104 
10.1什麼是協作圖104 
10.2汽車和車鑰匙105 
10.3飲料銷售機108 
10.4創建對象109 
10.5編號的一點注意事項109 
10.6其他概念110 
10.6.1發送給多對象的消息110 
10.6.2返回結果110 
10.6.3主動對象111 
10.6.4同步111 
10.7 UML“大圖” 112 
10.8小結113 
10.9常見問題解答113 
10.10小測驗和習題113 
10.10.1小測驗113 
10.10.2習題114 

第11章活動圖115 
11.1基礎:什麼是活動圖115 
11.1.1判定116 
11.1. 2並發路徑116 
11.1.3信號117 
11.2活動圖的應用117 
11.3泳道118 
11.4混合圖120
11.5 UML 2.0中的新概念121 
11.5.1一個活動的對象121 
11.5.2處理異常122 
11.5.3活動的析構122 
11.5.4標記時間並結束流程123 
11.5.5特殊影響124 
11.6對一個交互的縱覽125 
11.7 UML“大圖” 128 
11.8小結128 
11.9常見問題解答129 
11.10小測驗和習題130 
11.10.1小測驗130 
11.10.2習題130 

第12章構件圖131 
12.1什麼是構件131 
12.2構件和接口131 
12.2.1回顧接口132 
12.2.2替換和復用132 
12.3什麼是構件圖133 
12.3.1在UML 1.x和UML 2.0中表示一個構件133 
12.3.2接口表示法134 
12.3.3黑盒和白盒135 
12.4應用構件圖135 
12.5 UML“大圖”中的構件圖139 
12.6小結140 
12.7常見問題解答140 
12.8小測驗和習題141 
12.8.1小測驗141 
12.8.2習題141

第13章部署圖142 
13.1什麼是部署圖142 
13.2應用部署圖144 
13.2.1家用計算機系統144 
13.2.2令牌環網145 
13.2.3 ARCnet 146 
13.2.4細纜以太網146 
13.2.5 Ricochet無線網147 
13.3 UML“大圖”中的部署圖148 
13.4小結149 
13.5常見問題解答149 
13.6小測驗和習題149 
13.6.1小測驗149 
13.6.2習題149 

第14章理解包和UML語言基礎150 
14.1包圖150 
14.1.1包的作用150 
14.1.2包之間的關係151 
14.1.3合併包152 
14.2層級153 
14.2.1一個類比154 
14.2.2繼續155 
14.3大膽深入155 
14.4用包表示UML的底層結構156 
14.4.1 Core包157 
14.4.2 Profiles包158 
14.5回到UML 160 
14.5.1又見4層結構161 
14.5.2用包表示UML的上層
結構161
14.6 UML的擴展163 
14.6.1構造型163 
14.6.2圖形構造型164 
14.6.3約束165 
14.6.4標記值165 
14.7小結165 
14.8常見問題解答165 
14.9小測驗和習題166 
14.9.1小測驗166 
14.9 .2練習166 

第15章在開發過程中運用UML 167 
15.1開發過程方法學:傳統的和
現代的167 
15.1.1傳統的開發過程方
法學167 
15.1.2新的開發過程方法學168 
15.2開發過程中必須做什麼168 
15.3 GRAPPLE 169 
15.4 RAD3:GRAPPLE的結構170 
15.4.1需求收集171 
15.4.2分析172 
15.4.3設計173 
15.4.4開發174 
15.4.5部署174 
15.5 GRAPPLE總結175 
15.6小結175 
15.7常見問題解答175 
15.8小測驗和習題176 

第二部分學習案例

第16章學習案例介紹177 
16.1從業務入手177
16.2用GRAPPLE開發過程解決
問題177 
16.3發現業務過程178 
16.3.1招待一位顧客178 
16.3.2準備飯菜185 
16.3.3清理餐桌186 
16.4吸取的經驗教訓186 
16.5小結187 
16.6常見問題解答187 
16.7小測驗和習題188 
16.7.1小測驗188 
16.7.2習題188
 
第17章領域分析189 
17.1分析業務過程會談189 
17.2開發初步類圖190 
17.3對類分組191 
17.4形成關聯193 
17.4.1 Customer參與的關聯193 
17.4 .2 Server參與的關聯195 
17.4.3 Chef參與的關聯197 
17.4.4 Busser參與的關聯197 
17.4.5 Manager參與的關聯197 
17.4.6其他問題198 
17.5形成聚集和組成199 
17.6填充類的信息200 
17.6 .1 Customer類200 
17.6.2 Employee類200 
17.6.3 Check類202 
17.7有關模型的一些問題202
17.7.1模型詞典202 
17.7.2模型圖的組織202 
17.8吸取的經驗教訓203 
17.9小結203 
17.10常見問題解答203 
17.11小測驗和習題203 
17.11.1小測驗204 
17.11.2習題204 

第18章收集系統需求205 
18.1開發系統的映像207 
18.2收集系統需求211 
18.3需求聯合應用開發會議211 
18.4結果214 
18.5下一步該做什麼216 
18.6小結216 
18.7常見問題解答216 
18.8小測驗和習題217 
18.8.1小測驗217 
18.8.2習題217 

第19章開髮用例218 
19.1分析和描述用例218 
19.2用例分析218 
19.3 Server包219 
19.3.1用例“Take an Order” 220 
19.3.2用例“Transmit the Order 
to the Kitchen” 220 
19.3. 3用例“Change an 
Order” 221 
19.3.4用例“Track Order
Status” 221 
19.3.5用例“Notify Chef about 
Party Status” 222 
19.3.6用例“Total Up a 
Check” 223 
19.3.7用例“Print a Check” 223 
19.3.8用例“Summon 
an Assistant” 224 
19.3.9其餘的用例225 
19.4系統中的構件225 
19.5小結226 
19.6常見問題解答226 
19.7小測驗和習題227 
19.7.1小測驗227 
19.7.2習題227 

第20章交互228 
20.1系統中的工作部件228 
20.1.1 Server包228 
20.1.2 Chef包229 
20.1.3 Busser包229 
20.1.4 Assistant Server包229 
20.1.5 Assistant Chef包229 
20.1.6 Bartender Chef包230 
20.1.7 Coat-Check Clerk包230 
20.2系統中的交互230 
20.2.1用例“Take an Order” 230 
20.2.2用例“Change an
Order” 232 
20.2.3用例“Track Order 
Status” 233 
20.3結論234 
20.4小結234 
20.5常見問題解答235 
20.6小測驗和習題235 
20.6.1小測驗235 
20.6.2習題236 

第21章設計外觀、感覺和部署237 
21.1 GUI設計的一般原則237 
21.2用於GUI設計的JAD 
Session 239 
21.3從用例到用戶界面239 
21.4用於GUI設計的UML圖241 
21.5描繪出系統的部署242 
21.5.1網絡242 
21.5.2節點和系統部署圖243 
21.6下一步244 
21.7聽聽項目的發起人怎麼說244 
21.7.1擴展銷售區的地理
範圍244 
21.7.2擴展餐館的地理範圍245 
21.8小結246 
21.9常見問題解答246 
21.10小測驗和習題247 
21.10.1小測驗247 
21.10.2習題247 

第22章理解設計模式248 
22.1參數化248
22.2設計模式250 
22.3職責鏈模式251 
22.3.1職責鏈模式:餐館
領域252 
22.3.2職責鏈模式:Web瀏覽
器事件模型253 
22.4我們自己的設計模式254 
22.5使用設計模式的好處256 
22.6小結256 
22.7常見問題解答257 
22.8小測驗和習題257 
22.8.1小測驗257 
22.8.2習題257 

第三部分高級應用

第23章嵌入式系統建模258 
23.1回到餐館258 
23.2發明之母258 
23.3研製GetAGrip 259 
23.4什麼是嵌入式系統261 
23.5嵌入式系統中的基本概念261 
23.5.1時間261 
23.5.2線程261 
23.5.3中斷262 
23.5.4操作系統263 
23.6對GetAGrip系統建模265 
23.6.1類265 
23.6. 2用例267 
23.6.3交互267 
23.6.4整體狀態變化270 
23.6.5整體部署270 
23.7鍛煉肌肉271
23.8小結271 
23.9常見問題解答272 
23.10小測驗和習題272 
23.10.1小測驗272 
23.10.2習題272 

第24章描繪UML的未來273 
24.1在業務領域的擴展273 
24.2從業務領域的擴展得到的經驗274 
24.3圖形用戶界面274 
24.3.1連接到用例274 
24.3.2 GUI建模275 
24.4專家系統276 
24.4.1專家系統的構件276 
24.4.2舉例278 
24.4.3知識庫建模279 
24.5 Web應用281 
24.6就寫到這裡吧283 
24.7小結283 
24.8常見問題解答283 
24.9小測驗和習題284 
24.9.1小測驗284 
24.9.2習題284 

第四部分附錄

附錄A小測驗答案285 
附錄B UML建模工具294 
附錄C UML圖總結312