UML面向对象设计基础

978-7-115-27590-5
作者: 【美】Meliir Page-Jones
译者: 包晓露唐亚东叶天军赵晓玲
编辑: 傅道坤

图书目录:

目 录

第 一部分 引言 1

第 1章 面向对象的含义 3

1.1 封装 7

1.2 信息/实现隐藏 10

1.3 状态保持 12

1.4 对象标识 12

1.5 消息 16

1.5.1 消息结构 16

1.5.2 消息参数 17

1.5.3 消息中的对象角色 19

1.5.4 消息的类型 20

1.6 类 21

1.7 继承 26

1.8 多态性 30

1.9 一般性 34

1.10 本章小结 37

1.11 习题 38

1.12 答案 39

第 2章 面向对象简史 44

2.1 面向对象的起源 44

2.1.1 Larry Constantine 44

2.1.2 O.-J. Dahl 和K.Nygaard 45

2.1.3 Alan Kay,Adele Goldberg等人 45

2.1.4 Edsger Dijkstra 45

2.1.5 Barbara Liskov 45

2.1.6 David Parnas 45

2.1.7 Jean Ichbiah等人 46

2.1.8 Bjarne Stroustrup 46

2.1.9 Bertrand Meyer 46

2.1.10 Grady Booch,Ivar Jacobson及Jim Rumbaugh 46

2.2 面向对象的成熟期 47

2.3 类似工程学的面向对象 48

2.4 面向对象的益处 49

2.4.1 用户需求分析 49

2.4.2 软件设计 50

2.4.3 软件构造 50

2.4.4 软件维护 52

2.4.5 软件使用 52

2.4.6 软件项目管理 53

2.5 本章小结 54

2.6 习题 55

2.7 答案 55

第 二部分 统一建模语言(UML) 57

第3章 类、属性和操作的基本表示法 62

3.1 类 62

3.2 属性 63

3.3 操作 65

3.4 重载操作 68

3.5 属性和操作的可视性 69

3.6 类属性和类操作 70

3.7 抽象操作和类 70

3.8 实用程序 72

3.9 参数化类 73

3.10 本章小结 74

3.11 习题 75

3.12 答案 76

第4章 类图 80

4.1 一般化结构 80

4.1.1 单一继承 80

4.1.2 多重继承 82

4.1.3 子类的划分 82

4.1.4 分类识别名称 85

4.2 关联结构 86

4.2.1 关联的基本UML表示法 87

4.2.2 关联类 89

4.2.3 多向关联 90

4.2.4 关联的导航 91

4.3 整体/部分关联 92

4.3.1 组成 92

4.3.2 聚集 95

4.4 本章小结 97

4.5 习题 98

4.6 答案 99

第5章 对象交互图 103

5.1 协同图 103

5.1.1 描述一个消息 104

5.1.2 协同图中的多态性 106

5.1.3 重复的消息 107

5.1.4 在消息中使用self 108

5.2 时序图 110

5.3 异步消息及并发执行 112

5.3.1 描述一个异步消息 112

5.3.2 回调机制 114

5.3.3 异步消息的优先权 117

5.3.4 描述一个广播(无目标)消息 118

5.4 本章小结 120

5.5 习题 121

5.6 答案 121

第6章 状态图 123

6.1 基本状态图 123

6.2 嵌套状态 125

6.3 并发状态和同步 129

6.4 消息结果参数的瞬时状态 133

6.5 连续的、可变的属性 134

6.6 本章小结 136

6.7 习题 137

6.8 答案 139

第7章 体系结构和接口图 143

7.1 描述系统体系结构 143

7.1.1 包 143

7.1.2 硬件环境的配置图 145

7.1.3 软件结构的配置图 146

7.2 人机界面的描述 149

7.2.1 窗口布局图 149

7.2.2 窗口导航图 150

7.2.3 题外话:什么是面向对象的GUI 153

7.3 本章小结 153

7.4 习题 154

7.5 答案 154

第三部分 面向对象设计的原则 157

第8章 封装与共生性(connascence) 158

8.1 封装结构 158

8.1.1 封装的级别 158

8.1.2 制定标准管理各个封装级别之间的相互作用 160

8.2 共生性(connascence) 161

8.2.1 共生性的种类 162

8.2.2 差异共生性(contranascence) 165

8.2.3 共生性和封装边界 166

8.2.4 共生性和可维护性 167

8.2.5 面向对象系统中共生性的滥用 169

8.2.6 共生性(connascence)的术语 171

8.3 本章小结 171

8.4 习题 172

8.5 答案 173

第9章 领域、依附集和内聚 175

9.1 对象类的领域 175

9.1.1 基础领域 176

9.1.2 结构领域 177

9.1.3 商业领域 177

9.1.4 应用领域 178

9.1.5 每一领域类的来源 179

9.2 依附集(encum brance) 181

9.2.1 什么是依附集(encumbrance) 181

9.2.2 依附集的使用 183

9.2.3 Demeter规则 183

9.3 类的内聚(Class Cohesion):一个类和它的特性 184

9.3.1 混合事例型内聚 185

9.3.2 混合领域型内聚 187

9.3.3 混合角色型内聚 189

9.4 本章小结 190

9.5 习题 190

9.6 答案 191

第 10章 状态空间和行为 195

10.1 一个类的状态空间和行为 195

10.2 子类的状态空间 198

10.3 子类的行为 201

10.4 状态空间的一个约束条件:类的不变式 202

10.5 前置条件和后置条件 204

10.6 本章小结 206

10.7 习题 207

10.8 答案 208

第 11章 类型一致性与闭合行为 211

11.1 类与类型 211

11.2 类型一致性原则 213

11.2.1 抗变性与协变性原则 214

11.2.2 抗变性与协变性实例 215

11.2.3 图解抗变性与协变性 218

11.2.4 类型一致性必要条件综述 220

11.3 闭合行为(Closed Behavior)原则 221

11.4 本章小结 223

11.5 习题 223

11.6 答案 224

第 12章 继承与多态性的危险性 227

12.1 继承的滥用 227

12.1.1 错误的聚集 227

12.1.2 倒置的层次结构 228

12.1.3 混淆类及其实例 229

12.1.4 误用 233

12.2 多态性的危险性 235

12.2.1 操作的多态性 236

12.2.2 变量的多态性 238

12.2.3 消息中的多态性 239

12.2.4 多态性与一般性 241

12.3 本章小结 243

12.4 习题 243

12.5 答案 245

第 13章 组织操作技术 249

13.1 混合类 249

13.1.1 商务举例 249

13.1.2 图形举例 253

13.2 操作环 257

13.3 本章小结 261

13.4 习题 261

13.5 答案 262

第 14章 类的聚合及其所支持 的状态和行为 266

14.1 类接口中支持的状态 266

14.2 类接口中支持的行为 268

14.3 类接口中操作的聚合 272

14.4 本章小结 275

14.5 习题 276

14.6 答案 279

第 15章 设计软件构件 284

15.1 什么是构件 284

15.2 构件与对象的相似性和区别 285

15.3 构件举例 287

15.4 构件的内部设计 293

15.5 轻量和重量构件 298

15.6 使用构件的优点和缺点 301

15.7 本章小结 304

15.8 习题 304

15.9 答案 305

附录A 面向对象设计检查 (Walkthrough)列表 307

附录B 面向对象设计者手册 311

附录C 面向对象术语快速指南 315

词汇表 316

参考文献 334

详情

本书是关于面向对象软件设计的基本概念、符号表示、术语、准则以及原理的书籍,介绍了面向对象的基本概念以及面向对象的发展史,统一建模语言,以及面向对象设计的原理。

图书摘要

相关图书

DirectX 12 3D 游戏开发实战
DirectX 12 3D 游戏开发实战
Python和NLTK自然语言处理
Python和NLTK自然语言处理
scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
C++编程自学宝典
C++编程自学宝典
数据科学实战手册(第2版)
数据科学实战手册(第2版)
Scala实用指南
Scala实用指南

相关文章

相关课程