《面来自向对象分析与设计360百科(UML)》是在2015年8月清华大学出版社出版的图书,作者是侯爱民、欧阳骥、胡传福。
本书在系统地介绍面向对象技术的基本概念、方法和来自语言的基础上,重点介绍统一建模语言UML。在全面介绍UML的发展历史、UML的构成、UML中的视图、模型元素、图以及公共360百科机制等基本知识的基础上,重点介绍UML的各审种图模型的建模技术、下方法与应用。此外,详细介绍软件设计模式、Rational统一过程、数据建模的相关知识与应用。本书通过八换热族同道大量的例子或案例买来解释或说明有关的概念、方法和技巧,以便于读者理解,帮助他们学以致用,达到立竿此序杆风并状司沙河院见影的效果。
全书共分4篇: 第1篇(第1~2章)为牛刑较协载色础欢概述篇,全面介绍面向对象技术和UML语吧衡准级松件止消言本身,包括面向对象技术的一些经典方法和UML的构成,最后以一个具体的应用项目的UML建模结束第1篇的内容介绍;第2篇(第3~9章)为一意费板斗七建模篇,重点介绍UML在软件系统分析与设计各阶段的建模和体系结构建模,同时介绍从UML对象模型到关系数据库的数据模型的映射等实现细节,本篇中的各章均以一个统一的实际项目贯穿始终;第3篇(第10~11章)为架构篇,重点介绍软件设计模式和Rational统一过程的基本概念、方法和应用;第4篇(第12章)为应用篇,基于UML的软件建模实例,介绍UML在Web应用系统建模上的应用。全它话浓精毛保士便仍书提供了大量应用实例,每章后均附有习题。
本书适合作为高等院校计算机、软件工程专业高年级本科生、研究生的教材,同时可供对UML比较熟悉并且对软件建模有所了解的开发人员、广大科技工作者和研究人员参考。
第1章面向对象资示获绿赶明周矛技术概述/1
1.1结构化方法和面向对象方法/1
1.2面向对象方法的吧国迅延教零弦加划市由来/4
1.3面向对象的基本概念与术语/5
1.4面向对象的软件开发/7
1.5面向对象方法的优缺点/8
1.6面向对象程序设计语言/10
1.6.1Simula和Smalltalk洲语言/10
1.6.2C扩展语言/11
1.6.3Eiffel语言/12
1.6.4Java语言/12
1.6.5市解乐其他面向对象语言/13
1.7面向对象的分析与设计/13
1.8典型的面向对象方法/18
1.8.1Coad & Yourdon方法/18
1.8.2Rumbaugh方法/18
1.8.3B左再定记ooch方法/20
1.8镇素无当备续名不确早杨.4Jacobson方法/她余激座知管话福父牛轴21
1.8.5RDD方法/23
1.9本章小结/24
1.10习题/25
1.10.1填空题/25
1.10.2选择题/25
1.10.3简答题/27
1.10.4简单分析题/27
第2章统板四并至固粮官改一建模语言UML概述/28
如优免同解 2.1UML概述/28
2.1.1为什么要建模/28
2.1.2什么是UML/31
2.1.3UML的发展历史/32
2.1.4UML的特点/34
2.2UML的构成/352.2.1UML的概念模型/35
2.2.2UML中的视图/39
2.2.3UML 1.5版的规范/41
2.3UML 2.0简介/42
2.3.1底层结构/43
2.3.2上层结构/44
2.3.3活动图/45
2.3.4结构化类元/46
2.3.5组合/47
2.3.6异常/48
2.3.7交互概观图/49
2.3.8用例图/50
2.3.9UML一致性/50
2.3.10小结/51
2.4一个UML的例子/52
2.4.1需求分析/52
2.4.2用例图/53
2.4.3活动图/54
2.4.4顺序图/54
2.4.5协作图/56
2.4.6类图/56
2.4.7状态图/57
2.4.8组件图/57
2.4.9部署图/58
2.5本章小结/59
2.6习题/60
2.6.1填空题/60
2.6.2选择题/61
2.6.3简答题/62
2.6.4简单分析题/62
第3章用例图/63
3.1参与者/63
3.1.1参与者的概念/63
3.1.2参与者之间的关系/64
3.1.3参与者和用例之间的关系/65
3.2用例/65
3.2.1用例的概念/65
3.2.2用例的特征/66
3.2.3用例之间的关系/67
3.2.4用例之间的泛化、包含、扩展关系
的比较/70
3.2.5用例的实现/72
3.3用例描述/72
3.4用例建模/75
3.4.1用例建模的步骤/76
3.4.2确定系统的边界/76
3.4.3确定参与者/77
3.4.4确定用例/78
3.4.5区分用例的优先次序/78
3.4.6细化每个用例/78
3.4.7编写每个用例的用例描述/79
3.4.8绘制用例图/79
3.4.9编写项目词汇表/79
3.5用例建模中常见的问题分析/80
3.5.1用例的设计原则/80
3.5.2用例模型的复杂度/81
3.5.3用例模型的调整/82
3.5.4用例模型的检查/82
3.5.5系统的三层结构/83
3.5.6用例描述/83
3.5.7不同层次的用例模型之间的
一致性/85
3.6一个用例建模的例子/87
3.6.1需求陈述/87
3.6.2识别参与者/88
3.6.3识别用例/88
3.6.4确定系统边界/89
3.6.5调整用例图/90
3.6.6编写用例描述/91
3.7本章小结/102
3.8习题/103
3.8.1填空题/103
3.8.2选择题/103
3.8.3简答题/104
3.8.4简单分析题/105
第4章类图与对象图/111
4.1类与对象/111
4.1.1类与对象的概念/111
4.1.2类的属性/112
4.1.3类的操作/114
4.1.4类的职责/116
4.2类与对象的识别/117
4.2.1识别类与对象/117
4.2.2识别类的属性/121
4.2.3定义类的操作/124
4.3类之间的关系/125
4.3.1关联关系/125
4.3.2聚合关系和组成关系/135
4.3.3泛化关系/137
4.3.4依赖关系/137
4.4类之间关系的识别/139
4.4.1识别关联关系/139
4.4.2识别聚合关系/140
4.4.3识别泛化关系/141
4.4.4识别依赖关系/143
4.5派生属性和派生关联/144
4.6抽象类和接口/144
4.6.1抽象类/144
4.6.2接口/144
4.6.3实现关系/146
4.7类版型/147
4.7.1实体类/147
4.7.2边界类/147
4.7.3控制类/148
4.7.4用户自定义版型/148
4.8类图/149
4.8.1类图的抽象层次/149
4.8.2构造类图/150
4.9对象图/151
4.9.1对象的表示/152
4.9.2链的表示/153
4.10一个结构建模的例子/153
4.10.1需求陈述/153
4.10.2识别对象/154
4.10.3识别属性/155
4.10.4识别关系/155
4.11本章小结/157
4.12习题/158
4.12.1填空题/158
4.12.2选择题/158
4.12.3简答题/159
4.12.4简单分析题/159
第5章顺序图与协作图/166
5.1交互模型概述/166
5.2顺序图/167
5.2.1对象/167
5.2.2生命线/167
5.2.3控制焦点/168
5.2.4消息/169
5.2.5分支/169
5.2.6从属流/169
5.3顺序图中的消息/170
5.3.1调用消息/170
5.3.2异步消息/170
5.3.3返回消息/170
5.3.4阻止消息/171
5.3.5超时消息/171
5.3.6消息的语法格式/171
5.3.7调用消息和异步消息的比较/173
5.4建立顺序图概述/174
5.4.1建立顺序图/174
5.4.2顺序图与用例描述的关系/175
5.4.3顺序图与类图的区别/175
5.5协作图/176
5.5.1对象/176
5.5.2链/177
5.5.3消息/177
5.5.4对象生命周期/177
5.6建立协作图概述/179
5.6.1建立协作图/179
5.6.2协作图与顺序图的比较/179
5.6.3协作图与用例描述的关系/180
5.6.4协作图与类图的区别/181
5.7交互建模中常见的问题分析/181
5.7.1在顺序图中表示方法的普通嵌
套和递归嵌套/181
5.7.2在协作图中表示消息的发送顺
序和嵌套顺序/182
5.7.3条件消息和循环消息的表示/183
5.7.4在顺序图中使用交互架构/184
5.7.5调用消息和事件(信号)消息的
区别/185
5.7.6在顺序图中表示时间约束/185
5.7.7顺序图的两种形式/186
5.7.8协作图的两种形式/186
5.7.9用例实现的类图与协作图/187
5.7.10协作图中的多对象/188
5.7.11协作图中的主动对象/189
5.8一个交互建模的例子/191
5.8.1需求陈述/191
5.8.2识别对象类/192
5.8.3识别消息/193
5.8.4确定消息的形式和内容/194
5.8.5"新增学习计划"用例实现的
顺序图/194
5.8.6其他用例实现的顺序图或
协作图/195
5.9本章小结/197
5.10习题/198
5.10.1填空题/198
5.10.2选择题/199
5.10.3简答题/200
5.10.4简单分析题/201
第6章状态图与活动图/207
6.1行为模型概述/207
6.2状态图/208
6.2.1状态/209
6.2.2组合状态/子状态/210
6.2.3转移/212
6.2.4事件/215
6.2.5信号/216
6.3建立状态图/219
6.3.1识别需要绘制状态图的实体/219
6.3.2识别状态空间/219
6.3.3识别状态转移/220
6.3.4绘制并审查状态图/221
6.4状态图的工具支持/221
6.5活动图/223
6.5.1活动/223
6.5.2分支/223
6.5.3分叉和汇合/224
6.5.4泳道/224
6.5.5对象流/225
6.5.6信号/225
6.6活动图的用途/225
6.6.1对业务过程建模/226
6.6.2对具体操作建模/226
6.7建立活动图/227
6.7.1定义活动图的范围/227
6.7.2添加起始点和结束点/227
6.7.3添加活动/227
6.7.4添加活动间的变迁和决策点/228
6.7.5找出可并行活动之处/228
6.8活动图的工具支持/228
6.9状态图和活动图的比较/229
6.10一个行为建模的例子/229
6.10.1需求陈述/230
6.10.2分析活动/230
6.10.3分析对象状态/231
6.11本章小结/232
6.12习题/234
6.12.1填空题/234
6.12.2选择题/235
6.12.3简答题/236
6.12.4简单分析题/237
第7章组件图与部署图/243
7.1组件图/243
7.1.1组件/243
7.1.2组件的类型/244
7.1.3组件之间的关系/245
7.1.4组件和类的关系/245
7.1.5组件和接口的关系/246
7.2组件图的用途/246
7.2.1对源代码文件之间的关系
建模/246
7.2.2对可执行文件之间的关系
建模/246
7.2.3对物理数据库中各个具体
对象之间的关系建模/247
7.2.4对自适应系统建模/247
7.3组件图的工具支持/247
7.3.1正向工程/247
7.3.2逆向工程/251
7.4组件图的例子/258
7.5部署图/261
7.5.1结点/261
7.5.2连接/261
7.5.3部署图介绍/262
7.5.4分布式系统的物理建模/262
7.6部署图的例子/263
7.7一个体系结构建模的例子/265
7.7.1需求陈述/265
7.7.2分析类和接口/266
7.7.3确定组件/266
7.7.4确定组件之间的依赖关系/267
7.7.5确定硬件结点/267
7.7.6确定硬件结点之间的通信
关系/268
7.8本章小结/268
7.9习题/269
7.9.1填空题/269
7.9.2选择题/270
7.9.3简答题/271
7.9.4简单分析题/271
第8章包图/273
8.1包图概述/273
8.1.1包中的元素/273
8.1.2包的命名/273
8.1.3包中元素的可见性/274
8.1.4包的层次性/274
8.1.5包之间的关系/274
8.2设计包的原则/276
8.2.1重用等价原则/276
8.2.2共同闭包原则/276
8.2.3共同重用原则/276
8.2.4非循环依赖原则/277
8.2.5高内聚和低耦合原则/277
8.3包的应用/278
8.4一个分组机制建模的例子/278
8.4.1需求陈述/278
8.4.2分析类和接口/279
8.4.3确定包/279
8.4.4确定包之间的依赖关系/280
8.5本章小结/280
8.6习题/281
8.6.1填空题/281
8.6.2选择题/281
8.6.3简答题/282第9章数据建模/283
9.1数据建模概述/283
9.2数据库设计的基本过程/283
9.3数据库设计的步骤/284
9.3.1Rose中的设计步骤/284
9.3.2Rose中的具体操作过程/286
9.3.3Rose中表之间的关系/290
9.4对象模型和数据模型的相互转换/293
9.4.1对象模型转换为数据模型/293
9.4.2数据模型转换为对象模型/296
9.5关联关系的多重性在数据模型中的
映射/297
9.5.1多对多的关联的映射/298
9.5.2一对多的关联的映射/298
9.5.3零或一对一的关联的映射/298
9.6本章小结/300
9.7习题/300
9.7.1填空题/300
9.7.2选择题/301
9.7.3简答题/301
第10章软件设计模式及应用/302
10.1设计模式概述/302
10.1.1设计模式的历史/302
10.1.2设计模式的组成元素/303
10.1.3设计模式的作用和研究
意义/304
10.1.4为什么要使用设计模式/304
10.1.5设计模式的分类/306
10.1.6设计模式遵循的原则/308
10.1.7设计模式的使用策略/309
10.2经典设计模式/310
10.2.1工厂模式/310
10.2.2适配器模式/314
10.2.3命令模式/315
10.2.4解释器模式/316
10.2.5迭代器模式/317
10.2.6观察者模式/319
10.2.7代理模式/320
10.2.8单例模式/321
10.2.9状态模式/322
10.2.10策略模式/323
10.2.11访问者模式/325
10.3设计模式实例/327
10.3.1Facade模式/327
10.3.2Adapter模式/330
10.3.3Abstract Factory模式/333
10.3.4Observer模式/335
10.4在Rose中使用设计模式/339
10.5本章小结/344
10.6习题/345
10.6.1填空题/345
10.6.2选择题/345
10.6.3简答题/345
第11章Rational统一过程/348
11.1软件开发过程和统一过程/348
11.2Rational统一过程的概述/349
11.2.1Rational统一过程的发展
历史/349
11.2.2Rational统一过程的宏观
与微观/350
11.2.3Rational统一过程中的核
心概念/351
11.3Rational统一过程的软件开发生命
周期/353
11.3.1Rational统一过程的生命
周期/353
11.3.2Rational统一过程的核心
工作流/354
11.3.3Rational统一过程的阶段/357
11.4Rational统一过程的模型与文档/362
11.4.1Rational统一过程的模型/362
11.4.2Rational统一过程产生的模型
与文档/363
11.5Rational统一过程的特点/364
11.6Rational统一过程的6个最佳实践/369
11.7Rational统一过程的配置和实现/372
11.7.1配置Rational统一过程/372
11.7.2实现Rational统一过程/373
11.8RUP裁剪/374
11.9RUP Builder/374
11.10本章小结/378
11.11习题/378
11.11.1填空题/378
11.11.2选择题/379
11.11.3简答题/379
第12章基于Struts2的个人信息管理系统应用
实例/381
12.1系统概述/381
12.2需求分析/381
12.2.1用户需求/381
12.2.2系统功能模块结构图/382
12.2.3系统运行效果/382
12.3用例建模/388
12.3.1确定系统边界/388
12.3.2识别参与者/389
12.3.3识别用例/389
12.3.4绘制用例图/389
12.3.5用例描述/390
12.4静态建模/396
12.4.1识别对象类/396
12.4.2识别属性/397
12.4.3绘制类图/397
12.4.4绘制数据模型/397
12.4.5设计数据表/398
12.5动态建模/400
12.5.1绘制顺序图/400
12.5.2绘制协作图/405
12.5.3绘制活动图/406
12.5.4绘制状态图/408
12.6构架建模/409
12.6.1绘制包图/410
12.6.2绘制组件图/411
12.6.3绘制部署图/413
12.7本章小结/414
12.8习题/414
附录A部分习题参考答案/415
A.1第1章习题参考答案/415
A.2第2章习题参考答案/416
A.3第3章习题参考答案/418
A.4第4章习题参考答案/420
A.5第5章习题参考答案/422
A.6第6章习题参考答案/424
A.7第7章习题参考答案/431
A.8第8章习题参考答案/432
A.9第9章习题参考答案/433
A.10第10章习题参考答案/433
A.11第11章习题参考答案/436
参考文献/438