複製鏈接
請複製以下鏈接發送給好友

面向對象的分析與設計

鎖定
《面向對象的分析與設計》是2013年1月清華大學出版社出版的圖書,作者是邵維忠、楊芙清。
中文名
面向對象的分析與設計
作    者
邵維忠
楊芙清
出版社
清華大學出版社
出版時間
2013年1月 [1] 
頁    數
391 頁 [1] 
開    本
16 開
裝    幀
平裝
ISBN
9787302301202

面向對象的分析與設計內容簡介

本書是一本全面論述面向對象分析與設計方法的專著。全書分為3部分。第一部分為基礎篇,論述面向對象方法的基本思想和主要概念,對不同的分析與設計方法進行綜述,對統一建模語言(UML)和本書提出的方法做概要介紹。
第二部分為分析篇,詳細介紹面向對象分析的全過程,圍繞面向對象建模中的需求模型(用況圖)、基本模型(類圖)、輔助模型(包圖、順序圖、活動圖以及其他各種UML模型圖)和模型規約,對面向對象的分析進行深入討論,給出詳細的過程指導和工程策略,並對相關的UML內容做較詳細的介紹。第三部分為設計篇,介紹如何在面向對象分析模型基礎上,針對具體的實現條件進行面向對象的系統設計,包括問題域部分、人機交互部分、控制驅動部分和數據接口部分4個主要部分的設計,最後介紹如何進行構件化與系統部署。
本書可供計算機軟件領域的研究人員和工程技術人員,計算機軟件專業的教師、研究生和高年級本科生閲讀參考。 [1] 

面向對象的分析與設計圖書目錄

第一部分 基 礎 篇
第1章 面向對象方法概論31.1 什麼是面向對象3
1.2 從認識論看面向對象方法的形成5
1.2.1 軟件開發--對事物的認識和描述5
1.2.2 語言的鴻溝5
1.2.3 編程語言的發展使鴻溝變窄5
1.2.4 軟件工程學的作用8
1.2.5 面向對象是軟件方法學的返璞歸真12
1.3 面向對象方法的基本概念12
1.3.1 對象13
1.3.2 類14
1.3.3 封裝16
1.3.4 繼承17
1.3.5 聚合18
1.3.6 關聯20
1.3.7 消息21
1.3.8 多態性22
1.3.9 其他22
1.3.10 術語對照24
1.4 面向對象方法的歷史及現狀26
1.4.1 歷史26
1.4.2 發展到軟件生存週期全過程27
1.4.3 滲透到計算機軟件的各個領域30
第2章 不同的分析與設計方法33
2.1 功能分解法33
2.2 結構化方法34
2.3 信息建模法35目錄面向對象的分析與設計 2.4 面向對象方法36
2.4.1 什麼是OOA36
2.4.2 什麼是OOD37
2.4.3 面向對象方法的主要優點38
2.4.4 幾種典型的面向對象方法41
2.4.4.1 Booch方法43
2.4.4.2 Coad/Yourdon方法45
2.4.4.3 Jacobson方法48
2.4.4.4 Rumbaugh方法52
第3章 統一建模語言UML簡介56
3.1 UML的背景與發展歷史56
3.2 UML1概況58
3.2.1 UML1規範的主要組成部分58
3.2.2 語言體系結構和定義方式59
3.2.3 UML1的各種圖和擴展機制62
3.3 UML2概況66
3.3.1 從UML1到UML266
3.3.2 UML2的4個規範67
3.3.2.1 UML基礎結構67
3.3.2.2 UML上層結構68
3.3.2.3 對象約束語言69
3.3.2.4 UML圖交換70
3.3.3 UML2的各種圖70
第4章 本書的OOA&D方法概貌74
4.1 引言74
4.2 主要概念74
4.2.1 主要模型元素75
4.2.2 面向對象建模的主要原則76
4.3 模型及其規約80
4.3.1 基本模型--類圖80
4.3.2 需求模型--用況圖81
4.3.3 輔助模型--其他各種圖82
4.3.4 模型規約82
4.3.5 OOA模型框架OOA模型框架83
4.3.6 OOD模型框架OOD模型框架83
4.4 建模過程85
4.4.1 OOA過程85
4.4.2 OOD過程87
4.5 OOA與OOD的關係88
4.5.1 一致的概念與表示法88
4.5.2 不同的目標、內容和抽象層次89
4.5.3 在軟件生存週期中的位置90
4.5.4 兩種不同的分工觀點90
4.5.5 從模型驅動的體系結構看OOA與OOD的關係92
第二部分 分 析 篇
第5章 建立需求模型--用況圖975.1 需求分析和系統分析97
5.2 基於用況的需求分析基本思路98
5.3 系統邊界與參與者98
5.3.1 系統邊界98
5.3.2 參與者99
5.4 用況101
5.4.1 什麼是用況101
5.4.2 用況的內容與格式103
5.4.3 如何定義用況104
5.5 用況圖105
5.5.1 模型元素及表示法105
5.5.2 幾個值得商榷的問題107
5.6 開發過程與建議110
第6章 發現對象、定義對象類113
6.1 對象和類的概念及其運用113
6.1.1 概念113
6.1.2 類的語義114
6.1.3 在類的抽象層次建模115
6.1.4 如何運用對象和類的概念117
6.2 表示法118
6.3 發現對象118
6.3.1 研究問題域118
6.3.2 正確地運用抽象原則119
6.3.3 策略與啓發120
6.3.4 審查與篩選122
6.4 對象分類124
6.4.1 將對象抽象為類124
6.4.2 審查與調整124
6.4.3 類的命名125
第7章 定義對象的屬性和操作127
7.1 屬性和操作127
7.2 表示法128
7.3 定義屬性129
7.3.1 策略與啓發129
7.3.2 審查與篩選130
7.3.3 推遲到OOD考慮的問題131
7.3.4 屬性的命名和定位131
7.4 定義操作132
7.4.1 行為分類132
7.4.2 策略與啓發133
7.4.3 審查與篩選134
7.4.4 認識對象的主動行為134
7.4.5 描述操作流程134
7.4.6 操作的命名和定位135
7.5 接口的概念及其用途136
第8章 建立對象間的關係140
8.1 一般-特殊結構140
8.1.1 相關概念140
8.1.2 表示法142
8.1.3 如何發現一般-特殊結構143
8.1.4 審查與篩選145
8.1.5 一般-特殊結構的簡化147
8.1.6 多繼承及多態性問題150
8.2 整體-部分結構152
8.2.1 相關概念152
8.2.2 表示法153
8.2.3 如何發現整體-部分結構155
8.2.4 審查與篩選156
8.2.5 整體-部分結構的高級應用技巧156
8.2.5.1 簡化對象的定義156
8.2.5.2 支持軟件複用157
8.2.5.3 表示數量不定的組成部分158
8.2.5.4 表示動態變化的對象特徵159
8.2.6 兩種結構之間的變通162
8.3 關聯163
8.3.1 相關概念163
8.3.2 表示法及實現技術165
8.3.2.1 基本表示法165
8.3.2.2 二元關聯的實現166
8.3.3 運用簡單的關聯概念解決複雜的關聯問題169
8.3.3.1 帶有屬性和操作的關聯169
8.3.3.2 三元關聯和?n?元關聯171
8.3.3.3 一個類在關聯中多次出現173
8.3.3.4 關聯端點的複雜情況174
8.3.4 如何建立關聯180
8.4 消息184
8.4.1 什麼是消息184
8.4.1.1 順序系統中的消息184
8.4.1.2 併發系統中的消息185
8.4.1.3 消息對面向對象建模的意義187
8.4.2 消息的表示法187
8.4.3 如何建立消息191
8.5 關於依賴關係193
8.5.1 什麼是依賴193
8.5.2 依賴的定義方式和表示法194
8.5.3 依賴關係對面向對象建模的作用197
第9章 建立輔助模型199
9.1 類圖與其他模型圖之間的關係199
9.2 包圖201
9.2.1 包的概念、用途及表示法201
9.2.2 包之間的關係及表示法202
9.2.3 如何建立包圖205
9.2.3.1 將模型元素打包205
9.2.3.2 包的命名208
9.2.3.3 組織嵌套的包209
9.2.3.4 減少包的嵌套層次210
9.2.3.5 建立包之間的關係210
9.2.4 用包圖控制系統的視野212
9.3 順序圖212
9.3.1 順序圖及其用途212
9.3.2 主要概念及表示法213
9.3.3 順序圖的組織機制與複用217
9.3.4 關於順序圖的若干問題討論219
9.3.5 如何建立順序圖221
9.4 活動圖223
9.4.1 活動圖及其用途223
9.4.2 主要概念及表示法224
9.4.3 一個活動圖的例子228
9.4.4 關於活動圖的若干問題討論230
9.4.5 如何建立活動圖232
9.5 狀態機圖235
9.5.1 狀態機圖與狀態建模235
9.5.2 主要概念及表示法236
9.5.3 一個狀態機圖的例子241
9.5.4 如何建立狀態機圖242
9.6 構件圖245
9.6.1 構件圖的由來及用途245
9.6.2 主要概念及表示法245
9.6.3 如何建立構件圖248
9.7 UML的其他幾種模型圖249
9.7.1 對象圖249
9.7.2 組合結構圖250
9.7.3 通信圖251
9.7.4 交互概覽圖252
9.7.5 定時圖254
9.7.6 部署圖257
第10章 模型規約259
10.1 相關概念及問題討論259
10.1.1 什麼是模型規約259
10.1.2 模型規約是給誰看的260
10.1.3 描述語言的選擇260
10.1.4 模型規約的組織方式261
10.1.5 關於對象約束語言OCL262
10.2 類圖的規約264
10.2.1 目標與措施264
10.2.2 類規約的內容266
10.2.3 類規約的格式268
10.3 其他模型圖的規約270
10.4 模型規約的建立過程270第三部分 設 計 篇
第11章 問題域部分的設計27511.1 什麼是問題域部分275
11.2 實現條件對問題域部分的影響276
11.3 設計過程277
11.3.1 設計準備277
11.3.2 設計內容及策略277
11.3.2.1 針對編程語言支持能力的調整277
11.3.2.2 增加一般類,提供共同協議282
11.3.2.3 為實現複用採取的設計策略283
11.3.2.4 提高性能285
11.3.2.5 為實現對象持久存儲所做的修改290
11.3.2.6 完善對象的細節290
11.3.2.7 定義對象實例295
11.3.2.8 修改或補充輔助模型及模型規約296
11.3.3 建立與OOA文檔的映射297
第12章 人機交互部分的設計300
12.1 什麼是人機交互部分300
12.2 人機交互部分的需求分析300
12.2.1 分析參與者--與系統交互的人301
12.2.2 從用況分析人機交互302
12.2.3 分析處理異常事件的人機交互305
12.2.4 命令的組織306
12.2.5 輸出信息的組織309
12.3 人機界面的設計準則310
12.4 人機界面的面向對象設計312
12.4.1 選擇界面支持系統312
12.4.2 選用實現交互界面元素314
12.4.3 用面向對象概念表示界面元素316
12.5 可視化編程環境下的人機界面設計320
12.5.1 問題的提出320
12.5.2 所見即所得的界面開發320
12.5.3 設計的必要性323
12.5.4 基於可視化編程環境的設計策略324
第13章 控制驅動部分的設計330
13.1 什麼是控制驅動部分330
13.2 相關技術問題330
13.2.1 系統總體方案系統總體方案330
13.2.2 軟件體系結構331
13.2.3 網絡環境中的軟件體系結構332
13.2.4 系統的併發性334
13.2.4.1 順序程序和併發程序334
13.2.4.2 進程和線程335
13.2.4.3 應用系統的併發性337
13.2.4.4 術語討論340
13.3 如何設計控制驅動部分342
13.3.1 選擇軟件體系結構風格342
13.3.2 確定系統分佈方案342
13.3.3 識別控制流347
13.3.4 用主動類表示控制流349
第14章 數據接口部分的設計351
14.1 什麼是數據接口部分351
14.2 數據管理系統及其選擇352
14.2.1 文件系統352
14.2.2 數據庫管理系統353
14.2.2.1 關係數據庫和數據庫管理系統354
14.2.2.2 面向對象數據庫和數據庫管理系統356
14.2.3 數據管理系統的選擇356
14.3 對象存儲方案和數據接口的設計策略358
14.3.1 針對文件系統的設計358
14.3.1.1 對象在內存空間和文件空間的映像358
14.3.1.2 對象存放策略359
14.3.1.3 設計數據接口部分的類361
14.3.1.4 問題域部分的修改362
14.3.2 針對RDBMS的設計363
14.3.2.1 對象及其對數據庫的使用363
14.3.2.2 對象在數據庫中的存放策略366
14.3.2.3 數據接口部分類的設計和問題域部分的修改374
14.3.3 針對OODBMS的設計376
第15章 構件化與系統部署378
15.1 面向對象方法與構件技術378
15.2 面向對象模型的構件化379
15.3 系統部署380
15.3.1 軟件製品的組織381
15.3.2 系統部署過程與策略382
索引385
參考文獻389
第一部分 基 礎 篇
第1章 面向對象方法概論31.1 什麼是面向對象3
1.2 從認識論看面向對象方法的形成5
1.2.1 軟件開發--對事物的認識和描述5
1.2.2 語言的鴻溝5
1.2.3 編程語言的發展使鴻溝變窄5
1.2.4 軟件工程學的作用8
1.2.5 面向對象是軟件方法學的返璞歸真12
1.3 面向對象方法的基本概念12
1.3.1 對象13
1.3.2 類14
1.3.3 封裝16
1.3.4 繼承17
1.3.5 聚合18
1.3.6 關聯20
1.3.7 消息21
1.3.8 多態性22
1.3.9 其他22
1.3.10 術語對照24
1.4 面向對象方法的歷史及現狀26
1.4.1 歷史26
1.4.2 發展到軟件生存週期全過程28
1.4.3 滲透到計算機軟件的各個領域30
第2章 不同的分析與設計方法33
2.1 功能分解法33
2.2 結構化方法34
2.3 信息建模法35目錄面向對象的分析與設計 2.4 面向對象方法36
2.4.1 什麼是OOA36
2.4.2 什麼是OOD37
2.4.3 面向對象方法的主要優點38
2.4.4 幾種典型的面向對象方法41
第3章 統一建模語言(UML)簡介56
3.1 UML的背景與發展歷史56
3.2 UML1概況58
3.2.1 UML1規範的主要組成部分58
3.2.2 語言體系結構和定義方式59
3.2.3 UML1的各種圖和擴展機制62
3.3 UML2概況66
3.3.1 從UML1到UML266
3.3.2 UML2的4個規範66
3.3.3 UML2的各種圖70
第4章 本書的OOA&D方法概貌74
4.1 引言74
4.2 主要概念74
4.2.1 主要模型元素75
4.2.2 面向對象建模的主要原則76
4.3 模型及其規約80
4.3.1 基本模型--類圖80
4.3.2 需求模型--用況圖81
4.3.3 輔助模型--其他各種圖82
4.3.4 模型規約82
4.3.5 OOA模型框架OOA模型框架83
4.3.6 OOD模型框架OOD模型框架83
4.4 建模過程85
4.4.1 OOA過程85
4.4.2 OOD過程87
4.5 OOA與OOD的關係88
4.5.1 一致的概念與表示法88
4.5.2 不同的目標、內容和抽象層次89
4.5.3 在軟件生存週期中的位置90
4.5.4 兩種不同的分工觀點90
4.5.5 從模型驅動的體系結構看OOA與OOD的關係92
第二部分 分 析 篇
第5章 建立需求模型--用況圖975.1 需求分析和系統分析97
5.2 基於用況的需求分析基本思路98
5.3 系統邊界與參與者98
5.3.1 系統邊界98
5.3.2 參與者99
5.4 用況101
5.4.1 什麼是用況101
5.4.2 用況的內容與格式103
5.4.3 如何定義用況104
5.5 用況圖105
5.5.1 模型元素及表示法105
5.5.2 幾個值得商榷的問題107
5.6 開發過程與建議110
第6章 發現對象、定義對象類113
6.1 對象和類的概念及其運用113
6.1.1 概念113
6.1.2 類的語義114
6.1.3 在類的抽象層次建模115
6.1.4 如何運用對象和類的概念117
6.2 表示法118
6.3 發現對象118
6.3.1 研究問題域118
6.3.2 正確地運用抽象原則119
6.3.3 策略與啓發120
6.3.4 審查與篩選122
6.4 對象分類124
6.4.1 將對象抽象為類124
6.4.2 審查與調整124
6.4.3 類的命名125
第7章 定義對象的屬性和操作127
7.1 屬性和操作127
7.2 表示法128
7.3 定義屬性129
7.3.1 策略與啓發129
7.3.2 審查與篩選130
7.3.3 推遲到OOD考慮的問題130
7.3.4 屬性的命名和定位131
7.4 定義操作131
7.4.1 行為分類132
7.4.2 策略與啓發132
7.4.3 審查與篩選133
7.4.4 認識對象的主動行為134
7.4.5 描述操作流程134
7.4.6 操作的命名和定位135
7.5 接口的概念及其用途136
第8章 建立對象間的關係140
8.1 一般-特殊結構140
8.1.1 相關概念140
8.1.2 表示法142
8.1.3 如何發現一般-特殊結構143
8.1.4 審查與篩選145
8.1.5 一般-特殊結構的簡化147
8.1.6 多繼承及多態性問題149
8.2 整體-部分結構152
8.2.1 相關概念152
8.2.2 表示法153
8.2.3 如何發現整體-部分結構154
8.2.4 審查與篩選155
8.2.5 整體-部分結構的高級應用技巧156
8.2.6 兩種結構之間的變通161
8.3 關聯163
8.3.1 相關概念163
8.3.2 表示法及實現技術164
8.3.3 運用簡單的關聯概念解決複雜的關聯問題168
8.3.4 如何建立關聯179
8.4 消息183
8.4.1 什麼是消息183
8.4.2 消息的表示法187
8.4.3 如何建立消息190
8.5 關於依賴關係192
8.5.1 什麼是依賴192
8.5.2 依賴的定義方式和表示法193
8.5.3 依賴關係對面向對象建模的作用197
第9章 建立輔助模型199
9.1 類圖與其他模型圖之間的關係199
9.2 包圖201
9.2.1 包的概念、用途及表示法201
9.2.2 包之間的關係及表示法202
9.2.3 如何建立包圖205
9.2.4 用包圖控制系統的視野211
9.3 順序圖212
9.3.1 順序圖及其用途212
9.3.2 主要概念及表示法212
9.3.3 順序圖的組織機制與複用217
9.3.4 關於順序圖的若干問題討論219
9.3.5 如何建立順序圖220
9.4 活動圖223
9.4.1 活動圖及其用途223
9.4.2 主要概念及表示法224
9.4.3 一個活動圖的例子228
9.4.4 關於活動圖的若干問題討論229
9.4.5 如何建立活動圖232
9.5 狀態機圖235
9.5.1 狀態機圖與狀態建模235
9.5.2 主要概念及表示法236
9.5.3 一個狀態機圖的例子241
9.5.4 如何建立狀態機圖242
9.6 構件圖244
9.6.1 構件圖的由來及用途245
9.6.2 主要概念及表示法245
9.6.3 如何建立構件圖248
9.7 UML的其他幾種模型圖249
9.7.1 對象圖249
9.7.2 組合結構圖250
9.7.3 通信圖251
9.7.4 交互概覽圖252
9.7.5 定時圖254
9.7.6 部署圖256第10章 模型規約259
10.1 相關概念及問題討論259
10.1.1 什麼是模型規約259
10.1.2 模型規約是給誰看的260
10.1.3 描述語言的選擇260
10.1.4 模型規約的組織方式261
10.1.5 關於對象約束語言(OCL)262
10.2 類圖的規約264
10.2.1 目標與措施264
10.2.2 類規約的內容266
10.2.3 類規約的格式268
10.3 其他模型圖的規約270
10.4 模型規約的建立過程270
第三部分 設 計 篇
第11章 問題域部分的設計27511.1 什麼是問題域部分275
11.2 實現條件對問題域部分的影響276
11.3 設計過程277
11.3.1 設計準備277
11.3.2 設計內容及策略277
11.3.3 建立與OOA文檔的映射297
第12章 人機交互部分的設計299
12.1 什麼是人機交互部分299
12.2 人機交互部分的需求分析299
12.2.1 分析參與者--與系統交互的人300
12.2.2 從用況分析人機交互301
12.2.3 分析處理異常事件的人機交互304
12.2.4 命令的組織305
12.2.5 輸出信息的組織308
12.3 人機界面的設計準則309
12.4 人機界面的面向對象設計311
12.4.1 選擇界面支持系統311
12.4.2 選用實現交互界面元素313
14.4.3 用面向對象概念表示界面元素315
12.5 可視化編程環境下的人機界面設計319
12.5.1 問題的提出319
12.5.2 所見即所得的界面開發319
12.5.3 設計的必要性322
12.5.4 基於可視化編程環境的設計策略323
第13章 控制驅動部分的設計329
13.1 什麼是控制驅動部分329
13.2 相關技術問題329
13.2.1 系統總體方案系統總體方案329
13.2.2 軟件體系結構330
13.2.3 網絡環境中的軟件體系結構331
13.2.4 系統的併發性333
13.3 如何設計控制驅動部分341
13.3.1 選擇軟件體系結構風格341
13.3.2 確定系統分佈方案341
13.3.3 識別控制流346
13.3.4 用主動類表示控制流348
第14章 數據接口部分的設計350
14.1 什麼是數據接口部分350
14.2 數據管理系統及其選擇351
14.2.1 文件系統351
14.2.2 數據庫管理系統352
14.2.3 數據管理系統的選擇355
14.3 對象存儲方案和數據接口的設計策略357
14.3.1 針對文件系統的設計357
14.3.2 針對RDBMS的設計362
14.3.3 針對OODBMS的設計375
第15章 構件化與系統部署377
15.1 面向對象方法與構件技術377
15.2 面向對象模型的構件化378
15.3 系統部署379
15.3.1 軟件製品的組織380
15.3.2 系統部署過程與策略381
索引384
參考文獻388
參考資料