Object-oriented modeling and design with UML

副标题:无

作   者:(美)Michael Blaha,(美)James Rumbaugh著;车皓阳,杨眉译

分类号:

ISBN:9787115224248

微信扫一扫,移动浏览光盘

简介

   由Michael Blaha等编著的《UML面向对象建模与设计(第2版)》是“面   向对象建模与设计”领域的经典著作。全书由四个部分组成。第一部分以一   种高层的、独立于语言的方式描述面向对象的概念,以及UML表示法;第二   部分从问题陈述到分析、系统设计和类设计,一步一步地描述了软件开发的   面向对象方法学;第三部分用面向对象语言和关系数据库描述了面向对象设   计的实现;第四部分描述了成功的面向对象开发所需要的软件工程实践。本   书还配有丰富的习题,覆盖了一系列应用领域以及实现目标,而且在书的后   面给出了部分习题的答案。    《UML面向对象建模与设计(第2版)》可以作为高年级本科生或研究生软   件工程或面向对象技术课程的教材,也可以供相关技术人员参考。   

目录

  第1章 简介 1
   1.1 什么是面向对象 1
   1.2 什么是OO开发 3
    1.2.1 对概念而非实现建模 3
    1.2.2 OO方法论 3
    1.2.3 三种模型 4
   1.3 OO主题 5
    1.3.1 抽象 5
    1.3.2 封装 5 
    1.3.3 组合数据和行为 5
    1.3.4 共享 6
    1.3.5 强调对象的本质 6
    1.3.6 协同 6
   1.4 关于OO开发有效性的证据 7
   1.5 OO建模历史 7 
   1.6 本书的组织结构 8
   参考文献注释  8
   参考文献  9
   习题 9
  第一部分 建模的概念
  第2章 建模是一种设计技术 12
   2.1 建模 12
   2.2 抽象 12
   2.3 三种模型 13
    2.3.1 类模型 13
    2.3.2 状态模型 13
    2.3.3 交互模型 14
    2.3.4 模型间的关系 14
   2.4 小结 14
   参考文献注释 14
   习题 15
  第3章 类建模 17
   3.1 对象和类的概念 17
    3.1.1 对象 17
    3.1.2 类 17
    3.1.3 类图 18
    3.1.4 值和属性 19
    3.1.5 操作和方法 20
    3.1.6 类表示法小结 21
   3.2 链接和关联的概念 21
    3.2.1 链接和关联 21
    3.2.2 多重性 23
    3.2.3 关联端名 24
    3.2.4 排序 26
    3.2.5 包和序列 26
    3.2.6 关联类 26
    3.2.7 限定关联 28
   3.3 泛化和继承 29
    3.3.1 定义 29
    3.3.2 泛化的用途 31
    3.3.3 覆写特征 31
   3.4 类模型的一个示例 32
   3.5 类模型导航 34
    3.5.1 遍历类模型的OCL构件 35
    3.5.2 构建OCL表达式 35
    3.5.3 OCL表达式的示例 36
   3.6 实践技巧 37
   3.7 小结 38
   参考文献注释 39
   参考文献 40
   习题 40
  第4章 高级类建模 47
   4.1 高级对象和类的概念 47
    4.1.1 枚举 47
    4.1.2 多重性 48
    4.1.3 作用域 48
    4.1.4 可见性 49
   4.2 关联端 49
   4.3 n元关联 50
   4.4 聚合 51
    4.4.1 聚合与关联 52
    4.4.2 聚合与组合 53
    4.4.3 操作的传播 53
   4.5 抽象类 54
   4.6 多重继承 55
    4.6.1 多重继承的种类 55
    4.6.2 多重分类 56
    4.6.3 应对方案 57
   4.7 元数据 58
   4.8 具体化 59
   4.9 约束 59
    4.9.1 对象上的约束 60
    4.9.2 泛化集上的约束 60
    4.9.3 链接上的约束 60
    4.9.4 使用约束 61
   4.10 派生数据 61
   4.11 包 62
   4.12 实践技巧 62
   4.13 小结 63
   参考文献注释 64
   参考文献 64
   习题 65
  第5章 状态建模 69
   5.1 事件 69
    5.1.1 信号事件 69
    5.1.2 变更事件 70
    5.1.3 时间事件 70
   5.2 状态 71
   5.3 迁移和状态 72
   5.4 状态图 73
    5.4.1 状态图示例 73
    5.4.2 单触发状态图 74
    5.4.3 状态图的基本表示法小结 75
   5.5 状态图行为 76
    5.5.1 活动效应 76
    5.5.2 do活动 76
    5.5.3 进入和退出活动 77
    5.5.4 完成迁移 78
    5.5.5 发送信号 78
    5.5.6 带有活动的状态图示例 78
   5.6 实践技巧 79
   5.7 小结 80
   参考文献注释 80
   参考文献 81
   习题 81
  第6章 高级状态建模 85
   6.1 嵌套状态图 85
    6.1.1 平面状态图的问题 85
    6.1.2 扩展状态 85
   6.2 嵌套状态 86
   6.3 信号泛化 88
   6.4 并发 89
    6.4.1 聚合并发 89
    6.4.2 对象内的并发 90
    6.4.3 并发活动的同步 90
   6.5 状态模型示例 91
   6.6 类状态模型的关系 95
   6.7 实践技巧 96
   6.8 小结 97
   参考文献注释 97
   参考文献 98
   习题 98
  第7章 交互建模 102
   7.1 用例模型 102
    7.1.1 参与者 102
    7.1.2 用例 103
    7.1.3 用例图 104
    7.1.4 用例模型的准则 105
   7.2 顺序模型 106
    7.2.1 场景 106
    7.2.2 顺序图 106
    7.2.3 顺序模型的准则 108
   7.3 活动模型 109
    7.3.1 活动 110
    7.3.2 分支 110
    7.3.3 初始和终止 111
    7.3.4 并发活动 111
    7.3.5 可执行活动图 111
    7.3.6 活动模型的准则 111
   7.4 小结 112
   参考文献注释 112
   参考文献 112 
   习题 113
  第8章高级交互建模 115
   8.1 用例关系 115
    8.1.1 包含关系 115
    8.1.2 扩展关系 115
    8.1.3 泛化 116
    8.1.4 用例关系的组合 117
    8.1.5 用例关系的准则 118
   8.2 过程式顺序模型 118
    8.2.1 带有被动对象的顺序图 118
    8.2.2 带有临时对象的顺序图 119
    8.2.3 过程化顺序模型的准则 120
   8.3 活动模型的特殊结构 120
    8.3.1 发送和接收信号 120
    8.3.2 泳道 121
    8.3.3 对象流 122
   8.4 小结 122
   参考文献 123
   习题 123
  第9章 概念小结 126
   9.1 类模型 126
   9.2 状态模型 126
   9.3 交互模型 126
   9.4 模型之间的关系 127
    9.4.1 泛化 127
    9.4.2 聚合 128
  第二部分 分析和设计
  第10章 过程概述 130
   10.1 开发阶段 130
    10.1.1 系统构思 130
    10.1.2 分析 131
    10.1.3 系统设计 131
    10.1.4 类设计 132
    10.1.5 实现 132
    10.1.6 测试 132
    10.1.7 培训 132
    10.1.8 部署 132
    10.1.9 维护 132
   10.2 开发生命周期 133
    10.2.1 瀑布式开发 133
    10.2.2 迭代开发 133
   10.3 小结 133
   参考文献注释 134
   习题 134
  第11章 系统构思 135
   11.1 形成系统概念 135
   11.2 阐释概念 135
   11.3 准备问题陈述 137
   11.4 小结 139
   习题 139
  第12章 领域分析 141
   12.1 分析概述 141
   12.2 领域类模型 142
    12.2.1 寻找类 143
    12.2.2 保留正确的类 144
    12.2.3 准备数据词典 145
    12.2.4 寻找关联 145
    12.2.5 保留正确的关联 146
    12.2.6 寻找属性 150
    12.2.7 保留正确的属性 150
    12.2.8 使用继承来细化 151
    12.2.9 测试访问路径 153
    12.2.10 迭代类模型 154
    12.2.11 变换抽象的层次 155
    12.2.12 把类分组打包 156
   12.3 领域状态模型 157
    12.3.1 确定具有状态的类 157
    12.3.2 寻找状态 158
    12.3.3 寻找事件 158
    12.3.4 构建状态图 158
    12.3.5 评价状态图 159
   12.4 领域交互模型 159
   12.5 将分析迭代 159
    12.5.1 细化分析模型 160
    12.5.2 重述需求 160 
    12.5.3 分析和设计 161
   12.6 小结 161
   参考文献注释 161
   参考文献 162
   习题 162
  第13章 应用分析 169
   13.1 应用程序交互模型 169
    13.1.1 确定系统边界 169
    13.1.2 寻找参与者 170
    13.1.3 寻找用例 170
    13.1.4 寻找初始和终止事件 171
    13.1.5 准备普通场景 171
    13.1.6 增加变化和异常场景 172
    13.1.7 寻找外部事件 172
    13.1.8 编制复杂用例的活动图 175
    13.1.9 组织参与者和用例 175
    13.1.10 检查领域类模型 175
   13.2 应用类模型 176
    13.2.1 确定用户界面 176
    13.2.2 定义边界类 177
    13.2.3 确定控制器 177
    13.2.4 检查交互模型 178
   13.3 应用状态模型 178
    13.3.1 使用状态来确定应用类 179
    13.3.2 寻找事件 179
    13.3.3 构建状态图 179
    13.3.4 检查其他状态图 181
    13.3.5 检查类模型 182
    13.3.6 检查交互模型 182
   13.4 增加操作 183
    13.4.1 来自类模型的操作 183
    13.4.2 来自用例的操作 183
    13.4.3 购物清单操作 183
    13.4.4 简化操作 183
   13.5 小结 184
   参考文献注释 185
   参考文献 185
   习题 185
  第14章 系统设计 188
   14.1 系统设计概述 188
   14.2 估算性能 189
   14.3 制订复用计划 189
    14.3.1 库 189
    14.3.2 框架 190
    14.3.3 模式 190
   14.4 将系统拆分成子系统 191
    14.4.1 分层 192
    14.4.2 分区 192
    14.4.3 组合分层和分区 192
   14.5 确定并发性 193
    14.5.1 识别内部的并发性 193
    14.5.2 定义并发任务 194
   14.6分 配子系统 194
    14.6.1 估算硬件资源需求 194
    14.6.2 权衡硬件和软件 195
    14.6.3 给处理器分配任务 195
    14.6.4 确定物理连通性 196
   14.7 管理数据存储 196
   14.8 处理全局资源 197
   14.9 选择软件控制策略 198
    14.9.1 过程驱动型控制 198
    14.9.2 事件驱动型控制 199
    14.9.3 并发控制 199
    14.9.4 内部控制 199
    14.9.5 其他范型 199
   14.10 处理边界条件 200
   14.11 设定权衡优先级 200
   14.12 常见的架构风格 201
    14.12.1 批处理转换 201
    14.12.2 连续型转换 202
    14.12.3 交互式界面 203
    14.12.4 动态仿真 203
    14.12.5 实时系统 204
    14.12.6 事务管理器 204
   14.13 ATM系统的架构 204
   14.14 小结 205
   参考文献注释 206
   参考文献 207
   习题 207
  第15章 类设计 212
   15.1 类设计概述 212
   15.2 填补空白区 213
   15.3 实现用例 214
   15.4 设计算法 215
    15.4.1 选择算法 215
    15.4.2 选择数据结构 216
    15.4.3 定义内部类和操作 217
    15.4.4 把操作分配给类 217
   15.5 向下递归 219
    15.5.1 功能分层 219
    15.5.2 机制分层 219
   15.6 重构 220
   15.7 设计优化 220
    15.7.1 为了高效访问而增加冗余的关联 221
    15.7.2 为了效率而重新调整执行顺序 222
    15.7.3 将派生值保存下来以避免重新计算 222
   15.8 行为具体化 223
   15.9 调整继承 224
    15.9.1 重新调整类和操作 224
    15.9.2 提取公共行为 224
    15.9.3 使用委托来共享行为 225
   15.10 组织类设计 227
    15.10.1 信息隐藏 227
    15.10.2 实体的内聚性 227
    15.10.3 微调包 228
   15.11 ATM示例 228
   15.12 小结 229
   参考文献注释 230
   参考文献 230
   习题 231
  第16章 过程小结 235
   16.1 系统构思 235
   16.2 分析 236
    16.2.1 领域分析 236
    16.2.2 应用分析 236
   16.3 设计 236
    16.3.1 系统设计 236
    16.3.2 类设计 236
  第三部 分实现
  第17章 实现建模 238
   17.1 实现概述 238
   17.2 微调类 238
   17.3 微调泛化 240
   17.4 实现关联 241
    17.4.1 分析关联遍历 241
    17.4.2 单向关联 242
    17.4.3 双向关联 242
    17.4.4 高级关联 243
    17.4.5 ATM示例 243
   17.5 测试 244
    17.5.1 单元测试 244
    17.5.2 系统测试 244
   17.6 小结 245
   参考文献注释 245
   参考文献 245
   习题 246
  第18章 OO语言 247
   18.1 简介 247
    18.1.1 C++简介 247
    18.1.2 Java简介 248
    18.1.3 比较C++和Java 249
   18.2 简化的ATM模型 250
   18.3 实现结构 250
    18.3.1 数据类型 251
    18.3.2 类 253
    18.3.3 访问控制 253
    18.3.4 泛化 255
    18.3.5 关联 258
   18.4 实现功能 260
    18.4.1 创建对象 261
    18.4.2 对象的生存期 263
    18.4.3 对象销毁 264
    18.4.4 链接创建 265
    18.4.5 链接销毁 267
    18.4.6 派生属性 267
   18.5 实践技巧 268
   18.6 小结 269
   参考文献注释 270
   参考文献 270
   习题 270
  第19章 数据库 274
   19.1 简介 274
    19.1.1 数据库的概念 274
    19.1.2 关系数据库的概念 275
    19.1.3 范式 276
    19.1.4 选择DBMS产品 276
   19.2 简化的ATM模型 277
   19.3 实现结构――基础 277
    19.3.1 类 277
    19.3.2 关联 278
    19.3.3 泛化 280
    19.3.4 标识 281
    19.3.5 RDBMS实现的基本规则小结 282
   19.4 实现结构――高级 283
    19.4.1 外键 283
    19.4.2 检查约束 284
    19.4.3 索引 284
    19.4.4 视图 284
    19.4.5 小结RDBMS实现的高级规则 285
   19.5 为ATM示例实现结构 285
   19.6 实现功能 288
    19.6.1 将程序设计语言耦合到数据库中 288
    19.6.2 数据转换 290
    19.6.3 封装与查询优化 290
    19.6.4 使用SQL代码 291
   19.7 面向对象数据库 291
   19.8 实践技巧 292
   19.9 小结 293
   参考文献注释 293
   参考文献 293
   习题 294
  第20章 程序设计风格 298
   20.1 面向对象的风格 298
   20.2 可复用性 298
    20.2.1 可复用性的类别 298
    20.2.2 可复用性的风格准则 299
    20.2.3 使用继承 300
   20.3 可扩展性 301
   20.4 健壮性 302
   20.5 大规模程序设计 303
   20.6 小结 305
   参考文献注释 306
   参考文献 306
   习题 306
  第四部分 软件工程
  第21章 迭代开发 310
   21.1 迭代开发概述 310
   21.2 迭代开发与瀑布式开发 310
   21.3 迭代开发与快速原型法 311
   21.4 迭代的适用范围 311
   21.5 执行一次迭代 312
   21.6 规划下一次迭代 313
   21.7 建模和迭代开发 313
   21.8 识别风险 314
   21.9 小结 314
   参考文献注释 315
   参考文献 315
  第22章 管理建模 316
   22.1 管理建模概述 316
   22.2 模型的类型 316
   22.3 建模的缺陷 317
   22.4 建模会话 318
    22.4.1 密室建模 318
    22.4.2 轮转建模 319
    22.4.3 实况建模 319
   22.5 组织人员 320
   22.6 学习技术 321
   22.7 教授技术 322
   22.8 工具 322
    22.8.1 建模工具 322
    22.8.2 配置管理工具 323
    22.8.3 代码生成器 323
    22.8.4 模拟工具 323
    22.8.5 库 324
   22.9 估算建模工作量 324
   22.10 小结 324
   参考文献注释 325
   参考文献 325
  第23章 遗留系统 327
   23.1 逆向工程 327
    23.1.1 逆向工程与正向工程 327
    23.1.2 逆向工程的输入 327
    23.1.3 逆向工程的输出结果 328
   23.2 构造类模型 328
    23.2.1 实现复原 328
    23.2.2 设计复原 329
    23.2.3 分析复原 329
   23.3 构造交互模型 329
   23.4 构造状态模型 330
   23.5 逆向工程的技巧 330
   23.6 包装 330
   23.7 维护 331
   23.8 小结 332
  参考文献注释 332
  参考文献 332
  附录A UML图形化表示法 334
  附录B 术语表 335
  部分习题答案 346
  索引 368
  

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Object-oriented modeling and design with UML
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon