《使用UML》是2003年7月人民邮电出版来自社出版的图书,作者是360百科斯特恩斯(Sterens答女夜此须.P.)、普力(Pooley.R.),译者是包晓露。
《使用360百科UML:关于对象和组件软件工程》旨在介绍使用UML进行面向对象和组件软件开发所必需的知识。《使用UML:关于对象和组件软件工程》共20章,分为四个复代全触部分。第一部分包括前4章,介绍软件工程和面向对象开发的概念。第二部分包括第5~14章,这些章节对UML语言进行了详述。第想烟指火盾长宽值想建15、16、17章是第三部分,主要是三个用例学习。还包括有可能进一步扩展的提示。最后3章是第四部分,讨论质量和质量保证、验证、确认如植格蒸立月下成都行和测试、软件项目管理及团队开发某音又顶刘等问题。
《使用UML:关于对象和组件软件工程》强调理论和设计相结合,列举了大量用例。通过《使用UML:关于对象和组件软件工程》的学习,读者能够掌握面主沉子止何翻向对象、基于组件的设计及软件工程的概念,并可进行详细设计,进一步可探索分析设计中更困难的问题。
《使用UML:关于对象和组件软件工程》可作为高等院校计算机科学、软件工程带及相关专业高年级学生的教科书,也可作为从事软件开发的管理者、系统分析员、程序员进行面向对象软件工程设计时的参考书。
《使用UML:关于对象和组件软件工程》:统一类视司争建模语言UML已被OMG组织采纳为标准,UML几乎已经成为软件工程师必须掌硫航握的核心技术之一问宁代煤。意识到学生们对了解UML的需求与日俱增,我们引入UML作为两门重新设计的大学课程的建模语言。遗憾的联冷整耐新族是我们发现没有合适的教科书。有关UML的教材多为原理性的,主要的对象是有经验的开发者而不是学生。因此,我核们决定自己编写教科书,由此产生了这本书。
第一部分 基本概念和背景知识
第1章 关于组件化技术软件工程 3
1.1 什么是好系统 3
1.2 我们拥有好系统吗 4
1.2.1 问题 4
1.2.2 灾难性故障 5
1.2.3 一个又一个的承诺 6
1.3 好系统是什么样的 6
1.3.1 封装:低耦合 8
1.3.2 抽象:高内聚 10
1.3.3 结构及组件 11
1.3.4 基于组件的设计:可插入性 12
1.4 如白利围易何构造好的系统 12
陆找增危 1.5 小结 13
第2章 对象概念 15
2.1 什么是对象 15
2.1.1 举例 16
2.1.2 消息 17
2.1.3 接口 17
2.1.4 类 18
2.2 与上一章优富均几移千子刑目标的关系 20
2.3 继承 22
2.4 多态性与动态绑定 23
2.5 小结 来自25
第3章 用例方法介绍 27
3.1 问题提出 27
3.1.1 需求澄清 27
3.1.2 用例苦拿四元权之上度银(use case)模型 28
3.2 范围界定和迭代 30
3.3 标识类 百随套32
3.4 类间关系 33
3.5 系统中的交互 35
PANEL 3.1 契约设计1 37
3.5.1 系统中的变化:状态图 39
3.5.2 进一步的工作 39
理演饭 PANEL 3.2 持久性 40
3.6 小结 41
3.7 讨论360百科题 41
第4章 开发过程 4基映井许烈将冲电眼3
4.1 术语定义 43
4.1.1 模型与建模语言 44
4.1.2 过草找被写程与质量 45
4.2 开发过程 45
4.2.1 尼所价美充项常运有统一的方法学吗 47
希为件爱照后金维流 4.2.2 使用UML的过程 48
4.3 系统、设计、建模与图 50
4.4 小结 51
第二部分 UML语言详述
第5章 类模型基础 55
5.1 标识对象和类 5哪随5
5.1.1 好的类模型具备的条件 55
5.1.2 如何建立良好的类模型 56
升相血底树型5.1.3 什么样士民的实体是类 58
5.1.编继4 现实世界对象与它们的系统表示 58
5.2 关联 59
职国我正频 5.3 属性和操作 61
5.3.1 操作 61
5.3.2 属性 62
5.4 泛化 63
PANEL 5.1 按照约定2设计:替代性 63
5.4.1 使用英语检查是否存在泛化 65
5.4.2 实现泛化:继承 65
5.5 开发中的的倒南处类模型 66
5.6 CRC顶三卡 67
5.6.1 建立CRC卡 67
5.6.2 在开发设计中使用CRC卡技术 67
去航切意通审味套5.6.3 CRC卡的例子 68
5.6.4 重构 69
5.7 小结 69
5.8 讨论题 69
第6章 类模型的进一步讨论 71
6.1 关联的进一步讨论 71
6.1.1 聚合与组合 71
6.1.2 角色 73
6.1.3 导航性 73
6.1.4 限定关联 75
6.1.5 导出关联 76
6.1.6 约束 77
PANEL 6.1 OCL对象约束语言 79
6.1.7 关联类 79
6.2 类的进一步讨论 80
PANEL 6.2 构造型 81
6.2.1 接口 81
6.2.2 抽象类 83
PANEL 6.3 特性与标记值 83
6.3 参数化类 84
6.4 依赖 85
6.5 组件和包 85
6.6 可见性,保护性 85
6.7 小结 86
第7章 用例模型要点 87
7.1 执行者详述 89
7.2 用例详述 91
7.3 系统边界 91
7.4 用例的使用 92
7.4.1 用于需求捕获过程中的用例 92
7.4.2 开发过程中的用例 93
7.5 用例可能存在的问题 94
PANEL 7.1 用例驱动开发吗? 95
7.6 小结 95
7.7 讨论问题 96
第8章 用例模型的深入讨论 97
8.1 用例之间的关系 97
8.1.1 用例重用:《include》 97
8.1.2 组件和用例 99
8.1.3 分离出不同的行为:《extend》 101
8.2 泛化 101
8.3 执行者与类 103
8.4 小结 104
8.5 讨论问题 104
第9章 交互图要点 105
9.1 协同 106
9.2 协同图中的交互 107
9.3 顺序图 109
PANEL 9.1 消息应走向哪里?Demeter定理 110
9.4 高级特征 111
9.4.1 从对象发往对象自身的消息 111
9.4.2 隐匿行为细节 112
9.4.3 返回值 113
9.4.4 对象的生成和删除 114
9.4.5 时序 116
9.5 交互图的其他用途 117
9.5.1 说明一个类如何提供一个操作 117
9.5.2 描述一个设计模式如何工作 117
9.5.3 描述如何使用一个组件 117
9.6 小结 118
第10章 交互图高级讨论 119
10.1 类交互图 119
10.1.1 条件行为 119
10.1.2 迭代 121
10.2 并发 123
10.3 小结 126
第11章 状态图和活动图要素 127
11.1 状态图 127
11.1.1 意外消息 129
11.1.2 抽象程度 129
11.1.3 状态、转移、事件 130
11.1.4 动作 130
11.1.5 警戒门限 132
PANEL 11.1 用状态图设计类 133
11.2 活动图 134
11.3 小结 136
第12章 深入研究状态图和活动图 137
12.1 其他类型的事件 137
12.2 其他类型的动作 138
12.3 深入研究状态图 139
12.4 状态图中的并发性 140
12.5 小结 141
第13章 实现图 143
13.1 组件模型 143
PANEL13.1 总结:分类器和实例 145
13.2 配置模型 146
13.2.1 物理层 146
13.2.2 在硬件上配置软件 147
PANEL 13.2 项目中的配置模型 148
13.3 小结 148
第14章 包、子系统和模型 149
14.1 包 149
14.2 子系统 153
14.3 模型 154
14.4 小结 154
第三部分 用例学习
第15章 CS4管理 157
15.1 用例学习 157
15.1.1 类模型 160
15.1.2 动态特性 161
15.1.3 状态图 162
15.1.4 活动图 162
15.2 讨论 162
第16章 点棋盘游戏 165
16.1 研究范围和初步分析 166
16.1.1 Noughts和Crosses游戏(Tic-Tac-Toe) 166
16.1.2 Chess(国际象棋)游戏 167
16.2 交互动作 170
16.3 进一步研究框架 172
16.4 状态 174
16.5 讨论题 175
第17章 离散事件仿真 177
17.1 需求 177
17.2 类模型的轮廓 179
17.3 用例 181
17.3.1 create model小结 181
17.3.2 observe behavior小结 182
17.3.3 collect statistics小结 182
17.3.4 run a model小结 182
17.4 基于仿真过程的标准机制 182
17.5 关联和导航 183
17.6 详细的类 186
17.6.1 类Scheduler 186
17.6.2 类ActiveEntity 187
17.6.3 类PassiveEntity 188
17.6.4 类Resource 188
17.7 类Report 190
17.8 类Statistic 191
17.9 构造一个完整的仿真模型 192
17.10 有关哲学家用餐问题 192
第四部分 实践应用
第18章 重用:组件与模式 197
18.1 重用的实用性 197
18.1.1 什么可以被重用,如何重用 197
PANEL 18.1 什么是一个真正的组件?这是个有争议的问题! 198
18.1.2 为什么重用 199
18.1.3 为什么重用很困难 200
18.1.4 哪些组件是真正可重用的 201
18.1.5 如何创建自己的组件 202
18.1.6 重用在面向对象中有什么不同之处 202
18.2 设计模式 203
18.2.1 例子:Fa?ade 205
18.2.2 UML和模式 206
18.3 框架 207
18.4 小结 207
第19章 产品质量:验证、确认与测试 209
19.1 关于质量的概述 209
19.2 如何获取高质量 210
19.2.1 关注产品质量 210
19.2.2 关注过程 210
19.2.3 进一步的参考资料 210
19.3 验证 210
19.4 确认 211
19.5 测试 212
19.5.1 选择并实施测试 214
19.5.2 面向对象所特有的问题 215
19.5.3 为什么测试经常完成得很差 217
19.6 评审及检查 217
19.7 小结 219
第20章 过程质量:管理、团队与质量保证 221
20.1 管理 221
20.1.1 项目管理 222
20.1.2 评估迭代式开发的项目 223
20.1.3 基于开发的组件管理 224
20.1.4 人员管理 224
20.2 团队 225
20.3 领导能力 226
20.4 质量保证 227
20.4.1 迭代式开发项目的质量保证 228
20.4.2 整体质量管理 229
PANEL 20.1 质量保证:反面的案例 229
20.5 进一步阅读的资料 230
20.6 小结 230
20.7 讨论问题 230
参考文献 233
索引 237