UML是当前比较流行的一种建模语言,它可以用于创建各种类型的项目需求、设计乃至上线文档,特别适合采用面向对象的思维方式进行软件建模。规范化、可视化的软件建模已成为当今软件技术的主流之一。
本书依据统一建模语言UML与面向对象编程语言,结合实际案例,深入全面地探讨了软件建模的概念、规范和方法。全书共13章,前3章介绍了面向对象、UML建模语言和Rational Rose建模工具的一些基本理论和概念。第4~12章详尽地介绍了UML中类图、对象图、用例图、包图、序列图、协作图、活动图、状态图、构件图和部署图的概念及其在实际中的使用。最后,通过一个综合案例对使用Rational Rose进行UML建模的全过程进行了深入剖析。此外,各章后面配有适量的练习题和上机题,以加深读者的理解和提高。
本书最大的特点是将理论和实际紧密地结合,实例丰富、图文并茂,讲解详尽、实践性强。
本书可以作为高等院校计算机软件工程专业UML和面向对象技术的教材,也可以作为广大软件开发人员和系统架构分析设计人员自学UML的参考书。
目录
- 第1章 基于面向对象的UML 1
- 1.1 面向对象是UML的基础 1
- 1.1.1 什么是面向对象 1
- 1.1.2 面向对象的基本特征 6
- 1.2 什么是模型 9
- 1.2.1 为什么要建模 9
- 1.2.2 建模的目标和原则 10
- 1.3 用面向对象设计项目 11
- 1.3.1 面向对象分析 11
- 1.3.2 面向对象设计 15
- 1.4 什么是UML 17
- 1.4.1 UML的发展历史 17
- 1.4.2 UML的主要特点 18
- 1.4.3 UML的应用领域 19
- 1.4.4 用UML可以建立的
- 模型种类 19
- 1.5 习题 24
- 第2章 UML语言综述 26
- 2.1 UML语言的构成 26
- 2.2 UML 的基本元素 26
- 2.2.1 结构事物 26
- 2.2.2 行为事物 28
- 2.2.3 分组事物 29
- 2.2.4 注释事物 29
- 2.3 关系元素 30
- 2.4 视图和图 31
- 2.4.1 视图 31
- 2.4.2 图 36
- 2.5 UML的公共机制 41
- 2.5.1 UML的通用机制 41
- 2.5.2 UML的扩展机制 42
- 2.6 习题 45
- 第3章 UML工具——Rational Rose 47
- 3.1 Rational Rose概述 47
- 3.2 Rational Rose的安装 48
- 3.3 Rational Rose的使用 50
- 3.3.1 Rational Rose的启动界面 50
- 3.3.2 Rational Rose的主界面 52
- 3.3.3 Rational Rose的常用操作 57
- 3.4 Rational Rose的四种视图模型 64
- 3.4.1 用例视图 64
- 3.4.2 逻辑视图 68
- 3.4.3 部署视图 72
- 3.4.4 构件视图 73
- 3.5 用Rational Rose生成代码 74
- 3.5.1 生成代码的方法 75
- 3.5.2 逆向工程 78
- 3.6 习题 79
- 第4章 类图和对象图 81
- 4.1 类图的概念 81
- 4.2 UML中的类 82
- 4.2.1 类的表示 83
- 4.2.2 类的组成 83
- 4.2.3 类的类型 87
- 4.2.4 类的构造型 88
- 4.3 类图中的关系 89
- 4.3.1 实现关系 89
- 4.3.2 泛化关系 90
- 4.3.3 依赖关系 91
- 4.3.4 关联关系 92
- 4.4 绘制类图 93
- 4.4.1 类图和类的创建 93
- 4.4.2 类与类之间关系的创建 98
- 4.5 对象图的概念 100
- 4.5.1 对象的表示 101
- 4.5.2 链的表示 101
- 4.6 绘制对象图的方法 102
- 4.7 创建类图和对象图实例分析 103
- 4.7.1 确定类和关联 103
- 4.7.2 确定属性和操作 104
- 4.7.3 根据类图创建对象图 105
- 4.8 习题 105
- 第5章 包图 108
- 5.1 包图的概念 108
- 5.1.1 模型的组织结构 108
- 5.1.2 包图和包 110
- 5.2 包的表示 111
- 5.2.1 包的命名 111
- 5.2.2 包的可见性 111
- 5.2.3 包的构造型 112
- 5.2.4 包的子系统 113
- 5.3 包图中的关系 113
- 5.3.1 依赖关系 113
- 5.3.2 泛化关系 115
- 5.4 包的嵌套 115
- 5.5 绘制包图 116
- 5.5.1 包的创建 116
- 5.5.2 添加包中的类 117
- 5.5.3 包的依赖关系创建 118
- 5.6 创建包图实例分析 118
- 5.6.1 确定包的分类 118
- 5.6.2 创建包和关系 119
- 5.7 习题 120
- 第6章 用例图 122
- 6.1 用例图的概念 122
- 6.2 用例图的表示 123
- 6.2.1 参与者的表示 123
- 6.2.2 用例的表示 124
- 6.3 参与者之间的关系 125
- 6.3.1 识别参与者 125
- 6.3.2 参与者间的泛化关系 126
- 6.4 用例之间的关系 127
- 6.4.1 识别用例 127
- 6.4.2 用例的粒度 127
- 6.4.3 用例规约 128
- 6.4.4 标识用例间的关系 129
- 6.5 系统边界 132
- 6.6 绘制用例图 132
- 6.6.1 创建用例图 133
- 6.6.2 创建参与者 135
- 6.6.3 创建用例 136
- 6.6.4 创建用例和参与者之间的
- 关联 137
- 6.6.5 创建用例之间的关系 137
- 6.7 创建用例图实例分析 138
- 6.7.1 需求分析 138
- 6.7.2 识别参与者 140
- 6.7.3 确定用例 140
- 6.7.4 构建用例模型 141
- 6.8 习题 142
- 第7章 序列图 145
- 7.1 序列图的概念 145
- 7.2 序列图的表示 146
- 7.2.1 对象的表示 146
- 7.2.2 生命线的表示 147
- 7.2.3 激活的表示 148
- 7.2.4 消息的表示 148
- 7.3 序列图中的对象行为 150
- 7.3.1 对象的创建和销毁 150
- 7.3.2 分支与从属流 151
- 7.4 绘制序列图 151
- 7.4.1 序列图的创建和删除 151
- 7.4.2 序列图中对象的创建和
- 删除 153
- 7.4.3 消息的创建 154
- 7.4.4 消息的设置 155
- 7.4.5 生命线的设置 157
- 7.4.6 对象的销毁 157
- 7.5 创建序列图实例分析 158
- 7.5.1 需求分析 158
- 7.5.2 确定序列对象 159
- 7.5.3 创建的序列图 160
- 7.6 习题 160
- 第8章 活动图 163
- 8.1 活动图的概念 163
- 8.2 活动图的表示 164
- 8.2.1 活动状态的表示 165
- 8.2.2 动作状态的表示 165
- 8.2.3 组合活动的表示 166
- 8.2.4 分支与合并的表示 166
- 8.2.5 分叉与汇合的表示 167
- 8.2.6 对象流的表示 168
- 8.2.7 泳道的表示 169
- 8.3 绘制活动图 170
- 8.3.1 活动图的创建 170
- 8.3.2 初始和终止状态的创建 172
- 8.3.3 动作状态的创建 172
- 8.3.4 活动状态的创建 173
- 8.3.5 泳道的创建 174
- 8.3.6 转换的创建 175
- 8.3.7 分支的创建 175
- 8.4 创建活动图实例分析 176
- 8.4.1 确定需求用例 176
- 8.4.2 确定用例路径 177
- 8.4.3 创建完整的活动图 178
- 8.5 习题 178
- 第9章 协作图 182
- 9.1 协作图的概念 182
- 9.2 协作图的表示 183
- 9.2.1 对象的表示 184
- 9.2.2 消息的表示 184
- 9.2.3 链的表示 185
- 9.3 绘制协作图 185
- 9.3.1 协作图的创建 185
- 9.3.2 对象的创建 187
- 9.3.3 链和消息的创建 188
- 9.3.4 序列图和协作图的转换 189
- 9.4 创建协作图实例分析 189
- 9.4.1 创建协作图的步骤 189
- 9.4.2 需求分析 190
- 9.4.3 确定协作图元素 191
- 9.4.4 确定元素之间的关系 191
- 9.4.5 创建协作图 192
- 9.5 习题 192
- 第10章 状态图 195
- 10.1 状态图的概念 195
- 10.1.1 状态机 195
- 10.1.2 状态图 196
- 10.2 状态图的表示 197
- 10.2.1 状态 197
- 10.2.2 转换 199
- 10.2.3 判定 201
- 10.2.4 同步 202
- 10.2.5 事件 203
- 10.2.6 初始状态和终止状态 204
- 10.3 状态的分类 204
- 10.3.1 历史状态 205
- 10.3.2 组成状态 205
- 10.4 绘制状态图 206
- 10.4.1 状态图的创建 207
- 10.4.2 初始和终止状态的创建 208
- 10.4.3 状态的创建 208
- 10.4.4 状态间转换的创建 209
- 10.4.5 事件的创建 209
- 10.4.6 动作的创建 210
- 10.4.7 监护条件的创建 211
- 10.5 创建状态图实例分析 211
- 10.5.1 确定状态图的实体 211
- 10.5.2 确定状态图中实体的
- 状态 212
- 10.5.3 创建相关事件完成
- 状态图 212
- 10.6 习题 213
- 第11章 构件图和部署图 215
- 11.1 构件的概念 215
- 11.1.1 构件 215
- 11.1.2 构件的种类 216
- 11.1.3 构件的表示 216
- 11.2 构件图的概念 217
- 11.3 绘制构件图 219
- 11.3.1 构件图的创建 219
- 11.3.2 构件的创建 221
- 11.3.3 构件关系的创建 221
- 11.4 部署图 222
- 11.4.1 部署图的概念 222
- 11.4.2 部署图的表示 222
- 11.5 绘制部署图 224
- 11.5.1 节点的创建 225
- 11.5.2 节点的设置 226
- 11.5.3 连接的创建 227
- 11.6 创建构件图和部署图
- 实例分析 228
- 11.6.1 创建构件图 228
- 11.6.2 创建部署图 230
- 11.7 习题 231
- 第12章 Rational统一过程 234
- 12.1 软件开发过程 234
- 12.2 Rational统一过程简介 235
- 12.2.1 统一过程的概念 235
- 12.2.2 Rational 统一过程的
- 历史 236
- 12.3 Rational统一过程的框架 237
- 12.3.1 Rational统一过程的
- 核心工作流 238
- 12.3.2 Rational统一过程的
- 迭代开发模式 240
- 12.3.3 Rational统一过程的
- 最佳实现 240
- 12.4 Rational统一过程的
- 开发模型 244
- 12.4.1 统一过程的动态开发 245
- 12.4.2 统一过程的静态开发 249
- 12.4.3 面向架构的过程 251
- 12.5 Rational统一过程的配置和
- 实现 253
- 12.5.1 Rational统一过程的
- 配置 253
- 12.5.2 Rational统一过程的
- 实现 253
- 12.6 习题 255
- 第13章 网上购物商店 257
- 13.1 系统需求分析 257
- 13.2 系统建模 259
- 13.2.1 创建系统用例模型 259
- 13.2.2 创建系统静态模型 262
- 13.2.3 创建系统动态模型 266
- 13.2.4 创建系统部署模型 277
- ? VIII ?
- UML面向对象分析与设计教程
- ? VII ?
- 目 录