本書是一本關于UML統一建模的實用教程,對UML體系結構、UML元素語義、語法和UML應用進行了詳細的講解,表述通俗易懂,同時配備大量的實例加以說明,便于自學。
全書共分3篇15章。第1篇介紹了UML語言的特點、UML語言的體系結構、UML組成元素、UML包含的圖形種類、UML圖的表示方法、UML圖的作用、UML的應用領域和建模方法等;第2篇介紹了RUP統一過程及UML的應用、UML工具Rational Rose的使用;第3篇以圖書管理系統為例,介紹了系統開發的各個階段,以及如何應用UML對系統進行建模。通過對本書的學習,讀者可以系統地掌握UML語言的閱讀方法和建模方法。
本書重點突出了UML語言的表示方法和建模方法,內容精練,表達簡明,實例豐富,適合作為高等院校計算機專業及相關專業的教材,也可以作為培訓機構相關專業的培訓教材。
感謝您閱讀本書,為了能更好地幫助您理解和掌握本書的知識,請仔細閱讀下面內容。
讀者對象
本書既適合UML語言初學者閱讀,也適合系統分析員、設計者和系統測試者閱讀。在寫作上,本書以UML設計元素為主線,以系統建模為目標,運用實例系統地闡明了UML語言體系結構、組成、語義、語法和用UML元素表示系統的方法。本書理論與應用配合緊密,知識表達通俗易懂,既可作為高等院校計算機專業及相關專業的教材,也可以作為培訓機構相關專業的培訓教材。
本書特色
市場上有許多關于UML統一建模的圖書,它們各有特點,本書與這些圖書的不同之處在于強調了領域的表示方法和建模方法。本書體系結構安排合理,知識組織風格統一,知識表達通俗易懂,知識講解由易到難,具體特點如下:
1.在體系結構的安排上強調內容的系統性、連貫性、邏輯性和實用性。對UML元素的語義、語法和建模方法的講解由易到難逐層展開,便于讀者學習和理解。
2.在對UML元素的講解上充分體現文字描述和圖形描述的結合。通過文字描述,詳細地定義了UML元素的語義、語法;通過圖形將UML元素可視化、規范化;對每個UML元素進行講解,采用實例對UML元素的語義和使用方法進行演示,幫助讀者學以 致用。
3.知識組織風格統一,對每個UML元素的講解采用的格式為:UML元素定義→UML元素表示法→圖形的使用方法。這種對知識進行描述的方法符合人們對問題的理解和運用習慣,使讀者可以快速上手。
編者情況
本書主編曾經在大型軟件公司從事應用系統的分析和設計工作多年,在開發系統過程中積累了豐富的系統建模方法及經驗,能熟練地運用UML語言把系統需求分析和系統設計形式化為標準的需求分析文檔和設計文檔。近幾年來,編者一直從事高校計算機教學工作,既有豐富的系統開發經驗,又有豐富的教學經驗,是主講軟件工程、UML統一建模、Java技術和Jsp技術的一線教師。
本書第1~12章由王先國編寫,第13章由劉燁(黃岡職業技術學院教師)編寫,第14章由方鵬(長江職業學院教師)編寫,第15章由曾碧卿編寫。全書由王先國統稿。
致謝
感謝李利強副教授、杜作陽副教授、肖應旺博士、張承忠老師、楊桂芝老師、劉剛博士、冼廣銘博士、鄧虹老師、鄒競輝老師、吳莘莼老師、蔡妍老師、彭豐平老師為本書提出了許多建設性的意見和指導。同時感謝我的學生韓超、凌彩欣、張富宇、李妙珍、王娥英為本書的文字編輯所付出的心血和努力。
聯系方式
書中實例雖然經過多次檢查,但難免會存在疏漏和錯誤,懇請讀者批評指正。如有好的建議或在學習中遇到疑難問題,歡迎大家發電子郵件與本書作者聯系(wangxg288@tom.com)。本書配備了教學大綱和課件,如有需要,請到清華大學出版社網站(www.tup.com.cn)下載。
編者
2008年12月
第1篇 UML語言基礎
第1章 UML概述2
1.1 什么是UML2
1.1.1 UML的發展歷史2
1.1.2 UML的定義4
1.1.3 UML中的圖4
1.1.4 UML的主要特點6
1.1.5 UML的應用領域6
1.2 什么是模型7
1.2.1 為什么建模8
1.2.2 建模的目標和原則8
1.2.3 為什么要用UML建模9
1.2.4 用UML可以建立的模型種類9
1.3 UML工具10
1.3.1 主要UML工具介紹10
1.3.2 如何選擇UML工具10
1.4 小結11
1.5 習題12
第2章 UML語言體系13
2.1 UML語言組成13
2.2 基本元素14
2.2.1 結構元素14
2.2.2 行為元素17
2.2.3 分組元素18
2.2.4 注釋元素18
2.3 關系元素18
2.4 圖和視圖21
2.5 規則22
2.6 公共機制23
2.6.1 規格描述23
2.6.2 修飾24
2.6.3 通用劃分24
2.6.4 擴展機制24
2.7 用視圖表示系統體系結構25
2.8 小結26
2.9 習題26
第3章 類圖28
3.1 類圖的概念28
3.2 UML中的類29
3.2.1 類的表示29
3.2.2 類的種類31
3.3 類圖中的關系34
3.3.1 關系分類34
3.3.2 關聯的屬性36
3.4 閱讀類圖38
3.4.1 電子商務網站業務38
3.4.2 閱讀類圖39
3.5 如何建立對象模型43
3.5.1 問題陳述43
3.5.2 尋找分析類43
3.5.3 確定類關系44
3.6 小結46
3.7 習題47
第4章 對象圖49
4.1 什么是對象49
4.2 對象圖的概念50
4.3 對象的表示50
4.4 鏈接的表示51
4.5 閱讀對象圖的方法52
4.6 小結52
4.7 習題52
第5章 包圖54
5.1 包圖的概念54
5.2 包的表示55
5.2.1 包的名稱55
5.2.2 包的元素56
5.2.3 包的可見性56
5.2.4 包的構造型57
5.3 包圖中的關系57
5.3.1 依賴關系57
5.3.2 泛化關系58
5.4 閱讀包圖58
5.5 創建包圖59
5.5.1 尋找包60
5.5.2 消除循環包依賴60
5.6 包圖建模61
5.6.1 對成組元素建模61
5.6.2 對體系結構建模62
5.7 小結62
5.8 習題63
第6章 用例圖64
6.1 需求技術64
6.2 RUP開發過程64
6.3 用例圖的概念65
6.4 用例圖的表示66
6.4.1 參與者的表示66
6.4.2 用例的表示67
6.5 參與者之間的關系68
6.5.1 識別參與者68
6.5.2 參與者間的泛化關系68
6.6 用例之間的關系69
6.6.1 識別用例69
6.6.2 標識用例間的關系70
6.7 參與者與用例之間的關系73
6.8 閱讀用例圖73
6.8.1 用例描述模板74
6.8.2 用例描述舉例75
6.8.3 用例粒度77
6.9 用例圖應用78
6.9.1 問題描述78
6.9.2 定義術語表79
6.9.3 標識參與者80
6.9.4 標識系統用例80
6.10 建模要點82
6.11 小結82
6.12 習題82
第7章 交互圖84
7.1 順序圖84
7.1.1 順序圖的概念84
7.1.2 順序圖的表示85
7.1.3 表示循環和分支88
7.1.4 繪制順序圖93
7.2 通信圖94
7.2.1 通信圖的概念95
7.2.2 通信圖的表示95
7.2.3 表示循環和分支97
7.2.4 閱讀通信圖98
7.3 繪制交互圖98
7.3.1 尋找分析類99
7.3.2 構建交互圖101
7.4 順序圖與通信圖的關系102
7.5 定時圖103
7.6 小結104
7.7 習題104
第8章 活動圖107
8.1 活動圖的概念107
8.2 活動圖的表示108
8.3 活動圖分類110
8.3.1 簡單活動圖110
8.3.2 標識泳道的活動圖110
8.3.3 標識對象流的活動圖111
8.3.4 標識信號的活動圖112
8.3.5 標識參數的活動圖113
8.3.6 標識擴展區的活動圖114
8.3.7 嵌套活動圖115
8.4 構建活動圖115
8.4.1 對工作流程建模116
8.4.2 對操作流程建模116
8.5 小結117
8.6 習題117
第9章 交互概述圖118
9.1 交互概述圖的概念118
9.2 如何繪制交互概述圖118
9.2.1 策略選擇119
9.2.2 選擇繪制主線120
9.2.3 細化重要節點120
9.3 小結121
9.4 習題121
第10章 狀態機圖122
10.1 狀態機圖的概念122
10.1.1 狀態機圖122
10.1.2 狀態機圖的作用123
10.1.3 狀態機圖的組成元素123
10.1.4 狀態機123
10.2 狀態圖的表示123
10.2.1 狀態的表示123
10.2.2 轉換的表示124
10.2.3 分支的表示126
10.3 轉換的分類127
10.4 狀態的分類128
10.4.1 簡單狀態128
10.4.2 復合狀態129
10.4.3 歷史狀態131
10.4.4 子狀態機間實現通信132
10.5 建立狀態機圖132
10.5.1 尋找主要狀態133
10.5.2 確定狀態間的轉換133
10.5.3 詳細描述每個狀態和轉換134
10.5.4 把簡單狀態圖轉換為復合狀態圖135
10.6 狀態機圖應用范圍135
10.7 小結136
10.8 習題136
第11章 構件圖138
11.1 構件的概念138
11.1.1 構件138
11.1.2 構件與類138
11.1.3 構件分類139
11.2 構件圖的概念139
11.2.1 構件圖的作用140
11.2.2 構件圖的組成元素140
11.3 構件的表示140
11.3.1 沒有標識接口的構件表示法140
11.3.2 標識接口的構件表示法141
11.4 構件間的關系141
11.5 構件圖分類142
11.5.1 簡單構件圖142
11.5.2 嵌套的構件圖143
11.6 構件圖應用143
11.6.1 對可執行程序建模144
11.6.2 對源代碼進行建模144
11.7 小結145
11.8 習題145
第12章 部署圖146
12.1 部署圖的概念146
12.1.1 部署圖的作用147
12.1.2 部署圖的組成元素147
12.2 部署圖的表示147
12.2.1 節點147
12.2.2 連接149
12.3 部署圖應用150
12.3.1 設計階段150
12.3.2 實現階段150
12.3.3 嵌入式系統建模151
12.3.4 客戶機/服務器和分布式系統建模151
12.4 小結151
12.5 習題152
第2篇 RUP軟件過程及雙向工程
第13章 RUP(統一軟件過程)154
13.1 當前流行的軟件過程154
13.2 統一軟件過程(RUP)概述155
13.2.1 RUP的核心工作流156
13.2.2 RUP的4個階段158
13.2.3 RUP中的迭代模型159
13.3 RUP中的核心工作流160
13.3.1 需求工作流160
13.3.2 分析工作流163
13.3.3 設計工作流166
13.3.4 實現工作流169
13.3.5 測試工作流172
13.4 RUP裁剪177
13.5 RUP的十大要素177
13.6 小結180
13.7 習題180
第14章 Rose的雙向工程181
14.1 雙向工程簡介181
14.2 正向工程181
14.3 逆向工程184
14.4 實例應用185
14.5 小結190
14.6 習題190
第3篇 UML應用實例
第15章 圖書管理系統192
15.1 軟件需求分析192
15.1.1 需求捕獲193
15.1.2 軟件需求工程194
15.2 圖書館管理系統的需求分析195
15.2.1 標識參與者195
15.2.2 標識用例195
15.2.3 實現用例的時序圖198
15.2.4 實現用例的協作圖203
15.2.5 對象的狀態圖205
15.2.6 參與者的活動圖207
15.3 系統中的類211
15.3.1 系統中主要的類211
15.3.2 各個類之間的關系213
15.4 系統的配置與實現214
15.4.1 系統的組件圖214
15.4.2 系統的配置圖215
15.5 小結216
15.6 習題216
附錄A UML圖總結217
附錄B OCL概述223