UML系統建模及系統分析與設計(第二版)
-
【作 者】王欣 張毅 編著
【I S B N 】978-7-5170-8461-7
【責任編輯】張玉玲
【適用讀者群】本專通用
【出版時間】2020-04-29
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】340
【千字數】521
【印 張】21.25
【定 價】¥54
【叢 書】普通高等教育軟件工程專業教材
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
本書系統地介紹了面向對象技術的基本概念、方法和統一建模語言UML 2.5。本書在全面介紹UML發展歷史、UML構成、UML模型圖、視圖的基礎上,重點介紹UML各種模型的建模技術、方法和應用,詳細介紹了Rational Rose軟件的使用方法。本書通過大量的例子和案例詳細闡述了以面向對象系統分析和設計方法為主線的軟件工程關鍵技術,并介紹了模型驅動開發、軟件復用和軟件構件等最新技術。
本書共9章:第1章為軟件工程與面向對象開發方法、統一建模語言(UML)、UML模型圖、面向對象系統分析、面向對象系統設計、系統體系結構建模、信息系統開發實例、UML建模工具—Rational Rose、軟件復用與軟件架構技術。本書通過一個貫穿全書的案例對面向對象的軟件開發過程和用例圖、類圖、交互圖、活動圖、狀態機圖、構件圖與部署圖的繪制方法與建模技術進行了具體的講解,最后結合應用案例對軟件開發與UML建模進行詳細闡述,使學生掌握軟件開發方法和UML建模技術及其應用。
本書提供了大量應用實例,每章均有復習思考題。本書將理論與實際緊密結合,案例豐富、圖文并茂、講解詳細、實踐性強,可作為高等院校計算機專業、軟件工程專業和管理類相關專業本科生、研究生的教材或教學參考書,也可作為有一定實際開發經驗的軟件人員和對UML感興趣的廣大計算機用戶的參考用書。
本書以軟件工程的基本概念、原理為出發點,研究了軟件開發的過程和方法。軟件開發方法很多,面向對象技術以其顯著的優勢成為計算機軟件領域的主流技術。UML不僅統一了Booch、Rumbaugh和Jacobson的表示方法,而且可為軟件開發的所有階段提供模型化和可視化支持。學術界和產業界不斷完善UML,它被OMG和ISO采納為標準。UML已經成為面向對象技術領域占主導地位的標準建模語言。
軟件工程大師James Rumbaugh認為:“UML的最大貢獻是在設計與建模上。有了UML標準,最大的好處是大家愿意在建模上發揮自己的能力,把軟件開發從原來的寫程序‘拉’到結構良好的建模上來,這是軟件最應該發展的方向,也是UML的最大意義。”他還認為:“UML就像一本很厚的書,一下子把每個章節、每一頁都看完相對來講是不容易的。學習UML的最好用、最基礎、最根本的方式,是從圖像化的東西開始學習,把握一個要點,當你要擴展更多功能時再從原來的基礎向那個方向擴展學習的內容。不要想一次讀完書中所有的內容,這樣會讓你在吸收時產生困擾。”本書就是從UML的基本符號開始介紹,然后講述圖形,再通過實例詳細介紹各種模型的建模技術。本書由淺入深,逐步展開,便于讀者更好地理解概念、圖形和建模技術。
本書以UML 2.5為基礎,對與UML 1.x版本的不同進行了介紹,使讀者對UML 2.x與UML 1.x的不同有更深刻的理解,對UML 2.x的新特征有更進一步的了解。
本書在系統地介紹面向對象技術基本概念和方法的基礎上,重點介紹了UML模型及其建模技術、UML建模工具與應用,以及目前熱門的軟件復用和軟件構件技術。本書是編者多年進行軟件工程和管理信息系統教學以及軟件系統開發實踐的經驗總結,書中的許多實際問題和應用案例都取自編者的科研項目和軟件系統開發實踐,并根據學習的難易程度、教材的實用性等對實際案例進行了內容的取舍。案例展示的內容相對簡單,并沒有把所有的細節描述出來,但對于提高軟件系統分析與設計教學的實踐性和實用性具有較好的示范作用。
本書共9章,內容概括如下:
第1章為軟件工程與面向對象開發方法,重點介紹了面向對象系統分析與設計、典型的面向對象方法等,目的是通過對不同的面向對象方法的介紹,使讀者了解面向對象方法存在的問題。
第2章為統一建模語言(UML),介紹了UML的發展歷史、UML的構成,UML中的視圖、圖、關系、公共機制和UML工具等。
第3章為UML模型圖,基于UML 2.5標準介紹了UML模型圖。本章從結構圖和行為圖兩個方面進行介紹,并詳細介紹了每種圖使用的符號和關系等。
第4章為面向對象系統分析,介紹了軟件需求分析方法,并以實例闡述業務用例建模、類與對象建模、用例描述工具以及活動圖構建技術。
第5章為面向對象系統設計,介紹了軟件系統設計的方法和模型構建。本章通過實例詳細講述了用例模型、交互模型和狀態機圖的構建技術。
第6章為系統體系結構建模,通過實例講述了與體系結構相關的架構建模基礎知識、方法和技巧。本章通過案例重點介紹了構架建模的步驟。
第7章為信息系統開發實例,通過一個較完整的實際案例剖析,展現對軟件系統進行面向對象分析與設計的具體應用過程,使讀者加深對UML建模語言的理解,體會如何將理論知識應用于開發實際,以便更好地在面向對象分析與設計中理解和使用UML建模語言。
第8章為UML建模工具—Rational Rose,對Rational Rose的安裝、使用以及如何繪制UML各種圖形、正向工程和逆向工程進行了詳細的介紹。
第9章為軟件復用與軟件構件技術,重點介紹了軟件復用技術、可復用軟件的生產和使用、軟件構件技術和軟件再工程等理論,使讀者更好地了解現代的軟件開發技術。
本書深入淺出、圖文并茂、案例豐富、通俗易懂、實用性強。每種圖均配有示例,每章均有工程實踐中的案例分析,最后還有一個較完整的UML建模案例。本書以案例引導為主,不介紹過多的理論。
本書第1~5章由王欣編寫,第6~9章由張毅編寫,全書由王欣統稿。本書在校稿過程中得到了朱智勇、王亞欣、謝文華和曲睿鑫的大力支持。本書的再版得到了中國水利水電出版社萬水分社石永峰總編輯的鼓勵和支持,得到了東北電力大學經濟管理學院眾多教師的支持,在此表示衷心的感謝!
在本書的編寫過程中,編者參閱了大量國內外相關文獻,在此對所有文獻的編著者表示衷心的感謝!
由于本書涉及的內容面廣,加之作者的水平有限,書中難免有疏漏、謬誤及欠妥之處,敬請廣大讀者和同行批評指正。
編 者
2020年2月
第一版前言
第1章 軟件工程與面向對象開發方法 1
1.1 軟件發展與軟件工程 2
1.1.1 軟件的發展與特征 2
1.1.2 軟件危機與軟件工程 3
1.2 軟件開發模型與方法 9
1.2.1 軟件開發模型 9
1.2.2 軟件開發方法 16
1.3 面向對象開發方法概述 18
1.3.1 面向對象的基本概念 18
1.3.2 面向對象方法的基本思想 22
1.4 典型的面向對象開發方法 23
1.4.1 Coad/Yourdon方法 23
1.4.2 Booch方法 25
1.4.3 OMT方法 25
1.4.4 OOSE方法 26
1.4.5 Rational 統一過程 27
1.4.6 幾種方法的比較 31
1.5 面向對象軟件開發 32
1.5.1 可行性分析 32
1.5.2 面向對象分析 35
1.5.3 面向對象設計 36
1.5.4 面向對象實現 36
1.5.5 面向對象測試與面向對象維護 37
1.6 面向對象開發方法的特點 37
小 結 38
復習思考題 39
第2章 統一建模語言(UML) 41
2.1 UML概述 42
2.1.1 UML的發展與應用 42
2.1.2 UML的特點 48
2.1.3 UML建模工具 49
2.2 UML模型概念結構 50
2.2.1 基本構造塊 50
2.2.2 規則 62
2.2.3 公共機制 62
2.3 UML視圖 68
小 結 69
復習思考題 70
第3章 UML模型圖 73
3.1 UML模型圖概述 73
3.1.1 UML結構圖 74
3.1.2 UML行為圖 74
3.2 類圖和對象圖 75
3.2.1 類圖和對象圖的圖符 75
3.2.2 對象/類的關系 82
3.2.3 類圖的抽象層次 84
3.2.4 對象圖的構成 84
3.2.5 類圖與對象圖的區別 85
3.3 包圖 86
3.3.1 包圖的圖符 86
3.3.2 包圖的關系 88
3.3.3 包的嵌套 88
3.3.4 包的設計原則 89
3.4 構件圖 92
3.4.1 構件圖的圖符 92
3.4.2 構件的分類與接口 94
3.4.3 類與構件的關系 96
3.4.4 構件圖的分類 97
3.5 部署圖 98
3.5.1 部署圖的圖符 98
3.5.2 結點之間的關系 100
3.6 組合結構圖 102
3.6.1 組合結構圖的圖符 102
3.6.2 組合結構圖的繪制 102
3.7 外廊圖 102
3.8 用例圖 103
3.8.1 用例圖的圖符 103
3.8.2 用例之間的關系 105
3.8.3 用例描述 107
3.9 狀態機圖 109
3.9.1 狀態機圖的圖符 109
3.9.2 狀態機圖的組成元素 109
3.9.3 高級狀態和轉移 113
3.9.4 子狀態機 115
3.10 活動圖 117
3.10.1 活動圖的圖符 118
3.10.2 活動圖的組成 118
3.11 交互圖 121
3.11.1 順序圖 121
3.11.2 通信圖 127
3.11.3 定時圖 129
3.11.4 交互概覽圖 131
3.12 UML各種圖的應用 132
3.12.1 結構圖應用 133
3.12.2 行為圖應用 134
小 結 137
復習思考題 137
第4章 面向對象系統分析 140
4.1 系統需求分析 141
4.1.1 系統需求分析概述 141
4.1.2 系統需求獲取 144
4.1.3 系統需求陳述 148
4.2 系統需求建模 150
4.2.1 業務用例建模 151
4.2.2 確定系統邊界和范圍 152
4.2.3 確定參與者 153
4.2.4 確定業務用例 154
4.2.5 繪制業務用例圖 155
4.2.6 業務用例描述 156
4.2.7 活動圖的構建 159
4.3 需求分析規格說明 160
4.4 類與對象建模 164
4.4.1 類圖的構建 164
4.4.2 對象圖的構建 170
4.5 面向對象系統分析建模實例 172
4.5.1 需求陳述 172
4.5.2 需求分析 173
4.5.3 系統開發方案 174
4.5.4 系統可行性分析 176
4.5.5 系統類建模 177
小 結 178
復習思考題 179
第5章 面向對象系統設計 183
5.1 面向對象系統設計概述 184
5.1.1 面向對象系統體系結構設計 184
5.1.2 系統對象設計 185
5.1.3 面向對象系統設計優化 188
5.2 系統用例建模 190
5.2.1 構建系統用例模型的步驟 191
5.2.2 確定系統參與者 191
5.2.3 確定系統用例 192
5.2.4 系統用例圖構建實例 194
5.3 系統交互建模 195
5.3.1 順序圖的構建 195
5.3.2 通信圖的構建 197
5.3.3 交互建模的選擇 198
5.4 狀態機圖的構建 199
5.4.1 狀態機圖的繪制步驟 200
5.4.2 狀態機圖的應用 201
5.4.3 UML活動圖與狀態機圖的區別 202
5.5 系統設計實例 202
5.5.1 建立系統用例模型 203
5.5.2 順序圖建模 204
5.5.3 通信圖建模 206
5.5.4 狀態機圖建模 208
小 結 208
復習思考題 209
第6章 系統體系結構建模 212
6.1 系統體系結構模型 213
6.1.1 信息系統體系結構 213
6.1.2 面向對象系統體系結構模型 215
6.2 軟件系統體系結構建模 217
6.2.1 子系統組織的體系結構 217
6.2.2 構件圖建模 220
6.3 硬件系統體系結構建模 221
6.3.1 硬件系統體系結構建模概述 221
6.3.2 硬件系統體系結構建模步驟 222
6.3.3 部署圖建模技術 222
6.4 系統體系結構建模案例 224
6.4.1 軟件系統體系結構建模案例 224
6.4.2 硬件系統體系結構建模案例 225
小 結 227
復習思考題 227
第7章 信息系統開發實例 229
7.1 可行性研究 230
7.1.1 概述 230
7.1.2 系統開發的背景、必要性和意義 230
7.1.3 現行系統需求分析 230
7.1.4 新系統開發方案 237
7.1.5 可行性研究 245
7.1.6 結論 246
7.2 面向對象分析與建模 246
7.2.1 業務用例建模 247
7.2.2 系統對象類建模 248
7.3 面向對象設計與建模 250
7.3.1 系統設計 250
7.3.2 系統用例構建 252
7.3.3 系統交互模型構建 254
7.3.4 系統行為模型構建 255
7.4 面向對象的體系結構建模 257
7.4.1 系統體系結構設計 257
7.4.2 系統部署圖設計 258
小 結 259
復習思考題 259
第8章 UML建模工具—Rational Rose 260
8.1 Rational Rose概述 261
8.1.1 Rational Rose的版本 261
8.1.2 Rational Rose的主要功能 261
8.1.3 Rational Rose模型視圖 262
8.1.4 Rational Rose工具簡介 263
8.2 Rational Rose建模 270
8.2.1 用例圖建模 270
8.2.2 活動圖建模 275
8.2.3 對象類建模 277
8.2.4 順序圖建模 280
8.2.5 通信圖建模 283
8.2.6 狀態機圖建模 284
8.2.7 構件圖建模 287
8.2.8 部署圖建模 291
8.3 用Rational Rose生成代碼 293
8.3.1 選擇待轉換的目標模型 293
8.3.2 檢查Java語言的語法錯誤 293
8.3.3 設置代碼生成屬性 294
8.3.4 生成代碼 295
8.4 Rational Rose逆向工程 297
小 結 299
復習思考題 299
第9章 軟件復用與軟件構件技術 302
9.1 軟件復用技術的發展與應用 303
9.1.1 軟件復用技術的發展 303
9.1.2 軟件復用的形式 304
9.1.3 軟件復用的類型與優點 306
9.1.4 可復用軟件構件的生產與使用 306
9.1.5 可復用軟件的生產與復用 308
9.1.6 面向對象技術與軟件復用的關系 310
9.2 軟件構件技術 311
9.2.1 軟件構件技術 311
9.2.2 軟件架構 316
9.3 軟件再工程 319
9.3.1 軟件運行維護遇到的問題 319
9.3.2 軟件再工程的概念 320
9.3.3 軟件再工程的模型 321
9.3.4 實用的重用戰略 323
9.3.5 軟件再工程的過程與好處 324
9.3.6 軟件再工程活動類型級別 324
9.3.7 再工程活動的步驟 324
9.3.8 軟件再工程的相關軟件技術 325
小 結 326
復習思考題 326
參考文獻 328
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應用開發與實戰(微課版) [主 編 程永恒]
- PHP程序設計項目化教程 [主 編 杜海穎]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]