
本书详细介绍了UML系统建模的思想和具体方法,内容包括面向对象思想、UML通用知识点、Rational统一过程、Rational Rose的安装和操作、使用Rose设计UML、用例图、类图、对象图、序列图、协作图、活动图、包图、构件图、部署图和状态图,最后以典型案例详解UML各种技术的综合应用。
本书采用理论结合案例的方法进行讲解,理论讲述清晰,技术讲解细致,案例丰富,在讲述UML案例时,结合了Rational Rose这个使用比较广泛的UML开发工具。每章的最后还提供了习题,供读者更好地了解和掌握UML技术。
本书可作为高等学校计算机及相关专业课程的教材,也适合UML初学者和网站开发人员参考使用。
前 言
UML是当前比较流行的一种建模语言,这种语言可以用于创建各种类型的项目需求、设计乃至上线文档。Rational Rose是目前最为业界瞩目的可视化软件开发工具,通过Rose能用一种统一的方式设计各种项目的UML图。
UML的设计动机是,让开发者用清晰和统一的方式完成项目的前期需求和设计文档,而这些需求和设计文档能够让项目的开发变得更加便捷和清晰。随着UML建模语言的深入,它已经获得了广泛的认同,目前已经成为主流的项目需求和分析建模语言。
本书选择Rational Rose作为开发UML的工具,不仅是因为它提供了绘制所有UML图的功能,而且还因为它能够有效地实现“建模到生成代码”的效果。
本书是一本关于UML的教材,书中包含了UML的基础知识、UML的基本元素以及UML的使用方法,在讲述UML的使用过程中,是结合Rational Rose讲述的,从中大家能感受到Rational Rose开发UML的便捷性和高效性。同时,在讲述UML的元素时,结合了大量实战的案例,并且为了提高大家的学习效率,在每个章节后面还提供了一定数量的习题。
本书分为15章。书中各章的排布遵循从简单到复杂,从浅到深的思路,由于是基于实际项目的,所以这本书能让读者更快地掌握UML的基本元素和建模技巧,也能让读者学会通过Rational Rose开发UML的方法,是UML初学者必备的书籍。
本书内容
第1章:面向对象思想,介绍了面向对象思想的三大要素、面向对象与项目设计和用面向对象思想建立系统模型的方法。
第2章:UML通用知识点概述,介绍了常用的UML元素、UML的通用机制和UML的扩展机制。
第3章:Rational统一过程,介绍了统一过程的概念、结构、配置和Rational统一过程的方法。
第4章:Rational Rose的安装和操作,介绍了Rational Rose的安装和操作方法以及Rational Rose的操作技巧。
第5章:使用Rose设计UML,介绍了Rational Rose的四种视图模型和Rational Rose生成代码的方式。
第6章:UML统一建模语言,介绍了用例图的概念和构成要素、用例的重要元素、用例之间的各种重要关系和用Rose创建用例图的步骤。
第7章:类图和对象图,介绍了类图和对象图的基本概念,然后介绍了使用Rose创建类图的方式,随后介绍了对象图以及用Rose创建对象图的具体案例。
第8章:序列图,介绍了序列图的基本概念、序列图的组成、序列图在项目中的相关概念、使用Rose创建序列图的方式以及使用Rose在实际项目中创建序列图的具体案例。
第9章:协作图,介绍了协作图的基本概念、组成协作图的元素、使用Rose创建协作图的方式以及使用Rose在实际项目中创建协作图的具体案例。
第10章:活动图,介绍了活动图的基本概念、组成活动图的元素、使用Rose创建活动图的方式以及使用Rose在实际项目中创建活动图的具体案例。
第11章:包图,介绍了包图的基本概念、使用Rose创建包图的方式以及使用Rose在实际项目中创建包图的具体案例。
第12章:构件图和部署图,介绍了构件图与部署图的基本概念、使用Rose创建构件图和部署图的方式以及使用Rose在实际项目中创建构件图和部署图的具体案例。
第13章:状态图,介绍了构成状态图的元素、状态图的组成、使用Rose创建状态图的方式以及使用Rose在实际项目中创建状态图的具体案例。
第14章和第15章,在这两章里,从需求分析讲起,分别通过网上选课系统、银行系统,介绍了创建系统用例图模型的方式、创建系统静态模型的方式、创建系统动态模型的方式和创建系统部署模型的方式。
本书特点
从入门到精通:本书遵循由浅入深、循序渐进的方式,按照知识点的梯度逐渐深入,这样编写的目的是让大家能快速地学习和掌握UML技术。
基于实战案例教学:本书的UML相关知识点都配套了实际的案例,能让读者了解到现实项目中UML的具体应用。
面向Rational Rose:目前有很多种UML的开发工具,但Rational Rose在业内使用比较广泛,通过学习本书,能让读者了解到Rational Rose的常规用法。
习题配套:为了让读者快速掌握UML技术,每一章的后面提供了相关的填空题、选择题和上机题。
学时安排
本课程总学时为36学时,各章学时分配见下表(供参考):
学时分配建议表
课 程 内 容 学 时 数
合 计 讲 授 实 验
第1章 面向对象设计 1 1
第2章 UML通用知识点概述 2 2
第3章 Rational统一过程 2 2
第4章 Rational Rose的安装和操作 3 2 1
第5章 使用Rose设计UML 2 2
第6章 用例图 3 2 1
第7章 类图与对象图 3 2 1
(续表)
课 程 内 容 学 时 数
合 计 讲 授 实 验
第8章 序列图 3 2 1
第9章 协作图 2 1 1
第10章 活动图 3 2 1
第11章 包图 2 1 1
第12章 构件图和部署图 3 2 1
第13章 状态图 3 2 1
第14章 网上选课系统 2 1 1
第15章 银行系统 2 1 1
合计 36 25 11
本书不仅可以作为大学计算机及相关专业的UML课程教材,也适合自学者及网站开发人员参考使用。
本书由胡荷芬、张帆、高斐、王坚宁主持编写,此外,郁伟、张彬、林美、李辉、田芳、王建国、赵海、刘峰、徐凤、周挺、山云峰、黄裕丹等同志也参与了本书的编写和最终的整理工作,在此,编者对他们表示衷心的感谢。
在本书的编写过程中,借鉴了许多现行教材的宝贵经验,在此,谨向这些作者表示诚挚的感谢。由于时间仓促,加之编者水平有限,书中难免有错误或不足之处。敬请广大读者批评指正。
编 者
目 录
第1章 面向对象设计 1
1.1 面向对象思想的基本概念 1
1.1.1 什么叫面向对象 1
1.1.2 对象 2
1.1.3 类 3
1.1.4 消息与事件 4
1.2 面向对象的三大要素 5
1.2.1 封装 5
1.2.2 继承 6
1.2.3 多态 7
1.3 面向对象与项目设计 8
1.3.1 用面向对象的方法分析项目需求 8
1.3.2 用面向对象的方法设计系统 13
1.4 用面向对象思想建立系统模型 15
1.4.1 瀑布模型 15
1.4.2 喷泉模型 17
1.4.3 基于组件的开发模型 17
1.4.4 XP开发模型 18
1.5 本章小结 20
习题一 20
第2章 UML通用知识点概述 23
2.1 UML概述 23
2.2 常用的UML元素分析 24
2.2.1 视图 24
2.2.2 图 28
2.2.3 模型元素 33
2.3 UML的通用机制 38
2.3.1 规格说明 39
2.3.2 修饰 39
2.3.3 通用划分 40
2.4 UML的扩展机制 40
2.4.1 构造型 41
2.4.2 标记值 41
2.4.3 约束 42
2.5 本章小结 43
习题二 43
第3章 Rational统一过程 45
3.1 什么叫统一过程 45
3.2 Rational 统一过程的发展历程 51
3.3 统一过程的结构 53
3.3.1 统一过程的静态结构 53
3.3.2 统一过程的动态结构 55
3.3.3 面向架构的过程 60
3.4 配置和实现Rational统一过程 63
3.4.1 配置Rational统一过程 63
3.4.2 实现Rational统一过程 63
3.5 本章小结 65
习题三 65
第4章 Rational Rose的安装和操作 67
4.1 Rational Rose——设计UML的工具 67
4.2 Rational Rose的安装 70
4.2.1 Rational Rose的安装环境 71
4.2.2 Rational Rose的安装步骤 71
4.3 Rational Rose的使用 75
4.3.1 Rational Rose的启动界面 75
4.3.2 Rational Rose的操作界面 76
4.3.3 Rational Rose的基本操作 80
4.3.4 Rational Rose的基本设置 87
4.4 本章小结 88
习题四 89
第5章 使用Rose设计UML 91
5.1 Rational Rose的四种视图模型 91
5.1.1 用例视图 91
5.1.2 逻辑视图 95
5.1.3 构件视图 99
5.1.4 部署视图 101
5.2 Rational Rose与生成代码 102
5.2.1 用Rational Rose生成代码的方法 102
5.2.2 逆向工程 106
5.3 本章小结 107
习题五 107
第6章 用例图 109
6.1 什么叫用例图 109
6.1.1 用例图的含义 109
6.1.2 用例图的作用 110
6.2 用例图的构成要素 110
6.2.1 参与者 111
6.2.2 参与者间的关系 111
6.2.3 系统边界 112
6.3 用例的重要元素 112
6.3.1 识别用例 113
6.3.2 用例的粒度 113
6.3.3 用例规约 114
6.4 用例之间的各种重要关系 115
6.4.1 包含 115
6.4.2 扩展 116
6.4.3 泛化 117
6.5 使用Rose创建用例图 118
6.5.1 创建用例图 118
6.5.2 创建参与者 120
6.5.3 创建用例 121
6.5.4 创建用例之间的关联 122
6.6 使用Rose创建用例图的步骤说明 123
6.6.1 需求分析 123
6.6.2 识别参与者 124
6.6.3 构建用例模型 124
6.7 本章小结 127
习题六 127
第7章 类图与对象图 129
7.1 类图与对象图的基本概念 129
7.1.1 类图与对象图的含义 129
7.1.2 类图与对象图在项目开发中的作用 131
7.2 类图的组成 131
7.2.1 类 131
7.2.2 接口 137
7.2.3 类之间的关系 138
7.3 使用Rose创建类图 143
7.3.1 创建类 143
7.3.2 创建类与类之间的关系 144
7.4 对象图 146
7.4.1 对象图的组成 146
7.4.2 创建对象图 147
7.5 使用Rose创建类图及案例分析 149
7.5.1 确定类和关联 149
7.5.2 确定属性和操作 150
7.6 本章小结 151
习题七 151
第8章 序列图 153
8.1 序列图的基本概念 153
8.1.1 序列图的定义 153
8.1.2 序列图在项目开发里的作用 154
8.2 序列图的组成 155
8.2.1 对象 155
8.2.2 生命线 156
8.2.3 激活 156
8.2.4 消息 157
8.3 序列图中项目的相关概念 159
8.3.1 创建与销毁对象 159
8.3.2 分支与从属流 159
8.4 使用Rose创建序列图 160
8.4.1 创建对象 160
8.4.2 创建生命线 163
8.4.3 创建消息 163
8.4.4 创建对象与销毁对象 166
8.5 使用Rose创建序列图及案例分析 166
8.5.1 需求分析 167
8.5.2 确定序列图对象 168
8.5.3 创建序列图 168
8.6 本章小结 168
习题八 168
第9章 协作图 171
9.1 什么是协作图 171
9.1.1 协作图的基本概念 171
9.1.2 为什么要使用协作图 172
9.2 组成协作图的元素 173
9.2.1 对象 173
9.2.2 消息 173
9.2.3 链 174
9.3 使用Rose创建协作图 174
9.3.1 创建对象 174
9.3.2 创建消息 178
9.3.3 创建链 178
9.4 在项目中创建协作图及案例分析 179
9.4.1 创建协作图的步骤 179
9.4.2 需求分析 180
9.4.3 确定协作图元素 180
9.4.4 确定元素之间的关系 180
9.4.5 创建协作图 181
9.5 本章小结 181
习题九 182
第10章 活动图 185
10.1 什么是活动图 185
10.1.1 活动图的基本概念 185
10.1.2 为何要使用活动图 186
10.2 活动图的组成 186
10.2.1 动作状态 187
10.2.2 活动状态 187
10.2.3 组合活动 188
10.2.4 分叉与结合 188
10.2.5 分支与合并 189
10.2.6 泳道 190
10.2.7 对象流 191
10.3 使用Rose创建活动图 192
10.3.1 创建活动图 192
10.3.2 创建初始和终止状态 194
10.3.3 创建动作状态 194
10.3.4 创建活动状态 194
10.3.5 创建转换 195
10.3.6 创建分叉与结合 195
10.3.7 创建分支与合并 196
10.3.8 创建泳道 196
10.3.9 创建对象流状态
与对象流 197
10.4 用Rose创建活动图的案例 198
10.4.1 确定需求用例 199
10.4.2 确定用例路径 199
10.4.3 创建完整的活动图 200
10.5 本章小结 201
习题十 201
第11章 包图 205
11.1 包图的基本概念 205
11.1.1 模型的组织结构 205
11.1.2 包的命名和可见性 206
11.1.3 包的构造型和子系统 208
11.1.4 包的嵌套 209
11.1.5 包的联系 210
11.2 使用Rose创建包图 211
11.2.1 创建、删除包图 211
11.2.2 添加包中的信息 213
11.2.3 创建包的依赖关系 213
11.3 在项目中使用包图 214
11.3.1 确定包的分类 214
11.3.2 创建包和关系 215
11.4 本章小结 215
习题十一 216
第12章 构件图和部署图 219
12.1 构件图与部署图的
基本概念 219
12.1.1 构件 219
12.1.2 构件图的基本概念 221
12.1.3 部署图的基本概念 222
12.2 使用Rose创建构件图
与部署图 224
12.2.1 创建构件图 225
12.2.2 创建部署图 228
12.3 用Rose部署一个实际
的项目 233
12.3.1 确定需求用例 233
12.3.2 创建构件图 234
12.3.3 创建部署图 235
12.4 本章小结 236
习题十二 236
第13章 状态图 239
13.1 何谓状态图 239
13.1.1 状态图的概念 239
13.1.2 为什么要使用状态图 242
13.2 构成状态图的元素 243
13.2.1 状态 243
13.2.2 转换 245
13.2.3 判定 247
13.2.4 同步 248
13.2.5 事件 249
13.3 状态的组成 250
13.4 使用Rose创建状态图 251
13.4.1 创建状态图 252
13.4.2 创建初始和终止状态 253
13.4.3 创建状态 253
13.4.4 创建状态之间的转换 254
13.4.5 创建事件 254
13.4.6 创建动作 254
13.4.7 创建监护条件 255
13.5 创建项目中的状态图 255
13.5.1 确定状态图的实体 256
13.5.2 确定状态图中实体
的状态 256
13.5.3 创建相关事件,
完成状态图 256
13.6 本章小结 257
习题十三 257
第14章 网上选课系统 259
14.1 需求分析 259
14.2 系统建模 260
14.2.1 创建系统用例模型 261
14.2.2 创建系统的静态模型 262
14.2.3 创建系统的动态模型 263
14.2.4 创建系统的部署模型 275
14.3 本章小结 276
第15章 银行系统 277
15.1 需求分析 277
15.2 系统建模 277
15.2.1 创建系统的用例模型 278
15.2.2 创建系统的静态模型 280
15.2.3 创建系统的动态模型 281
15.2.4 创建系统的部署模型 290
15.3 本章小结 291