第1章 软件工程与UML概述 1
1.1 软件工程概述 1
1.1.1 软件工程的发展历史 1
1.1.2 软件工程的生命周期 1
1.2 建模的目的 2
1.2.1 建模的重要性 3
1.2.2 建模四原则 4
1.2.3 面向对象建模 5
1.3 UML概述 5
1.3.1 UML的历史 5
1.3.2 UML包含的内容 6
1.3.3 UML的定义 7
1.3.4 UML的应用领域 8
第2章 Rational Rose使用 10
2.1 Rational Rose概论 10
2.1.1 常用UML建模工具 10
2.1.2 Rational Rose的优势 11
2.2 Rational Rose安装前的准备 12
2.3 Rational Rose的安装 12
2.3.1 安装前的准备 13
2.3.2 安装步骤 13
2.4 Rational Rose使用介绍 16
2.4.1 Rational Rose主界面 16
2.4.2 Rational Rose中的四个视图 24
2.4.3 使用Rational Rose建模 27
2.4.4 UML图设计 34
第3章 UML语言初览 37
3.1 概述 37
3.2 视图 39
3.2.1 “RUP 4+1”视图 39
3.2.2 UML视图 41
3.3 UML中的事物 41
3.3.1 结构事物(Structure Things) 41
3.3.2 行为事物(Behavior Things) 46
3.3.3 组织事物(Grouping Things) 47
3.3.4 辅助事物(Annotation Things) 47
3.4 UML中的关系 48
3.4.1 关联(Association)关系 48
3.4.2 聚合关系 48
3.4.3 依赖(Dependency)关系 49
3.4.4 泛化(Generalization)关系 49
3.4.5 实现(Realization)关系 49
3.5 UML中的图 50
3.6 通用机制 54
3.6.1 修饰 54
3.6.2 注释 54
3.6.3 规格说明 55
3.6.4 通用划分 55
3.6.5 扩展机制 55
3.7 UML建模的简单流程 56
第4章 用例视图 57
4.1 概述 57
4.2 参与者(Actor) 57
4.2.1 参与者概念 57
4.2.2 确定参与者 59
4.2.3 参与者间的关系 59
4.3 用例(Use Case) 60
4.3.1 用例的概念 60
4.3.2 识别用例 61
4.3.3 用例与事件流 61
4.3.4 参与者、用例间的关系 62
4.4 用例图建模技术 66
4.4.1 对语境建模 66
4.4.2 对需求建模 67
4.4.3 用例粒度 67
4.5 实例——图书馆管理系统中的用例视图 68
4.5.1 确定系统涉及的内容 68
4.5.2 确定系统参与者 68
4.5.3 确定系统用例 69
4.5.4 使用Rational Rose来绘制用例图 69
第5章 静态图 74
5.1 概述 74
5.2 类图 74
5.2.1 类图的概念和内容 75
5.2.2 类图的用途 75
5.2.3 类图元素——类 76
5.2.4 类图元素——接口(Interface) 80
5.2.5 类图元素——关系 81
5.2.6 类图建模技术 88
5.3 对象图 89
5.3.1 对象图的概念和内容 89
5.3.2 对象图建模 90
5.4 包图 90
5.4.1 包的名字 91
5.4.2 包拥有的元素 91
5.4.3 包的可见性 92
5.4.4 引入与输出 92
5.4.5 包中的泛化关系 93
5.4.6 标准元素 93
5.4.7 包图建模技术 94
5.5 实例——图书馆管理系统中的静态图 95
5.5.1 建立对象图步骤 95
5.5.2 对象的生成 96
5.5.3 使用Rose绘制包图和类图 96
第6章 交互图 100
6.1 时序图(Sequence Diagram) 100
6.1.1 时序图的概念和内容 100
6.1.2 对象的创建和撤销 102
6.1.3 时序图的建模技术 103
6.2 协作图(Collaboration Diagram) 104
6.2.1 协作图的概念和内容 104
6.2.2 协作图的建模技术 106
6.2.3 协作图与时序图的互换 107
6.2.4 时序图与协作图的比较 108
6.3 实例——图书馆管理系统的交互图 109
6.3.1 使用Rose绘制时序图 109
6.3.2 使用Rose绘制协作图 113
第7章 状态图和活动图 118
7.1 状态图(Statechart Diagram) 118
7.1.1 状态机 118
7.1.2 状态图 119
7.1.3 状态图的用途 122
7.1.4 状态图的建模技术 123
7.2 活动图(Activity Diagram) 124
7.2.1 活动图 124
7.2.2 活动图与流程图的区别 125
7.2.3 活动图的组成元素 125
7.2.4 活动的分解 129
7.2.5 活动图的建模技术 129
7.3 实例——图书馆管理系统的动态图 130
7.3.1 各种动态图的区别 130
7.3.2 使用Rose绘制状态图 131
7.3.3 使用Rose绘制活动图 135
第8章 UML组件与配置 140
8.1 组件图(Component Diagram) 140
8.1.1 概述 140
8.1.2 组件 141
8.1.3 补充图标 143
8.1.4 组件图建模技术 145
8.2 配置图(Deployment Diagram) 146
8.2.1 概述 146
8.2.2 节点 147
8.2.3 组件 148
8.2.4 关系 148
8.2.5 配置图建模技术 149
8.3 实例——图书馆管理系统的组件图与配置图 150
8.3.1 绘制组件图与配置图的步骤 150
8.3.2 使用Rose绘制图书馆管理系统组件图 150
8.3.3 使用Rose绘制图书馆管理系统配置图 153
第9章 扩展机制 157
9.1 UML的体系结构 157
9.1.1 四层元模型体系结构 157
9.1.2 四层元模型层次的例子 157
9.1.3 UML元元模型层 158
9.1.4 UML元模型层 159
9.2 构造型 160
9.2.1 构造型的表示法 161
9.2.2 UML中预定义的标准构造型 161
9.3 标记值 165
9.3.1 标记值的表示法 165
9.3.2 UML中预定义的标准标记值 165
9.4 约束 166
9.4.1 约束的表示法 166
9.4.2 UML中预定义的标准约束 167
9.5 用于业务建模的UML扩展 168
9.5.1 业务模型建模的构造型 168
9.5.2 业务建模的关联规则 169
9.5.3 业务建模构造型图标 170
第10章 Rose的双向工程 171
10.1 双向工程简介 171
10.2 正向工程 171
10.2.1 设置代码生成 171
10.2.2 添加组件和类的映射 173
10.2.3 检查模型语法 174
10.2.4 设置Classpath 174
10.2.5 备份文件 175
10.2.6 生成代码 175
10.3 逆向工程 175
10.3.1 检查Classpath环境变量 176
10.3.2 启动逆向工程 176
10.4 实例——类图的代码生成与逆向工程 177
10.4.1 代码生成 177
10.4.2 逆向工程 180
第11章 UML与统一开发过程 181
11.1 软件开发过程历史概述 181
11.1.1 软件开发过程简介 181
11.1.2 当前流行的软件过程 181
11.2 RUP简介 182
11.2.1 什么是RUP过程 182
11.2.2 RUP的特点 182
11.2.3 RUP的十大要素 185
11.3 统一开发过程核心工作流 188
11.3.1 需求捕获工作流 189
11.3.2 分析工作流 192
11.3.3 设计工作流 194
11.3.4 实现工作流 195
11.3.5 测试工作流 198
第12章 档案管理系统 201
12.1 软件需求分析 201
12.1.1 软件需求的定义 201
12.1.2 软件需求的层次 201
12.1.3 需求分析的任务与过程 202
12.2 档案管理系统的需求分析 203
12.2.1 系统功能需求 203
12.2.2 用户管理模块 205
12.2.3 系统参数设置模块 205
12.2.4 借阅管理模块 206
12.2.5 案卷管理模块 206
12.2.6 文件管理模块 207
12.2.7 数据管理模块 207
12.3 系统的UM基本模型 207
12.3.1 UML初始模型 207
12.3.2 系统的用例图 208
12.3.3 系统的时序图 210
12.3.4 系统的协作图 212
12.3.5 系统的状态图 214
12.3.6 系统的活动图 214
12.4 系统中的类 216
12.4.1 类图的生成 216
12.4.2 各类之间的关系 219
12.5 系统的配置与实现 220
12.5.1 系统的组件图 220
12.5.2 系统的配置图 220
第13章 新闻中心管理系统 221
13.1 新闻中心管理系统的需求分析 221
13.1.1 系统功能需求 221
13.1.2 信息浏览模块 222
13.1.3 后台管理模块 222
13.2 系统的UML基本模型 222
13.2.1 UML初始模型 222
13.2.2 系统的用例图 223
13.2.3 系统的时序图 224
13.2.4 系统的协作图 225
13.2.5 系统的状态图 226
13.2.6 系统的活动图 226
13.3 系统中的类 227
13.3.1 类图的生成 227
13.3.2 双向工程 228
13.3.3 各类之间的关系 232
13.4 系统的配置和实现 232
13.4.1 系统的组件图 232
13.4.2 系统的配置图 233
第14章 汽车租赁系统 234
14.1 汽车租赁系统的需求分析 234
14.1.1 系统功能需求 234
14.1.2 基本数据维护模块 235
14.1.3 基本业务模块 235
14.1.4 数据库模块 235
14.1.5 信息查询模块 236
14.2 系统的UML基本模型 236
14.2.1 UML模型框架 236
14.2.2 系统的用例图 237
14.2.3 系统的时序图 239
14.2.4 系统的协作图 242
14.2.5 系统的状态图 244
14.2.6 系统的活动图 245
14.3 系统中的类 246
14.3.1 类图的生成 246
14.3.2 各个类之间的关系 248
14.4 系统的配置与实现 248
14.4.1 系统的组件图 249
14.4.2 系统的配置图 249
附录A 术语 250
A.1 范围 250
A.2 部分术语 250
附录B 标准元素 288
附录C 元模型 295
C.1 简介 295
C.2 背景 295
C.3 元元模型 297
附录D 软件菜单列表 298
参考文献 313