面向對象的分析與設計

面向對象的分析與設計

《面向對象的分析與設計》是由邵維忠、楊芙清編寫的一本書籍。

基本介紹

  • 書名:面向對象的分析與設計
  • 作者:邵維忠、楊芙清
  • ISBN:9787302301202
  • 頁數:391 
  • 出版時間:2013-1 
  • 裝幀:平裝
  • 開本:16
圖書簡介,圖書目錄,圖書信息,圖書前言,

圖書簡介

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

本書可供計算機軟體領域的研究人員和工程技術人員,計算機軟體專業的教師、研究生和高年級本科生閱讀參考。

圖書目錄

第一部分 基 礎 篇
第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

圖書信息

作者:邵維忠、楊芙清
書號:9787302301202
定價:44.5元
印次:1-1
裝幀:平裝
印刷日期:2012-12-25

圖書前言

全書共包括15章,分為3個部分。
第一部分為基礎篇。其中第1章論述面向對象方法的基本思想,定義和解釋其中的基本概念,並介紹其歷史與現狀。這些基本知識是學習面向對象分析與設計方法的重要基礎。第2章首先介紹歷史上出現的幾種經典的分析與設計方法,並與面向對象方法進行比較,然後介紹4種影響較大而風格不同的面向對象分析與設計方法。第3章對UML規範進行簡要介紹,包括其背景及發展歷史,以及UML1與UML2先後兩個版本系列的基本內容與概況。第4章對本書的OOA與OOD方法進行了提綱挈領式的介紹,是分析篇和設計篇各章內容的總綱。

第二部分為分析篇,詳細介紹面向對象分析的全過程。其中第5章介紹如何進行需求分析,建立系統的需求模型,即用況圖。第6章~第8章是面向對象系統分析的核心內容,從對象、對象的特徵層以及對象之間關係3個層次介紹如何建立系統的基本模型,即類圖。對如何運用面向對象概念進行類圖中每個層次的建模給出詳細的過程指導。第9章介紹如何根據實際需要有選擇地建立系統的各種輔助模型,重點介紹UML的包圖、順序圖、活動圖、狀態機圖和構件圖,對其他各種圖只做簡要介紹。第10章介紹模型規約,討論如何通過模型規約對系統模型圖進行詳細而準確的描述,給出一種便於計算機理解(從而提高代碼自動生成的比例)並有利於復用的規約組織格式。

第三部分為設計篇,介紹如何將平台無關的OOA模型設計為平台專用的OOD模型。OOD模型包括4個主要部分。第11章介紹問題域部分的設計,根據程式語言、復用支持和硬體性能等實現條件,對來自問題域的類進行修改和調整,使之適用於選定的實現平台並滿足性能等方面的要求。第12章介紹人機互動部分的設計,主要解決人機互動過程的提取、互動命令組織和人機界面的設計問題。第13章介紹控制驅動部分的設計,主要解決並發系統和分散式系統中的對象分布和控制流的設計問題。第14章介紹數據接口部分的設計,主要解決對象的持久存儲問題,針對檔案系統、關係資料庫管理系統和面向對象資料庫管理系統給出不同的設計策略。第15章介紹如何將OOD模型構件化以及如何進行系統部署。

相關詞條

熱門詞條

聯絡我們