軟件建模技術(shù)

-
【作 者】曹靜
【I S B N 】978-7-5084-8296-5
【責(zé)任編輯】張玉玲
【適用讀者群】高職高專
【出版時間】2011-02-21
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數(shù)】
【千字?jǐn)?shù)】470
【印 張】18.25
【定 價】¥32
【叢 書】高職高專教育“十二五”規(guī)劃教材
【備注信息】
簡介
本書特色
前言
章節(jié)列表
精彩閱讀
下載資源
相關(guān)圖書
軟件是腦力勞動的產(chǎn)品,但不同于追求個性化的藝術(shù)作品;軟件是產(chǎn)品,但它又不同于工業(yè)化生產(chǎn)得到的有形產(chǎn)品。如何更經(jīng)濟(jì)、高效地開發(fā)出高質(zhì)量、可維護(hù)、可重用的軟件,已成為軟件業(yè)廣受關(guān)注的問題。
本書是“軟件建模技術(shù)”領(lǐng)域的著作,由三篇組成:基礎(chǔ)篇,全面講解軟件工程的基本概念、軟件生命周期模型、面向過程與面向?qū)ο蟮脑O(shè)計思想和統(tǒng)一建模過程、UML表示法(包括UML的用例圖、順序圖、協(xié)作圖、類圖、對象圖、狀態(tài)圖、活動圖、構(gòu)件圖、部署圖中所涉及的術(shù)語、規(guī)則和應(yīng)用)、數(shù)據(jù)庫建模;實踐篇,從問題陳述、需求分析到系統(tǒng)設(shè)計和系統(tǒng)實現(xiàn),一步一步地描述軟件開發(fā)的面向?qū)ο蠓椒▽W(xué),深入淺出地向讀者展示軟件系統(tǒng)開發(fā)的整個過程,系統(tǒng)講解如何利用統(tǒng)一建模語言構(gòu)建信息系統(tǒng),步步深入地探究開發(fā)過程,展示在每一步中如何使用UML,示范如何利用UML選擇合適的技術(shù)以滿足應(yīng)用的需求,結(jié)合了數(shù)據(jù)庫建模技術(shù);工具篇,介紹Rose、PowerDesigner開發(fā)工具中的一些用法及實用技巧。另外本書配有豐富的習(xí)題、模擬項目,覆蓋一系列應(yīng)用領(lǐng)域和實現(xiàn)目標(biāo),實例豐富典型,有助于讀者更加直觀地理解和運用軟件工程的思路,掌握軟件建模的實用技術(shù)。.
本書可作為高等學(xué)校計算機(jī)專業(yè)軟件工程、軟件建模、統(tǒng)一建模語言等課程的教材或教學(xué)參考書,也可作為通信工程、電子信息工程、自動化等相關(guān)專業(yè)的軟件工程教程的教材,還可供軟件工程師、軟件項目管理者和應(yīng)用軟件開發(fā)人員閱讀參考。
網(wǎng)絡(luò)資源豐富
本教材是國家級精品課程配套教材,網(wǎng)絡(luò)資源豐富,除了常規(guī)教學(xué)資源(如教學(xué)大綱、實施方案、電子教案、教學(xué)參考等),還有經(jīng)典案例、難點解析、在線自測、全套的實訓(xùn)資源,以及學(xué)生作品、虛擬公司等。
實用性強(qiáng)
在具體的實踐中講授軟件工程的基本原理;系統(tǒng)講授統(tǒng)一建模語言(UML)的應(yīng)用,展示在軟件開發(fā)的各個階段中如何使用UML進(jìn)行分析、設(shè)計和實現(xiàn);示范如何利用UML選擇合適的技術(shù)以滿足應(yīng)用的需要;將面向?qū)ο蟮慕Ec傳統(tǒng)數(shù)據(jù)的建模相結(jié)合,涵蓋大多數(shù)應(yīng)用軟件開發(fā)過程中的主流建模技術(shù);結(jié)合具體的建模工具,進(jìn)一步增強(qiáng)教材的實用性。
注重分析過程及方法的講授
對如何設(shè)計軟件及有效溝通提出強(qiáng)有力的觀點。使用連續(xù)性范例的方式,引導(dǎo)讀者體驗設(shè)計流程的不同階段。在講授建模技術(shù)的同時滲透大量軟件分析方法的傳授,這是資深軟件分析設(shè)計人員多年開發(fā)經(jīng)驗的總結(jié)。
語言生動,情境逼真,案例合理
隱藏在詼諧圖片與有趣文字背后的是對軟件建模技術(shù)這個主題嚴(yán)肅、睿智且精心的闡述。
本教材是國家精品課程配套教材,在《軟件開發(fā)生命周期與統(tǒng)一建模語言UML》一書的基礎(chǔ)上改版而成。全書分為基礎(chǔ)篇、實踐篇和工具篇三部分,按照軟件開發(fā)過程系統(tǒng)講授在軟件生命周期中如何有效地應(yīng)用建模技術(shù),將知識、概念與軟件項目的實踐有機(jī)結(jié)合起來。本教材主要講授面向?qū)ο蟮慕7椒ǎ瑫r也涵蓋傳統(tǒng)的數(shù)據(jù)建模技術(shù)。
1.本教材主要特色
(1)以“實用為本”為原則。將軟件工程的原理應(yīng)用于具體的實踐,系統(tǒng)講授統(tǒng)一建模語言(UML)的應(yīng)用,展示在軟件開發(fā)的各個階段中如何使用UML進(jìn)行系統(tǒng)分析、設(shè)計和實現(xiàn),示范如何利用UML選擇合適的技術(shù)以滿足應(yīng)用的需要,并試圖通過自己的嘗試,在面向?qū)ο蟪绦蛟O(shè)計中吸收傳統(tǒng)結(jié)構(gòu)化設(shè)計方法,走出自己的道路。
(2)對如何設(shè)計軟件及有效溝通提出了強(qiáng)有力的觀點。使用連續(xù)性范例的方式,引導(dǎo)讀者體驗設(shè)計流程的不同階段。閱讀本書時,感覺就像站在專家設(shè)計者的肩膀上環(huán)顧四方,在講授建模技術(shù)的同時滲透大量軟件分析方法的傳授,這是資深軟件分析設(shè)計人員多年開發(fā)經(jīng)驗的總結(jié)。
(3)以節(jié)奏緊湊的步調(diào)、易于理解的方式進(jìn)行,分為基礎(chǔ)篇、實踐篇和工具篇,將知識點系統(tǒng)講授與軟件項目相結(jié)合,理論與實踐相結(jié)合,內(nèi)容循序漸進(jìn)、深入淺出、通俗易懂、側(cè)重應(yīng)用;從軟件開發(fā)的實際過程出發(fā),將建模技術(shù)融會在具體的案例中。
(4)將面向?qū)ο蟮慕Ec傳統(tǒng)數(shù)據(jù)的建模相結(jié)合,涵蓋大多數(shù)應(yīng)用軟件開發(fā)過程中的主流建模技術(shù);結(jié)合具體的建模工具,進(jìn)一步增強(qiáng)教材的實用性。
(5)語言生動,情境逼真,案例合理,適合高職高專學(xué)生的學(xué)習(xí)特點。隱藏在詼諧圖片與有趣文字背后的是對軟件建模技術(shù)這個主題嚴(yán)肅、睿智且精心的闡述。
2.誰適合讀這本書
如果對于下列問題:
(1)知道Java嗎?(不必是專家)
(2)想要在軟件開發(fā)過程中更好地與合作者進(jìn)行交流,更清晰地理出自己的思路嗎?
(3)想讓自己開發(fā)的程序具有更高的質(zhì)量、更短的開發(fā)周期、更好的復(fù)用性、更易于維護(hù)嗎?
(4)想要學(xué)習(xí)、了解并且將軟件建模技術(shù)應(yīng)用在現(xiàn)實世界里,并以此為溝通工具嗎?
(5)喜歡生動活潑的對話勝過枯燥乏味的學(xué)術(shù)演講嗎?
你的答案是Yes,那么這本書非常適合你!
本書由曹靜任主編,羅煒、劉潔任副主編,謝日星、江駿、庫波、肖菲、劉嵩參加編寫,羅煒統(tǒng)編全稿,王路群主審。
由于時間倉促,加之編者水平有限,書中不妥甚至錯誤之處在所難免,懇請廣大讀者批評指正,編者E-mail:jingcao_2002@163.com。
編 者
2010年12月
前言
基礎(chǔ)篇
第1章 軟件工程概述 2
1.1 軟件、軟件危機(jī)和軟件工程的定義 2
1.1.1 軟件及其特點 4
1.1.2 軟件危機(jī) 5
1.1.3 軟件工程的定義 5
1.1.4 軟件工程的基本原理 6
1.2 軟件開發(fā)生命周期 7
1.3 軟件過程模型 9
1.3.1 常見的生命周期模型 9
1.3.2 生命周期模型的應(yīng)用 14
1.4 軟件工程方法學(xué) 15
本章小結(jié) 16
習(xí)題1 16
第2章 結(jié)構(gòu)化程序設(shè)計與面向?qū)ο蟪绦蛟O(shè)計 17
2.1 概述 17
2.2 結(jié)構(gòu)化方法的基本原理 17
2.2.1 結(jié)構(gòu)化分析過程 17
2.2.2 結(jié)構(gòu)化分析工具 18
2.3 面向?qū)ο蠓椒▽W(xué)的基本概念和原則 24
2.3.1 基本概念 24
2.3.2 主要原則 26
2.4 面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法比較 27
2.4.1 實例 27
2.4.2 面向?qū)ο蠓椒ㄅc結(jié)構(gòu)化方法比較 29
2.4.3 兩種方法的綜合運用 30
本章小結(jié) 32
習(xí)題2 32
第3章 統(tǒng)一建模語言與現(xiàn)代軟件工程 33
3.1 軟件工程的發(fā)展趨勢及成功經(jīng)驗 33
3.1.1 現(xiàn)代軟件工程研究中的熱點內(nèi)容 33
3.1.2 現(xiàn)代軟件工程的成功經(jīng)驗 35
3.2 統(tǒng)一建模語言概述 37
3.2.1 什么是軟件建模 37
3.2.2 什么是UML 37
3.2.3 UML的歷史 38
3.2.4 UML中的五類圖 38
3.2.5 UML建模的基本過程 38
3.2.6 統(tǒng)一建模語言在現(xiàn)代軟件工程中
的作用 39
本章小結(jié) 40
習(xí)題3 40
第4章 用例圖 41
4.1 用例圖概述 41
4.1.1 用例建模的目的 41
4.1.2 定義用例圖 42
4.1.3 用例圖的主要組件 42
4.2 識別參與者 44
4.2.1 捕獲需求 44
4.2.2 識別參與者 44
4.3 識別用例 45
4.3.1 識別用例的方法 45
4.3.2 用例的命名規(guī)則 46
4.4 用例間的關(guān)系 47
4.4.1 泛化關(guān)系 47
4.4.2 包含關(guān)系 47
4.4.3 擴(kuò)展關(guān)系 49
4.5 用例文檔 50
4.6 重構(gòu)系統(tǒng)的用例模型 53
本章小結(jié) 54
習(xí)題4 54
第5章 靜態(tài)模型 56
5.1 靜態(tài)模型的基本概述 56
5.2 類圖 56
5.2.1 類圖概述 56
5.2.2 類圖的基本組件 57
5.2.3 關(guān)系 61
5.2.4 關(guān)聯(lián)關(guān)系的不同重數(shù)與代碼的映射 67
5.2.5 如何建模類圖 68
5.2.6 實例——“飲料自動售貨機(jī)系統(tǒng)”
的類圖 69
5.3 對象圖 70
5.3.1 對象圖的概念 70
5.3.2 對象圖和類圖的區(qū)別 70
5.4 包圖 71
5.4.1 包圖的概念 71
5.4.2 包圖建模 71
本章小結(jié) 71
習(xí)題5 72
第6章 動態(tài)模型 74
6.1 動態(tài)模型概述 74
6.2 活動圖 74
6.2.1 定義活動圖 75
6.2.2 如何建模活動圖 76
6.2.3 實例——活動圖在用例模型中
的作用 76
6.2.4 活動圖與其他模型 78
6.3 順序圖 80
6.3.1 定義順序圖 80
6.3.2 關(guān)于消息 81
6.3.3 對象的創(chuàng)建和銷毀 82
6.3.4 順序圖的主要用途 83
6.3.5 順序圖實例 83
6.4 協(xié)作圖 87
6.4.1 定義協(xié)作圖 87
6.4.2 綜合實例 87
6.5 狀態(tài)圖 91
6.5.1 定義狀態(tài)圖 91
6.5.2 為什么要建模狀態(tài)圖 92
6.5.3 狀態(tài)圖映射成代碼 92
6.5.4 狀態(tài)圖實例 93
本章小結(jié) 96
習(xí)題6 97
第7章 UML實現(xiàn)與部署 99
7.1 建模實現(xiàn)方式圖的目的 99
7.2 組件圖 99
7.2.1 組件圖的概念 99
7.2.2 組件圖的關(guān)鍵技術(shù) 100
7.2.3 組件圖與類圖、包圖的關(guān)系 102
7.2.4 購物車的組件圖實現(xiàn) 103
7.3 部署圖 105
7.3.1 部署圖的概念 105
7.3.2 節(jié)點 105
7.3.3 通信關(guān)聯(lián) 106
7.3.4 部署圖的建模 106
7.3.5 組件圖與部署圖 107
7.4 建模實現(xiàn)方式圖 107
本章小結(jié) 108
第8章 數(shù)據(jù)庫建模 109
8.1 數(shù)據(jù)庫建模的流程 109
8.1.1 什么是數(shù)據(jù)庫建模 109
8.1.2 數(shù)據(jù)庫建模基本流程 109
8.2 需求分析 110
8.2.1 需求分析的任務(wù) 110
8.2.2 如何表達(dá)用戶的數(shù)據(jù)需求 111
8.3 建立概念模型 112
8.3.1 什么是概念模型 112
8.3.2 如何建立概念模型 112
8.4 建立邏輯數(shù)據(jù)模型 117
8.4.1 什么是邏輯數(shù)據(jù)模型 117
8.4.2 如何建立邏輯數(shù)據(jù)模型 117
8.5 建立物理數(shù)據(jù)模型 122
8.5.1 什么是物理數(shù)據(jù)模型 122
8.5.2 如何建立物理數(shù)據(jù)模型 124
8.6 數(shù)據(jù)模型的優(yōu)化與發(fā)布 126
本章小結(jié) 126
習(xí)題8 127
實踐篇
第9章 軟件建模過程概覽 129
9.1 概述 129
9.2 面向?qū)ο蟮能浖_^程 129
9.2.1 面向?qū)ο蟮能浖_^程概覽 129
9.2.2 面向?qū)ο蟮能浖_^程中
類圖的變遷 135
9.3 面向?qū)ο蟮能浖_^程與面向數(shù)據(jù)的
軟件建模過程 136
本章小結(jié) 136
第10章 需求分析 137
10.1 需求分析概述 137
10.1.1 什么是軟件需求 137
10.1.2 需求分析的目的 138
10.1.3 需求的類型 139
10.1.4 需求驗證 139
10.1.5 實例——需求驗證 140
10.2 捕獲及整理需求 140
10.2.1 信息收集的方法及策略 140
10.2.2 整理需求的一般方法 141
10.2.3 實例——完善需求 142
10.3 需求建模 143
10.3.1 需求建模的意義 143
10.3.2 需求建模的內(nèi)容 143
10.3.3 建立用例模型的步驟 143
10.3.4 實例——需求建模 143
10.4 案例完善:書店借書系統(tǒng)需求整理 149
10.5 案例完善:書店借書系統(tǒng)需求建模 153
10.5.1 確定系統(tǒng)邊界 153
10.5.2 識別參與者 153
10.5.3 識別用例 153
10.5.4 建立用例圖 153
10.5.5 書寫用例文檔 154
10.5.6 通過關(guān)系整理用例 155
本章小結(jié) 156
實戰(zhàn)模擬 超市收銀系統(tǒng)的需求建模 157
第11章 系統(tǒng)分析 159
11.1 系統(tǒng)分析的內(nèi)容及方法 159
11.1.1 系統(tǒng)分析與分析模型 159
11.1.2 建立分析模型的方法 159
11.2 如何識別對象 161
11.2.1 確定問題域內(nèi)的對象 161
11.2.2 確定對象間的關(guān)聯(lián)關(guān)系 162
11.2.3 確定對象的屬性 162
11.2.4 建立繼承關(guān)系 163
11.2.5 定義服務(wù) 163
11.2.6 實例——建模“電子辦公桌系統(tǒng)”
的類模型 164
11.3 識別實體對象 165
11.3.1 識別實體對象的方法 165
11.3.2 實例——超市收銀系統(tǒng)的
實體類圖 166
11.4 建立分析模型 167
11.4.1 建立分析模型的方法 167
11.4.2 實例——“網(wǎng)上購物系統(tǒng)”
的分析模型 167
11.5 案例完善:書店借書系統(tǒng)的分析模型 169
11.5.1 建模實體類圖 169
11.5.2 建模分析模型 169
本章小結(jié) 172
實戰(zhàn)模擬 172
第12章 系統(tǒng)設(shè)計 173
12.1 系統(tǒng)設(shè)計的內(nèi)容及方法 173
12.1.1 選擇技術(shù)方案——設(shè)計前的工作 173
12.1.2 架構(gòu)設(shè)計 174
12.1.3 由分析類到設(shè)計類 177
12.1.4 設(shè)計類庫結(jié)構(gòu) 177
12.2 數(shù)據(jù)庫建模 178
12.2.1 定義數(shù)據(jù)需求 178
12.2.2 定義概念模型 179
12.2.3 設(shè)計邏輯數(shù)據(jù)模型 180
12.2.4 設(shè)計物理數(shù)據(jù)模型 181
12.2.5 數(shù)據(jù)模型的優(yōu)化與發(fā)布 182
12.3 案例完善:書店借書系統(tǒng)設(shè)計模型 183
12.3.1 選擇技術(shù)方案 183
12.3.2 架構(gòu)設(shè)計 183
12.3.3 由分析類到設(shè)計類 184
12.3.4 另一種解決方案 185
本章小結(jié) 187
實戰(zhàn)模擬 超市收銀系統(tǒng)的系統(tǒng)設(shè)計 187
第13章 逆向工程 188
13.1 軟件再工程 188
13.2 逆向工程 189
13.3 一個逆向工程應(yīng)用的案例 189
本章小結(jié) 202
實戰(zhàn)模擬 202
第14章 新聞發(fā)布系統(tǒng)的實例 205
14.1 新聞發(fā)布系統(tǒng)概述 205
14.1.1 關(guān)于系統(tǒng)規(guī)模和目標(biāo)的報告書 205
14.1.2 捕獲及整理需求 206
14.1.3 系統(tǒng)的功能與要求 207
14.2 建模新聞發(fā)布系統(tǒng)用例模型 208
14.2.1 識別參與者與用例 208
14.2.2 建立用例圖 208
14.2.3 用例文檔 209
14.2.4 通過關(guān)系整理用例 210
14.3 建模新聞發(fā)布系統(tǒng)分析模型 211
14.3.1 使用的模式 211
14.3.2 建立分析模型 212
14.4 建模新聞發(fā)布系統(tǒng)設(shè)計模型 213
14.4.1 系統(tǒng)的體系結(jié)構(gòu) 213
14.4.2 技術(shù)方案選擇 213
14.4.3 數(shù)據(jù)庫的設(shè)計 214
14.4.4 前臺界面設(shè)計 216
14.4.5 后臺界面設(shè)計 218
14.4.6 建立類圖模型 219
14.4.7 建立順序圖模型 220
14.4.8 建立包圖及程序代碼結(jié)構(gòu)圖 220
14.4.9 建立組件圖及部署圖 221
14.5 建模新聞發(fā)布系統(tǒng)實現(xiàn)模型 222
14.5.1 數(shù)據(jù)庫實施 222
14.5.2 數(shù)據(jù)庫連接 223
14.5.3 部分實現(xiàn)代碼 225
工具篇
第15章 Rational Rose使用精解 229
15.1 Rational Rose概述 229
15.2 Rational Rose的安裝 229
15.2.1 安裝前的準(zhǔn)備 229
15.2.2 安裝步驟 230
15.3 Rational Rose的使用 234
15.3.1 Rational Rose的啟動 234
15.3.2 Rational Rose的主界面 235
15.3.3 Rose模型的4種視圖 237
15.3.4 Rose的基本操作 237
15.3.5 關(guān)于用例圖 241
15.3.6 活動圖的畫法 242
15.3.7 關(guān)于類圖 242
15.3.8 關(guān)于順序圖 245
15.3.9 順序圖與協(xié)作圖的相互轉(zhuǎn)化 245
15.3.10 借助協(xié)作圖的工具繪制對象圖 246
15.3.11 關(guān)于狀態(tài)圖 247
15.3.12 圖形的布局 248
15.3.13 發(fā)布模型 249
15.4 Rational Rose的逆向工程 250
第16章 PowerDesigner使用精解 254
16.1 PowerDesigner概述 254
16.2 PowerDesigner的安裝和啟動 254
16.2.1 PowerDesigner的安裝 254
16.2.2 PowerDesigner的啟動 257
16.3 PowerDesigner的使用 258
16.3.1 業(yè)務(wù)處理模型 258
16.3.2 概念數(shù)據(jù)模型 265
16.3.3 物理數(shù)據(jù)模型 271
16.3.4 面向?qū)ο竽P?277
參考文獻(xiàn) 282
- Linux服務(wù)器配置與管理實訓(xùn)教程
- 高職高專學(xué)生創(chuàng)業(yè)與就業(yè)指導(dǎo)
- 市場營銷實訓(xùn)
- 圖形圖像處理Photoshop CS教程
- Excel在財務(wù)中的應(yīng)用
- Android基礎(chǔ)教程
- 交換機(jī)/路由器配置與管理實驗教程
- 應(yīng)用數(shù)學(xué)
- 網(wǎng)站建設(shè)技術(shù)
- 市場營銷
- 建筑施工實訓(xùn)指導(dǎo)教程
- 網(wǎng)絡(luò)安全技術(shù)
- 綜合布線技術(shù)與工程
- 網(wǎng)頁設(shè)計與制作
- AutoCAD建筑設(shè)計與繪圖案例教程
- 高職高專學(xué)生創(chuàng)業(yè)與就業(yè)指導(dǎo)