书籍详情
面向对象的系统分析(第2版)
作者:邵维忠、杨芙清
出版社:清华大学
出版时间:2006-12-01
ISBN:9787302136774
定价:¥33.00
购买这本书可以去
内容简介
本书是一本论述面向对象分析方法的专著,其第1版于1998年由清华大学出版社出版,被国内许多大学用作研究生或高年级本科生教材,并被许多软件开发单位作为工程技术用书,至今每年仍在增印。本次再版,根据国内外面向对象领域理论与技术的最新发展,并参照统一建模语言UML2.0的最新版本,做了大量的补充、修改和完善工作,同时在概念解释、文字陈述与图解等方面也做了不少改进。.全书共10章,前3章系统地介绍面向对象方法的基本知识,论述面向对象的分析(OOA)的主要特点和优势,概要地介绍本书的OOA方法之主要特色。第4~第9章详细介绍OOA的全过程,围绕面向对象建模中的基本模型(类图),需求模型(用况图),辅助模型(包图、顺序图、活动图以及其他各种UML模型图)和模型规约,对每个开发活动进行深入讨论,给出详细的过程指导和工程策略。第10章集中讨论软件复用及其与OOA的关系,给出按软件复用的要求组织OOA过程的策略。...
作者简介
作者:邵维忠邵维忠北京大学信息科学技术学院教授、博士生导师,中国计算机学会理事。1970年毕业于北京大学数学力学系,1979—1983年在计算机科学技术系任教并攻读硕士学位。早期主要从事操作系统和软件工程领域的教学、科研与开发。1987—1989年在新加坡国立大学参加科技合作。回国后在导师杨芙清院士主持的国家“八五”、“九五”重点科技攻关课题“大型软件开发环境青鸟系统”和“软件工程环境工业化生产技术及系统”中担任主要技术负责人。自1991年起注重于面向对象建模方法的研究,并开设了...
目录
第1章面向对象方法概论1
1.1什么是面向对象1
1.2从认识论看面向对象方法的形成3
1.2.1软件开发——对事物的认识和描述3
1.2.2语言的鸿沟4
1.2.3编程语言的发展使鸿沟变小4
1.2.4软件工程学的作用6
1.2.5面向对象是软件方法学的返璞归真11
1.3面向对象方法的基本概念12
1.3.1对象12
1.3.2类13
1.3.3封装15
1.3.4继承17
1.3.5聚合18
1.3.6关联19
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章为什么需要OOA32
2.1什么是OOA32
2.2分析面临的主要问题32
2.3分析方法综述36
2.3.1功能分解法36
2.3.2数据流法37
2.3.3信息建模法39
2.3.4面向对象方法40
2.3.5分析方法的比较40
2.3.6OOA的主要优点42
2.4各种OOA方法43
2.5关于统一建模语言UML45
第3章本书的OOA方法概貌47
3.1引言47
3.2主要概念及表示法48
3.2.1建模元素及表示法48
3.2.2OOA的主要原则50
3.3OOA模型及其规约55
3.3.1基本模型——类图55
3.3.2需求模型——用况图56
3.3.3辅助模型——包图、顺序图、活动图及其他56
3.3.4模型规约58
3.3.5完整的OOA文档及详简程度的控制58
3.4OOA过程60
3.5OOA与OOD的关系62
第4章发现对象、定义对象类64
4.1对象和类64
4.1.1对象、主动对象以及它们的类64
4.1.2类的语义66
4.1.3在类的抽象层次上建模67
4.1.4如何运用对象和类的概念69
4.2表示法70
4.3研究问题域和用户需求71
4.3.1研究用户需求,明确系统责任71
4.3.2研究问题域72
4.3.3确定系统边界73
4.4发现对象74
4.4.1出发点——问题域和系统责任74
4.4.2正确地运用抽象原则74
4.4.3策略与启发75
4.4.4审查和筛选78
4.4.5识别主动对象80
4.5对象分类81
4.5.1将对象抽象为类81
4.5.2检查和调整81
4.5.3类的命名82
4.6建立类图的对象层83
第5章定义属性与操作84
5.1对象的属性和操作84
5.2表示法86
5.3定义属性86
5.3.1策略与启发86
5.3.2审查与筛选88
5.3.3推迟到OOD考虑的问题89
5.3.4属性的命名和定位90
5.4定义操作90
5.4.1行为分类90
5.4.2策略与启发91
5.4.3审查与调整92
5.4.4认识对象的主动行为93
5.4.5操作过程描述94
5.4.6操作的命名和定位95
5.5建立类图的特征层96
5.6接口的概念及其用途97
第6章定义对象间的关系101
6.1一般特殊结构102
6.1.1相关概念102
6.1.2表示法104
6.1.3如何发现一般特殊结构105
6.1.4审查与调整108
6.1.5一般特殊结构的简化110
6.1.6多继承及多态性问题113
6.1.7调整对象层和特征层115
6.2整体部分结构116
6.2.1相关概念116
6.2.2表示法119
6.2.3如何发现整体部分结构120
6.2.4审查与筛选121
6.2.5整体部分结构的高级应用技巧122
6.2.5.1简化对象的定义122
6.2.5.2支持软件复用123
6.2.5.3表示数量不定的组成部分124
6.2.5.4表示动态变化的对象特征124
6.2.5.5两种结构之间的变通127
6.2.6调整对象层和属性层129
6.3关联129
6.3.1相关概念129
6.3.2表示法及实现技术131
6.3.2.1基本表示法131
6.3.2.2二元关联的实现132
6.3.3运用简单的关联概念解决复杂的关联问题135
6.3.3.1带有属性和操作的关联135
6.3.3.2三元关联和n元关联138
6.3.3.3一个类在关联中多次出现141
6.3.3.4关联端点的复杂情况142
6.3.4如何建立关联147
6.3.5对象层、特征层的增补及关联说明151
6.4消息152
6.4.1什么是消息152
6.4.1.1顺序系统中的消息152
6.4.1.2并发系统中的消息153
6.4.1.3消息对OOA的意义157
6.4.2消息的表示法157
6.4.3如何建立消息163
6.4.4消息的规约166
6.5关于依赖关系的讨论166
6.5.1什么是依赖166
6.5.2依赖的定义和表示法中的若干问题169
6.5.3依赖对面向对象建模的作用172
第7章建立需求模型175
7.1需求分析和系统分析175
7.2基于用况的需求分析基本思路176
7.3系统边界与参与者176
7.3.1什么是系统边界177
7.3.2什么是参与者178
7.3.3系统边界与参与者对OOA的意义180
7.3.4如何发现参与者180
7.4用况182
7.4.1什么是用况182
7.4.2用况对OOA的意义184
7.4.3表示形式和例子185
7.4.4如何定义用况188
7.5用况图189
7.5.1用况图中的主要模型元素及表示法189
7.5.2关于用况图的若干问题讨论190
7.6开发过程和文档组织193
7.6.1开发过程小结193
7.6.2文档组织194
7.6.3几条建议195
第8章建立辅助模型197
8.1类图和其他模型图之间的关系197
8.2包图200
8.2.1包的概念、用途及表示法200
8.2.2包之间的关系及表示法201
8.2.3如何建立包图204
8.2.3.1将模型元素打包204
8.2.3.2包的命名207
8.2.3.3组织嵌套的包208
8.2.3.4减少包的嵌套层次209
8.2.3.5建立包之间的关系209
8.2.4用包图控制对系统模型的视野211
8.3顺序图212
8.3.1顺序图及其用途212
8.3.2主要概念及表示法213
8.3.3顺序图的组织机制与复用217
8.3.4关于顺序图的若干问题讨论219
8.3.5如何建立顺序图222
8.4活动图225
8.4.1活动图及其用途225
8.4.2主要概念及表示法226
8.4.3一个活动图的例子230
8.4.4关于活动图的若干问题讨论231
8.4.5如何使用活动图234
8.5UML的其他几种模型图237
8.5.1对象图237
8.5.2组合结构图238
8.5.3通信图239
8.5.4交互概览图241
8.5.5定时图243
8.5.6状态机图245
8.5.7构件图256
8.5.8部署图262
第9章模型规约264
9.1相关概念及问题讨论264
9.1.1术语问题264
9.1.2规约是给谁看的265
9.1.3采用形式语言还是自然语言266
9.1.4规约的组织方式问题266
9.1.5关于对象约束语言OCL268
9.2类的规约270
9.2.1目标与措施270
9.2.2类规约的内容272
9.2.3类规约的组织格式274
9.3对其他模型图的规约276
9.4模型规约的建立过程277
第10章OOA与软件复用279
10.1软件复用279
10.1.1概述279
10.1.2可复用构件282
10.1.3构件库284
10.1.4软件复用的根本困难287
10.2专向领域的复用及领域分析290
10.2.1可复用的软件构架290
10.2.2领域分析291
10.2.3基于构件/构架的软件开发292
10.3OOA对软件复用的支持294
10.3.1支持软件复用的OO概念与原则294
10.3.2支持软件复用的OOA方法295
10.4复用技术对OOA的支持297
索引302
参考文献305
1.1什么是面向对象1
1.2从认识论看面向对象方法的形成3
1.2.1软件开发——对事物的认识和描述3
1.2.2语言的鸿沟4
1.2.3编程语言的发展使鸿沟变小4
1.2.4软件工程学的作用6
1.2.5面向对象是软件方法学的返璞归真11
1.3面向对象方法的基本概念12
1.3.1对象12
1.3.2类13
1.3.3封装15
1.3.4继承17
1.3.5聚合18
1.3.6关联19
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章为什么需要OOA32
2.1什么是OOA32
2.2分析面临的主要问题32
2.3分析方法综述36
2.3.1功能分解法36
2.3.2数据流法37
2.3.3信息建模法39
2.3.4面向对象方法40
2.3.5分析方法的比较40
2.3.6OOA的主要优点42
2.4各种OOA方法43
2.5关于统一建模语言UML45
第3章本书的OOA方法概貌47
3.1引言47
3.2主要概念及表示法48
3.2.1建模元素及表示法48
3.2.2OOA的主要原则50
3.3OOA模型及其规约55
3.3.1基本模型——类图55
3.3.2需求模型——用况图56
3.3.3辅助模型——包图、顺序图、活动图及其他56
3.3.4模型规约58
3.3.5完整的OOA文档及详简程度的控制58
3.4OOA过程60
3.5OOA与OOD的关系62
第4章发现对象、定义对象类64
4.1对象和类64
4.1.1对象、主动对象以及它们的类64
4.1.2类的语义66
4.1.3在类的抽象层次上建模67
4.1.4如何运用对象和类的概念69
4.2表示法70
4.3研究问题域和用户需求71
4.3.1研究用户需求,明确系统责任71
4.3.2研究问题域72
4.3.3确定系统边界73
4.4发现对象74
4.4.1出发点——问题域和系统责任74
4.4.2正确地运用抽象原则74
4.4.3策略与启发75
4.4.4审查和筛选78
4.4.5识别主动对象80
4.5对象分类81
4.5.1将对象抽象为类81
4.5.2检查和调整81
4.5.3类的命名82
4.6建立类图的对象层83
第5章定义属性与操作84
5.1对象的属性和操作84
5.2表示法86
5.3定义属性86
5.3.1策略与启发86
5.3.2审查与筛选88
5.3.3推迟到OOD考虑的问题89
5.3.4属性的命名和定位90
5.4定义操作90
5.4.1行为分类90
5.4.2策略与启发91
5.4.3审查与调整92
5.4.4认识对象的主动行为93
5.4.5操作过程描述94
5.4.6操作的命名和定位95
5.5建立类图的特征层96
5.6接口的概念及其用途97
第6章定义对象间的关系101
6.1一般特殊结构102
6.1.1相关概念102
6.1.2表示法104
6.1.3如何发现一般特殊结构105
6.1.4审查与调整108
6.1.5一般特殊结构的简化110
6.1.6多继承及多态性问题113
6.1.7调整对象层和特征层115
6.2整体部分结构116
6.2.1相关概念116
6.2.2表示法119
6.2.3如何发现整体部分结构120
6.2.4审查与筛选121
6.2.5整体部分结构的高级应用技巧122
6.2.5.1简化对象的定义122
6.2.5.2支持软件复用123
6.2.5.3表示数量不定的组成部分124
6.2.5.4表示动态变化的对象特征124
6.2.5.5两种结构之间的变通127
6.2.6调整对象层和属性层129
6.3关联129
6.3.1相关概念129
6.3.2表示法及实现技术131
6.3.2.1基本表示法131
6.3.2.2二元关联的实现132
6.3.3运用简单的关联概念解决复杂的关联问题135
6.3.3.1带有属性和操作的关联135
6.3.3.2三元关联和n元关联138
6.3.3.3一个类在关联中多次出现141
6.3.3.4关联端点的复杂情况142
6.3.4如何建立关联147
6.3.5对象层、特征层的增补及关联说明151
6.4消息152
6.4.1什么是消息152
6.4.1.1顺序系统中的消息152
6.4.1.2并发系统中的消息153
6.4.1.3消息对OOA的意义157
6.4.2消息的表示法157
6.4.3如何建立消息163
6.4.4消息的规约166
6.5关于依赖关系的讨论166
6.5.1什么是依赖166
6.5.2依赖的定义和表示法中的若干问题169
6.5.3依赖对面向对象建模的作用172
第7章建立需求模型175
7.1需求分析和系统分析175
7.2基于用况的需求分析基本思路176
7.3系统边界与参与者176
7.3.1什么是系统边界177
7.3.2什么是参与者178
7.3.3系统边界与参与者对OOA的意义180
7.3.4如何发现参与者180
7.4用况182
7.4.1什么是用况182
7.4.2用况对OOA的意义184
7.4.3表示形式和例子185
7.4.4如何定义用况188
7.5用况图189
7.5.1用况图中的主要模型元素及表示法189
7.5.2关于用况图的若干问题讨论190
7.6开发过程和文档组织193
7.6.1开发过程小结193
7.6.2文档组织194
7.6.3几条建议195
第8章建立辅助模型197
8.1类图和其他模型图之间的关系197
8.2包图200
8.2.1包的概念、用途及表示法200
8.2.2包之间的关系及表示法201
8.2.3如何建立包图204
8.2.3.1将模型元素打包204
8.2.3.2包的命名207
8.2.3.3组织嵌套的包208
8.2.3.4减少包的嵌套层次209
8.2.3.5建立包之间的关系209
8.2.4用包图控制对系统模型的视野211
8.3顺序图212
8.3.1顺序图及其用途212
8.3.2主要概念及表示法213
8.3.3顺序图的组织机制与复用217
8.3.4关于顺序图的若干问题讨论219
8.3.5如何建立顺序图222
8.4活动图225
8.4.1活动图及其用途225
8.4.2主要概念及表示法226
8.4.3一个活动图的例子230
8.4.4关于活动图的若干问题讨论231
8.4.5如何使用活动图234
8.5UML的其他几种模型图237
8.5.1对象图237
8.5.2组合结构图238
8.5.3通信图239
8.5.4交互概览图241
8.5.5定时图243
8.5.6状态机图245
8.5.7构件图256
8.5.8部署图262
第9章模型规约264
9.1相关概念及问题讨论264
9.1.1术语问题264
9.1.2规约是给谁看的265
9.1.3采用形式语言还是自然语言266
9.1.4规约的组织方式问题266
9.1.5关于对象约束语言OCL268
9.2类的规约270
9.2.1目标与措施270
9.2.2类规约的内容272
9.2.3类规约的组织格式274
9.3对其他模型图的规约276
9.4模型规约的建立过程277
第10章OOA与软件复用279
10.1软件复用279
10.1.1概述279
10.1.2可复用构件282
10.1.3构件库284
10.1.4软件复用的根本困难287
10.2专向领域的复用及领域分析290
10.2.1可复用的软件构架290
10.2.2领域分析291
10.2.3基于构件/构架的软件开发292
10.3OOA对软件复用的支持294
10.3.1支持软件复用的OO概念与原则294
10.3.2支持软件复用的OOA方法295
10.4复用技术对OOA的支持297
索引302
参考文献305
猜您喜欢