第1章 软件工程与UML概述 1
1.1 软件工程概述 1
1.1.1 软件工程的提出 1
1.1.2 软件工程的5个阶段 1
1.2 UML语言概述 2
1.2.1 UML的历史 2
1.2.2 UML包含的内容 3
1.2.3 UML的定义 5
1.2.4 UML的应用领域 6
第2章 Rational Rose简介 8
2.1 建模概论 8
2.2 Rational Rose的安装 8
2.2.1 安装前的准备 8
2.2.2 安装的步骤 9
2.3 Rational Rose使用 11
2.3.1 Rational Rose主界面 12
2.3.2 用Rational Rose建模 16
2.3.3 设置全局选项 18
2.3.4 框图设计 19
2.3.5 双向工程 23
第3章 UML语言初览 27
3.1 概述 27
3.2 UML中的事物 27
3.2.1 结构事物(Structure Things) 27
3.2.2 行为事物(Behavior Things) 29
3.2.3 组织事物(Grouping Things) 30
3.2.4 辅助事物(Annotation Things) 30
3.3 UML中的关系 30
3.3.1 关联关系(Association) 30
3.3.2 依赖关系(Dependency) 31
3.3.3 泛化关系(Generalization) 31
3.3.4 实现关系(Realization) 31
3.4 UML中的视图 32
3.5 UML中的图 33
3.5.1 静态图 33
3.5.2 动态图 35
第4章 静态视图 38
4.1 概述 38
4.2 类与关系 38
4.2.1 类 38
4.2.2 关系 41
4.3 类图 48
4.3.1 类图的概念和内容 49
4.3.2 类图的用途 49
4.3.3 类图建模技术 50
4.4 对象图 52
4.4.1 对象图的概念和内容 52
4.4.2 对象图建模 53
4.5 包图 53
4.5.1 包的名字 54
4.5.2 包拥有的元素 54
4.5.3 包的可见性 55
4.5.4 引入与输出 55
4.5.5 泛化关系 56
4.5.6 标准元素 56
4.5.7 包建模技术 56
4.6 实例——图书馆管理系统中的静态视图 57
4.6.1 建立对象图步骤 57
4.6.2 对象的生成 58
4.6.3 用Rose绘制对象图 58
第5章 用例视图 63
5.1 概述 63
5.2 参与者(Actor) 63
5.3 用例(Use Case) 64
5.3.1 用例的概念 64
5.3.2 识别用例 65
5.3.3 用例与事件流 67
5.3.4 用例间的关系 67
5.4 用例图建模技术 69
5.4.1 对语境建模 69
5.4.2 对需求建模 70
5.5 实例——图书馆管理系统中的用例视图 70
5.5.1 确定系统涉及的内容 70
5.5.2 确定系统参与者 71
5.5.3 确定系统用例 71
5.5.4 用Rational Rose来绘制用例图 71
第6章 动态视图 78
6.1 时序图(Sequence Diagram) 78
6.1.1 时序图的概念和内容 78
6.1.2 时序图的用途 79
6.1.3 时序图的建模技术 80
6.2 协作图(Collaboration Diagram) 81
6.2.1 协作图的概念和内容 81
6.2.2 协作图的用途 82
6.2.3 协作图的建模技术 82
6.2.4 协作图与时序图的互换 83
6.3 状态图(Statechart Diagram) 84
6.3.1 状态图的概念和内容 84
6.3.2 状态图的用途 89
6.3.3 状态图的建模技术 89
6.4 活动图(Activity Diagram) 91
6.4.1 活动图的概念和内容 91
6.4.2 活动图的用途 97
6.4.3 活动图的建模技术 97
6.5 实例——图书馆管理系统的动态视图 99
6.5.1 各种动态视图的区别 99
6.5.2 用Rose绘制状态图 100
6.5.3 用Rose绘制活动图 103
6.5.4 用Rose绘制时序图 108
6.5.5 用Rose绘制协作图 111
第7章 UML实现与部署 114
7.1 组件图(Component Diagrams) 114
7.1.1 组件图的概念和内容 114
7.1.2 组件 114
7.1.3 接口 115
7.1.4 关系 116
7.1.5 补充图标 117
7.1.6 组件图建模技术 118
7.2 配置图(Deployment Diagrams) 120
7.2.1 配置图的概念和内容 120
7.2.2 节点 120
7.2.3 组件 121
7.2.4 关系 122
7.2.5 配置图建模技术 122
7.3 实例——图书馆管理系统的组件图与配置图 124
7.3.1 绘制组件图与配置图的步骤 124
7.3.2 用Rose绘制组件图 125
7.3.3 用Rose绘制配置图 127
第8章 UML与统一开发过程 130
8.1 软件过程历史概述 130
8.1.1 软件开发过程简介 130
8.1.2 当前流行的软件过程 130
8.2 RUP简介 131
8.2.1 什么是RUP过程 131
8.2.2 RUP的特点 131
8.2.3 RUP的十大要素 134
8.3 统一开发过程核心工作流 138
8.3.1 需求捕获工作流 139
8.3.2 分析工作流 143
8.3.3 设计工作流 146
8.3.4 实现工作流 150
8.3.5 测试工作流 154
8.4 RUP统一过程案例 159
8.4.1 简介 159
8.4.2 要求 160
8.4.3 创意设计大纲 161
8.4.4 导航图 161
8.4.5 创意设计比选方案 161
8.4.6 Web设计元素 162
8.4.7 初始Web用户接口原型 162
8.4.8 UI指南 163
8.4.9 Web 用户接口总体原型 163
8.4.10 总体导航图 163
第9章 图书馆管理系统 165
9.1 需求分析 165
9.1.1 系统总体功能需求 165
9.1.2 基本数据维护功能需求 166
9.1.3 基本业务功能需求 167
9.1.4 数据库维护功能 169
9.1.5 查询功能需求 169
9.1.6 安全使用管理功能需求 170
9.1.7 帮助功能需求 170
9.2 UML系统建模 171
9.2.1 用例的建立 171
9.2.2 时序图与协作图的生成 174
9.2.3 状态图的生成 175
9.2.4 活动图的生成 176
9.3 类与接口 177
9.3.1 类图的生成 177
9.3.2 包图的生成 182
9.3.3 组件图的生成 183
9.4 系统部署 185
第10章 ATM自动取款机系统 186
10.1 系统概述 186
10.2 需求分析 186
10.2.1 系统总体功能需求 187
10.2.2 读卡机模块需求 188
10.2.3 键盘输入模块需求 189
10.2.4 IC认证模块需求 189
10.2.5 显示模块需求 190
10.2.6 吐钱机模块需求 190
10.2.7 打印报表模块需求 191
10.2.8 监视模块需求 191
10.2.9 数据库模块需求 192
10.3 系统用例模型 192
10.3.1 角色的确定 192
10.3.2 创建用例 193
10.3.3 创建角色用例关系图 194
10.4 系统动态模型 196
10.4.1 创建活动图 196
10.4.2 时序图 197
10.4.3 协作图 199
10.5 创建系统包图 199
10.5.1 ATM系统包图 200
10.5.2 Hardware包内的类 200
10.5.3 Logic包内的类 201
10.6 系统类模型 201
10.6.1 Logical视图 201
10.6.2 类图 202
10.6.3 状态图 204
10.7 系统部署 205
10.7.1 组件图 205
10.7.2 配置图 207
第11章 大型仓库信息管理系统的开发 209
11.1 系统概述 209
11.2 需求分析 209
11.2.1 系统总体功能需求 209
11.2.2 用户登录 210
11.2.3 仓库管理 211
11.2.4 业务查询 214
11.2.5 系统设置 216
11.3 系统用例模型 217
11.3.1 角色的确定 217
11.3.2 创建用例 218
11.3.3 创建角色用例关系图 219
11.4 系统动态模型 222
11.4.1 活动图 222
11.4.2 时序图 223
11.4.3 协作图 225
11.5 创建系统包图 227
11.5.1 仓库管理系统包图 227
11.5.2 人员信息(peopleinformatoin)包内的类 227
11.5.3 事务包(business)包内的类 228
11.5.4 接口包(interfaces)包内的类 228
11.6 系统类模型 229
11.6.1 Logical视图 229
11.6.2 类图 230
11.7 系统部署 232
11.7.1 组件图 233
11.7.2 配置图 234
附录A 236
A.1 术语 236
A.1.1 范围 236
A.1.2 部分术语 236
A.2 标准元素 277
A.3 元模型 285
A.3.1 简介 285
A.3.2 背景 285
A.3.3 元元模型 287
参考文献 288