本書從軟件文化背景入手,分析軟件工程面臨的問(wèn)題及軟件建模的必要性。以UML對(duì)象建模語(yǔ)言為背景,由淺入深,由抽象概念到具體實(shí)例,全面介紹了面向?qū)ο蠓治雠c設(shè)計(jì)方法。本書重點(diǎn)圍繞統(tǒng)一建模語(yǔ)言——UML展開,介紹對(duì)象建模的三個(gè)核心內(nèi)容,即對(duì)象的概念建模、行為建模和功能建模,并且以一個(gè)較為完整的示例介紹這些方法如何在實(shí)踐中運(yùn)用。本書提供電子課件,讀者可登錄華信教育資源網(wǎng)www.hxedu.com.cn免費(fèi)注冊(cè)下載。本書可作為高等學(xué)校本科生和研究生教材,也可作為程序員和分析員基礎(chǔ)理論培訓(xùn)教材。
解放軍理工大學(xué)軟件工程專業(yè)博士,陸軍工程大學(xué)教師,主要從事軟件系統(tǒng)建模與仿真研究,講授軟件系統(tǒng)建模與仿真本科和研究生課程;2017年獲軍隊(duì)科技進(jìn)步三等獎(jiǎng)1項(xiàng),2018年獲計(jì)算機(jī)軟件著作權(quán)1項(xiàng),2020年獲得中國(guó)指控學(xué)會(huì)科技進(jìn)步一等獎(jiǎng)1項(xiàng)。
目錄
第1章 軟件建模概述 1
1.1 計(jì)算機(jī)軟件及其編程語(yǔ)言發(fā)展的啟迪 1
1.1.1 計(jì)算機(jī)編程語(yǔ)言發(fā)展史 1
1.1.2 人類語(yǔ)言與計(jì)算機(jī)編程語(yǔ)言對(duì)比 2
1.1.3 需求鴻溝及解決方法 4
1.2 軟件工程 5
1.2.1 軟件危機(jī) 5
1.2.2 軟件工程方法 6
1.2.3 需求工程 6
1.2.4 模型驅(qū)動(dòng)工程 7
1.3 建模的基本原理 8
1.3.1 知識(shí)的概念 8
1.3.2 模型的概念 9
1.3.3 元模型及其作用 13
1.3.4 建模的基本原則 14
1.4 本章小結(jié) 18
1.5 習(xí)題 18
第2章 面向?qū)ο蟮幕靖拍?19
2.1 對(duì)象的概念 19
2.1.1 面向?qū)ο蟮乃枷?19
2.1.2 什么是對(duì)象 20
2.1.3 什么是類 21
2.1.4 什么是實(shí)例 22
2.1.5 計(jì)算機(jī)程序與對(duì)象 23
2.2 對(duì)象模型的概念 23
2.2.1 現(xiàn)實(shí)世界的對(duì)象模型 24
2.2.2 計(jì)算機(jī)世界的對(duì)象模型 24
2.2.3 對(duì)象模型的可視化表示 25
2.3 面向?qū)ο蠓治鲈O(shè)計(jì)的共性問(wèn)題 26
2.3.1 對(duì)象的封裝 26
2.3.2 對(duì)象的抽象層次 27
2.3.3 對(duì)象的多態(tài)性 28
2.3.4 對(duì)象之間的信息交互 29
2.3.5 軟件復(fù)用 30
2.4 其他方法比較 32
2.4.1 面向過(guò)程的方法 32
2.4.2 面向數(shù)據(jù)的方法 33
2.4.3 面向控制的方法 33
2.5 本章小結(jié) 34
2.6 習(xí)題 35
第3章 統(tǒng)一建模語(yǔ)言 38
3.1 UML概覽 38
3.1.1 UML的起源與發(fā)展 38
3.1.2 UML的作用 40
3.1.3 UML方法論 40
3.2 UML機(jī)理 42
3.2.1 UML建模機(jī)制 42
3.2.2 UML擴(kuò)展機(jī)制 48
3.2.3 UML形式化機(jī)制 50
3.3 UML 2.0與UML 1.0的區(qū)別 54
3.3.1 類圖的區(qū)別 55
3.3.2 用例圖的區(qū)別 56
3.3.3 活動(dòng)圖的區(qū)別 56
3.3.4 UML 2.0新增的模型圖 58
3.4 本章小結(jié) 60
3.5 習(xí)題 61
第4章 對(duì)象概念建模 62
4.1 概念建模及其意義 62
4.2 UML類圖和對(duì)象圖表示法 64
4.2.1 類和對(duì)象的表示法 64
4.2.2 屬性的表示法 66
4.2.3 操作的表示法 67
4.3 對(duì)象之間的聯(lián)系及其表示法 68
4.3.1 關(guān)聯(lián)關(guān)系及表示法 68
4.3.2 聚合關(guān)系及表示法 70
4.3.3 關(guān)聯(lián)類關(guān)系及表示法 71
4.3.4 依賴關(guān)系及表示法 73
4.3.5 其他關(guān)系及表示法 74
4.4 對(duì)象概念的泛化與繼承 76
4.4.1 泛化的概念及應(yīng)用 77
4.4.2 繼承的概念及應(yīng)用 78
4.4.3 對(duì)象的多態(tài)性及應(yīng)用 80
4.5 理解概念模型 83
4.5.1 理解的概念 83
4.5.2 理解的關(guān)系 85
4.5.3 理解的細(xì)節(jié)內(nèi)容 86
4.6 建立概念模型 87
4.6.1 識(shí)別對(duì)象及其關(guān)系 87
4.6.2 識(shí)別對(duì)象屬性 90
4.6.3 識(shí)別對(duì)象操作 93
4.6.4 概念模型的精化 95
4.7 其他UML靜態(tài)概念模型 96
4.7.1 包圖 97
4.7.2 對(duì)象圖 98
4.7.3 組件圖 99
4.7.4 復(fù)合結(jié)構(gòu)圖 101
4.8 本章小結(jié) 102
4.9 習(xí)題 103
第5章 對(duì)象行為建模 104
5.1 行為建模的基本概念 104
5.1.1 行為模型及其意義 104
5.1.2 基于UML的行為建模方法 105
5.2 UML狀態(tài)圖表示法 105
5.2.1 狀態(tài)圖的基本元素 105
5.2.2 一般狀態(tài)圖 107
5.2.3 復(fù)雜狀態(tài)圖 108
5.3 UML狀態(tài)圖應(yīng)用 110
5.3.1 狀態(tài)模型的適用范圍及作用 110
5.3.2 建立狀態(tài)模型 111
5.3.3 狀態(tài)模型與對(duì)象概念模型的關(guān)系 113
5.4 UML活動(dòng)圖表示法 114
5.4.1 活動(dòng)圖的基本元素 114
5.4.2 一般活動(dòng)圖 115
5.4.3 分層活動(dòng)圖 117
5.4.4 泳道活動(dòng)圖 117
5.4.5 對(duì)象流活動(dòng)圖 118
5.5 UML活動(dòng)圖應(yīng)用 120
5.5.1 活動(dòng)圖的適用范圍及作用 120
5.5.2 建立活動(dòng)圖 120
5.5.3 活動(dòng)圖與對(duì)象概念圖的關(guān)系 123
5.5.4 狀態(tài)圖與活動(dòng)圖的比較 123
5.6 UML交互圖表示法 124
5.6.1 時(shí)序圖 124
5.6.2 通信圖 129
5.6.3 交互概覽圖 130
5.7 UML交互圖應(yīng)用 130
5.7.1 交互模型的作用 131
5.7.2 建立交互模型 132
5.7.3 交互模型之間的關(guān)系 136
5.7.4 交互模型與概念模型的關(guān)系 136
5.8 本章小結(jié) 137
5.9 習(xí)題 137
第6章 對(duì)象功能建模 138
6.1 功能建模的基本概念 138
6.1.1 功能模型及其意義 138
6.1.2 基于UML的功能需求分析方法 139
6.2 UML用例圖表示法 140
6.2.1 角色 141
6.2.2 用例 143
6.2.3 關(guān)系 144
6.3 UML用例圖建模 147
6.3.1 用例模型的作用 147
6.3.2 理解用例模型 148
6.3.3 建立用例模型 151
6.3.4 描述用例細(xì)節(jié) 159
6.4 本章小結(jié) 163
6.5 習(xí)題 164
第7章 系統(tǒng)建模 166
7.1 系統(tǒng)建模概述 166
7.1.1 系統(tǒng)的概念 166
7.1.2 系統(tǒng)建模 168
7.2 組件建模 169
7.2.1 組件建模概述 169
7.2.2 組件建模元素 170
7.2.3 組件建模示例 173
7.3 復(fù)合結(jié)構(gòu)建模 174
7.3.1 復(fù)合結(jié)構(gòu)建模概述 174
7.3.2 復(fù)合結(jié)構(gòu)建模元素 175
7.4 系統(tǒng)建模語(yǔ)言 176
7.4.1 系統(tǒng)建模語(yǔ)言概述 176
7.4.2 系統(tǒng)結(jié)構(gòu)建模 180
7.4.3 系統(tǒng)行為建模 183
7.4.4 系統(tǒng)需求建模 185
7.5 本章小結(jié) 186
7.6 習(xí)題 187
第8章 軟件建模實(shí)踐 188
8.1 PowerDesigner工具介紹 188
8.1.1 PowerDesigner主界面 188
8.1.2 PowerDesigner支持的模型 189
8.1.3 PowerDesigner新建模型的步驟 191
8.1.4 PowerDesigner的工具選項(xiàng)板 193
8.2 案例介紹 194
8.2.1 項(xiàng)目背景及需求概要 194
8.2.2 需求分析 195
8.2.3 軟件分析建模 199
8.2.4 軟件設(shè)計(jì)建模 210
8.3 本章小結(jié) 215
參考文獻(xiàn) 216