UML建模分析與設(shè)計:基于MDA的軟件開發(fā)
定 價:49 元
叢書名:高等學(xué)校計算機專業(yè)規(guī)劃教材
- 作者:杜德慧
- 出版時間:2018/10/1
- ISBN:9787111609599
- 出 版 社:機械工業(yè)出版社
- 中圖法分類:TP312UM
- 頁碼:
- 紙張:膠版紙
- 版次:
- 開本:16開
本書根據(jù)新的UML建模標(biāo)準(zhǔn),重點講述UML的基本概念及建模元素,以模型驅(qū)動的方式從不同的視角構(gòu)建系統(tǒng)的模型,包括靜態(tài)模型和動態(tài)模型。其中,重點講述UML的用例模型、類模型、活動圖模型、狀態(tài)機模型、順序圖模型等,并結(jié)合實際案例幫助讀者掌握靈活使用UML的各種模型圖來設(shè)計、構(gòu)建系統(tǒng)的設(shè)計模型的方法。本書可作為渴望掌握UML及基于UML的模型驅(qū)動式軟件開發(fā)方法的軟件開發(fā)者的入門書,也可作為高等院校計算機科學(xué)等相關(guān)專業(yè)的教材和教學(xué)參考書。
模型驅(qū)動式軟件開發(fā)方法已經(jīng)成功應(yīng)用于大型、復(fù)雜軟件系統(tǒng)的設(shè)計和開發(fā),受到工業(yè)界和學(xué)術(shù)界的一致認(rèn)可。模型驅(qū)動開發(fā)的核心是,根據(jù)系統(tǒng)的需求構(gòu)建、設(shè)計系統(tǒng)的模型,并借助模型轉(zhuǎn)換及代碼生成技術(shù)等實現(xiàn)快速開發(fā)高質(zhì)量的軟件系統(tǒng)。其中,模型是整個軟件開發(fā)過程中的主要制品之一,??一切工作都將圍繞模型的設(shè)計、構(gòu)建、模擬、驗證展開。這種開發(fā)方法將快速應(yīng)用到特定的領(lǐng)域,能夠有效提高面向特定領(lǐng)域的軟件設(shè)計、開發(fā)的效率和質(zhì)量。因此,如何使用標(biāo)準(zhǔn)的建模語言構(gòu)建系統(tǒng)的模型是軟件設(shè)計者面臨的一個主要問題。本書根據(jù)新的UML建模標(biāo)準(zhǔn),重點講述UML的基本概念及建模元素,并結(jié)合具體的案例分析,以模型驅(qū)動的方式從不同的視角構(gòu)建系統(tǒng)的模型,包括靜態(tài)模型和動態(tài)模型。
本書目標(biāo)
通過閱讀本書,讀者可得到以下幾方面的收獲:
掌握模型驅(qū)動開發(fā)方法的基本思想、開發(fā)過程。
掌握UML的基本概念、模型、建模規(guī)則,學(xué)會如何使用UML。
以UML為基礎(chǔ)建模語言,結(jié)合模型驅(qū)動開發(fā)方法進行實際案例分析、建模、開發(fā)。
本書的組織
鑒于UML在軟件設(shè)計、開發(fā)過程中的重要作用,故撰寫本書。本書可作為高等院校軟件工程、計算機及相關(guān)專業(yè)的教材和教學(xué)參考書,也可以作為渴望掌握UML及基于UML的模型驅(qū)動式軟件開發(fā)方法的軟件開發(fā)者的參考書。本書共16章,其中,第1章概述模型驅(qū)動開發(fā)方法及UML在模型驅(qū)動開發(fā)方法中的重要作用,并明確指出本書將結(jié)合RUP開發(fā)過程和基于UML的模型驅(qū)動開發(fā)方法進行實際案例的設(shè)計、開發(fā)。第2章介紹UML的發(fā)展歷程及其包含的主要建模元素。第3章綜述UML所提供的公共機制,這些公共的建模機制將用在后續(xù)章節(jié)的各種模型的構(gòu)建過程中。第4~8章遵循“用例驅(qū)動、以架構(gòu)為中心、迭代增量開發(fā)”的思想,詳細(xì)介紹UML用例圖、類圖、狀態(tài)圖、順序圖、活動圖等,內(nèi)容涵蓋UML的靜態(tài)結(jié)構(gòu)建模及動態(tài)結(jié)構(gòu)建模,充分體現(xiàn)了UML的多視角建模方法的有效性。其中,第4章詳細(xì)介紹UML的用例圖,并重點講述使用用例圖建模系統(tǒng)的需求。本章內(nèi)容是全書的重點部分,充分體現(xiàn)了“用例驅(qū)動”,后續(xù)章節(jié)將逐步介紹如何圍繞用例圖設(shè)計系統(tǒng)的靜態(tài)結(jié)構(gòu)和動態(tài)行為模型。第5章介紹UML類圖,重點介紹類圖的基本概念、類之間的各種關(guān)系。第6章介紹狀態(tài)機模型,重點介紹狀態(tài)圖的基本建模元素,并詳細(xì)介紹了狀態(tài)機的語義模型及各種語法表示。第7章介紹的交互模型包括兩種類型:順序圖和通信圖。前者強調(diào)對象之間按照時間的先后進行消息交互,后者強調(diào)對象之間的拓?fù)浣Y(jié)構(gòu),對象通過消息交互實現(xiàn)某一功能。兩種模型圖在語義上是等價的。第8章介紹活動圖模型并詳細(xì)討論了使用活動圖模型建模系統(tǒng)的業(yè)務(wù)流程及操作的實現(xiàn)過程;顒訄D模型強調(diào)的是活動與活動之間的控制流程。第9章介紹接口、類型和角色的基本概念,重點介紹如何使用接口建模系統(tǒng)中的接縫。第10章介紹包模型,它是UML建模過程中的產(chǎn)物,主要用于幫助劃分系統(tǒng)的邏輯結(jié)構(gòu),以及幫助人們更好地理解系統(tǒng)的組成。第11章介紹構(gòu)件模型,它用于建模系統(tǒng)的功能模塊劃分,重點介紹了構(gòu)件的接口表示及構(gòu)件之間的關(guān)系表示。第12章介紹UML的部署圖,它主要用于對如何將軟件系統(tǒng)部署到硬件節(jié)點上建模。第13章重點介紹最新的UML擴展語言SysML和MARTE,向讀者展示了如何使用UML支持的擴展機制進行建模語言的擴展,以滿足特定領(lǐng)域的需求。第14~16章通過完整的案例分析展示了UML的各種模型的具體應(yīng)用,以幫助讀者進一步歸納、總結(jié)各種UML模型在實際建模過程中的應(yīng)用。
本書的特色是以模型驅(qū)動式軟件開發(fā)為指導(dǎo),以UML的多視角建模為主線,結(jié)合案例開發(fā)全面介紹基于UML的建模方法,幫助讀者掌握UML的語言構(gòu)成、建模方法及具體應(yīng)用。此外,每章配備相應(yīng)的習(xí)題,以幫助讀者掌握各章的知識點。
致教師
本書旨在提供UML的一個廣泛而深入的概覽,可以作為高年級本科生或者一年級研究生的UML建模課程的教材。根據(jù)授課學(xué)時、學(xué)生的背景和教師的興趣,可以選擇性地教授本書的各個章節(jié)。例如,如果想完整講授UML的所有建模元素,可以逐章教授前13章的授課內(nèi)容。若想結(jié)合具體的案例講述各個模型的實際使用情況,可以考慮增加后面的第14~16章的內(nèi)容,作為實際動手操作的案例練習(xí)。
每一章最后都給出了習(xí)題、思考題,可幫助學(xué)生更好地理解每一章的內(nèi)容。有些習(xí)題可作為研究討論課題。本書的參考文獻可以幫助你查找正文中提供的概念和方法的來源、相關(guān)課題的深入討論和可能的擴展研究文獻。
致學(xué)生
我們希望本書能夠幫助你了解和掌握UML所包含的基本建模元素、各種模型,并能夠熟練使用UML的建模方法,以模型驅(qū)動的方式開發(fā)軟件系統(tǒng)。特別是,你可以了解模型驅(qū)動開發(fā)的核心思想及開發(fā)理念,并結(jié)合UML,將其應(yīng)用于你的具體軟件開發(fā)過程。
為了更好地使用本書,你需要具備的預(yù)備知識包括:
基本的面向?qū)ο笤O(shè)計的知識,掌握一種面向?qū)ο箝_發(fā)語言。
軟件開發(fā)的基本知識、軟件工程的背景,了解常用的軟件開發(fā)過程。
另外,需要說明的是本書中的內(nèi)容是按照UML支持的各種模型組織的,為了更好地體現(xiàn)模型驅(qū)動開發(fā)的思想,我們將各種UML圖形稱為模型,這樣更符合模型驅(qū)動的思想,構(gòu)建系統(tǒng)的各種模型是整個軟件開發(fā)過程中的主要工作。
在本書的組織、撰寫過程中,研究生黃平、白新、管春琳、昝慧、敖義等參與了相關(guān)章節(jié)的模型圖的制作、修改,以及文字的校對工作,在此特別感謝他們的辛勤付出。此外,在書稿的形成之初,我們將它用作本科專業(yè)課程的教材,在使用過程中,本科生孫雨晶、侯峂欣等對本書的第14~16章提出了中肯的修改意見。由于能力和時間有限,書稿中難免存在一些缺陷和不足之處,望讀者不吝指教。
作者
2018年6月
前言
教學(xué)建議
第1章 概述 1
1.1 模型驅(qū)動開發(fā)方法 1
1.2 了解建模 2
1.3 建模的重要性 5
1.4 UML建模 5
1.5 UML建模工具 7
1.6 RUP軟件開發(fā)方法 8
1.6.1 RUP的核心概念 8
1.6.2 RUP是迭代和增量的過程 8
1.6.3 RUP的生命周期 8
1.7 重要的面向?qū)ο笏枷? 10
1.8 小結(jié) 14
習(xí)題 14
第2章 UML簡介 15
2.1 UML發(fā)展歷程 15
2.2 UML概述 17
2.2.1 UML是一種建模語言 17
2.2.2 UML是一種可視化建模語言 18
2.2.3 UML是一種用于規(guī)約的語言 18
2.2.4 UML是一種用于構(gòu)造的語言 19
2.2.5 UML是一種用于文檔化的語言 19
2.2.6 UML的應(yīng)用領(lǐng)域 20
2.3 UML的基本構(gòu)成 21
2.3.1 UML的構(gòu)造塊 21
2.3.2 UML的建模規(guī)則 26
2.3.3 基于UML的模型驅(qū)動開發(fā) 26
2.4 UML的公共機制 27
2.5 小結(jié) 28
習(xí)題 29
第3章 公共機制 30
3.1 基本概念 30
3.1.1 注解 30
3.1.2 修飾 31
3.1.3 擴展機制 32
3.1.4 擴展機制的使用 37
3.2 常用建模技術(shù) 39
3.2.1 建模注釋 39
3.2.2 建模新特性 39
3.2.3 建模新的語義 40
3.3 小結(jié) 41
習(xí)題 42
第4章 用例模型 43
4.1 基本概念 43
4.1.1 用例圖 43
4.1.2 用例 43
4.1.3 參與者 44
4.1.4 關(guān)聯(lián)關(guān)系 47
4.1.5 用例描述 51
4.2 建模技術(shù) 52
4.2.1 構(gòu)建用例模型的方法 52
4.2.2 建模系統(tǒng)的語境 54
4.2.3 建模系統(tǒng)的需求 55
4.3 小結(jié) 58
習(xí)題 58
第5章 類模型 59
5.1 基本概念 59
5.1.1 類 59
5.1.2 關(guān)系 64
5.2 建模技術(shù) 70
5.2.1 建模類圖的步驟 70
5.2.2 UML類圖的正向工程和逆向工程 72
5.3 小結(jié) 73
習(xí)題 73
第6章 狀態(tài)機模型 75
6.1 基本概念 75
6.2 基本建模元素 76
6.2.1 狀態(tài) 76
6.2.2 復(fù)合狀態(tài) 79
6.2.3 遷移 83
6.2.4 事件 85
6.2.5 狀態(tài)圖的執(zhí)行 88
6.3 建模技術(shù) 90
6.3.1 建模反應(yīng)式對象 90
6.3.2 狀態(tài)圖的建模元素 91
6.3.3 狀態(tài)機模型的正向工程和逆向工程 91
6.4 小結(jié) 92
習(xí)題 92
第7章 交互模型 93
7.1 概述 93
7.2 順序圖 95
7.2.1 交互的參與者 95
7.2.2 消息 96
7.2.3 控制焦點 98
7.2.4 語境、對象和角色 98
7.2.5 組合片段 99
7.2.6 時間約束 106
7.3 通信圖 107
7.4 常用建模技術(shù) 108
7.4.1 按時間順序?qū)刂屏鹘? 108
7.4.2 按組織結(jié)構(gòu)對控制流建模 110
7.4.3 建模元素總結(jié) 111
7.4.4 正向工程和逆向工程 112
7.5 小結(jié) 112
習(xí)題 112
第8章 活動圖模型 114
8.1 概述 114
8.2 基本概念 114
8.2.1 活動 114
8.2.2 動作 116
8.2.3 活動節(jié)點 118
8.2.4 控制流 121
8.2.5 對象流 121
8.2.6 泳道 122
8.3 建模技術(shù) 123
8.3.1 建模系統(tǒng)的業(yè)務(wù)流程 123
8.3.2 建模復(fù)雜的操作 124
8.4 小結(jié) 127
習(xí)題 128
第9章 接口、類型和角色 129
9.1 接口 129
9.1.1 定義 130
9.1.2 操作 130
9.1.3 接口的關(guān)系 131
9.2 類型和角色 133
9.3 常用建模技術(shù) 133
9.3.1 建模系統(tǒng)的接口 133
9.3.2 建模靜態(tài)類型和動態(tài)類型 134
9.4 小結(jié) 135
習(xí)題 135
第10章 包模型 136
10.1 主要概念 136
10.1.1 模型包 136
10.1.2 名字 137
10.1.3 可見性 137
10.1.4 包之間的關(guān)系 138
10.1.5 包圖 140
10.2 常用建模技術(shù) 141
10.2.1 建模成組的元素 141
10.2.2 建模體系結(jié)構(gòu)視圖 142
10.3 小結(jié) 143
習(xí)題 143
第11章 構(gòu)件模型 144
11.1 主要概念 144
11.1.1 構(gòu)件 144
11.1.2 接口 147
11.1.3 依賴關(guān)系 147
11.1.4 構(gòu)件圖分類 151
11.2 常用建模技術(shù) 152
11.2.1 建?蓤(zhí)行程序 152
11.2.2 建模源代碼 152
11.2.3 建模API 153
11.3 小結(jié) 154
習(xí)題 154
第12章 部署模型 155
12.1 概述 155
12.1.1 概念 155
12.1.2 節(jié)點 156
12.1.3 關(guān)系 157
12.2 常用建模技術(shù) 158
12.2.1 建模處理器和設(shè)備 158
12.2.2 建模制品的分布 158
12.3 小結(jié) 159
習(xí)題 160
第13章 UML的擴展語言 161
13.1 概述 161
13.2 系統(tǒng)建模語言SysML 161
13.2.1 SysML的語義 161
13.2.2 SysML的圖形表示 162
13.2.3 SysML的主要特點及應(yīng)用領(lǐng)域 166
13.3 實時與嵌入式系統(tǒng)的建模與分析語言MARTE 167
13.3.1 MARTE與UML的關(guān)系 167
13.3.2 MARTE的組成部分 167
13.3.3 MARTE對時間與非功能屬性的建模 168
13.4 小結(jié) 170
第14章 網(wǎng)上選課系統(tǒng) 171
14.1 問題描述 171
14.2 用例建模 171
14.2.1 登錄系統(tǒng)用例描述 173
14.2.2 查詢課程用例描述 173
14.2.3 選擇課程用例描述 173
14.2.4 查詢學(xué)生信息用例描述 174
14.2.5 刪除學(xué)生信息用例描述 174
14.2.6 添加課程用例描述 175
14.3 靜態(tài)建模 175
14.4 動態(tài)建模 176
14.4.1 創(chuàng)建交互圖 176
14.4.2 創(chuàng)建狀態(tài)圖 185
14.4.3 創(chuàng)建活動圖 185
14.5 系統(tǒng)的構(gòu)件圖